Comments (5)
I was wondering if this could be solved like this (based on google dns):
doggo @tls://dns.google:443/dns-query -n 8.8.4.4 .......
Then you have the IP (no DNS leakage due to hostname resolution by doggo) already, and the hostname specified. Seems the libraries/modules used already to hostname-verification if a hostname is used (but I could be wrong).
But it seems as soon as -n
is used, doggo reverts back to udp/unencrypted?
BTW: Using the --nameserver
version of the option results in an error as unknown option.
from doggo.
But it seems as soon as -n is used, doggo reverts back to udp/unencrypted?
Hm, that seems a bug. I'll investigate.
from doggo.
But it seems as soon as -n is used, doggo reverts back to udp/unencrypted?
Hm, that seems a bug. I'll investigate.
It is actually doing both when specified:
doggo @https://dns.google:443/dns-query -n 8.8.4.4 -q google.com ns
NAME TYPE CLASS TTL ADDRESS NAMESERVER
google.com. NS IN 15862s ns4.google.com. 8.8.4.4:53
google.com. NS IN 15862s ns1.google.com. 8.8.4.4:53
google.com. NS IN 15862s ns2.google.com. 8.8.4.4:53
google.com. NS IN 15862s ns3.google.com. 8.8.4.4:53
google.com. NS IN 21600s ns1.google.com. https://dns.google:443/dns-query
google.com. NS IN 21600s ns2.google.com. https://dns.google:443/dns-query
google.com. NS IN 21600s ns3.google.com. https://dns.google:443/dns-query
google.com. NS IN 21600s ns4.google.com. https://dns.google:443/dns-query
I think when something else then udp://
and tcp://
is used, the ip-address with -n
should be used for the name-server hostname, instead of resolving it using the system resolver (which would be the default if -n
was not specified).
This is also nice to have all dns traffic encrypted, and prevent some unencrypted leakage during bootstrap of the hostname IP.
Great tool BTW, keep up the good work!
from doggo.
I've decided to add 2 new flags:
➜ doggo git:(main) ✗ ./bin/doggo.bin google.se @tls://193.19.108.3 --tls-hostname=adblock.doh.mullvad.net
NAME TYPE CLASS TTL ADDRESS NAMESERVER
google.se. A IN 300s 142.250.200.3 193.19.108.3:853
➜ doggo git:(main) ✗ ./bin/doggo.bin google.se @tls://193.19.108.3 --skip-hostname-verification
NAME TYPE CLASS TTL ADDRESS NAMESERVER
google.se. A IN 30s 142.250.200.3 193.19.108.3:853
Will push soon.
from doggo.
Released https://github.com/mr-karan/doggo/releases/tag/v0.5.2 which has these flags.
Feel free to re-open in case I missed something.
from doggo.
Related Issues (20)
- Packing doggo for Nix HOT 6
- Feature request: trace HOT 1
- Exit codes on resolve errors HOT 3
- error in cli.go (parser) cannot parse `nameserver` flag
- Feature request: need option to specific ip of DoH HOT 4
- Feature request(?): config var/file HOT 1
- zsh completion is broken
- Feature Suggestion: Http3 Support HOT 4
- Release new version to support Go 1.19 HOT 2
- Bug: wrong domain name when querying a non existing record HOT 2
- [Request] Binary releases for arm 32 bits HOT 2
- Is it possible to test localhost DoH server ? HOT 1
- Feature request: set source-interface
- CLI exits with zero code even when there are errors and no responses
- doq request don't work HOT 2
- Release new version to support Go 1.20 HOT 2
- Feature Request: Print Extended DNS Errors (EDE)
- DNS over QUIC slow
- Installing from source fails with `cannot use h.allow0RTT` HOT 3
- ERROR i/o timeout not showing in json Output when --json
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from doggo.