dns
steed
Our great sponsors
dns | steed | |
---|---|---|
8 | 4 | |
7,740 | 519 | |
- | - | |
7.7 | 0.0 | |
2 days ago | over 5 years ago | |
Go | Rust | |
BSD 3-clause "New" or "Revised" License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dns
-
Wrote a CLI tool to check DNS configurations quickly (an alternative to dig)
The heavylifting is done by this package: https://github.com/miekg/dns.
-
Why do clients ask the authoritive nameserver what is NS-records are?
Apart from `dig`, clients like https://github.com/miekg/dns show the same behavior.
-
Book recommendations for network programming
For the DNS i wrote a PiHole clone, which on the core it uses github.com/miekg/dns, to upstream queries and also to handle the custom entries, i've been wanting to publish that project but haven't done so cause the code is a bit messy since i did it as a PoC mostly, when comparing it to pihole it has the advantage that its really resource light mostly on the admin features, the dns resolving performs pretty much the same.
- DNS Library in Go
-
fastdns - fast dns server for go (alpha stage)
coredns uses github.com/miekg/dns under the hood
-
How to unit test net.Resolver?
You can do the same with net.Resolver, either by just setting it's Dial function (and PreferGo=true). You can use https://pkg.go.dev/golang.org/x/net/dns/dnsmessage or https://github.com/miekg/dns to implement an in-process server, either over TCP/UDP or skipping real networking completely, just like you can do with https://golang.org/pkg/net/http/httptest
-
Go 1.16 will make system calls through Libc on OpenBSD
Had a similar problem a couple years ago where I needed to use alternative DNS libraries to troubleshoot issues in a company's infrastructure.
Golang's rules for what implementation to use are found here: https://golang.org/pkg/net/#hdr-Name_Resolution
A really solid alternative DNS client implementation can be found here: https://github.com/miekg/dns. Real easy to read and vet compared to a few other libraries I ran into when working on this problem.
steed
-
What makes a library "pure" rust?
The steed project (https://github.com/japaric/steed) attempted to create a pure Rust implementation of std and follow up projects like mustang attempt the same, so this is not as absurd as it might sound.
-
Rust Programs Written in Rust
I really hope that we will get a libc-free Linux target. Mustang/rsix looks like a great step in this direction, similarly to steed (https://github.com/japaric/steed) before it. But I think that ideally it should be done properly in Rust proper, not in outside projects. Here a relevant issue, but there is not much progress on it: https://github.com/rust-lang/rfcs/issues/2610
-
Go 1.16 will make system calls through Libc on OpenBSD
At least for rust, a librs would be hard to create due to the lack of a stable ABI. So even if you did a pure rust libstd (like the now defunct Steed[0]), you'd still need to either manually link that libc (breaking the mitigation), or rebuild your program each time the distro updates either libstd or the rust compiler.
I'm not sure what the situation for Go is. Assuming Go has proper support for dynamic loading and a stable ABI, it would be doable.
What are some alternatives?
gopacket - Provides packet processing capabilities for Go
PyOxidizer - A modern Python application packaging and distribution tool
arp - Package arp implements the ARP protocol, as described in RFC 826. MIT Licensed.
Concourse - Concourse is a container-based continuous thing-doer written in Go.
llb
glibc - Unofficial mirror of sourceware glibc repository. Updated daily.
ftp - FTP client package for Go
windows-rs - Rust for Windows
quic-go - A QUIC implementation in pure Go
rfcs - RFCs for changes to Rust
kcptun - A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。N:M 多重化と FEC を備えた KCP に基づく安定した安全なトンネル。 N:M 다중화 및 FEC를 사용하는 KCP 기반의 안정적이고 안전한 터널입니다. Un tunnel stable et sécurisé basé sur KCP avec multiplexage N:M et FEC.
src - Read-only git conversion of OpenBSD's official CVS src repository. Pull requests not accepted - send diffs to the tech@ mailing list.