DD-WRT 路由器攔截廣告教程(圖文)
您當(dāng)前位置:首頁(yè) > 紅訊頻道 > 網(wǎng)絡(luò)技術(shù)
紅軟基地 推薦
2012-10-19
在這個(gè)秋風(fēng)送爽手腳冰涼的夜里我又不出意外地失眠了,拿 Pad 下棋。因 iPhone 不在身邊,狂輸不止。期間底部廣告頻彈,不時(shí)誤點(diǎn),跳到瀏覽器還要再切回。往復(fù)如是,心生厭念,磨刀霍霍向廣告。臭棋簍子多少都是這樣,拉不出屎怪茅坑歪。說(shuō)到茅坑,有一次一只熊在坑上蹲著,旁邊一只兔子。熊問(wèn)你掉毛么兔子驕傲地說(shuō)不掉熊說(shuō)我沒(méi)帶紙就拿兔子擦了屁屁。過(guò)了幾天熊又來(lái)蹲坑,旁邊一只棕色松鼠,熊又沒(méi)帶紙感嘆到最近沒(méi)看見(jiàn)兔子啊。松鼠聽(tīng)見(jiàn)了說(shuō)尼瑪我就是前幾天那只兔子!
天是越來(lái)越冷了,秋褲得穿啊。聽(tīng)說(shuō),不穿秋褲的,冬天能凍出尾巴來(lái)。到時(shí)候還要到醫(yī)院去剪掉;疼不說(shuō),還要在不知多大歲數(shù)的女護(hù)士面前脫褲子,多難為情。這都是題外話(huà),咱們書(shū)歸正傳,剪掉以后在傷口上貼個(gè)創(chuàng)可貼比較好,不然容易凍瘡。
好了,來(lái)看農(nóng)村魔幻現(xiàn)實(shí)主義的可以回欄了,下面是技術(shù)內(nèi)容了。
那為什么要用路由器擋廣告呢?別的不行么?
一說(shuō)擋廣告,有那么一小撮人,最先想到“Adblock Plus”這類(lèi)瀏覽器擴(kuò)展。方便,裝上不用管。清靜,裝上不用管。且不提還有裝不上這擴(kuò)展的 I 什么啊 O 什么啊,除了瀏覽器那可還有好幾車(chē)軟件連著網(wǎng)呢。那下載的、聊天的、輸入的、衛(wèi)士的,沒(méi)十幾個(gè)廣告那么大用戶(hù)界面上放什么?放少了都沒(méi)面子。丟人。連圖片兒,帶鏈接,那一定得用廣告,把窗口給填滿(mǎn)了。這些,多牛掰的瀏覽器擴(kuò)展都歇菜。
稍微有點(diǎn)兒錢(qián),再買(mǎi)個(gè)手機(jī),別管蘋(píng)果鴨梨的,反正能上網(wǎng)。裝幾個(gè)免費(fèi)的 App,廣告就跟貞子一樣一個(gè)勁兒從屏幕里頭往外拱,一不小心就鉆出來(lái)了。
再有點(diǎn)兒閑錢(qián),買(mǎi)個(gè)平板,別管蘋(píng)果鴨梨的,反正能上網(wǎng)。要不擋擋廣告,就跟把電梯間那塊兒大屏幕從墻上掰下來(lái),掛身上,差不多。
所以,把廣告攔截在路由器上,對(duì)各種設(shè)備上各種程序各種 App 的廣告統(tǒng)統(tǒng)管用,客觀(guān)上也減少流量增快網(wǎng)速。
手頭兒是價(jià)值一百二十塊錢(qián)的 Buffalo g300nv2,小,破,丑,舊。這路由器就一好處,刷不死。當(dāng)然如果有人愿意拿 Linksys E4200 跟我把 g300nv2 換去練手,我大概也會(huì)完全同意吧。
這個(gè)牛叉閃閃的閃光點(diǎn)有一個(gè)辛酸的來(lái)源,它其實(shí)是一個(gè)致命的安全缺陷。此路由在開(kāi)機(jī)后幾秒會(huì)毫不抵抗地接受任何數(shù)據(jù),于是碰上行家,剛通電的時(shí)候,隨便灌點(diǎn)數(shù)據(jù)進(jìn)去,就能讓它徹底癱瘓丟失所有配置,還要找正確的 firmware 再灌回來(lái)。自然和大多數(shù)領(lǐng)域一樣,不懂行的更讓人恐懼。只要不懂行的高跟鞋踩上一腳,或者澆上半杯可樂(lè),灌什么也救不回來(lái)了。
于是給它灌了 DD-WRT,下面就以 DD-WRT 為例,講講如何用路由攔截廣告。
原理自然很簡(jiǎn)單,就是把送廣告的域名都指向 127.0.0.1,然后定期自動(dòng)更新廣告域名列表。你可能想到 hosts 文件,原理是一樣的,這里用到路由器上廣泛存在的 dnsmasq 服務(wù)。SpeedTao
首要問(wèn)題是,廣告域名列表從哪里來(lái)。國(guó)外確有一些更新頻繁的廣告域名列表,可我們連自己的廣告都看不完,哪有時(shí)間看他們的。好在我們有 chinalist,尤其是 chinalist lazy,可從里面把純域名的摘出來(lái),中文為主英文兼顧還定期更新,理想列表。做成啟動(dòng)腳本定期更新就好了。
下面就是具體實(shí)現(xiàn)了,全網(wǎng)絡(luò)界面操作,不沾命令行,逃不過(guò)會(huì)稍微解釋一下:
1. 進(jìn)入 DD-WRT 網(wǎng)頁(yè)管理界面,Services(服務(wù)) -> Services(服務(wù)),DNSMasq 和 Local DNS(本地 DNS) 均設(shè)置成 Enable (啟用)。滾到頁(yè)面底部保存。SpeedTao
2. 進(jìn)入 DD-WRT 網(wǎng)頁(yè)管理界面,Administration -> Commands,貼入如下腳本后,Save Startup:
#!/bin/sh
logger WAN up script executing
if test -s /tmp/dnsmasq.ads
then
rm /tmp/dnsmasq.ads
fi
logger Downloading China Lazy List
wget -O - http://adblock-chinalist.googlecode.com/svn/trunk/adblock-lazy.txt |
grep ^||[^*]*^$ |
sed -e 's:||:address=/:' -e 's:^:/127.0.0.1:' > /tmp/dnsmasq.ads
grep conf-file /tmp/dnsmasq.conf ||
echo -e "nconf-file=/tmp/dnsmasq.ads" >> /tmp/dnsmasq.conf
logger Restarting dnsmasq
killall dnsmasq
dnsmasq --conf-file=/tmp/dnsmasq.conf
3. 上面其實(shí)是做了一個(gè)啟動(dòng)腳本,在路由器每次啟動(dòng)時(shí)運(yùn)行。意思是,下載 China List Lazy,轉(zhuǎn)換生成 dnsmasq 配置文件,再告知 dnsmasq 調(diào)用。SpeedTao 最高.
4.進(jìn)入 DD-WRT 網(wǎng)頁(yè)管理界面,Administration -> Management, 找到 cron,enable, 然后在下面”Additional Cron Jobs”貼入
* 1 * * * root /tmp/.rc_startup
頁(yè)面滾到底,保存,重啟路由器。成功?汕蹇諡g覽器緩存后訪(fǎng)問(wèn)幾個(gè)大網(wǎng)站看看,雖然效果沒(méi)有 Adblock Plus 徹底,但也相當(dāng)明顯的。何況,可以打開(kāi) Adblock Plus 攔截漏網(wǎng)之魚(yú)么。
來(lái)源:Truth Telling