Star Brilliant [Mon, 27 May 2019 07:15:32 +0000 ]
Include DNS.SB's resolver in example configuration
Star Brilliant [Mon, 20 May 2019 05:02:13 +0000 ]
Merge pull request #47 from rwv/master
slightly optimize the order of instructions in Dockerfile
seedgou [Mon, 20 May 2019 03:17:40 +0000 ]
optimize the order of instructions in Dockerfile
Star Brilliant [Fri, 17 May 2019 14:50:33 +0000 ]
Merge pull request #46 from jangrewe/master
Add Dockerfiles
Jan Grewe [Thu, 16 May 2019 18:47:40 +0000 ]
Build separate Docker image for doh-server and doh-client
Make doh-client also listen on both IPv4 and IPv6
Star Brilliant [Thu, 16 May 2019 18:37:52 +0000 ]
Update the sample configuration to teach users how to listen on both IPv4 and IPv6
Jan Grewe [Thu, 16 May 2019 18:31:03 +0000 ]
Update Dockerfile to make doh-server listen on IPv4 and IPv6
Jan Grewe [Wed, 15 May 2019 22:28:46 +0000 ]
Add Dockerfile
Star Brilliant [Mon, 13 May 2019 17:39:23 +0000 ]
Release 2.1.0
Star Brilliant [Mon, 13 May 2019 17:36:10 +0000 ]
Disable static linking to Swift standard libraries
According to Apple: Swift compiler no longer supports statically linking the Swift libraries. They're included in the OS by default starting with macOS Mojave 10.14.4. For macOS Mojave 10.14.3 and earlier, there's an optional Swift library package that can be downloaded from "More Downloads" for Apple Developers at https://developer.apple.com/download/more/
Star Brilliant [Mon, 13 May 2019 17:13:06 +0000 ]
Explain why ECS is disabled by some servers
Star Brilliant [Mon, 13 May 2019 17:01:07 +0000 ]
Merge pull request #44 from modib/quad9-dns-config
Added Quad9 servers in config.
B. Modi [Mon, 13 May 2019 16:55:20 +0000 ]
Updated Quad9 config with ECS, DNSSEC info.
Star Brilliant [Mon, 13 May 2019 03:40:26 +0000 ]
Merge pull request #45 from wsquasher/master
Use TCP when appropriate for the given query type/response
Wesley Squasher [Sun, 12 May 2019 08:03:48 +0000 ]
Use TCP when appropriate for the given query type/response
B. Modi [Fri, 10 May 2019 20:50:17 +0000 ]
Added Quad9 servers in config. Good for malware threat prevention.
Star Brilliant [Fri, 10 May 2019 18:13:12 +0000 ]
Merge pull request #43 from modib/macos-build-error-fix
Make Makefile compatible with swift5 and older swift versions
B. Modi [Fri, 10 May 2019 18:02:07 +0000 ]
Make Makefile compatible with swift5 and older swift versions
Ming Aldrich-Gan [Sun, 24 Mar 2019 20:01:32 +0000 ]
Add local_addr configuration for doh-server (#39)
* Add local_addr configuration for doh-server
This commit adds a `local_addr` string value to `doh-server.conf`, specifying the IP address and port from which outgoing calls to upstream DNS resolvers should originate. This value is set as the `udpClient`'s and `tcpClient`'s `Dialer.LocalAddr` when initializing a `NewServer`. If the value is left empty in `doh-server.conf`, it defaults to the first `listen` address (which in turn defaults to `"127.0.0.1:8053"`).
One use case for this would be if `doh-server` is proxying requests to a local DNS resolver (e.g. `unbound` or Pi-hole). Up to version 2.0.0, all DNS queries from `doh-server` are sent from `127.0.0.1` (even if the `listen` address is set to a different loopback IP address), making it hard to distinguish them from all other local DNS queries from the same machine in the query logs.
* Revert defaulting of local_addr to listen address
This commit reverts to the existing behavior when `conf.LocalAddr == ""`, i.e. letting `dns.Client` instantiate its own `Dialer` with the default local address.
* Fixup comment in configuration file
* Log errors from Dialer instantiation (e.g. if LocalAddr port is missing)
* Fixup other comment in configuration file
* Return error and log fatal
Star Brilliant [Sun, 24 Mar 2019 11:11:12 +0000 ]
Release 2.0.1
Sherlock Holo [Sun, 24 Mar 2019 01:13:14 +0000 ]
Fix random selector (#41)
* Fix a bug: when only have one upstream, random selector will panic
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
Star Brilliant [Wed, 20 Mar 2019 04:58:59 +0000 ]
Update Changelog
qyb [Fri, 15 Mar 2019 21:36:52 +0000 ]
log real client ip behind a HTTPS gateway (#38)
* log real client ip behind a HTTPS gateway
* fix tab/space indent
* better compatible for apache/nginx log default format
* add config option
Sherlock Holo [Wed, 13 Mar 2019 06:52:54 +0000 ]
Add LVS weight round robin selector (#36)
* Add upstream selector, there are two selector now:
- random selector
- weight random selector
random selector will choose upstream at random; weight random selector will choose upstream at random with weight
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Rewrite config and config file example, prepare for weight round robbin selector
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Replace bad implement of weight random selector with weight round robbin selector, the algorithm is nginx weight round robbin like
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Use new config module
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Disable deprecated DualStack set
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Fix typo
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Optimize upstreamSelector judge
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Fix typo
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Add config timeout unit tips
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Set wrr http client timeout to replace http request timeout
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Add weight value range
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Add a line ending for .gitignore
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Optimize config file style
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Modify Weight type to int32
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Add upstreamError
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Rewrite Selector interface and wrr implement
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Use http module predefined constant to judge req.response.StatusCode
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Use Selector.ReportUpstreamError to report upstream error for evaluation loop in real time
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Make client selector field private
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Replace config file url to URL
Add miss space for 'weight= 50'
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Rewrite Selector.ReportUpstreamError to Selector.ReportUpstreamStatus, report upstream ok in real time
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Fix checkIETFResponse: if upstream OK, won't increase weight
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Fix typo
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Rewrite wrr evaluation, concurrent check upstream and reduce interval to 15s
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Add lvs wrr selector config
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Add DebugReporter interface, when client verbose is true and the selector implements it, will report all upstream weights every 15s
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Rename WeightRoundRobinSelector to NginxWRRSelector
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Add LVSSelector
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Remove useless log
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
Star Brilliant [Sat, 09 Mar 2019 11:10:20 +0000 ]
Bump version to 2.0.0
Star Brilliant [Sat, 09 Mar 2019 11:09:35 +0000 ]
Update build scripts
Star Brilliant [Sat, 09 Mar 2019 11:05:07 +0000 ]
Replace Url with URL
Sherlock Holo [Sat, 09 Mar 2019 10:12:45 +0000 ]
Add backend weight round robin select (#34)
* Add upstream selector, there are two selector now:
- random selector
- weight random selector
random selector will choose upstream at random; weight random selector will choose upstream at random with weight
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Rewrite config and config file example, prepare for weight round robbin selector
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Replace bad implement of weight random selector with weight round robbin selector, the algorithm is nginx weight round robbin like
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Use new config module
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Disable deprecated DualStack set
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Fix typo
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Optimize upstreamSelector judge
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Fix typo
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Add config timeout unit tips
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Set wrr http client timeout to replace http request timeout
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Add weight value range
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Add a line ending for .gitignore
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Optimize config file style
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Modify Weight type to int32
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Add upstreamError
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Rewrite Selector interface and wrr implement
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Use http module predefined constant to judge req.response.StatusCode
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Use Selector.ReportUpstreamError to report upstream error for evaluation loop in real time
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Make client selector field private
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Replace config file url to URL
Add miss space for 'weight= 50'
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Rewrite Selector.ReportUpstreamError to Selector.ReportUpstreamStatus, report upstream ok in real time
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Fix checkIETFResponse: if upstream OK, won't increase weight
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
* Fix typo
Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
Star Brilliant [Wed, 05 Dec 2018 07:57:51 +0000 ]
Bump to version 1.4.3
Star Brilliant [Wed, 05 Dec 2018 07:57:25 +0000 ]
Release 1.4.2
Star Brilliant [Wed, 28 Nov 2018 07:31:02 +0000 ]
Remove dns.ErrTruncated according to https://github.com/miekg/dns/pull/815
Star Brilliant [Tue, 27 Nov 2018 16:11:52 +0000 ]
Merge pull request #30 from Sherlock-Holo/master
Refine runtime.GOOS check, use switch case to replace a long if
Sherlock Holo [Tue, 27 Nov 2018 16:08:21 +0000 ]
Refine runtime.GOOS check, use switch case to replace a long if
Star Brilliant [Tue, 27 Nov 2018 12:18:30 +0000 ]
Use time.Since to replace time.Now().Sub
Star Brilliant [Tue, 27 Nov 2018 09:37:57 +0000 ]
Add PID file support
Star Brilliant [Sat, 10 Nov 2018 15:02:17 +0000 ]
Remove an item from Changelog since it was actually fixed in eariler version
Star Brilliant [Sat, 10 Nov 2018 15:01:46 +0000 ]
Correct spelling
Star Brilliant [Sat, 10 Nov 2018 15:00:06 +0000 ]
Bump version to 1.4.2
Star Brilliant [Sat, 10 Nov 2018 14:59:04 +0000 ]
Release 1.4.1
Star Brilliant [Thu, 08 Nov 2018 15:58:28 +0000 ]
Add detectportal.firefox.com to default passthrough list
Star Brilliant [Wed, 07 Nov 2018 12:13:51 +0000 ]
Enable CORS by default, which is necessary for AJAX resolver to run
Star Brilliant [Wed, 07 Nov 2018 11:41:55 +0000 ]
Detect context.DeadlineExceeded
Star Brilliant [Wed, 07 Nov 2018 11:25:46 +0000 ]
Use context for more functions
Star Brilliant [Wed, 07 Nov 2018 11:10:06 +0000 ]
Put cancel() earlier
Star Brilliant [Wed, 07 Nov 2018 10:56:22 +0000 ]
Use RCODE_REFUSED for unsupported Qclass
Star Brilliant [Wed, 07 Nov 2018 10:47:01 +0000 ]
Try to use context.WithTimeout to detect HTTP timeout. Hopefully it might work.
Star Brilliant [Wed, 07 Nov 2018 10:11:12 +0000 ]
Slightly change the log format
Star Brilliant [Wed, 07 Nov 2018 09:10:39 +0000 ]
Add passthrough feature, tests are welcome
Star Brilliant [Tue, 06 Nov 2018 06:46:23 +0000 ]
Fix HTTP stream leaking problem
Star Brilliant [Fri, 02 Nov 2018 02:48:33 +0000 ]
Merge pull request #28 from Chaz6/patch-1
doh-server: change to google.go
Chris Hills [Thu, 01 Nov 2018 20:12:28 +0000 ]
Update google.go
Make "cd" check case-insensitive.
Chris Hills [Wed, 31 Oct 2018 23:40:33 +0000 ]
doh-server: change to google.go
Allow the "cd" parameter to be case insensitive to work with some clients that send True/False instead of true/false such as gDNS.
Star Brilliant [Sat, 20 Oct 2018 05:59:37 +0000 ]
Congratulations RFC 8484, remove the word "draft" from Readme
Star Brilliant [Sat, 20 Oct 2018 05:58:26 +0000 ]
Congratulations RFC 8484, remove the word "draft" from Readme
Star Brilliant [Thu, 04 Oct 2018 15:03:51 +0000 ]
Update Readme, fix issue #27
Star Brilliant [Wed, 03 Oct 2018 18:12:55 +0000 ]
Update Readme
Star Brilliant [Wed, 03 Oct 2018 18:11:55 +0000 ]
Add a ink to a guide
Star Brilliant [Thu, 27 Sep 2018 08:45:58 +0000 ]
Fix panic with debug_http_headers
Star Brilliant [Sun, 23 Sep 2018 17:21:00 +0000 ]
Merge pull request #22 from paulie-g/master
Fix segfault when no_cookies=true
Paul G [Sun, 23 Sep 2018 12:25:15 +0000 ]
Fix segfault when no_cookies=true
Star Brilliant [Fri, 21 Sep 2018 20:28:12 +0000 ]
Build doh-logger with static libswiftCore, fix #20
Star Brilliant [Fri, 21 Sep 2018 20:23:55 +0000 ]
Add configuration option: debug_http_headers
Star Brilliant [Mon, 20 Aug 2018 17:44:56 +0000 ]
Bump version to 1.3.11
Star Brilliant [Mon, 20 Aug 2018 17:44:35 +0000 ]
Release 1.3.10
Star Brilliant [Mon, 20 Aug 2018 17:43:46 +0000 ]
Enable application/dns-message (draft-13) by default, since Google has finally supported it
Star Brilliant [Tue, 14 Aug 2018 01:11:09 +0000 ]
Move linux-install.* to contrib/
Star Brilliant [Tue, 14 Aug 2018 01:08:46 +0000 ]
Bump version to 1.3.10
Star Brilliant [Tue, 14 Aug 2018 01:08:27 +0000 ]
Release 1.3.9
Star Brilliant [Tue, 14 Aug 2018 01:06:13 +0000 ]
Change the ECS prefix length from /48 to /56 for IPv6, per RFC 7871
Star Brilliant [Mon, 13 Aug 2018 17:43:41 +0000 ]
Update Readme to instruct Debian users to set $GOROOT
Star Brilliant [Mon, 13 Aug 2018 17:37:05 +0000 ]
If $GOROOT is defined, Makefile should respect the value, fix #8
Star Brilliant [Thu, 19 Jul 2018 03:10:04 +0000 ]
Add 5380 as an additional default doh-client port
Star Brilliant [Wed, 04 Jul 2018 14:43:08 +0000 ]
Fix #16: doh-client panics when connecting no_cookies = true
Star Brilliant [Mon, 02 Jul 2018 12:42:11 +0000 ]
Update example configuration
Star Brilliant [Mon, 02 Jul 2018 12:40:47 +0000 ]
Update example configuration
Star Brilliant [Mon, 02 Jul 2018 12:12:04 +0000 ]
Bump version to 1.3.9
Star Brilliant [Mon, 02 Jul 2018 12:11:41 +0000 ]
Release 1.3.8
Star Brilliant [Mon, 02 Jul 2018 11:42:57 +0000 ]
Workaround a bug causing Firefox 61-62 to reject responses with Content-Type = application/dns-message
Star Brilliant [Mon, 02 Jul 2018 09:55:58 +0000 ]
Workaround a bug causing Firefox 61-62 to reject responses with Content-Type = application/dns-message
Star Brilliant [Mon, 02 Jul 2018 09:49:34 +0000 ]
Workaround a bug causing Firefox 61-62 to reject responses with Content-Type = application/dns-message
Star Brilliant [Mon, 02 Jul 2018 05:49:59 +0000 ]
Preserve TransactionID
Star Brilliant [Mon, 02 Jul 2018 05:48:05 +0000 ]
Disable preventing capitalization scrambling
Star Brilliant [Mon, 02 Jul 2018 05:45:08 +0000 ]
Turn on no_cookies by default according to the IETF draft
Star Brilliant [Tue, 26 Jun 2018 07:20:43 +0000 ]
Construct a real DNS packet for DNSCrypt-Proxy
Star Brilliant [Tue, 26 Jun 2018 06:39:05 +0000 ]
Remove offensive words :-)
Star Brilliant [Tue, 26 Jun 2018 05:28:07 +0000 ]
Update Readme
Star Brilliant [Tue, 26 Jun 2018 05:26:42 +0000 ]
Update Readme
Star Brilliant [Tue, 26 Jun 2018 05:22:24 +0000 ]
Update documentation about TLS
This is to avoid confusions like issue #12
Star Brilliant [Mon, 25 Jun 2018 20:10:58 +0000 ]
Bump version to 1.3.8
Star Brilliant [Mon, 25 Jun 2018 20:10:31 +0000 ]
Release 1.3.7
Star Brilliant [Mon, 25 Jun 2018 19:55:59 +0000 ]
Workaround a bug causing DNSCrypt-Proxy to expect a response with TransactionID = 0xcafe
Star Brilliant [Mon, 25 Jun 2018 19:04:34 +0000 ]
Workaround a bug causing Unbound to refuse returning anything about the root
Star Brilliant [Sat, 16 Jun 2018 11:41:41 +0000 ]
Fix typo
Star Brilliant [Sat, 16 Jun 2018 11:40:52 +0000 ]
Install default configuration files to *.conf.example
Star Brilliant [Tue, 12 Jun 2018 03:12:13 +0000 ]
Print upstream information if error happens
Star Brilliant [Tue, 05 Jun 2018 17:26:36 +0000 ]
Add CloudFlare DNS resolver for Tor to the preset
Star Brilliant [Sun, 27 May 2018 13:03:51 +0000 ]
Release 1.3.6
Star Brilliant [Sun, 27 May 2018 13:00:13 +0000 ]
Add an option to disable IPv6, this option is available to client only
Star Brilliant [Tue, 15 May 2018 11:46:04 +0000 ]
Revert "Conflict with systemd-resolved.service"
This reverts commit 88b3c95710536ba351132276783e6cd362629eb2.
Star Brilliant [Tue, 08 May 2018 13:09:27 +0000 ]
Write a logger for macOS systems