Commit Graph

199 Commits

Author SHA1 Message Date
Frank Denis 4f42dd01a4 nxlog 2018-01-20 17:03:48 +01:00
Frank Denis 1e0e01e8e1 NXLOG: a new output plugin to log suspicious queries 2018-01-20 16:59:40 +01:00
Frank Denis 47fdc45b2d beta5 2018-01-20 14:15:20 +01:00
Frank Denis 066db6a080 Replace logged_qtypes with ignored_qtypes 2018-01-20 13:27:37 +01:00
Frank Denis 187de17396 Don't prefetch more frequently than 1/min 2018-01-20 00:31:54 +01:00
Frank Denis 1c27d6c230 Improved error handling 2018-01-20 00:30:33 +01:00
Frank Denis 7fbb4c5428 Improve the prefetcher; run a dedicated goroutine 2018-01-19 23:43:45 +01:00
Frank Denis 6e1eaf7b90 More flexible logging; add support for the Windows event log 2018-01-19 20:06:04 +01:00
Frank Denis 7103229609 Add a logged_qtypes feature to log only some query types 2018-01-19 12:57:47 +01:00
Frank Denis 41d5de6e8d Scheduling 2018-01-19 00:06:18 +01:00
Frank Denis 43e5689387 Schedule a prefetch if we got a set or its signature from a backup cache
This is not pretty, and has to be rewritten for the next beta
2018-01-18 23:54:53 +01:00
Frank Denis a85d012a2b Prefetch previously unreachable sources URLs after a server is reachable
Partial fix for #4

Pave the way for regular, background updates as well
2018-01-18 23:19:14 +01:00
Frank Denis 6c67739b56 bump 2018-01-18 22:23:37 +01:00
Frank Denis 0fcbbfda1f Add systemd readiness notification 2018-01-18 15:31:08 +01:00
Frank Denis 0a63975d48 Logs can now be sent to files or syslog in addition to stderr 2018-01-18 14:25:45 +01:00
Frank Denis fd7838ee58 Add a -version command-line switch to print the version
Fixes #2
2018-01-18 12:22:25 +01:00
Frank Denis 0e03f684b2 Hotfix for OpenBSD and other OS whose init system is not supported yet 2018-01-18 02:08:08 +01:00
Frank Denis df3a5f608d Improve management of multiple servers, and unreachable-at-boot servers 2018-01-17 21:23:01 +01:00
Frank Denis 1140e067ad Retry more frequently if we don't have any useable certificates
This will ahve to be done at startup time as well.
2018-01-17 17:22:29 +01:00
Frank Denis b9c43c8ef3 Add the ability to log blocked queries 2018-01-17 17:03:42 +01:00
Frank Denis 3fffbaa2a2 Support installation as a service 2018-01-17 11:28:43 +01:00
Frank Denis 3fe6dbd740 Preliminary support for running as a Windows service 2018-01-17 10:58:19 +01:00
Frank Denis 96dadc7aca Forwarding plugin 2018-01-17 09:44:03 +01:00
Frank Denis 170e2e816e Implement blocking, fully compatible with rules from version 1 2018-01-17 02:40:47 +01:00
Frank Denis 5685844f43 Implement query logging 2018-01-16 00:23:16 +01:00
Frank Denis 3ffad7be44 Add Init/Drop/Update methods to plugins
Eventually, we may want to provide a specific structure for plugin
initialization. Sending the whole Proxy structure doesn't scale well.
2018-01-15 23:07:41 +01:00
Frank Denis fee0a42dec Plugins can now access the client IP. Useful for logging and ACLs. 2018-01-14 23:47:49 +01:00
Frank Denis 5e252372d5 Pass the client protocol around, don't infer it from clientAddr 2018-01-14 23:39:55 +01:00
Frank Denis b2d297fb17 cd to the path of the executable file 2018-01-14 00:56:46 +01:00
Frank Denis 9a3cd91cd7 Use dlog for everything 2018-01-11 11:50:54 +01:00
Frank Denis 735213f45a Use glog 2018-01-11 02:11:54 +01:00
Frank Denis 3fe60f64c4 So, daemonization only works on linux :/ 2018-01-10 19:49:02 +01:00
Frank Denis 99c5273e3a Add configuration cache size and other parameters 2018-01-10 19:32:56 +01:00
Frank Denis 77cdc1db78 Start implementing a basic cache 2018-01-10 18:32:05 +01:00
Frank Denis f283105866 Implement the IPv6 block plugin 2018-01-10 17:23:20 +01:00
Frank Denis fa22cc32d7 Basic load balancing/failover
Try to send queries to one of the two fastest servers
2018-01-10 16:42:14 +01:00
Frank Denis 9eeb799d6e Many improvements 2018-01-10 16:01:29 +01:00
Frank Denis 6dfcb659d4 Handle daemonization 2018-01-10 13:33:06 +01:00
Frank Denis b86e7f268e Use more things from the config file 2018-01-10 12:09:59 +01:00
Frank Denis 2822a9781b Add a config file 2018-01-10 12:02:09 +01:00
Frank Denis efd0477c2b Implement an actual estimator for the response size
Scale back the minimum question size when relevant.

Did I mention that this is yet another thing that was never properly
implemented in dnscrypt-proxy 1.x?
2018-01-10 09:46:27 +01:00
Frank Denis f4346691bc Transform queries via an initial edns mangling plugin
Yet another thing that was utterly broken in dnscrypt-proxy v1.x
2018-01-10 09:04:03 +01:00
Frank Denis d8f8d561c8 Synthesize a truncated response if the response wouldn't fit the local MSS 2018-01-10 02:52:09 +01:00
Frank Denis 3049f43bc7 Nits 2018-01-10 00:32:16 +01:00
Frank Denis 72a6963f2e Cleanups 2018-01-10 00:31:12 +01:00
Frank Denis 35ec5bd044 We can now receive queries on UDP and forward them on TCP
Something that had never been possible with the old implementation
2018-01-09 20:10:06 +01:00
Frank Denis 1a59d93192 Support TCP connection to the backend 2018-01-09 19:47:24 +01:00
Frank Denis 888db6a8fb The preferred protocol will be a global (for Tor users) 2018-01-09 18:42:24 +01:00
Frank Denis 841bf65d61 Reorganize 2018-01-09 18:32:14 +01:00