Commit Graph

61 Commits

Author SHA1 Message Date
Frank Olbricht
e06ed844aa Support Extended Error Codes in static-responder (#347)
* Support Extended Error Codes in static-responder

* rename
2023-11-18 10:01:48 +01:00
Frank Olbricht
2e0610668b Implement Socks5 support (#317)
* Implement Socks5 support

* Support SOCKS5 for DoT

* Socks5 for DoH

* Return interface, not nil pointer of specific type

* Support resolving DNS server names locally instead of through the proxy

* Resolve IP4 only

* Fix go.mod after rebase

* Support LocalAddr directly in the SOCKS5 dialer

* Update docs for SOCKS5
2023-10-18 09:12:34 +02:00
Frank Olbricht
2e0f426b8d Support inverting the behavior of response-blocklist-ip / -name (#344)
* Support inverting the behavior of response-blocklist-ip / -name

* undo test code

* undo test code

* Fix nil ptr panic
2023-09-26 13:59:25 +02:00
Frank Olbricht
bf8b46213d Implement Redis backend for cache (#315)
* Implement Redis backend for cache

* support reading from redis

* Allow configuring redis username

* support key-prefixes

* support retry options

* update redis
2023-06-08 07:42:28 +02:00
Frank Olbricht
94069a220b Implement memory backend with persistence (#300)
* Implement memory backend with persistence

* Save cache on SIGTERM

* Write to disk in an interval

* Also store expiry in cach file

---------

Co-authored-by: Charles Porth <charlieporth1@gmail.com>
2023-05-12 09:21:00 +09:00
Frank Olbricht
924eeddfcb New cache-rcode-max-ttl option for caches (#304) 2023-05-01 10:10:51 +02:00
Frank Olbricht
6f0f6a299e New 'allow-failure' flag for blocklist loaders (#294) 2023-03-26 12:45:54 +02:00
Frank Olbricht
961a297d5a New 'query-timeout' option for resolvers (#295)
* New 'query-timeout' option for resolvers

* docs
2023-03-26 12:04:41 +02:00
Frank Olbricht
64b22b9875 Revert "Merge pull request #259 from folbricht/issue-153" (#292)
This reverts commit c383a53be6, reversing
changes made to 3cd0d752f5.
2023-03-22 09:37:05 +01:00
Charles Porth
b58b9485ff Merge branch 'master' into issue-153 2023-02-16 09:33:21 -06:00
folbrich
a1bb645d85 update docs 2023-01-26 12:16:36 +01:00
folbrich
8117a90cba Support routing by ListenerID or TLS server name 2022-12-28 10:51:54 +01:00
Charlie Porth
98640a603d Mod tidy && rm vender 2022-09-20 14:04:28 -05:00
Charlie Porth
51e0e33b13 Mod tidy && rm vender 2022-09-20 14:00:52 -05:00
Charles Porth
62f55a45b2 Merge branch 'issue-153' into issue-153-update-from-master 2022-09-03 15:51:39 -05:00
Charlie Porth
fe5c953410 Reset of blocklist 2022-08-22 17:07:24 +08:00
folbrich
300a0e0aae update docs 2022-08-16 11:31:29 +02:00
Frank Olbricht
01eca5c1d2 Support selector functions for TTL modifier (#245)
* Support selector functions for TTL modifier

* docs

* Fix minor bugs and add 'random' selector
2022-08-09 16:04:22 +02:00
Frank Olbricht
d6a4e6087b Support no-tls option on DoH (TCP) servers (#239) 2022-07-16 12:05:39 +02:00
Frank Olbricht
0874ba7fd5 Ability to route by DoH path (#240)
* Ability to route by DoH path

* Expand logging of matching routes
2022-06-23 11:17:18 +02:00
Frank Olbricht
395fcbcedb New element to log queries via syslog (#233)
* New element to log queries via syslog

* Replace syslog library

* fix query type/name order and add id

* option to log responses as well

* Fix log line and add log-request option

* Add query ID and answer numbers

* Fix format strings

* Synthesize NODATA state

* Add qtype to failed or empty responses

* Add docs

* Verbose option to log response types that weren't queries
2022-05-20 13:50:37 +02:00
Chris Buijs
35c9051e6d Add truncate option in static-responder to set TC bit (#211)
* Added "truncate" flag/config

* Update static.go

* Add truncate

* Truncate

* Update configuration.md

* Truncate Example

* Update static.go

* Add truncate

* Update static.go

* Update static.go

* Update static.go

* Update static.go

* Update static.go

* Update static.go

* Update static.go

* Update static.go

* Update static.go

* Update static.go

* Update static.go

* Update cmd/routedns/example-config/truncate.toml

Co-authored-by: Frank Olbricht <frank.olbricht@gmail.com>

* Update doc/configuration.md

Co-authored-by: Frank Olbricht <frank.olbricht@gmail.com>

* Revert to existing/original logic with truncate

* Update logging

Co-authored-by: Frank Olbricht <frank.olbricht@gmail.com>
2022-02-05 07:29:34 -07:00
Frank Olbricht
acc8842fad Support naming blocklists to help with logging (#201)
* Support naming blocklists to help with logging

* Support naming of lists in response blocklists too

* Add list name to client-blocklist as well
2022-01-09 07:44:53 -07:00
Charles Porth
0fafcce699 Update configuration.md (#183)
* Update configuration.md

Better documatation for `reset-after` clairifying usage.

* Update configuration.md

* Update configuration.md
2021-09-13 16:41:29 -06:00
Frank Olbricht
b75ffc78cb New request-dedup group (#181)
* New request-dedup group

* Add logging

* Update docs and add example
2021-08-28 15:18:18 -06:00
Frank Olbricht
c3abb402a9 Support retry on truncation (#171)
* Support retry on truncation

* Fix port in example

* Use Msg.Truncate() instead of comparing length

* Don't cache truncated responses and update examples

* Replace test.com with example.com
2021-08-08 07:36:00 -06:00
Frank Olbricht
d7e1a578e3 Support flushing a cache remotely (#168) 2021-08-05 22:09:29 -06:00
Frank Olbricht
3b40a255ce New fastest-tcp group to probe TCP connections (#155)
* Implement fastest-tcp group

* Add success-ttl option

* docs

* Change option to success-ttl-min

* Fix option in doc
2021-07-03 14:28:08 -06:00
Frank Olbricht
8a28f9f417 New flag to control SERVFAIL behavior in failover groups (#166) 2021-06-19 13:57:34 -06:00
Frank Olbricht
8014a4d305 Support routing by time and weekday (#167)
* Support routing by time and weekday

* Add note about impossible routes
2021-06-19 13:53:08 -06:00
Charles Porth
8779d341f4 Added regex formating to configure.md (#164) 2021-06-12 09:53:06 -06:00
Frank Olbricht
aa3a7fa537 Update docs and example to match doq-i02 (#154) 2021-05-29 17:02:19 -06:00
Frank Olbricht
59325942d9 Correct ALPN token for DOQ (#148) 2021-03-30 21:02:29 -06:00
Frank Olbricht
7fdf2fa44f New cache-harden-below-nxdomain option (#132)
* New cache-harden-below-nxdomain option

* Wire in the config
2021-03-01 18:15:03 -07:00
Frank Olbricht
31a59c1ca1 New cache option to control the order of answers (#128)
* New cache option to control the order of answers

* Improve shuffle algorithms to only rotate A/AAAA
2021-02-08 17:51:21 -07:00
folbrich
d34b9e0a6d Fix formatting in markdown 2021-01-01 11:50:07 -07:00
Frank Olbricht
ef5a8d1d0e Option to change the response code after collapsing to zero (#109) 2020-12-28 11:42:19 -07:00
Frank Olbricht
4afe613b36 New 'fastest' group (#112) 2020-12-28 08:34:27 -07:00
Frank Olbricht
322c193ea7 New entity: edns0-modifier (#106)
* New entity: edns0-modifier

* Update docs and example
2020-12-19 11:13:00 -07:00
Frank Olbricht
39e42de5af Fail over to another resolver if the current one returns SERVFAIL (#101)
* Fail over to another resolver if the current one returns SERVFAIL

* Handle drops in fail-rotate and fail-back groups
2020-11-12 07:05:54 -07:00
Frank Olbricht
58ead0bf21 Supporting multiple types in routes and inverting of routes (#97) 2020-11-01 07:03:58 -07:00
Frank Olbricht
c0e135b786 Allow 4k responses (#95)
* Allow 4k responses

* Move UDP size config into the client
2020-10-11 08:12:18 -06:00
Frank Olbricht
84fdcd4d18 Add cache-dir option to HTTP blocklists (#83)
* Add cache-dir option to HTTP blocklists

* Write blocklist cache files to tmp location then rename
2020-09-06 10:18:31 -06:00
Frank Olbricht
0a27c61e61 Support Bootstrap Resolver (#82) 2020-09-06 10:17:23 -06:00
SeanBurford
482d40a5db Expvar (#84)
* Add metric tracking

* Clean up metrics structures.

* Add available route metric to router.
2020-09-06 09:55:30 -06:00
SeanBurford
ce96fdc8b4 Subnet (#79)
* Use CIDR for frontend proxy spec.

* Fix config variable name in error message

* Clean up trusted-proxy parsing
2020-07-30 06:55:40 -06:00
SeanBurford
5ef6051a46 Support X-Forwarded-For when it comes from a trusted proxy (#78)
* Support X-Forwarded-For when it comes from a trusted proxy

* Fix address in dohlistener test

* Add long proxy chain text

* Remove *IP and fix namespace Proxy->HTTPProxy

HTTPProxy is still ambigious until you consider that it's being used in the context of
a listener rather than a client.  Since it's a listener the HTTPProxy is clearly incoming
rather than outgoing.
2020-07-27 07:06:11 -06:00
Frank Olbricht
f9cb6aab39 Support setting source address of resolvers (#75)
* Support setting source address of resolvers

* Support LocalAddr option in UDP and TCP resolvers

* Support local-address option for DoQ and DoT
2020-07-21 07:12:09 -06:00
Frank Olbricht
4596fbad3e Cache based on query and ECS subnet address (#73) 2020-07-05 14:42:52 -06:00
Frank Olbricht
4496faf47b Request rate-limiter (#71)
* Request rate-limiter

* Add limit-resolver and docs
2020-06-29 06:31:09 -06:00