If-Koubou

Как да премахнете рекламите с Pixelserv на DD-WRT

Как да премахнете рекламите с Pixelserv на DD-WRT (Как да)

Има многобройни начини да блокирате реклами в браузъра си, но какво ще стане, ако можете да ги блокирате в маршрутизатора? Ето как да използвате фърмуера на DD-WRT и умишлено "отравяне с DNS", за да блокирате реклами за всяко устройство във вашата мрежа.

Преглед

Актуализация: Ръководството е актуализирано, за да отрази обратната информация, предоставена от коментаторите, и да актуализира пакета за анти-реклами с по-новите изпълними файлове за пиксел сървър и сменяемия лист.

Първият въпрос относно ума на всички в момента е "защо не просто да използвате рекламен блок?"

За много хора просто няма причина, особено с новата способност на Chrome да възпроизвежда разширенията, които използвате за всеки компютър, на който работите.

Отговорът е някъде между намалената надморска височина, когато не трябва да преподавате на всички потребители във вашата мрежа за рекламния блок (говоря с вас, майка, сей, баба и офис секретар) и удобството да не се притеснявате от него всеки компютър, който настройвате. Това предполага, че в мрежата ви ще има някои компютри, за които няма да конфигурирате личната си среда (например "сървъри" или "ВМ").

Забележка: Въпреки че използвам метода по-долу в моя домашен рутер, открих, че рекламният блок е отлично допълнение към него и аз препоръчвам използването на двата метода заедно. също и ако нямате DD-WRT маршрутизатор, използващ рекламен блок, е по-голям от тях. Всъщност ми харесва толкова много програмата, дарих на нейния разработчик и насърчавам всички да го направят, за да запази развитието си.

Как работи?

По същество това се дължи на умишлено отравяне на DNS, за да се върне специфичен IP адрес за домейни в неодобрен списък. Този неодобрен списък ще съдържа имена на домейни на сайтове, които са отговорни изключително за предоставяне на рекламно съдържание, така че няма да ги пропускаме много.

Ще настроим вторичен HTTP сървър на рутера, за да покажем прозрачно изображение с един пиксел, като отговор за всяка заявка за URL адрес. Във връзка с DNS "погрешно" решение, това ще накара мрежовите клиенти да поискат съдържанието от нашия вътрешен пикселен сървър и да получат празно изображение в отговор.

За да генерираме неодобрения списък, ще създадем един личен списък във връзка с два динамично изтеглени списъци. динамичните списъци са хост файлът MVPS и списъкът с домейни на Yoyo, заедно съдържат много подробен списък с рекламни сайтове. Чрез използването на тези списъци оставаме отговорниците просто да добавим делта на сайтове, които още не са в един от тях, в личния ни списък.

Също така ще настроим "бял списък" за домейни, които не искаме да бъде блокиран по някаква причина.

Предпоставки и предположения

  • Търпение млад човек, това е дълго четене.
  • Тази процедура е създадена и тествана на DD-WRT (v24pre-sp2 10/12/10 mini r15437), като такъв вече трябва да имате тази версия или по-късно инсталирана на вашия рутер, за да я използвате. Повече информация завърши на сайта DD-WRT.
  • За улеснение на обясненията, се приема, че маршрутизаторът е възстановен до "фабричните настройки" или че използваните настройки не се променят от "предварително извадените" настройки оттогава.
  • Клиентският компютър използва маршрутизатора като DNS сървър (това е по подразбиране).
  • Пространство за JFFS (когато се съмнявате, препоръчвам да използвате мини версия на DD-WRT).
  • Предполага се, че вашата мрежа е * вече настроена и че е клас C (който има подмрежа 255.255.255.0) като последния IP в тази мрежа клас C (x.y.z.254) ще бъде назначен за програмата пиксел-сървър.
  • Желанието да инсталирате winSCP.

* Скриптът няма да може да коригира блоковите списъци след първото изпълнение до следващия цикъл на опресняване (3 дни).

Кредити

Актуализация: Специално благодарение на "mstombs" за великото парче C код без неговата работа всичко това не би било възможно "Oki" за компилиране на съвместимата версия на Atheros и цитирам ;-) и "Nate" за помощ с QA-ing ,

Макар да имаше много работа за усъвършенстване на тази процедура в края ми, вдъхновението за това беше възбудено от момчетата във форума на DD-WRT и някои от основите на това ръководство могат да бъдат намерени на "ad-blocking with DD- WRT revited (прости) "," pixelserv без Perl, без jffs / cifs / usb free "и" Flexion.Org Wiki на DNSmasq ", както и други.

Позволявам да се счупят

Активиране на SSH за достъп до SCP

С активирането на SSH, ние от своя страна си даваме възможността да се свържем към маршрутизатора, като използваме протокола SCP. с това активиране, можем да използваме програмата winSCP за визуално навигиране в структурата на папките на рутера (както ще видим по-късно).

За да направите това, като използвате webGUI, отворете раздела "Услуги". Намерете секцията "Защитена обвивка" и кликнете върху бутона "Активиране" за настройката SSHd.

След като направите това, webGUI трябва да изглежда по-долу и можете да кликнете върху "Запазване" (не кандидатствайте още).

Активиране на JFFS

За да направите тази настройка по начин, който би бил такъв стабилен, възпроизводим и * да бъде "добър гражданин на интернет", ще използваме JFFS, за да съхраняваме възможно най-много конфигурации. Има и други начини да направите това, без да разрешавате JFFS, ако не можете да го направите поради ограничения на пространството, но те не са обхванати тук.

* Други методи имат вашият маршрутизатор да изтегли изпълнимия и динамичните списъци на пиксел-сървър всеки път, когато се изпълнява скрипта. тъй като това създава напрежение на сървърите, поддържащи списъците и изпълнимите и това струва пари на някого, този метод се опитва да го избегне, ако е възможно.

Ако вече не знаете какво е JFFS, това обяснение, взето от уикитовия запис на DF-WRT за JFFS, трябва да изясни нещата:

Журнализиращата флаш файлова система (JFFS) ви позволява да имате записваема Linux файлова система на маршрутизатор с активиран DD-WRT. Той се използва за съхраняване на потребителски програми като Ipkg и данни в иначе недостъпна флаш памет. Това ви позволява да запазвате персонализирани конфигурационни файлове, да хоствате персонализирани уеб страници, съхранени в рутера, и много други неща, които не са способни без JFFS.

За да активирате JFFS във вашия рутер, отидете в раздела "Администриране" и намерете секцията JFFS. картинката по-долу показва къде можете да намерите този раздел в раздела "Администриране".

В секцията за поддръжка на JFFS2 кликнете върху бутоните за активиране на "JFFS2" и (когато се появят) настройките "Clean JFFS2". След като сте избрали, кликнете върху "Запазване".

Когато настройките са запазени, пак в раздела "Администриране", рестартирайте маршрутизатора, като използвате бутона "Рестартиране на маршрутизатора". Това ще приложи настройките и ще извърши необходимия "формат" на JFFS "дял".

Когато webGUI се върне от рестартирането до раздела "Администриране", изчакайте още половин минута и опресни страницата.

Ако успеете, трябва да видите, че вашият JFFS монтаж има известно свободно място, както е на снимката.

Настройка на сървъра на пикселите

Изтеглете и изтеглете антирекламния пакет за архива dd-wrt zip, който съдържа изпълнимия файл на пикселен сървър (ние не приемаме кредит, избягвайки само "горещо свързване"), скрипта за блокиране на реклами (написан от вашите) списък на домейни, създаден от "Mithridates Vii Eupator" и I.

Време е да получите файловете в монтажа на JFFS на маршрутизатора. за да направите това, инсталирайте winSCP (това е "next -> next -> finish" тип настройка) и го отворете.

В основния прозорец попълнете информацията по следния начин:

Име на хоста: IP адресът на маршрутизатора ви (по подразбиране е 192.168.1.1)

Номер на порт: оставете непроменени на 22

Потребителско име: корен (дори ако сте променили потребителското име за webGUI, потребителят на SSH винаги ще бъде * root * )

Файл с частен ключ: оставете празно (това е необходимо само когато създавате удостоверяване, базирано на двойка ключове, което не разполагаме)

Файлов протокол: SCP

Освен това трябва да деактивираме "Потребителската група за търсене", както е показано по-долу (благодарение на mstombs за това), защото winSCP очакват пълно разбиване на Linux от другата страна, което разработчиците на DD-WRT, независимо от отличната работа, (главно защото просто няма достатъчно място). Ако оставите това, ще се появят страшни съобщения, когато свържете и запазите редактирани файлове.

Изберете "Адванс", след което премахнете отметката от "Потребителски групи за търсене".

Макар че е по избор, можете да изберете да запазите настройките сега за по-нататъшна употреба. Ако решите да запазите препоръчаните настройки, също така се препоръчва (въпреки направените викове от "параноид за сигурност", че ние оскверняваме самото съществуване на SSH), че запазвате паролата.

След това главният ви прозорец ще изглежда като на снимката и всичко, което трябва да направите, за да се свържете с рутера, е да кликнете два пъти върху записа.

Тъй като това е първият път, когато ще се свържете с маршрутизатора, winSCP ще ви попита дали сте склонни да се доверите на отпечатъка от другата страна. Кликнете върху "Да", за да продължите.

Разработчиците на DD-WRT са въвели послание за добре дошли в банер с известна информация за инсталирания фърмуер. веднъж червено, кликнете върху квадратчето "Никога не показвайте този банер" и "Продължи".

След като свържете, преминете към най-горната папка (AKA корен "/") и след това върнете надолу до "/ jffs", тъй като това е единственото място, което може да се запише на файловата система на рутера ("/ tmp" и останалите са само за четене).

Създайте нова папка, като натиснете F7 или кликнете с десния бутон на празно място, задръжте курсора на мишката над "New" и кликнете върху "Directory".

Наименувайте новата директория "dns". ние създаваме тази директория, за да запазим нещата в директорията jffs, организирани за бъдеща употреба, и понеже промените най-вече как работи DNS услугата.

Копирайте файловете "pixelserv" и "disable-adds.sh" от zip архива anti-ads-pack-for-dd-wrt, като ги изберете (използвайте клавиша "вмъкнете"), натиснете "F5" ".

Забележка: Ако вашият рутер е базиран на Atheros (можете да проверите това на WDT Wiki), ще трябва да използвате pixelserv_AR71xx, предоставен от Oki и включен в пакета, и да го преименувате на "pixelserv", преди да продължите.

След като файловете са в рутера, трябва да ги направим изпълними, като ги изберем (отново използвайте "вмъкнете"), кликнете с десния бутон на мишката върху "Properties".

В прозореца за свойства кликнете върху "X" за реда "Собственик". които ще дават разрешенията за изпълнение на файлове.

Настройки на маршрутизатора

След като стадията е настроена, можем да кажем на рутера да стартира скрипта за блокиране на рекламите при стартиране.
За да направите това, в webGUI отидете в раздела "Администриране" и след това в раздела "Команди".

В текстовото поле "Команди" напишете местоположението на скрипта като "/jffs/dns/disable_adds.sh", както е показано на снимката, след което кликнете върху "Запазване на стартирането".

Ако успеете, трябва да видите, че скриптът е станал част от стартирането на рутера, както е показано на снимката по-горе.

Настройване на списъка с лични блокирани домейни (по избор)

Този списък ви позволява да добавяте домейни към неодобрени списъци, ако установите, че двата динамични списъци не хващат нещо.
За да направите това, има две възможности и те работят заедно, така че можете да използвате и двете според това, което е по-удобно за вас.

Забележка: Най- синтаксисът е важен, Тъй като всъщност създаваме директиви за конфигуриране, че DNSMasq демонът (процесът, който е отговорен за DNS-name to IP преводи) ще използва директно. По този начин, неправилният синтаксис тук ще доведе до срив на услугата и не оставя маршрутизатора да разреши IP адресите за имена на домейни (сте били предупреждавани).

За да намерите блокиращите имена на домейни за блокиране, може да искате да използвате ръководството "Намерете тайните съобщения в заглавията на уеб страниците" като грунд. Стъпките за намиране на имената на рекламните домейни са практически едни и същи, само че в този случай търсите адрес вместо съобщение.

Първият и, разбира се, по-достъпен начин е списъкът да бъде поставен в конфигурационната кутия "DNSMasq" в wegGUI. Това е така, защото за да добавите към този списък, може просто да получите достъп до webGUI, вместо да трябва да отидете "под капака", за да правите промени.

Отворете раздела "Услуги", намерете секцията "DNSMasq" и намерете текстовото поле "Допълнителни опции за DNSMasq".

В това текстово поле въведете списъците с домейни, които искате да бъдат блокирани със синтаксиса "address = / domain-name-to-block / pixel-server-ip", както е показано на картинката по-долу:

Където в този пример "192.168.1.254" е IP, генериран за пикселния сървър въз основа на "мрежовия адрес" на Вашата локална мрежа. Ако мрежовият ви адрес е нещо различно от 192.168.1.x, ще трябва да коригирате съответно адреса на пикселния сървър.

Когато сте готови, кликнете върху "Запазване" в долната част на страницата (още не се прилага).

Секундата опцията е да комбинирате списъка с домейните, които искате да блокирате, до файла "personal-ads-list.conf", който самият аз и "Mithridates Vii Eupator" събрахме. Този файл е част от zip-архива, който сте изтеглили по-рано, и това е страхотно начало и за двата метода.

За да го използвате, ако е необходимо, използвайте любимия си текстов редактор, за да настроите IP адреса на пикселния сървър (същите ограничения, както са описани по-горе). След това просто го копирайте в директорията "/ jffs / dns", тъй като имате останалите файлове. След като е там, можете да използвате winSCP, за да го редактирате и добавите домейни.

Настройване на белия списък

Това е списъкът с домейни, които ще бъдат пропуснати от списъците на динамични "хостове" и "домейни".

Това е необходимо, защото просто блокирането на някои домейни кара сайтовете, използващи тях, да не функционират добре. най-забележителният пример е "google-analytics.com".

Ако блокираме домейна, той няма да промени факта, че сайтовете, които го използват, имат своя браузър, който изтегля JavaScript, който се изпълнява при събития като напускане на страница. Това означава, че за такъв сайт браузърът ви ще се опита да "обади дома", като се свърже с домейна на Google, няма да разбере отговора и ще трябва да изчакате, докато скриптът изтече, за да продължите към следващата страница. Това едва ли е приятно сърфиране и затова всеки домейн, съдържащ "google-analytics" и "googleadservices", е * твърдо изчезнал от филтрирането.

Този списък е създаден за вас с посочените по-горе домейни, когато скриптът се изпълнява за първи път в директорията "/ jffs / dns".

За да използвате белия списък, отворете файла с winSCP и **perpend към списъка с домейни, които искате да изключите, като същевременно внимавате да не оставяте празни редове (оставяйки празен ред, ще изтриете всички домейни от всички списъци).

* Докато скриптът създава белия списък с домейните в него в първото изпълнение, НЕ настоява за своите подаръци за бъдещи изпълнения. така че ако смятате, че Google трябва да бъде блокиран въпреки посочените по-горе проблеми, можете да премахнете домейните от белия списък.

** Трябва да въведете новите домейни, които искате в началото на списъка. Това е така, защото на бъг с това как bash тълкува нови линии ... Съжалявам, че все още нямат работа за това все още.

Екзекуция

Това е, че е най-накрая време да се позове на скрипта и да видите резултатите чрез просто рестартиране на рутера.

За да направите това от webGUI, в раздела "Администриране" се върнете в "Управление", в долната част на страницата кликнете върху "Рестартирайте рутера" и изчакайте маршрутизаторът да се върне.

Може да минат няколко минути, докато скриптът изпълни задълженията си за първи път.

На WRT54Gx тип маршрутизатори ще знаете кога сценарият приключи изпълнението, защото ще мига оранжевия светодиод Cisco в предната част на маршрутизатора (други маршрутизатори трябва да имат подобен знак "tell tail").

Актуализация: Тази част бе премахната *, след като беше открита, че е агностична функция, която не е хардуерна.

Тъй като се опитваме да видим липсата на елементи в интернет, препоръчвам просто да сърфирате до няколко сайтове, за да видите влиянието.

Ако обаче искате да сте сигурни, че процедурата е успешна, първата стъпка за отстраняване на грешки в раздела за отстраняване на неизправности е чудесно място за начало.

* Всъщност е коментиран, за да можете да го възстановите, ако сте сигурни, че няма да причини проблеми във вашата настройка.

Наслади се!

Отстраняване на проблеми

Ако срещнете проблеми, има няколко неща, които можете да направите, за да проверите какво се е объркало.

  1. Тествайте, че рекламният домейн е решен на IP адреса на пикселите.
    Можете да направите това, като изпратите командата nslookup срещу домейна "нарушител". Например "ad-emea.dubleclick.com" е част от блокираните хостове от личния списък.Като издава "nslookup ad-emea.dubleclick.com" в командния ред, резултатът трябва да изглежда така:

    Където ще изглежда нормален отблокиран отговор:

  2. Направи го.
    За да сте сигурни, че нищо от настройката на маршрутизатора не се сблъсква с конфигурацията на рекламния блок, възстановете маршрутизатора на "Фабричните настройки" и опитайте отново. След като успешно добавите промените си с надеждата, че няма да се сблъскат отново.
  3. Уверете се, че клиентът ви използва маршрутизатора като DNS.
    Особено когато използвате VPN или мрежа, която е по-сложна от нормалния маршрутизатор до настройката на компютъра, възможно е клиентският ви компютър просто да не използва маршрутизатора като DNS. В командата е много лесно да видите кой е DNS сървърът, който клиентът използва. Ако IP не е същият като рутера, открихте проблема.
  4. Изчистете кеш DNS на персоналните си машини.
    Това е така, защото иначе може да видите рекламите на сайта, на който тествате, просто защото компютърът ви вече знае как да получи рекламното съдържание сам, без да се консултира с него. На Windows това ще бъде "ipconfig / flushdns".
  5. Затворете браузъра.
    Понякога браузърът съхранява информацията, кеширана, така че изчистването на DNS кеша, както е показано по-горе, не помага.
  6. При съмнение рестартирайте.
    Понякога кешовете могат да продължат и най-добрият начин да се отървете от тях е да рестартирате. Започнете с рутера и ако проблемът продължава, клиентския компютър.
  7. Използвайте syslog.
    Можете да активирате демона на syslog на маршрутизатора и след това да прегледате съобщенията, за да видите дали скриптът среща проблеми, като прегледате съобщенията му. Също така скриптът добавя някои псевдоними на команди, за да направи дебъгването по-лесно.
    За да направите това, отидете в раздела "Услуги" и активирайте демона syslog както е показано на снимката по-долу:

    Забележка: "Remote Server" се използва, когато имате слухов сървър syslog на друга машина (например киви) ако нямате такъв, просто го оставете празен.

    След като сте активирали, можете да видите съобщенията за отстраняване на грешки, като прегледате / VAR / трупи / съобщения файл в терминал.
    * За да видите всички съобщения от стартиране, можете да използвате "more / var / log / messages".
    * За да видите само съобщенията от скрипта в дневника, използвайте псевдонима "clog".
    * За да виждате съобщенията при влизането им в реално време, използвайте "tail -f / var / log / messages" или псевдонима "tlog".
  8. Разберете скрипта.
    Въпреки че съм направил това видео в YouTube за по-стара версия на това ръководство и скрипта, все още има много истини и обяснения, които са приложими към начина, по който работи новата и подобрена версия.
Изтеглете пакета против реклами.

Нека боговете на рутера са във ваша полза