Преглед
Актуализация: Ръководството е актуализирано, за да отрази обратната информация, предоставена от коментаторите, и да актуализира пакета за анти-реклами с по-новите изпълними файлове за пиксел сървър и сменяемия лист.
Първият въпрос относно ума на всички в момента е "защо не просто да използвате рекламен блок?"
За много хора просто няма причина, особено с новата способност на 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, трябва да изясни нещата:
The Journaling Flash File System (JFFS) allows you to have a writable Linux File System on a DD-WRT enabled router. It is used to store user programs like Ipkg and data into otherwise inaccessible flash memory. This allows you to save custom configuration files, host custom Web pages stored on the router and many other things not capable without JFFS.
За да активирате JFFS във вашия рутер, отидете в раздела "Администриране" и намерете секцията JFFS. картинката по-долу показва къде можете да намерите този раздел в раздела "Администриране".
Настройка на сървъра на пикселите
Изтеглете и изтеглете антирекламния пакет за архива dd-wrt zip, който съдържа изпълнимия файл на пикселен сървър (ние не приемаме кредит, избягвайки само "горещо свързване"), скрипта за блокиране на реклами (написан от вашите) списък на домейни, създаден от "Mithridates Vii Eupator" и I.
Време е да получите файловете в монтажа на JFFS на маршрутизатора. за да направите това, инсталирайте winSCP (това е "next -> next -> finish" тип настройка) и го отворете.
В основния прозорец попълнете информацията по следния начин:
Име на хоста: IP адресът на маршрутизатора ви (по подразбиране е 192.168.1.1)
Номер на порт: оставете непроменени на 22
Потребителско име: корен (дори ако сте променили потребителското име за webGUI, потребителят на SSH винаги ще бъде * root * )
Файл с частен ключ: оставете празно (това е необходимо само когато създавате удостоверяване, базирано на двойка ключове, което не разполагаме)
Файлов протокол: SCP
Изберете "Адванс", след което премахнете отметката от "Потребителски групи за търсене".
Копирайте файловете "pixelserv" и "disable-adds.sh" от zip архива anti-ads-pack-for-dd-wrt, като ги изберете (използвайте клавиша "вмъкнете"), натиснете "F5" ".
След като файловете са в рутера, трябва да ги направим изпълними, като ги изберем (отново използвайте "вмъкнете"), кликнете с десния бутон на мишката върху "Properties".
Настройки на маршрутизатора
След като стадията е настроена, можем да кажем на рутера да стартира скрипта за блокиране на рекламите при стартиране. За да направите това, в webGUI отидете в раздела "Администриране" и след това в раздела "Команди".
Настройване на списъка с лични блокирани домейни (по избор)
Този списък ви позволява да добавяте домейни към неодобрени списъци, ако установите, че двата динамични списъци не хващат нещо. За да направите това, има две възможности и те работят заедно, така че можете да използвате и двете според това, което е по-удобно за вас.
Забележка: Най- синтаксисът е важен, Тъй като всъщност създаваме директиви за конфигуриране, че DNSMasq демонът (процесът, който е отговорен за DNS-name to IP преводи) ще използва директно. По този начин, неправилният синтаксис тук ще доведе до срив на услугата и не оставя маршрутизатора да разреши IP адресите за имена на домейни (сте били предупреждавани).
За да намерите блокиращите имена на домейни за блокиране, може да искате да използвате ръководството "Намерете тайните съобщения в заглавията на уеб страниците" като грунд. Стъпките за намиране на имената на рекламните домейни са практически едни и същи, само че в този случай търсите адрес вместо съобщение.
Първият и, разбира се, по-достъпен начин е списъкът да бъде поставен в конфигурационната кутия "DNSMasq" в wegGUI. Това е така, защото за да добавите към този списък, може просто да получите достъп до webGUI, вместо да трябва да отидете "под капака", за да правите промени.
Отворете раздела "Услуги", намерете секцията "DNSMasq" и намерете текстовото поле "Допълнителни опции за DNSMasq".
В това текстово поле въведете списъците с домейни, които искате да бъдат блокирани със синтаксиса "address = / domain-name-to-block / pixel-server-ip", както е показано на картинката по-долу:
Когато сте готови, кликнете върху "Запазване" в долната част на страницата (още не се прилага).
Секундата опцията е да комбинирате списъка с домейните, които искате да блокирате, до файла "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").
Актуализация: Тази част бе премахната *, след като беше открита, че е агностична функция, която не е хардуерна.
Тъй като се опитваме да видим липсата на елементи в интернет, препоръчвам просто да сърфирате до няколко сайтове, за да видите влиянието.
Ако обаче искате да сте сигурни, че процедурата е успешна, първата стъпка за отстраняване на грешки в раздела за отстраняване на неизправности е чудесно място за начало.
* Всъщност е коментиран, за да можете да го възстановите, ако сте сигурни, че няма да причини проблеми във вашата настройка.
Наслади се!
Отстраняване на проблеми
Ако срещнете проблеми, има няколко неща, които можете да направите, за да проверите какво се е объркало.
-
Тествайте, че рекламният домейн е решен на IP адреса на пикселите. Можете да направите това, като изпратите командата nslookup срещу домейна "нарушител". Например "ad-emea.dubleclick.com" е част от блокираните хостове от личния списък. Като издава "nslookup ad-emea.dubleclick.com" в командния ред, резултатът трябва да изглежда така:
Където ще изглежда нормален отблокиран отговор:
- Направи го. За да сте сигурни, че нищо от настройката на маршрутизатора не се сблъсква с конфигурацията на рекламния блок, възстановете маршрутизатора на "Фабричните настройки" и опитайте отново. След като успешно добавите промените си с надеждата, че няма да се сблъскат отново.
- Уверете се, че клиентът ви използва маршрутизатора като DNS. Особено когато използвате VPN или мрежа, която е по-сложна от нормалния маршрутизатор до настройката на компютъра, възможно е клиентският ви компютър просто да не използва маршрутизатора като DNS. В командата е много лесно да видите кой е DNS сървърът, който клиентът използва. Ако IP не е същият като рутера, открихте проблема.
- Изчистете кеш DNS на персоналните си машини. Това е така, защото иначе може да видите рекламите на сайта, на който тествате, просто защото компютърът ви вече знае как да получи рекламното съдържание сам, без да се консултира с него. На Windows това ще бъде "ipconfig / flushdns".
- Затворете браузъра. Понякога браузърът съхранява информацията, кеширана, така че изчистването на DNS кеша, както е показано по-горе, не помага.
- При съмнение рестартирайте. Понякога кешовете могат да продължат и най-добрият начин да се отървете от тях е да рестартирате. Започнете с рутера и ако проблемът продължава, клиентския компютър.
-
Използвайте syslog. Можете да активирате демона на syslog на маршрутизатора и след това да прегледате съобщенията, за да видите дали скриптът среща проблеми, като прегледате съобщенията му. Също така скриптът добавя някои псевдоними на команди, за да направи дебъгването по-лесно. За да направите това, отидете в раздела "Услуги" и активирайте демона syslog както е показано на снимката по-долу:
Забележка: "Remote Server" се използва, когато имате слухов сървър syslog на друга машина (например киви) ако нямате такъв, просто го оставете празен. След като сте активирали, можете да видите съобщенията за отстраняване на грешки, като прегледате / VAR / трупи / съобщения файл в терминал. * За да видите всички съобщения от стартиране, можете да използвате "more / var / log / messages". * За да видите само съобщенията от скрипта в дневника, използвайте псевдонима "clog". * За да виждате съобщенията при влизането им в реално време, използвайте "tail -f / var / log / messages" или псевдонима "tlog".
- Разберете скрипта. Въпреки че съм направил това видео в YouTube за по-стара версия на това ръководство и скрипта, все още има много истини и обяснения, които са приложими към начина, по който работи новата и подобрена версия.
Изтеглете пакета против реклами.