routedns icon indicating copy to clipboard operation
routedns copied to clipboard

Add support for DNSCRYPT protocol

Open cbuijs opened this issue 5 years ago • 7 comments

See here: https://dnscrypt.info/

OpenDNS/Cisco-Umbrella heritage. Seems to be a quasi accepted standard for a long time already and has a pretty big fan base including tools, apps, etc. Lively community.

Both listener and resolver support.

cbuijs avatar Jun 28 '20 09:06 cbuijs

There doesn't seem to be a Go library for it yet. https://github.com/DNSCrypt/dnscrypt-proxy doesn't have it structured as a library. So I could either re-org the code upstream, or write a new implementation.

folbricht avatar Jun 28 '20 19:06 folbricht

Gotcha. I was expected an easier approach as the dnsproxy was/is written in go. For me it is not a 'must' but it is the one missing besides all the other DNS related protocols :-).

cbuijs avatar Jun 28 '20 20:06 cbuijs

Looks like we might be able to use https://github.com/ameshkov/dnscrypt as that's a library.

folbricht avatar Jan 01 '21 15:01 folbricht

@folbricht @cbuijs

New resolver dnscrypt-tcp & dnscrypt-udp is here: iamsurfing/routedns

Is there anybody want to help me fix bugs?

iamsurfing avatar Jun 02 '21 16:06 iamsurfing

@iamsurfing - Not an avid user/fan of DNSCrypt, but I'll try to test it over the weekend.

cbuijs avatar Jun 03 '21 11:06 cbuijs

Would you be able to turn that into a PR? It's very hard to review otherwise

folbricht avatar Jun 06 '21 16:06 folbricht

@folbricht It is not good to pull request because I want to add some feature.

Set local address(done) Bootstrap(doing) Resolve encrypted cert(doing)

If you want to review it, view this following files.

https://github.com/iamsurfing/routedns/blob/master/dnscrypt.go

https://github.com/iamsurfing/routedns/blob/master/cmd/routedns/resolver.go#L80 case "dnscrypt-udp","dnscrypt-tcp"

iamsurfing avatar Jun 07 '21 06:06 iamsurfing