As I read the uribl.com website (
http://uribl.com/datafeed.shtml) if you want to continue using the current config (using DNS for lookups), with your pihole pointing to Google or OpenDNS, you would end up needing to register all of the DNS provider's IPs with uribl.com, and you would end up paying for all the lookups by anyone using the same service.
It may be possible to configure your pihole to send uribl.com queries directly to uribl.com name servers.
I have not tested this in production, but I have confirmed that doing this causes the test query (host -tTXT test.uribl.com.multi.uribl.com) to be forwarded directly to the multi.uribl.com name servers by watching the 'live' pihole log while doing the test using the "tail pihole.log" menu option.
If this seems to work you would need to schedule a job to update /etc/dnsmasq.d/05-pihole.conf at regular intervals in case uribl.com changes their server addresses.
Configure custom dns forwarding in pi-hole for 'multi.uribl.com'
(taken from
https://blog.jstubberfield.net/pihole-conditional-forwarding/)
On your pi-hole system, run these commands to create /etc/dnsmasq.d/05-pihole.conf and restart dns:
nslookup -type=ns multi.uribl.com |grep '=' |sed 's/.*= //' |while read a; do host -i $a |sed 's/.*address /server=\/multi.uribl.com\//'; done > /etc/dnsmasq.d/05-pihole.conf
pihole restartdns
breaking it down:
- get the name servers for multi.uribl.com
nslookup -type=ns multi.uribl.com- pull out the lines containing "=", then dump everything in front of the IP address:
| grep '=' |sed 's/.*= //' - step through the results, get the IP addresses, and massage the output into the format used by dnsmasq:
| while read a; do host -i $a |sed 's/.*address /server=\/multi.uribl.com\//'; done- send the output to /etc/dnsmasq.d/05-pihole.conf
> /etc/dnsmasq.d/05-pihole.conf- restart the pihole dns services
pihole restartdnsIn case of problems, remove the custom config file and restart dns again:
'rm' /etc/dnsmasq.d/05-pihole.conf
pihole restartdns