Redirect url to another. CNAME?
Moderator: Moderators
Redirect url to another. CNAME?
Hi Guys,
I have a complex setup at home that I am trying to make even more complex! I am running Gargoyle 1.5.10 on a TP-LINK WDR4300
I am in Australia and use getflix as geo-block avoidance measure. To do this requires changing the DNS servers to use getflix's. However, as part of my child friendly home network I use openDNS parental controls. Using the info from here: https://getflix.zendesk.com/hc/en-gb/ar ... c-domains- I have successfully implemented the geoblocking and opendns filtering together by adding dnsmasq entries in /etc/config/dhcp. So great!
Now I want to expand that further by forceing google safe search by using option 3 from here: https://support.google.com/websearch/an ... 6669?hl=en
However, I don't know whether that is possible and I don't really know what I am doing! I have tried adding the following to dhcp:
config 'cname'
option cname 'www.google.com'
option target 'forcesafesearch.google.com'
However, that is not working. So is it possible to selectively redirect a URL with Gargoyle? Can I do it with the hosts file?
Thanks!
I have a complex setup at home that I am trying to make even more complex! I am running Gargoyle 1.5.10 on a TP-LINK WDR4300
I am in Australia and use getflix as geo-block avoidance measure. To do this requires changing the DNS servers to use getflix's. However, as part of my child friendly home network I use openDNS parental controls. Using the info from here: https://getflix.zendesk.com/hc/en-gb/ar ... c-domains- I have successfully implemented the geoblocking and opendns filtering together by adding dnsmasq entries in /etc/config/dhcp. So great!
Now I want to expand that further by forceing google safe search by using option 3 from here: https://support.google.com/websearch/an ... 6669?hl=en
However, I don't know whether that is possible and I don't really know what I am doing! I have tried adding the following to dhcp:
config 'cname'
option cname 'www.google.com'
option target 'forcesafesearch.google.com'
However, that is not working. So is it possible to selectively redirect a URL with Gargoyle? Can I do it with the hosts file?
Thanks!
Re: Redirect url to another. CNAME?
Yes I have added a new hosts file with all the google domains redirecting to forcesafesearch.google.com and then added a line to the dhcp config file under dnsmasq of "list addnhosts '/etc/redirect.google' and that seems to be working.
Hope someone finds this useful in the future!
Just note that if you are in the US then it might break some things because stuff that hangs off google.com like "www.google.com/calendar" will no longer work. I have asked a question on the google forum but no reply as yet. Since I am in Australia I took that redirect off so I don't have the issue and since google redirects my www.google.com to www.google.com.au which I then redirect to forcesafesearch.google.com it works!
Hope someone finds this useful in the future!
Just note that if you are in the US then it might break some things because stuff that hangs off google.com like "www.google.com/calendar" will no longer work. I have asked a question on the google forum but no reply as yet. Since I am in Australia I took that redirect off so I don't have the issue and since google redirects my www.google.com to www.google.com.au which I then redirect to forcesafesearch.google.com it works!
-
- Posts: 16
- Joined: Thu Oct 31, 2013 10:35 am
Re: Redirect url to another. CNAME?
Thanks!
I followed your lead and it works for me.
I am based in Canada so my local google search domain is google.ca
As you noted, being in a different country domain actually makes it possible to not break desktop calendar or anything else other than search that uses http://www.google.com
I've written up a mini guide below to help others with the same configuration. If it's decent, we should add it to the documentation maybe in a new section about parental controls. It would be nice if the FamilyShield OpenDNS servers were one of the pulldown options
Forcing Google SafeSearch
Skill Level: Intermediate
If something is messed up and you want to back out:
If there are any questions/comments/clarifications, post to this thread and we can fix the post.
ETA: an easier dynamic method of creating the redirect.google file in step 2 above
ETA2: I had a bug in the grep -v meant to remove .google.com that wasn't limited to .com only but ending the regular expression with an end of string $ fixes it.
ETA3: Noticed that Google doesn't list *some* of their country domains and added a quick dirty way to get them covered althought it does add some domains that don't exist
I followed your lead and it works for me.
I am based in Canada so my local google search domain is google.ca
As you noted, being in a different country domain actually makes it possible to not break desktop calendar or anything else other than search that uses http://www.google.com
I've written up a mini guide below to help others with the same configuration. If it's decent, we should add it to the documentation maybe in a new section about parental controls. It would be nice if the FamilyShield OpenDNS servers were one of the pulldown options

Forcing Google SafeSearch
Skill Level: Intermediate
- ssh/telnet into your gargoyle router and navigate to the /etc directory
Choose one of the following two methods to create the redirect hosts file:
Code: Select all
cd /etc
Easy Method:
(Requires that your Gargoyle Router has internet access. Looks up the Virtrual IP address of forcesafesearch.google.com and finds the list of google country domains dynamically.)
Use the following command on the router:Then we need to modify some of the domains that google uses that have ".co.<country>" or ".com.<country>" but for some reason does not include them in their domain list and we'll append these domains to the hosts redirect file as well:Code: Select all
wget -O - http://www.google.com/supported_domains | grep -v google.com$ | awk -v vip=`nslookup forcesafesearch.google.com 127.0.0.1 | awk '{print $3}' | tail -1` '{print vip" www"$0}' > redirect.google
Copy-Paste method:Code: Select all
egrep ".co\.|.com" /etc/redirect.google | sed -e 's/co\.//' -e 's/com\.//' >> redirect.google
Create a file called redirect.google containing the following text
(N.B.: how to create files at the bash prompt: http://www.cyberciti.biz/faq/create-fil ... from-bash/):NOTE:The ip address is the SafeSearch VIP for forcesafesearch.google.com and the list of urls comes from https://www.google.com/supported_domainsCode: Select all
# Redirect www.google.ca and country domains to forcesafesearch.google.com 216.239.38.120 www.google.ad 216.239.38.120 www.google.ae 216.239.38.120 www.google.com.af 216.239.38.120 www.google.com.ag 216.239.38.120 www.google.com.ai 216.239.38.120 www.google.al 216.239.38.120 www.google.am 216.239.38.120 www.google.co.ao 216.239.38.120 www.google.com.ar 216.239.38.120 www.google.as 216.239.38.120 www.google.at 216.239.38.120 www.google.com.au 216.239.38.120 www.google.az 216.239.38.120 www.google.ba 216.239.38.120 www.google.com.bd 216.239.38.120 www.google.be 216.239.38.120 www.google.bf 216.239.38.120 www.google.bg 216.239.38.120 www.google.com.bh 216.239.38.120 www.google.bi 216.239.38.120 www.google.bj 216.239.38.120 www.google.com.bn 216.239.38.120 www.google.com.bo 216.239.38.120 www.google.com.br 216.239.38.120 www.google.bs 216.239.38.120 www.google.bt 216.239.38.120 www.google.co.bw 216.239.38.120 www.google.by 216.239.38.120 www.google.com.bz 216.239.38.120 www.google.ca 216.239.38.120 www.google.cd 216.239.38.120 www.google.cf 216.239.38.120 www.google.cg 216.239.38.120 www.google.ch 216.239.38.120 www.google.ci 216.239.38.120 www.google.co.ck 216.239.38.120 www.google.cl 216.239.38.120 www.google.cm 216.239.38.120 www.google.cn 216.239.38.120 www.google.com.co 216.239.38.120 www.google.co.cr 216.239.38.120 www.google.com.cu 216.239.38.120 www.google.cv 216.239.38.120 www.google.com.cy 216.239.38.120 www.google.cz 216.239.38.120 www.google.de 216.239.38.120 www.google.dj 216.239.38.120 www.google.dk 216.239.38.120 www.google.dm 216.239.38.120 www.google.com.do 216.239.38.120 www.google.dz 216.239.38.120 www.google.com.ec 216.239.38.120 www.google.ee 216.239.38.120 www.google.com.eg 216.239.38.120 www.google.es 216.239.38.120 www.google.com.et 216.239.38.120 www.google.fi 216.239.38.120 www.google.com.fj 216.239.38.120 www.google.fm 216.239.38.120 www.google.fr 216.239.38.120 www.google.ga 216.239.38.120 www.google.ge 216.239.38.120 www.google.gg 216.239.38.120 www.google.com.gh 216.239.38.120 www.google.com.gi 216.239.38.120 www.google.gl 216.239.38.120 www.google.gm 216.239.38.120 www.google.gp 216.239.38.120 www.google.gr 216.239.38.120 www.google.com.gt 216.239.38.120 www.google.gy 216.239.38.120 www.google.com.hk 216.239.38.120 www.google.hn 216.239.38.120 www.google.hr 216.239.38.120 www.google.ht 216.239.38.120 www.google.hu 216.239.38.120 www.google.co.id 216.239.38.120 www.google.ie 216.239.38.120 www.google.co.il 216.239.38.120 www.google.im 216.239.38.120 www.google.co.in 216.239.38.120 www.google.iq 216.239.38.120 www.google.is 216.239.38.120 www.google.it 216.239.38.120 www.google.je 216.239.38.120 www.google.com.jm 216.239.38.120 www.google.jo 216.239.38.120 www.google.co.jp 216.239.38.120 www.google.co.ke 216.239.38.120 www.google.com.kh 216.239.38.120 www.google.ki 216.239.38.120 www.google.kg 216.239.38.120 www.google.co.kr 216.239.38.120 www.google.com.kw 216.239.38.120 www.google.kz 216.239.38.120 www.google.la 216.239.38.120 www.google.com.lb 216.239.38.120 www.google.li 216.239.38.120 www.google.lk 216.239.38.120 www.google.co.ls 216.239.38.120 www.google.lt 216.239.38.120 www.google.lu 216.239.38.120 www.google.lv 216.239.38.120 www.google.com.ly 216.239.38.120 www.google.co.ma 216.239.38.120 www.google.md 216.239.38.120 www.google.me 216.239.38.120 www.google.mg 216.239.38.120 www.google.mk 216.239.38.120 www.google.ml 216.239.38.120 www.google.com.mm 216.239.38.120 www.google.mn 216.239.38.120 www.google.ms 216.239.38.120 www.google.com.mt 216.239.38.120 www.google.mu 216.239.38.120 www.google.mv 216.239.38.120 www.google.mw 216.239.38.120 www.google.com.mx 216.239.38.120 www.google.com.my 216.239.38.120 www.google.co.mz 216.239.38.120 www.google.com.na 216.239.38.120 www.google.com.nf 216.239.38.120 www.google.com.ng 216.239.38.120 www.google.com.ni 216.239.38.120 www.google.ne 216.239.38.120 www.google.nl 216.239.38.120 www.google.no 216.239.38.120 www.google.com.np 216.239.38.120 www.google.nr 216.239.38.120 www.google.nu 216.239.38.120 www.google.co.nz 216.239.38.120 www.google.com.om 216.239.38.120 www.google.com.pa 216.239.38.120 www.google.com.pe 216.239.38.120 www.google.com.pg 216.239.38.120 www.google.com.ph 216.239.38.120 www.google.com.pk 216.239.38.120 www.google.pl 216.239.38.120 www.google.pn 216.239.38.120 www.google.com.pr 216.239.38.120 www.google.ps 216.239.38.120 www.google.pt 216.239.38.120 www.google.com.py 216.239.38.120 www.google.com.qa 216.239.38.120 www.google.ro 216.239.38.120 www.google.ru 216.239.38.120 www.google.rw 216.239.38.120 www.google.com.sa 216.239.38.120 www.google.com.sb 216.239.38.120 www.google.sc 216.239.38.120 www.google.se 216.239.38.120 www.google.com.sg 216.239.38.120 www.google.sh 216.239.38.120 www.google.si 216.239.38.120 www.google.sk 216.239.38.120 www.google.com.sl 216.239.38.120 www.google.sn 216.239.38.120 www.google.so 216.239.38.120 www.google.sm 216.239.38.120 www.google.sr 216.239.38.120 www.google.st 216.239.38.120 www.google.com.sv 216.239.38.120 www.google.td 216.239.38.120 www.google.tg 216.239.38.120 www.google.co.th 216.239.38.120 www.google.com.tj 216.239.38.120 www.google.tk 216.239.38.120 www.google.tl 216.239.38.120 www.google.tm 216.239.38.120 www.google.tn 216.239.38.120 www.google.to 216.239.38.120 www.google.com.tr 216.239.38.120 www.google.tt 216.239.38.120 www.google.com.tw 216.239.38.120 www.google.co.tz 216.239.38.120 www.google.com.ua 216.239.38.120 www.google.co.ug 216.239.38.120 www.google.co.uk 216.239.38.120 www.google.com.uy 216.239.38.120 www.google.co.uz 216.239.38.120 www.google.com.vc 216.239.38.120 www.google.co.ve 216.239.38.120 www.google.vg 216.239.38.120 www.google.co.vi 216.239.38.120 www.google.com.vn 216.239.38.120 www.google.vu 216.239.38.120 www.google.ws 216.239.38.120 www.google.rs 216.239.38.120 www.google.co.za 216.239.38.120 www.google.co.zm 216.239.38.120 www.google.co.zw 216.239.38.120 www.google.cat 216.239.38.120 www.google.af 216.239.38.120 www.google.ag 216.239.38.120 www.google.ai 216.239.38.120 www.google.ao 216.239.38.120 www.google.ar 216.239.38.120 www.google.au 216.239.38.120 www.google.bd 216.239.38.120 www.google.bh 216.239.38.120 www.google.bn 216.239.38.120 www.google.bo 216.239.38.120 www.google.br 216.239.38.120 www.google.bw 216.239.38.120 www.google.bz 216.239.38.120 www.google.ck 216.239.38.120 www.google.co 216.239.38.120 www.google.cr 216.239.38.120 www.google.cu 216.239.38.120 www.google.cy 216.239.38.120 www.google.do 216.239.38.120 www.google.ec 216.239.38.120 www.google.eg 216.239.38.120 www.google.et 216.239.38.120 www.google.fj 216.239.38.120 www.google.gh 216.239.38.120 www.google.gi 216.239.38.120 www.google.gt 216.239.38.120 www.google.hk 216.239.38.120 www.google.id 216.239.38.120 www.google.il 216.239.38.120 www.google.in 216.239.38.120 www.google.jm 216.239.38.120 www.google.jp 216.239.38.120 www.google.ke 216.239.38.120 www.google.kh 216.239.38.120 www.google.kr 216.239.38.120 www.google.kw 216.239.38.120 www.google.lb 216.239.38.120 www.google.ls 216.239.38.120 www.google.ly 216.239.38.120 www.google.ma 216.239.38.120 www.google.mm 216.239.38.120 www.google.mt 216.239.38.120 www.google.mx 216.239.38.120 www.google.my 216.239.38.120 www.google.mz 216.239.38.120 www.google.na 216.239.38.120 www.google.nf 216.239.38.120 www.google.ng 216.239.38.120 www.google.ni 216.239.38.120 www.google.np 216.239.38.120 www.google.nz 216.239.38.120 www.google.om 216.239.38.120 www.google.pa 216.239.38.120 www.google.pe 216.239.38.120 www.google.pg 216.239.38.120 www.google.ph 216.239.38.120 www.google.pk 216.239.38.120 www.google.pr 216.239.38.120 www.google.py 216.239.38.120 www.google.qa 216.239.38.120 www.google.sa 216.239.38.120 www.google.sb 216.239.38.120 www.google.sg 216.239.38.120 www.google.sl 216.239.38.120 www.google.sv 216.239.38.120 www.google.th 216.239.38.120 www.google.tj 216.239.38.120 www.google.tr 216.239.38.120 www.google.tw 216.239.38.120 www.google.tz 216.239.38.120 www.google.ua 216.239.38.120 www.google.ug 216.239.38.120 www.google.uk 216.239.38.120 www.google.uy 216.239.38.120 www.google.uz 216.239.38.120 www.google.vc 216.239.38.120 www.google.ve 216.239.38.120 www.google.vi 216.239.38.120 www.google.vn 216.239.38.120 www.google.za 216.239.38.120 www.google.zm 216.239.38.120 www.google.zw
- Make a copy of the dhcp config file before altering it just in case
Edit /etc/config/dhcp and in the
Code: Select all
cp /etc/config/dhcp /root/dhcp.orig
"config dnsmasq" section addso that the file we created above is used by the router's dns server.Code: Select all
cd /etc/config sed -i 's#config dnsmasq#config dnsmasq\n list addnhosts '/etc/redirect.google' \# added#' dhcp
- Reboot your gargoyle router
- Test: surf to http://www.google.ca and you should see a banner with the following text:
Further more, all Top Level Domains URLs added should show the same banner (e.g. http://www.google.gmYour network has turned on SafeSearch to filter explicit content. More info Dismiss
If something is messed up and you want to back out:
- copy your backup dhcp config file over the one you've modified.
Code: Select all
cp /root/dhcp.orig /etc/config/dhcp
- Reboot the router
If there are any questions/comments/clarifications, post to this thread and we can fix the post.
ETA: an easier dynamic method of creating the redirect.google file in step 2 above
ETA2: I had a bug in the grep -v meant to remove .google.com that wasn't limited to .com only but ending the regular expression with an end of string $ fixes it.
ETA3: Noticed that Google doesn't list *some* of their country domains and added a quick dirty way to get them covered althought it does add some domains that don't exist

Last edited by tehpensfan on Thu Aug 27, 2015 12:51 pm, edited 4 times in total.
-
1 x WRT54GL v1.1 Gargoyle 1.5.6
1 x TL-WR740N v4.23 Gargoyle 1.6.2
1 x TL-WR740N v4.26 Gargoyle 1.5.11
1 x TL-WR740N v4.26 Gargoyle 1.8.1
1 x TL-WDR3600 v1.3 Gargoyle 1.5.11
1 x WRT54GL v1.1 Gargoyle 1.5.6
1 x TL-WR740N v4.23 Gargoyle 1.6.2
1 x TL-WR740N v4.26 Gargoyle 1.5.11
1 x TL-WR740N v4.26 Gargoyle 1.8.1
1 x TL-WDR3600 v1.3 Gargoyle 1.5.11
Re: Redirect url to another. CNAME?
Great post!
Looks like an excellent basis for a plugin! Lantis?
Also, looks like a great Common Scenario
http://www.gargoyle-router.com/wiki/dok ... _scenarios
However, all of the current common scenarios are limited to configuration via the Gargoyle interface - so this one is a little more "involved".
tehpensfan would you like to create a new scenario-familysafe or shall I have a crack at it?

Looks like an excellent basis for a plugin! Lantis?
Also, looks like a great Common Scenario
http://www.gargoyle-router.com/wiki/dok ... _scenarios
However, all of the current common scenarios are limited to configuration via the Gargoyle interface - so this one is a little more "involved".
tehpensfan would you like to create a new scenario-familysafe or shall I have a crack at it?
Can you help someone else get Gargoyle up and running?
TL-WDR3600 : Gargoyle 1.9.0 : NBN FixedWireless
TL-WR1043ND-V2 : Gargoyle 1.8.0 : 3G Huawei E160E
TL-WDR3600 : Gargoyle 1.9.0 : NBN FixedWireless
TL-WR1043ND-V2 : Gargoyle 1.8.0 : 3G Huawei E160E
-
- Posts: 16
- Joined: Thu Oct 31, 2013 10:35 am
Re: Redirect url to another. CNAME?
I'd be willing to give it a shot.nworbnhoj wrote:Great post!![]()
Looks like an excellent basis for a plugin! Lantis?
Also, looks like a great Common Scenario
http://www.gargoyle-router.com/wiki/dok ... _scenarios
However, all of the current common scenarios are limited to configuration via the Gargoyle interface - so this one is a little more "involved".
tehpensfan would you like to create a new scenario-familysafe or shall I have a crack at it?
I think there is a way to make it even easier to set up that might be able to be set up as a cron job.
-
1 x WRT54GL v1.1 Gargoyle 1.5.6
1 x TL-WR740N v4.23 Gargoyle 1.6.2
1 x TL-WR740N v4.26 Gargoyle 1.5.11
1 x TL-WR740N v4.26 Gargoyle 1.8.1
1 x TL-WDR3600 v1.3 Gargoyle 1.5.11
1 x WRT54GL v1.1 Gargoyle 1.5.6
1 x TL-WR740N v4.23 Gargoyle 1.6.2
1 x TL-WR740N v4.26 Gargoyle 1.5.11
1 x TL-WR740N v4.26 Gargoyle 1.8.1
1 x TL-WDR3600 v1.3 Gargoyle 1.5.11
Re: Redirect url to another. CNAME?
Sure. I could make this into a simple 1 click install scripts. I agree that it should be run as a CRON job to ensure the ip of forcesafesearch is always current. I wouldn't necessarily implement it as a plugin until there was a workaround for the calendar and other issues as discussed.
Also I believe you can save space in your hosts file by removing "www." For each entry.
But this is a great post by the way
good info.
Also I believe you can save space in your hosts file by removing "www." For each entry.
But this is a great post by the way

https://lantisproject.com/downloads/gargoylebuilds for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.
Please be respectful when posting. I do this in my free time on a volunteer basis.
-
- Posts: 16
- Joined: Thu Oct 31, 2013 10:35 am
Re: Redirect url to another. CNAME?
Thanks.Lantis wrote:Sure. I could make this into a simple 1 click install scripts. I agree that it should be run as a CRON job to ensure the ip of forcesafesearch is always current. I wouldn't necessarily implement it as a plugin until there was a workaround for the calendar and other issues as discussed.
Also I believe you can save space in your hosts file by removing "www." For each entry.
But this is a great post by the waygood info.
I tried with and without "www" in the host entries but I was only able to get it to work with.
-
1 x WRT54GL v1.1 Gargoyle 1.5.6
1 x TL-WR740N v4.23 Gargoyle 1.6.2
1 x TL-WR740N v4.26 Gargoyle 1.5.11
1 x TL-WR740N v4.26 Gargoyle 1.8.1
1 x TL-WDR3600 v1.3 Gargoyle 1.5.11
1 x WRT54GL v1.1 Gargoyle 1.5.6
1 x TL-WR740N v4.23 Gargoyle 1.6.2
1 x TL-WR740N v4.26 Gargoyle 1.5.11
1 x TL-WR740N v4.26 Gargoyle 1.8.1
1 x TL-WDR3600 v1.3 Gargoyle 1.5.11
-
- Posts: 1
- Joined: Tue Oct 20, 2015 1:22 pm
Re: Redirect url to another. CNAME?
Just installed gargoyle on my new router, and its splendid.
I used the tip here slightly modified. since I have development web-server that I would like to visit with my phone, not possible before.
to /etc/redirect.local I have added
and added
to /etc/config/dhcp
and now I am access by the hostname from all my devices
so thanks for the tip tehpensfan!
I used the tip here slightly modified. since I have development web-server that I would like to visit with my phone, not possible before.
to /etc/redirect.local I have added
Code: Select all
IP virtual-host-name1
IP virtual-host-name2
IP virtual-host-name3
IP virtual-host-name4
Code: Select all
list addnhosts /etc/redirect.local # added#config dnsmasq\n list addnhosts '/et
and now I am access by the hostname from all my devices

so thanks for the tip tehpensfan!
Re: Redirect url to another. CNAME?
Hi all,
This was working fine on 1.9.0 but doesn't seem to be working on 1.9.1.
Do I need to make any changes?
I had the following line in dhcp:
list addnhosts '/etc/redirect.local' \# added#' dhcp
And the file redirect.local contained:
192.168.1.1 airtel4grouter.cpe
This was working fine on 1.9.0 but doesn't seem to be working on 1.9.1.
Do I need to make any changes?
I had the following line in dhcp:
list addnhosts '/etc/redirect.local' \# added#' dhcp
And the file redirect.local contained:
192.168.1.1 airtel4grouter.cpe
Re: Redirect url to another. CNAME?
FYI
This method did seem to stop working somewhere around 1.9, and for sure did not work on my 1.10 after update. However, There is a page explaining an alternate method on OPENWRT that does work with 1.10 properly.
https://www.leowkahman.com/2017/09/11/e ... tube-bing/
This method did seem to stop working somewhere around 1.9, and for sure did not work on my 1.10 after update. However, There is a page explaining an alternate method on OPENWRT that does work with 1.10 properly.
https://www.leowkahman.com/2017/09/11/e ... tube-bing/