copy this my setting to your personal DNS filter configuration
step 1
Use select all
and then copy and paste my configuration this below to your personal DNS setting
############################################# # WARNING! FOR EXPERTS ONLY! # # This is personalDNSfilter configuration! # # Only edit this file if you are an expert! # ############################################# # detectDNS = true|false. # if true, the DNS servers will be detected if possible. # if false, the DNS Servers will be taken from the fallbackDNS setting below. detectDNS = false # fallbackDNS - list of DNS servers seperated by ";". # Used in case DNS servers are not detected automatically (either switched off or not possible). # Format: <IP>::<PORT>::<PROTOCOL>::<URL END POINT> # The secure DNS Servers as default below are libredns.gr Nixnet.services uncensoreddns.org # Examples below # 116.202.176.26::443::DoH::https://doh.libredns.gr/dns-query (Example of DNS-over-HTTPS) # 1.1.1.1::853::DoT::cloudflare-dns.com (DNS over TLS, domain name is optional) # 176.103.130.130::53::UDP # Fallbacks are from libredns.gr, uncensoreddns.org, nixnet.services, and also adguard.com # adguard1 (UDP); adguard2 (UDP); uncensoreddns.org (Dot); libredns.gr (DoT); libredns.gr (DoH) fallbackDNS = [1.1.1.1]::53::UDP::1.0.0.1; ~[94.140.14.14]::853::DOT::dns.adguard.com; ~[174.138.29.175]::443::DOH::https://doh.tiarap.org/dns-query; ~[174.138.29.175]::853::DOT::doh.tiar.app; ~[dot.tiar.app]::443::DOH::https://doh.tiar.app/dns-query; ~[1.1.1.1]::853::DOT::1.0.0.1; ~[1.1.1.1]::443::DOH::http://1.1.1.1/dns-query; ~[dot.tiar.app]::853::DOT::174.138.29.175; ~[94.140.14.14]::853::DOT::94.140.15.15; ~[dns.adguard.com]::443::DOH::https://dns.adguard.com/dns-query; [dns.dnswarden.com]::443::DOH::https://dns.dnswarden.com/adblock; [149.248.217.117]::853::DOT::dns.dnswarden.com; ~[1.12.12.12]::853::DOT::120.53.53.53; ~[1.12.12.12]::443::DOH::https://doh.pub/dns-query; ~[223.5.5.5]::53::UDP::223.6.6.6; ~[dns.alidns.com]::53::UDP::https://alidns_ip/resolve; ~[dns.google]::53::UDP::dns.googledns.umbrella.com; ~[isla.ns.cloudflare.com]::53::UDP; ~[christian.ns.cloudflare.com]::53::UDP; ~[0ms.run]::443::DOH::https://0ms.run/cache; [dns.cloudflare.com]::443::DOH::https://dns.cloudflare.com/.well-known/dns-query # passcode - can be set in order to force a passcode on android based dnsfilter before getting access # default is empty string passcode = # IP Version Support ipVersionSupport = 4,6 # Returned IP for resolving blocked host ipV4BlockedHost = 0.0.0.0 ipV6BlockedHost = :: # Maximum number of parallel DNS Resolver Connections maxResolverCount = 100 # enableLocalResolver = true|false # when enabled, up stream DNS will only be called in case IP cannot be resolved locally, # either via filter or custom IP mapping (via ">host" entries in additionalHosts file). # Custom IP mapping requires "enableLocalResolver = true". enableLocalResolver = true # localResolverTTL - TTL for locally produced DNS Response localResolverTTL = 40 # HTTP Proxy for tunneling DNS TCP connections via Proxy # Note: httpProxyIP is mandatory, httpProxyHost is optional # In case proxy requires authentication, the auth string for basic auth can optionally be provided resolveOverHttpProxy = false httpProxyHost = my.proxy httpProxyIP = 10.0.2.2 httpProxyPort = 8080 httpProxyBasicAuthStr = # routeUnderlyingDNS - Only for Android VPN based version # Routes all detected dns servers of the underlying network to the dummy VPN created on Android. # Might be needed when using Google chrome as it might use the underlying DNS servers directly routeUnderlyingDNS = false # routeIPs - Only for Android VPN based version. # List of IPs routed in addition to the (virtual) DNS (configured by the VPN) to the DNSFilter. # This might be usefull in case applications ignore the VPN's DNS and just use an own DNS Server, # such as the Googles DNS Servers. # Uncomment setting below for using this option. # As an example below the list of Google DNS servers for IPV4 and IPV6. # This should avoid hardcoded usage of Google DNS Servers, bypassing system DNS settings. # e.g. routeIPs = 8.8.8.8; 8.8.4.4; 2001:4860:4860::8888; 2001:4860:4860::8844 routeIPs = # AUTOSTART = true|false - used only by Android version. # if true android app is started automatically on device boot completed. AUTOSTART = true # androidAppWhiteList - Only for Android VPN based version (requires at least Android 5.1). # List of applications seperated by "," which should bypass the VPN androidAppWhiteList = # dnsProxyOnAndroid = true|false - used by Android version. # if true, on Android, instead a local VPN, a DNS Proxy is started on port 5300 # In case root mode is also enabled, port 53 will be opened as well and local DNS traffic will be routed. # In root mode could also act as DNS filter Proxy within the local network. # Without root mode it could be used by openVPN for pDNSf as local filter while connected to a real VPN dnsProxyOnAndroid = false # DNS proxy port used on non android version (e.g. on linux or windows computer) # Note: On Android allways port 5300 is used and port 53 is forwarded in root mode dnsProxyPortNonAndroid = 53 # dnsProxyOnlyLocalRequests = true | false # when true only local requests are accepted dnsProxyOnlyLocalRequests = true # rootModeOnAndroid = true|false - used by Android version. # When dnsProxyOnAndroid is enabled, root mode will also open port 53 and route local DNS traffic to this. # In root mode could also act as DNS filter Proxy within the local network. # NOTE! this mode does not allow port 53 for upstream DNS Server rootModeOnAndroid = false # vpnInAdditionToProxyMode = true|false - used by Android version. # When dnsProxyOnAndroid is enabled, the local VPN by default will not be started. # With setting 'vpnInAdditionToProxyMode = true' a local VPN will be started in addition. vpnInAdditionToProxyMode = false # androidKeepAwake - Only for Android version. # When switched on, Android device won't go to sleep mode (e.g. when running proxy mode) androidKeepAwake = false # manageDNSCryptProxy - Only for Android version # if true, an installed DNScryptProxy will be started and stopped together with DNSFilter (requires root!) manageDNSCryptProxy = false # options for starting DNSCryptProxy dnsCryptProxyStartOptions = -config /system/etc/dnscrypt-proxy/dnscrypt-proxy.toml # traffic log configuration for a rotating traffic log (trafficlog_0.log, trafficlog_1.log, ...) # enableTrafficLog = true|false - true: trafficlog enabled, false: trafficlog is OFF # trafficLogSize - max size of a log slot file in bytes / default 1 MB # trafficLogName - the name of the log /default trafficlog # trafficLogSlotCount - number of log slots for log rotation / default 2 enableTrafficLog = true trafficLogName = trafficlog trafficLogSize = 1048576 trafficLogSlotCount = 2 # Remote host configuration for remote control client client_remote_ctrl_host = 0.0.0.0 client_remote_ctrl_keyphrase = Change This Default Keyphrase! client_remote_ctrl_port = 3333 # Remote host configuration for remote control server server_remote_ctrl_keyphrase = Change This Default Keyphrase! server_remote_ctrl_port = -1 # Switch for debug logging debug = false # DNS request timeout in milliseconds dnsRequestTimeout = 1000 # the size of the cache for filtered hosts filterHostsCacheSize = 2000 # the size of the cache for allowed hosts allowedHostsCacheSize = 2000 # check resolved IP against filter checkResolvedIP = false # check CNAME (handle CNAME cloaking) checkCNAME = true # filterHostsFile - file path of filter hosts text file containing hosts which are filtered. # comment in case you want to disable filtering! filterHostsFile = FILTERHOSTS.TXT # filterActive = true|false # when false, filtering is disabled filterActive = true # filterAutoUpdateURL - the URL from were the filterHostsFile gets automatically updated. # You can specify different URLs seperated by ';' for an concatenated filterHostsFile. # Comment in case you want to disable the automatic update of the filter host file! filterAutoUpdateURL = https://adaway.org/hosts.txt; https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext; https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts; https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews/hosts; https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling/hosts; https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/porn/hosts; https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/social/hosts; https://badmojr.gitlab.io/1hosts/mini/domains.wildcards; https://badmojr.gitlab.io/1hosts/Lite/domains.wildcards; https://badmojr.gitlab.io/1hosts/Pro/domains.wildcards; https://badmojr.gitlab.io/1hosts/Xtra/domains.wildcards; https://dbl.oisd.nl/basic/; https://raw.githubusercontent.com/jerryn70/GoodbyeAds/master/Hosts/GoodbyeAds.txt; https://raw.githubusercontent.com/Spam404/lists/master/main-blacklist.txt; https://urlhaus.abuse.ch/downloads/hostfile/; https://someonewhocares.org/hosts/hosts; https://raw.githubusercontent.com/notracking/hosts-blocklists/master/hostnames.txt; https://www.github.developerdan.com/hosts/lists/ads-and-tracking-extended.txt; https://raw.githubusercontent.com/hagezi/dns-blocklists/main/wildcard/ultimate-onlydomains.txt # filterAutoUpdateURL_IDs - Sequence of short names for above URLs seperated by ";" in same # sequence as URLs above. When not specified, the URL host will be taken filterAutoUpdateURL_IDs = adaway; pgl.yoyo.org; ad&malware; fakenews; gambling; porn; social; 1Hosts-mini; 1Hosts-light; 1Hosts-pro; 1Hosts-Xtra; OISD ads & trackers; Goodbye Ads; Spam404; URLhaus (malware); Dan Pollock's Hosts; NoTracking; Developer Dan's Hosts; ultra # filterAutoUpdateURL_categories - Sequence of categories for above URLs seperated by ";" in same # sequence as URLs above. When not specified, the URL host will be taken filterAutoUpdateURL_categories = adaway; pgl.yoyo.org; StevenBlack; StevenBlack; StevenBlack; StevenBlack; StevenBlack; badmojr/1Hosts; badmojr/1Hosts; badmojr/1Hosts; badmojr/1Hosts; OSID; Goodbye Ads; Spam404; URLhaus; Dan Pollock's Hosts; NoTracking; Developer Dan's Hosts; ulta # filterAutoUpdateURL_switchs - Sequence of boolean values (true|false) for above URLs seperated by ";" # in same sequence as URLs above. When not specified, the value "true" is taken. # Value "true" means that the URL is active and thus taken for filter download, when false the URL # is inactive filterAutoUpdateURL_switchs = true; true; true; false; false; false; false; false; false; false; false; true; true; false; false; false; true; false; true # previousAutoUpdateURL - the URL from were the last filterHostsFile was automatically updated . # DO NOT CHANGE! - will be set internally! previousAutoUpdateURL = https://adaway.org/hosts.txt; https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext; https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts; https://dbl.oisd.nl/basic/; https://raw.githubusercontent.com/jerryn70/GoodbyeAds/master/Hosts/GoodbyeAds.txt; https://raw.githubusercontent.com/notracking/hosts-blocklists/master/hostnames.txt; https://raw.githubusercontent.com/hagezi/dns-blocklists/main/wildcard/ultimate-onlydomains.txt # reloadIntervalDays - specifies the number of days, after the filter gets updated when configured. reloadIntervalDays = 7 # live log settings (Android only) colors, text size filterLogFormat = <font color='#E53935'>($CONTENT)</font> acceptLogFormat = <font color='#43A047'>($CONTENT)</font> fwdLogFormat = <font color='#FFB300'>($CONTENT)</font> normalLogFormat = ($CONTENT) logTextSize = 14 # repeatingLogSuppressTime - time in milliseconds in which repeating logs are suppressed repeatingLogSuppressTime = 2000 # live log timestamp settings addLiveLogTimestamp = true liveLogTimeStampFormat = '<font color=''#8c8c8c''><strong>'HH:mm:ss'</strong></font>' # Text and Link for the footer bar footerLink = <font color='#ffffff'><strong><a href='https://www.zenz-solutions.de/personaldnsfilter-wp/'>WEBSITE</a> <a href='https://www.zenz-solutions.de/donations'>DONATE</a> <a href='https://www.zenz-solutions.de/personaldnsfilter-privacy/'>PRIVACY</a></strong></font> # Initial info PopUp showInitialInfoPopUp = false initialInfoPopUpTitle = Consider your rating! initialInfoPopUpText = Thanks for using our free app personalDNSfilter! Sometimes we get bad ratings due to misunderstanding. Therefore, before rating, please check our <a href='https://www.zenz-home.com/personaldnsfilter/help/faq.php'>FAQ</a></strong>, or ask our <a href='https://telegram.me/pdnsf'>Telegram group</a></strong>. # dumpDNSPerfInfo - dump DNS speed test result into live log when testing DNS speed dumpDNSPerfInfo = false # useActionMenuFallback - set this to true in case your device does not support custom action menus (e.g. Xiaomi) useActionMenuFallback = false # forceAndroidDisplayMode = none|portrait|landscape forceAndroidDisplayMode = none |
Step 2
Config filter update.
Active | Name | Url |
þ | adway | https://adaway.org/hosts.txt |
þ | pgl.yoyo.org | https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext |
þ | ad&malware | https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts |
þ | OISD ads&track | https://dbl.oisd.nl/basic/ |
þ | Goodbye Ads | https://raw.githubusercontent.com/jerryn70/GoodbyeAds/master/Hosts/GoodbyeAds.txt |
þ | No Tracking | https://raw.githubusercontent.com/notracking/hosts-blocklists/master/hostnames.txt |
þ | Ultra | https://raw.githubusercontent.com/hagezi/dns-blocklists/main/wildcard/ultimate-onlydomains.txt |
step 3
step 4
step 5
step 6