AdBlock na Mikrotiku

Kategorie: Úvod
AdBlock na Mikrotiku

Blokování reklam přímo na routeru se systémem Mikrotik RouterOS.

O aplikování AdBlocku již na routeru (namísto koncového přístroje) jsem již jednou psal - AdBlock již na routeru, šlo ale o rozšíření operačního systému OpenWRT. Tentokrát se jedná o blokování reklam na routeru od výrobce Mikrotik.

Existují dvě verze tohoto AdBlocku, které se liší počtem položek v blacklistu - blokovaný domén. Ta klasická verze vyžaduje router s alespoň 128 MB operační paměti (RAM). Druhá verze - Lite - si vystačí se zařízením které má alespoň 64 MB operační paměti.

Princip je velice jednoduchý, router Mikrotik funguje v lokální síti jako váš vlastní DNS server a reklamní weby nahrazuje místo skutečné adresy localhostem (IP adresou 127.0.0.1) čímž místo stažení reklamy nebo různých trackovacích prvků se nestáhne nic a dojde k rychlejšímu vykreslení webových stránek bez reklamních prvků.

Instalace

Po přihlášení do routeru přes aplikaci Winbox stačí spustit terminál (New Terminal v levém menu) a vložit následující kód:

​/system script
 add name=adblock policy=\
 ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":\
 log warning \"starting adblock update\";\r\
 \n\
 \n\
 \n:delay 20;\r\
 \n\
 \n\
 \n:log warning \"downloading adblock\";\r\
 \n\
 \n\
 \n\
 \n\
 \n:local hostScriptUrl \"https://micu.eu/adblock/adblock.php\";\
 \n\
 \n\
 \n\
 \n\r\
 \n:local scriptName \"adblock\";\
 \n\
 \n\
 \n\
 \n\r\
 \ndo {\
 \n\
 \n /tool fetch mode=http url=\$hostScriptUrl dst-path=(\"./\".\$scriptName\
 );\
 \n\
 \n\r\
 \n:delay 20;\
 \n\
 \n\r\
 \n:if ([:len [/file find name=\$scriptName]] > 0) do={\r\
 \n\
 \n\
 \n :log warning \"removing old adblock list\";\
 \n\
 \n\r\
 \n /ip dns static remove [/ip dns static find address=127.0.0.1];\
 \n\
 \n\r\
 \n :log warning \"importing new adblock list\";\r\
 \n\
 \n\
 \n /import file-name=\$scriptName;\r\
 \n\
 \n\
 \n /file remove \$scriptName;\r\
 \n\
 \n\
 \n :log warning \"adblock list imported\";\r\
 \n\
 \n\
 \n } else={\
 \n\
 \n \r\
 \n:log warning \"adblock list not downloaded, script stopped\";\r\
 \n\
 \n\
 \n }\r\
 \n\
 \n\
 \n} on-error={\
 \n\
 \n \r\
 \n:log warning \"adblock list download FAILED\";\
 \n\
 \n\r\
 \n};"
 /system scheduler
 add interval=1d name=adblock on-event=adblock policy=\
 ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \
 start-time=startup
 add name=adblock_startup on-event=\
 ":delay 30;\r\
 \n/system script run adblock" policy=\
 ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \
 start-time=startup​

Pokud potřebujete Lite verzi, stačí nahradit URL adresu ve skriptu https://micu.eu/adblock/adblock.php za https://micu.eu/adblock/adblock_lite.php.

Uvedenými příkazy viz výše došlo k:

  • vytvoření skriptu s názvem adblock (System => Scripts)
  • vytvoření dvou spouštěčů, které zajišťují pravidelnou synchronizaci seznamu blokovaných stránek - 30s po startu routeru a jednou denně (System => Scheduler)

Nyní stačí již před DHCP server distribuovat jako DNS server IP adresu Mikrotiku čímž se začnou blokovat reklamy.

Sdílet

Komentáře

postPřidat komentář
odpovědět
Nefunguje to.
Tesy
Díky za upozornění, ve článku upraveno - změnili URL z https://www.micu.eu/adblock/adblock_lite.php na https://micu.eu/adblock/adblock_lite.php