Requirements:
- All of my clients to go through DNSCrypt & Diversion Ad-Blocking
- 2 of my clients to totally bypassDiversion, but still useDNSCrypt.
On searching the forums and Diversion website; there is a suggested solution listed on Diversion FAQhere
.... It says that I set the DNS to 8.8.8.8, ... but I want the excluded clients to still use DNSCrypt-Proxy
How to exclude a client from ad-blocking
In your router Web-UI, go to DNS-Filtering
- set 'Enable DNS-based Filtering' to ON
- set 'Global Filter Mode' to 'NO filtering'
- fill in 'Custom (user-defined) DNS 1' with, for example, Google's DNS 8.8.8.8
- select your client(s) in the Client List and set 'Filter Mode' 'Custom 1'
- click Apply
Now the client(s) in the Client list get the DNS from google and not from your router.
Q: What settings do I put in the DNS Filter section (or elsewhere)?
Follow the example to the letter and what you are trying to do should work. Any devices you set to the custom address will skip dns crypt and diversion. Since this is a diversion guide it is more appropriate that you move this to the diversion thread. Note they will not be able to skip diversion and still use dns crypt since they both pass through dnsmasq and the router itself. You will have to assign clients to a separate dns address altogether.
Follow the example to the letter and what you are trying to do should work. Any devices you set to the custom address will skip dns crypt and diversion. Since this is a diversion guide it is more appropriate that you move this to the diversion thread.
If you have directions for that you are welcome to share your methods. As far as it is setup now both dnscrypt proxy and diversion are handed off to dnsmasq.
If you have directions for that you are welcome to share your methods. As far as it is setup now both dnscrypt proxy and diversion are handed off to dnsmasq.
I thought it would involve a change to listen_addresses to add a LAN IP like the Pixelserv IP on port 53. But I'm not that familiar with the rest of dnscrypt-proxy to be certain.
I thought it would involve a change to listen_addresses to add a LAN IP like the Pixelserv IP on port 53. But I'm not that familiar with the rest of dnscrypt-proxy to be certain.
I am sure he could make a custom listen address for what he is trying to do, the down side is dnscrypt-proxy caching is disabled since it is handed to dnsmasq as well, so you may be taking a performance hit to those devices. Alternatively I recommend enabling diversions alternative block list and choosing a tiny custom blocklist, this will allow custom defined devices to use dnscrypt without taking any performance hit and prevent devices from being heavily impacted from diversion blocking.
I thought it would involve a change to listen_addresses to add a LAN IP like the Pixelserv IP on port 53. But I'm not that familiar with the rest of dnscrypt-proxy to be certain.
The dnscrypt-proxy.toml listens on 127.0.0.0:53, but I think it does support multiple addresses.
So, could I edit the dnscrypt-proxy.toml and add say another address like 192.168.1.5:53 and then use that as the DNS address of the excluded client.
The dnscrypt-proxy.toml listens on 127.0.0.0:53, but I think it does support multiple addresses.
So, could I edit the dnscrypt-proxy.toml and add say another address like 192.168.1.5:53 and then use that as the DNS address of the excluded client.
The dnscrypt-proxy.toml listens on 127.0.0.0:53, but I think it does support multiple addresses.
So, could I edit the dnscrypt-proxy.toml and add say another address like 192.168.1.5:53 and then use that as the DNS address of the excluded client.
Alternatively I recommend enabling diversions alternative block list and choosing a tiny custom blocklist, this will allow custom defined devices to use dnscrypt without taking any performance hit and prevent devices from being heavily impacted from diversion blocking.
I am sure he could make a custom listen address for what he is trying to do, the down side is dnscrypt-proxy caching is disabled since it is handed to dnsmasq as well, so you may be taking a performance hit to those devices. Alternatively I recommend enabling diversions alternative block list and choosing a tiny custom blocklist, this will allow custom defined devices to use dnscrypt without taking any performance hit and prevent devices from being heavily impacted from diversion blocking.
Ah... this is interesting.
So could I enable Alternative Block list; and make it completely empty (in effect, no ad-blocking at all).
I think this approach will yield the same end result and benefits of Dnsmasq caching...
How do I make an absolutely empty blocking list; basically everything white-listed?
Ah... this is interesting.
So could I enable Alternative Block list; and make it completely empty (in effect, no ad-blocking at all).
I think this approach will yield the same end result and benefits of Dnsmasq caching...
How do I make an absolutely empty blocking list; basically everything white-listed?
First you have to enable fast switch, then you pick a custom list for it, then you enable alternative block list and assign an unused ip address to it, then you add that Ip to custom 1 on dnsfilter and assign a filter for each device you want to use it.
First you have to enable fast switch, then you pick a custom list for it, then you enable alternative block list and assign an unused ip address to it, then you add that I'm to custom 1 on dnsfilter and assign a filter for each device you want to use it.
So will something like this work...
The dnscrypt-proxy.toml listens on 127.0.0.0:53, but I think it does support multiple addresses.
So, could I edit the dnscrypt-proxy.toml and add say another address like 192.168.1.5:53 and then use that as the DNS address of the excluded client.
Alternatively I recommend enabling diversions alternative block list and choosing a tiny custom blocklist, this will allow custom defined devices to use dnscrypt without taking any performance hit and prevent devices from being heavily impacted from diversion blocking.
I appreciate your feedback. Keep me updated on how well it works. I highly encourage the use of Diversions features as @thelonelycoder has made it simple. He has streamlined everything to be user friendly and easy to use. DNSMASQ (through diversion) is your most flexible means of taking care of this issue.
Guys don't update to this too soon. There is a memory leak and the binaries are not properly compiled for linux-arm and arm64 devices. I set the installer detectable dnscrypt-version back to 2.0.42 until the issue is resolved. I have opened an issue on dnscrypt-proxy 2's devs github. The issue involves dnscrypt-proxy 2 not properly binding to addresses.
Guys don't update to this too soon. There is a memory leak and the binaries are not properly compiled for linux-arm and arm64 devices. I set the installer detectable dnscrypt-version back to 2.0.42 until the issue is resolved. I have opened an issue on dnscrypt-proxy 2's devs github. The issue involves dnscrypt-proxy 2 not properly binding to addresses.
I installed this. Configured it. Then I made a backup.
Then I removed it.
I rebooted router.
I installed it again and tried to restore the backup.
Error attached.
I installed this. Configured it. Then I made a backup.
Then I removed it.
I rebooted router.
I installed it again and tried to restore the backup.
Error attached.
Info: Detected ARMv7 architecture.
Info: JFFS custom scripts and configs are already enabled
Info: DNS Environment is Ready.
Info: DI_VERSION=v2.1.6
Info: DNSCRYPT_VER=2.0.42
Info: Manager file is Up-To-Date!
Info: Choose what you want to do:
1) Install/Update dnscrypt-proxy
2) Uninstall dnscrypt-proxy
3) Configure dnscrypt-proxy
4) Set timezone
5) Unset timezone
6) Install (P)RNG
7) Uninstall (P)RNG
8) Install swap file
9) Uninstall ALL
b) Backup
r) Restore
q) Quit
=> Please enter the number that designates your selection:, [1-9/b/r/q]: r
Info: This operation will allow you to restore everything!
=> Do you want to continue? [y/n]: y
Info: Please wait a moment.
Info: Please hold on while the latest local files are updated..
Info: installer is up to date. Skipping...
Info: manager is up to date. Skipping...
Info: Downloading public-resolvers.md
Info: Downloading public-resolvers.md.minisig
Info: relays.md is up to date. Skipping...
Info: relays.md.minisig is up to date. Skipping...
Info: dnsmasq.postconf file already configured
Info: init-start file already configured
Info: Configuring dnscrypt-proxy...
Info: Checking dnscrypt-proxy configuration...
[2020-06-10 09:53:48] [NOTICE] dnscrypt-proxy 2.0.42
[2020-06-10 09:53:48] [NOTICE] Network connectivity detected
[2020-06-10 09:53:48] [NOTICE] Source [relays] loaded
[2020-06-10 09:53:48] [NOTICE] Source [public-resolvers] loaded
[2020-06-10 09:53:48] [NOTICE] Anonymized DNS: routing everything via [anon-cs-se anon-sth-se]
[2020-06-10 09:53:48] [NOTICE] Configuration successfully checked
Info: Found previous dnscrypt-proxy config file
=> Do you want to use this file without reconfiguring? [y/n]: y
Info: Use previous settings file
Info: Starting dnscrypt-proxy...
Info: Backup restored!
Info: Operation completed. You can quit or continue
=====================================================
Info: Choose what you want to do:
1) Install/Update dnscrypt-proxy
2) Uninstall dnscrypt-proxy
3) Configure dnscrypt-proxy
4) Set timezone
5) Unset timezone
6) Install (P)RNG
7) Uninstall (P)RNG
8) Install swap file
9) Uninstall ALL
b) Backup
r) Restore
q) Quit
=> Please enter the number that designates your selection:, [1-9/b/r/q]:
Make sure you updated to the latest version of the installer
(Did not uninstall on this try before restore)
Edit:
Maybe you need to select option 1(install/update) and it will detect a backup from there and get the option to restore. Not at home atm