Jak odstranit reklamy s Pixelserv na DD-WRT
Existuje mnoho způsobů, jak zablokovat reklamy ve vašem prohlížeči, ale co kdybyste je mohli zablokovat na routeru? Zde je návod, jak používat firmware DD-WRT a záměrné "otravy DNS", abyste blokovali reklamy pro každé zařízení ve vaší síti.
Přehled
Aktualizace: Průvodce je aktualizován tak, aby odrážel zpětnou vazbu poskytovanou kometáři a aktualizoval balíček anti-reklam s novějším spustitelným serverem pixel-server a changelog.
První otázkou o mysli všech lidí je právě teď "proč byste neměli používat pouze reklamní bloky?"
Pro mnoho lidí to prostě není důvod, zejména díky nové schopnosti chromeu replikovat rozšíření, které používáte, na každý počítač, na kterém běžíte chrome.
Odpověď leží někde mezi redukovanou režií, že nemusíte učit všechny uživatele ve vaší síti o reklamní bloku (mluvím s vámi, mamou, sisou, babičkou a kancelářskou sekretářkou) a pohodlí, že se s ní nebudete obtěžovat každý počítač, který nastavíte. Předpokládá se, že v síti budou některé počítače, na které nebudete konfigurovat své osobní prostředí (například "jádrové servery" nebo VM).
Poznámka: I když používám metodu níže na domovském směrovači, shledal jsem, že ad-block je vynikajícím přírůstkem a doporučuji použít obě metody ve spojení. i když nemáte směrovač DD-WRT s použitím bloku ad-block, je dostatečně dost. Ve skutečnosti se mi program líbí tak hodně, daroval jsem je vývojáři a já ho povzbuzuji k tomu, aby to byl vývoj.
Jak to funguje?
V podstatě to funguje tím, že úmyslně otravíme náš DNS, abychom vrátili konkrétní IP adresu pro domény v neschváleném seznamu. Tento neschválený seznam bude obsahovat názvy domén stránek, které jsou zodpovědné výlučně za poskytování reklamního obsahu, a proto jim nebudeme chybět.
Na routeru nastavíme sekundární server HTTP, který bude sloužit jako transparentní pixelový obrázek jako odpověď na žádost o adresu URL. Ve spojení s nesprávným vyřešením DNS to způsobí, že klienti sítě požádají o obsah z interního pixelového serveru a v odpovědi získají prázdný obrázek.
Chcete-li vygenerovat neschválený seznam, vytvoříme jeden osobní seznam ve spojení se dvěma dynamicky staženými seznamy. dynamické seznamy jsou hostitelský soubor MVPS a seznam domén Yoyo společně obsahují velmi rozsáhlý seznam reklamních webů. Využíváním těchto seznamů zůstává odpovědnost pouze s přidáním delty webů, které ještě nejsou v jednom z nich, v našem osobním seznamu.
Také nastavíme "whitelist" pro domény, které nechceme z jakéhokoli důvodu zablokovat.
Předpoklady a předpoklady
- Trpělivost mladá, to je dlouhé čtení.
- Tento postup byl vytvořen a testován na DD-WRT (v24pre-sp2 10/12/10 mini r15437), jako takové byste měli tuto verzi nebo později nainstalovat na routeru, abyste ji mohli používat. Více informací je na webu DD-WRT.
- Pro usnadnění vysvětlení se předpokládá, že směrovač byl obnoven na "tovární výchozí hodnoty" nebo že použité nastavení se od té doby nezměnilo od předem nastavených.
- Klientský počítač používá směrovač jako server DNS (je to výchozí).
- Prostor pro JFFS (v případě pochybností doporučuji použít mini verze DD-WRT).
- Předpokládá se, že vaše síť je * již nastavena a že je to třída C (která má podsíť 255.255.255.0) jako poslední IP v této síti třídy C (x.y.z.254) Bude přiděleno pro program pixel-server.
- Ochota nainstalovat winSCP.
* Skript nebude schopen upravit seznam bloků po prvním spuštění až do dalšího obnovovacího cyklu (3 dny).
Kredity
Aktualizace: Zvláštní díky "mstombs" pro skvělý kus kódu C bez jeho práce to všechno nebude možné, "Oki" pro sestavení verze kompatibilní s Atheros a citovat ;-) a "Nate" za pomoc s QA-ing.
Zatímco bylo mnoho práce na dokončení tohoto postupu na mém konci, inspirace pro to byla zapálena chlapci na fóru DD-WRT a některé ze základů této příručky lze nalézt na "ad-blokování s DD- WRT vrátil (jednoduchý) "," pixelserv bez Perl, bez jffs / cifs / usb free "a" Flexion.Org Wiki na DNSmasq ", stejně jako další.
Nechte se rozbít
Povolit SSH pro přístup SCP
Tím, že povolíme službu SSH, umožníme se připojit k routeru pomocí protokolu SCP. s tím, že můžeme použít program winSCP pro vizuální navigaci ve struktuře složek směrovače (jak uvidíme později).
Chcete-li to provést pomocí webGUI, přejděte na kartu "Služby". Najděte sekci Secure shell a klikněte na přepínač "Enable" pro nastavení SSHd.
Jakmile to bude hotovo, webGUI by měl vypadat níže a můžete kliknout na tlačítko "Uložit" (ne ještě platí).
Povolit JFFS
Aby toto nastavení bylo možné stabilní, reprodukovatelné a * být "dobrým občanem internetu", použijeme JFFS k ukládání co nejvíce konfigurací. Existují další způsoby, jak to provést bez povolení funkce JFFS, pokud nemůžete z důvodu omezení prostoru, ale nejsou zde zahrnuty.
* další metody mají váš směrovač stahovat spustitelný a dynamický seznam obrazových serverů při každém spuštění skriptu. protože to způsobuje napětí na serverech, které obsahují seznamy a spustitelné soubory, a to někomu stojí peníze, tato metoda se snaží vyhnout, pokud je to možné.
Pokud ještě nevíte, co je JFFS, mělo by toto vysvětlení převzato ze záznamu wiki DD-WRT o JFFS vyřešit:
Záložní souborový systém Journaling (JFFS) umožňuje mít zapisovatelný souborový systém Linux na routeru se službou DD-WRT. Používá se k ukládání uživatelských programů jako Ipkg a dat do jinak nepřístupné flash paměti. Umožňuje vám ukládat vlastní konfigurační soubory, hostovat vlastní webové stránky uložené v routeru a mnoho dalších věcí, které nejsou bez JFFS.
Chcete-li povolit službu JFFS ve směrovači, přejděte na kartu Správa a vyhledejte sekci JFFS. níže uvedený obrázek ukazuje, kde naleznete tuto sekci v záložce "Správa".
V části Podpora JFFS2 klikněte na přepínače "Povolit" pro nastavení "JFFS2" a (pokud se objeví) nastavení "Vyčistit JFFS2". Po zvolení klikněte na "Uložit".
Po uložení nastavení stále na kartě "Správa" restartujte směrovač pomocí tlačítka "Reboot Router". Toto nastavení použije a provede požadovaný "formát" oddílu "JFFS".
Když se webGUI vrátí z restartu na kartu "Správa", počkejte dalších půl minuty a obnovte stránku.
Pokud bude úspěšný, měli byste vidět, že váš držák JFFS má nějaký volný prostor jako na obrázku.
Nastavení serveru pixelů
Stahujte a extrahujte balíček antireklamu pro dd-wrt zip archiv, který obsahuje spustitelný soubor typu pixel-server (nepřijímáme kredity, vyhýbáme se pouze "horkému propojení"), skript blokování reklam (napsaný vaším opravdovým) seznam domén vytvořený společností "Mithridates Vii Eupator" a já.
Je čas dostat soubory do držáku JFFS na směrovači. k tomu nainstalujte winSCP (je to typ "next -> next -> finish") a otevřete jej.
V hlavním okně vyplňte následující informace:
Název hostitele: adresa IP routeru (výchozí hodnota je 192.168.1.1)
Číslo přístavu: ponechte beze změny ve 22
Uživatelské jméno: vykořenit (i když jste změnili uživatelské jméno pro webGUI, uživatel SSH bude vždy * root *).
Soubor soukromého klíče: ponechte prázdné (je to nutné pouze při vytváření autentizace založené na páru klíčů, které nemáme)
Protokol souboru: SCP
Také je potřeba zakázat "Vyhledávací skupinu uživatelů", jak je uvedeno níže (díky mstombs pro to upozornění), protože winSCP očekává úplný foukaný Linux na druhé straně, kterou vývojáři DD-WRT, navzdory všem vynikající práci, nebyli schopni poskytnout (hlavně proto, že prostě není dostatek místa). Pokud necháte toto zaškrtnuto, narazíte na strašné zprávy, když připojíte a uložíte upravené soubory.
Vyberte položku Advance a zrušte zaškrtnutí políčka "Vyhledávací skupiny uživatelů".
Zatímco je volitelná, můžete se nyní rozhodnout pro uložení nastavení pro pozdější použití. Pokud se rozhodnete uložit doporučená nastavení, doporučuje se (i přes přímý výkřik z "bezpečnostního paranoidního" azylu, že znesvěcujeme samotnou existenci SSH), uložíte heslo.
Vaše hlavní okno bude vypadat jako na obrázku a vše, co musíte udělat pro připojení k routeru, je dvojité kliknutí na záznam.
Vzhledem k tomu, že se poprvé připojíte k routeru, se winSCP zeptá, jestli jste ochotni důvěřovat otisk prstu druhé strany. Chcete-li pokračovat, klikněte na tlačítko Ano.
Vývojáři společnosti DD-WRT zavedli uvítací zprávu Banner s informacemi o firmwaru, který jste nainstalovali. jednou červeně klikněte na zaškrtávací políčko "Nikdy nezobrazovat tento banner" a "Pokračovat".
Jakmile jste připojeni, přejděte do složky nejvyšší úrovně (root AKA / ") a pak se vráťte dolů na" / jffs ", protože to je jediné trvale zapisovatelné místo na souborovém systému směrovače (" / tmp "nepřežije restartování a zbytek jsou pouze pro čtení).
Vytvořte novou složku stisknutím klávesy F7 nebo pravým kliknutím na prázdné místo, umístěte kurzor nad "Nový" a klikněte na "Adresář".
Název nového adresáře "dns". vytvoříme tento adresář, aby byly věci v adresáři jffs uspořádány pro budoucí použití a protože většinou měníme fungování služby DNS.
Zkopírujte soubory typu "pixelserv" a "disable-adds.sh" z archivu zip archivu anti-ads-pack-for-dd-wrt, vyberte je (použijte klíč "insert" ".
Poznámka: Pokud je váš směrovač založen na Atheros (můžete to zkontrolovat na wiki DD-WRT), musíte použít pixelserv_AR71xx poskytované společností Oki a zahrnuty do balíčku a před pokračováním jej přejmenovat na "pixelserv".
Jakmile jsou soubory na routeru, musíme je spustit tak, že je vyberete (znovu použijte "vložte") pravým tlačítkem myši a pak "vlastnosti".
V okně vlastností klikněte na řádek "X" pro řádek "Vlastník". který udělí oprávnění k provádění souborů.
Nastavení směrovače
Nyní, když je fáze nastavena, můžeme řídit směrovači spuštění blokování ad-blokování při spuštění.
Chcete-li to provést, přejděte na webGUI na kartu "Správa" a poté na kartu "Příkazy".
V textovém poli Příkazy napište umístění skriptu jako "/jffs/dns/disable_adds.sh" jako na obrázku a potom klikněte na "Uložit po spuštění".
Pokud je úspěšný, měli byste vidět, že se skript stal součástí spouštění routeru, jak je uvedeno na obrázku.
Nastavení seznamu osobních blokovaných domén (volitelné)
Tento seznam umožňuje přidávat domény do neschválených seznamů, pokud zjistíte, že dva dynamické seznamy něco nechytily.
Chcete-li to provést, existují dvě možnosti a pracují ve spojení, takže můžete použít obě podle toho, co je pro vás nejvhodnější.
Poznámka: The syntaxe je důležitá, Protože ve skutečnosti vytváříme konfigurační direktivy, které démon DNSMasq (proces, který je odpovědný za překlady DNS-name na IP) použije přímo. Jako taková nesprávná syntaxe zde způsobí selhání služby a ponechání směrovače nedokáže vyřešit adresy IP pro názvy domén (byly vám napomenuty).
Chcete-li najít blokující doménové jména, které chcete zablokovat, můžete použít jako prvek náš průvodce "Najít tajné zprávy v hlavičkách webových stránek". Kroky k nalezení názvů reklamních domén jsou prakticky stejné, pouze v tomto případě hledáte adresu namísto zprávy.
První a jistě dostupnější způsob je dát seznam do konfiguračního pole "DNSMasq" v wegGUI. Důvodem je to, že k přidání do tohoto seznamu lze jednoduše přistupovat k webGUI namísto toho, aby musel jít "pod kapucí", aby provedl změny.
Přejděte na kartu "Služby", vyhledejte sekci "DNSMasq" a najděte textové pole "Další možnosti DNSMasq".
V tomto textovém poli zadejte seznamy domén, které chcete zablokovat, pomocí syntaxe "address = / domain-name-to-block / pixel-server-ip", jak je znázorněno na následujícím obrázku:
Kde v tomto příkladu je "192.168.1.254" adresa IP, která je generována pro pixelový server na základě "síťové adresy" vaší LAN. Pokud je vaše síťová adresa něco jiného než 192.168.1.x, budete muset odpovídajícím způsobem upravit adresu pixelového serveru.
Po dokončení klikněte na "Uložit" v dolní části stránky (dosud neplatí).
Druhý je kombinovat seznam domén, které chcete zablokovat, do souboru "personal-ads-list.conf", který jsem sestavil sám a "Mithridates Vii Eupator". Tento soubor je součástí archivu ZIP, který jste si dříve stáhli a je to skvělý start pro obě metody.
Chcete-li jej použít, v případě potřeby použijte svůj oblíbený textový editor pro úpravu IP pixelového serveru (platí stejná omezení jako výše). Pak jednoduše zkopírujte do adresáře "/ jffs / dns" stejně jako ostatní soubory. Jakmile je to tam, můžete použít winSCP pro jeho úpravu a přidání domén.
Nastavení whitelistu
Toto je seznam domén, které budou vynechány z dynamických seznamů hostitelů a domén.
To je nezbytné, protože blokování některých domén způsobuje selhání stránek, které je používají. nejpozoruhodnějším příkladem je "google-analytics.com".
Pokud zablokujeme jeho doménu, nezmění skutečnost, že weby, které ji používají, mají váš prohlížeč ke stažení JavaScript, který běží na událostech, jako například opuštění stránky. To znamená, že pro takové stránky se váš prohlížeč pokusí "zavolat domů" kontaktováním domény google, nechá porozumět odpovědi a budete muset počkat, dokud skript nevyprší a pokračovat na další stránku. To je sotva příjemné surfování a to je důvod, proč každá doména obsahující "google-analytics" a "googleadservices" je * hardcodedly vyloučena z filtrování.
Tento seznam je vytvořen pro vás s výše zmíněnými doménami, když je skript spuštěn poprvé, v adresáři "/ jffs / dns".
Chcete-li použít whitelist, otevřete soubor s winSCP a **perpend do seznamu vyhledejte domény, které chcete vyloučit, přitom dbejte na to, abyste nezanechali žádné prázdné řádky (ponecháte-li prázdný řádek, budou odstraněny všechny domény ze všech seznamů).
* Zatímco skript vytváří seznam whitelistů s doménami v rámci prvního spuštění, netrvá na svých dárcích pro budoucí spuštění. takže pokud se domníváte, že Google by měl být zablokován navzdory výše uvedeným problémům, můžete domény odstranit z whitelistu.
** Musíte zadat nové domény, které chcete, na začátku seznamu. Je to kvůli chybě s tím, jak bash interpretuje nové linky ... Omlouvám se, že zatím nemám práci.
Provedení
To je to, že je konečně čas vyvolat skript a zobrazit výsledky restartováním routeru.
Chcete-li to provést z webGUI, pod záložkou "Správa" se vraťte zpět na "Správa", v dolní části stránky klikněte na "Reboot router" a počkejte, až se router vrátí.
Může trvat několik minut, než scénář poprvé vykoná své povinnosti.
Na typu routerů WRT54Gx budete vědět, kdy bude skript dokončen, protože bude blikat oranžovou LED Cisco na přední straně směrovače (ostatní směrovače by měly mít podobnou značku "tell tail")..
Aktualizace: Tato část byla * odstraněna poté, co byla objevena jako agnostická funkce jiného než hardwaru.
Protože se snažíme vidět nepřítomnost prvků na webu, doporučuji jednoduše surfovat na několika místech, abyste viděli vliv.
Pokud se však chcete ujistit, že postup byl úspěšný, první krok ladění v sekci odstraňování problémů je skvělým místem pro začátek.
* Je to vlastně komentováno, takže můžete obnovit, pokud si jisti, že to nebude způsobovat problémy na vašem nastavení.
Užívat si!
Odstraňování problémů
Pokud narazíte na problémy, můžete udělat pár věcí, abyste zjistili, co se stalo.
- Zkontrolujte, zda je reklamní doména vyřešena na pixelserv IP.
Můžete to provést vydáním příkazu nslookup proti doméně "útočící". Například "ad-emea.dubleclick.com" je součástí blokovaných hostitelů z osobního seznamu. Vydáním příkazu "nslookup ad-emea.dubleclick.com" v příkazovém řádku by výsledek měl vypadat takto:
Kde by vypadala normální odblokovaná odpověď: - Udělejte to.
Chcete-li se ujistit, že s nastavením směrovače nedochází ke konfliktu s konfigurací reklamního bloku, obnovte směrovač na "Výchozí tovární hodnoty" a zkuste to znovu. Jakmile úspěšně doplníte své vlastní změny, v naději, že se znovu nestřílí. - Ujistěte se, že váš klient používá router jako DNS.
Zejména při použití VPN nebo sítě, která je složitější než normální směrovač k nastavení počítače, je možné, že váš klientský počítač prostě nepoužívá směrovač jako jeho DNS. Je velmi snadné vidět v příkazu nad tím, jaký je server DNS, který klient používá. Pokud IP adresa není stejná jako směrovač, zjistili jste problém. - Vyčistěte mezipaměť DNS pro vaše osobní počítače.
Důvodem je to, že jinak se stále zobrazují reklamy na webu, na kterém se testujete, jednoduše proto, že váš počítač již ví, jak získat reklamní obsah sám o sobě, aniž by se o to obrátil s DNS. Na oknech by to bylo "ipconfig / flushdns". - Zavřete prohlížeč.
Někdy prohlížeč uchovává informace uložené v mezipaměti, takže vymazání mezipaměti DNS, jak je uvedeno výše, nepomůže. - Při pochybách restartujte počítač.
Někdy cache mohou přetrvávat a nejlepší způsob, jak se je zbavit, je restart. Začněte se směrovačem a pokud problém přetrvává, klientský počítač. - Použijte syslog.
Můžete aktivovat démon syslog směrovače a pak se podívat na zprávy, zda skript narazí na nějaké problémy. Také skript přidává některé aliasy příkazů, aby usnadnil ladění.
Chcete-li to provést, přejděte na kartu Služby a zapněte démona syslog, jak je uvedeno níže:
Poznámka: Vzdálený server se používá, pokud máte na jiném počítači naslouchací server syslog (například kiwi) pokud ji nemáte, jednoduše ji nechte prázdné.
Jakmile je povoleno, zobrazí se zprávy o ladění / var / protokoly / zprávy soubor v terminálu.
* Abyste viděli VŠECHNY zprávy od bootování, můžete použít "more / var / log / messages".
* Pro zobrazení zpráv ze skriptu v protokolu použijte alias "clog".
* Chcete-li zobrazit zprávy, jak se dostanou, v reálném čase použijte "tail -f / var / log / messages" nebo jeho alias "tlog". - Porozumět skriptu.
Přestože jsem toto video YouTube vytvořil pro starší verzi této příručky a skriptu, stále drží spoustu pravd a vysvětlení, které jsou použitelné na to, jak funguje nová a vylepšená verze.