[Feature Request] Ability to add rulesets and filterlists as sources. #2530
Replies: 3 comments 4 replies
-
@jedisct1 May I ask why #2535 got deleted without any conversation? |
Beta Was this translation helpful? Give feedback.
-
Setting up a webserver in order to use it to fetch some configuration files sounds a bit cumbersome, and I'm not sure a lot of people would actually use that. People with such a need and skills can use tools such as Right now, a restart is required after a change in a configuration file. This is mostly transparent to clients since they will all automatically retry after a timeout. However, after a restart, the cache is lost and the server selection has to be made again, so for a couple seconds, performance may not be optimal. Watching files for changes and reparsing them after every change would solve this. There was an early experiment to do so, but it didn't work reliably. These files must not be loaded while they are being edited. In order to achieve that, Unix tools often expect a For blocked and allowed names, the For blocked and allowed IP and IPv6 addresses, maybe a distinct script can be written. Something that merges overlapping IP addresses, but also expands CIDRs. On invalid configurations, such as blocked names with references to unknown time ranges, I guess we should keep the previous configuration and emit errors. |
Beta Was this translation helpful? Give feedback.
-
The key is reloading. In details:
The external script can be vary file formats (bat, ps1, sh, js, py and etc.), and it can do vary transformations. It is more flexible than doing the work by the main executable itself. |
Beta Was this translation helpful? Give feedback.
-
The sources and list fetching feature is already implemented in dnscrypt-proxy. Please provide us a convenient way to automatically fetch rulesets and filterlists on all supported platforms.
1.) There will be 2 types of ruleset and filterlist files. One appended with
-local
and another appended with-remote
. Local files will have priority over remote files.2.) Users will configure remote rulesets and filterlist sources from
dnscrypt-proxy.toml
together with their own refresh delays.3.) At app start dnscrypt-proxy will initialize connection to the DNS server using previous rulesets and filterlists if needed. (I do not know if they are being used or needed during the initial connection phase.)
4.) Then dnscrypt-proxy will initiate downloading of rulesets and filterlists configured in the
dnscrypt-proxy.toml
file and will queue (if queuing not possible then will block) all requests sent to the app until the lists are downloaded and initialized.Beta Was this translation helpful? Give feedback.
All reactions