Pi-hole – a háztáji reklámtakarító

Akinek egy kis esze van az használ valamiféle ad-blockert a böngészőjében, ki ne utálná a cikkolvasás közben felpattanó, fél képernyős hirdetéseket, a villódzó, pörgőforgó bannereket, a felugró ablakokat?  A legkülönfélébb reklámok áradatában a szimpla hirdetések mellett jön csomó rosszindulatú motyó is, különösen, ha az internet kicsit árnyékosabb részein is kalandozunk.

A böngésző-kiterjesztésként futtatott reklámblokkolóink un. blacklisteket használnak, amelyet folyamatosan frissítgetnek, ilyen blacklistet mi is tudunk készíteni magunknak, sőt, felvehetünk olyan címeket a whitelistünkbe amelyekről szeretnénk tartalmat látni, de a halállistákon rajta vannak, úgyhogy az egész mulatság szépen testreszabható.

Sajnálatos módon azonban a böngészőkben futó reklámblokkolók sem mind altruista szervezetek termékei, néha ők maguk jelentenek kockázatot a felhasználóra nézve. Az ismeretlen harmadik személyek által írt mindenféle böngésző kiterjesztések ellenőrzésére általában amúgy nincs módunk, így néha az orvosság veszélyesebb, mint a betegség maga.

Arról nem is beszélve, hogy a reklámok súlyosan pazarolják az erőforrásainkat,  (sávszélességbe, processzoridőbe és memóriafelhasználásba kerülnek nekünk, ami  különösen mobil eszközökön okozhat bajt, gyorsabban merülő akku, gyorsabban elért adatlimit, stb.), és a reklámblokkolók is zabálják a memóriát.  Mivel blokkolni csak azt a (felénk jövő) forgalmat tudják, amit a böngészőnk kért, elképsztő mennyiségű kéretlen szemetet töltünk le, mielőtt az adblocker elrejtené előlünk a szennyest. Sok esetben nem is látjuk a sokmindent amit egy-egy weboldal le akar töltetni velünk, így előfordulhat, hogy bár a képernyőnkön nem tűnnek nagyon agresszívnek a reklámok, a háttérben többtucat megabyte adatforgalmat generálunk anélkül, hogy akarnánk ezt.

Ha borzongani akarunk, akkor nézegessük meg a böngészőnk inspektorában, hogy mennyi request megy kifelé, ha pl. bulvároldalakra látogatunk, (mint pl. a guardian, a daily mail australia, online játékoldalak, stb.), nem ritka a több ezer request sem, ezek java részéről fogalmunk sincs miért is töltődnek le.

Erre adhat remek választ a Pi-hole, amely az egész (otthoni )hálózatunk összes elemén takarít és ezt nem a kliens erőforrásait felhasználva teszi. A Pi-hole gyakorlatilag egy Rapsberry Pi-on (is el)futó DNS szerver amely ügyesen eldobálja a kukába a hálózatunkról kifelé menő mindenféle reklám és egyéb gonosz kéréseket, úgyhogy az általunk látogatott weboldalról csak az a tartalom érkezik meg, amit látni akartunk, a csiribiri sallangok már el sem indulnak felénk.

Ha amúgy is fut egy (két, sok) RPI a háznál ilyen-olyan okból, az egyiket megkérhetjük, hogy dolgozzon háztáji DNS szerverként, futtassa a Pi-hole applikációt és tartson rendet a kimenő requestjeink között. Mivel nálunk az OctoPrint miatt úgyis ketyeg egy RPI a sarokban, logikusnak látszott arra henkölni fel a dolgot. Alapos, részletes leírást is kapunk, hogy hogyan tudjuk telepíteni és munkára fogni a kallódó processzoridőnket, nem bonyolult.

Hálózati topológiánkban csak annyi változtatást kell eszközölnünk, hogy a DHCP szerverként amúgy is szolgáló routerünknek mondjuk meg, hogy ha egy klienssel beszélget, akkor intézkedjen, hogy a DNS szerver mostantól a Pi-hole gépezet (annak adjunk fix IP-t), így kliens oldalon nem kell egyenként végigmenni a család összes tabletjén, telefonján, laptopján, médialejátszóján, okostévéjén, stb. mindenki automatikusan élvezheti a reklámmentességet. A Pi-hole amúgy képes maga is DHCP szerverként üzemelni, ha úgy jobban érezzük magunkat, vagy a routerünk a szolgáltatónk jóvoltából nem hagyja magát piszkálni.

A Pi-hole telepítése nem egy nagy kaland, van automatikus installer, (részletes leírás) amikor végeztünk, akkor örömmel láthatjuk, hogy minden rendben fut.

A kis DNS szerverünket figyelgethetjük a beépített kis chronométerével vagy a telepítés során választható webes felületen is. A cucc lighttpd-t telepít, ha nincs az RPI disztribúciónkon magától, ha a jobbára unatkozó OctoPrint szerverünkre rakjuk, akkor figyeljünk oda, hogy a lighttpd-nek adjunk valami olyan portot ami nem a 80-as, (de 1024-nél magasabb számú) mert azon az OctoPi disztró default Tornadója osztja a bitet. (lighttpd konfiguráció és lélektan)

A webes felület igen barátságos, mindenféle szép, színes grafikont rajzol, ami nagyon hasznos, különösen, ha szeretjük a szép, színes grafikonokat, meg szeretjük nézegetni, ahogy szaladnak felfelé a requestek, mint a filmeken.

Az igazi érdekesség, amikor látjuk, hogy a kimenő hálózati kéréseink akár 40%-a tök felesleges és egyáltalán nem hiányzik a mindennapjainkból, sem az ilyen kérések következményeként lerángatott színes-szagos reklámok meg ki tudja mi még. Ugyanezen a felületen intézhetjük a whitelist módosításainkat, nézegethetjük, hogy a hálózatunkon melyik kliens vágyik a legtöbb netszemétre és melyik esetlegesen blokkolt szájtra van mégis szükségünk, az egész operációt menedzselhetjük a webes felületről. Ha hasznosnak ítéljük a cuccot, akkor ne sajnáljunk pár pénzt tőlük, sok gépidőt és sávszélességet spórolnak nekünk.

A Pi-hole nem mohó, pár százalék processzorterhelés mellett elszalad szépen, memóriából se kell neki sok, ha nincs egy mindig futó linuxos gépünk valahol eldugva a lakásban, akkor kiváló aleternatíva egy csendes kis Rapsberry Pi. A Pi-hole nyílt forráskódú, alcsony erőforrás-igényű ( elméletileg egy Pi Zero W-n is elfut) és egészen gonoszan beágyazott helyekről is kitakarítja a reklámokat, pl. mobil játékokból vagy okostévék appjaiból, meg mindenhonnan, ahonnan DNS alapon lehetséges. Ha be akarunk szállni a fejlesztésbe, akkor azt is megtehetjük (GitHub) vagy esetleges problémáinkat megbeszélhetjük a vonatkozó fórumokon. (Discourse, Reddit, Dokumentáció) A reklámok mellett blokkolhatunk vele bármit ami szívünknek undok, tracking szájtokat, malware domaineket, spam szervereket, adhatunk hozzá további blocklisteket vagy építhetünk sajátot is.

Kísérletképpen életre kanyhaltam egy elfekvő Rapsberry Pi Zero W-t, hogy megnézzük, hogy tényleg megbírkózik-e a feladattal, gondolom pár nap alatt kiderül, hogy nem túl nagy-e rá a kabát, tekintve, hogy gyengébb proci és kevesebb RAM van rajta, mint a nagy Pi-okon. A tesztüzemben a bojler feletti polcra tépőzárazva, a router USB-jéről legelészve ketyeg, ha bírja így marad, ha nem, akkor majd visszaterheljük a forgalmat az OctoPrintet futtató B+-ra.

Ennél olcsóbb megoldás nincs, hogy az ember tisztán tartsa a család böngészőit (kivéve, ha már amúgy is fut valami ami képes futtatni a Pi-hole-t) egy Zero W kb. $10, egy microSD kártya meg usb telefontöltő-kábel úgyis van otthon, ha valaki nulláról indulna, akkor egy Pi Zero kezdőcsomag (táppal-mindennel) is csak $25 körül van.

Szabaduljunk meg erőforrásigényes adblockereinktől és tegyünk magunknak, családtagjainknak és vendégeinknek egy szívességet:

curl -sSL https://install.pi-hole.net | bash

10 hozzászólás “Pi-hole – a háztáji reklámtakarító” bejegyzéshez

  1. Hej, Pappa, feléleszted a blogolást? Nagyon örülnék, mert szerettem ezeket.

  2. Hali,
    én is örülök, hogy felélesztetted a blogolást és drukkolok, hogy kitartson a dolog.
    Amúgy milyen 3d nyomtatód van? Ebben a témában nem tervezed hogy írsz?

    1. egy Ender3-al nyomtatok (mindenféle módosítások után), és nem tudom, hogy akarok-e írni róla, ezt nálam sokkal jobban csinálja eFi az fns.pappito.com-on 🙂

      még megfontolom a dolgot

  3. És érezhetően gyorsabb lett a netezés a blokkolás hatására? 🙂

  4. Köszi a tippet, már néhány napja remekül üzemel, most jön a finomítás!

A hozzászólások jelenleg nem engedélyezettek ezen a részen.