dnes Jednou z hlavných obáv používateľov v sieti je problém týkajúci sa súkromia vašich informácií a pred tým existuje veľké množstvo riešení, ktoré siahajú od riešení implementovaných samotnými webovými prehliadačmi až po možnosti, ako je okrem iného používanie aplikácií tretích strán.
Deň dnes si povieme niečo o Privaxy čo je server proxy na blokovanie reklám a kód sledovania viacerých stránok.
Privaxy sa nedávno aktualizoval na svoju verziu 0.5 a to môžem spomenúť je HTTP(s) MITM proxy, ktorý je umiestnený medzi HTTP(s) chatovacími aplikáciami, ako je webový prehliadač a servery HTTP, ako sú webové stránky služieb. Vytvorením obojsmerného tunela medzi dvoma koncovými bodmi môže Privaxy blokovať sieťové požiadavky na základe vzorov adries URL a vkladať skripty a štýly do dokumentov HTML.
Privaxy, ktorá funguje na nižšej úrovni, je efektívnejšia a optimalizovanejšia ako blokátory založené na zásuvných moduloch prehliadača. Jedna inštancia Privaxy na malom virtuálnom stroji, serveri alebo dokonca na rovnakom počítači, z ktorého pochádza prevádzka, môže filtrovať tisíce požiadaviek za sekundu a vyžaduje veľmi malé množstvo pamäte.
Implementácia blokovača je vo forme samostatného proxy servera, ktorý umožňuje jeho využitie ako univerzálne riešenie umožňujúce užívateľovi filtrovať požiadavky nielen z webových prehliadačov. Proxy je tiež nezávislý od obmedzení prehliadača, ako sú tie, ktoré ukladá tretia verzia manifestu Chrome, a poskytuje lepší výkon a nižšie požiadavky na zdroje.
Napríklad pri načítaní 320 tisíc filtrov je spotreba pamäte 50 MB a je možné filtrovať tisíce požiadaviek za sekundu.
Privaxy funguje tak, že implementuje prechodný filter medzi používateľom a stránkami pomocou spoofingu certifikátov TLS na zachytenie obsahu šifrovaných relácií HTTPS a skrytie varovania MITM.
Privaxy si vygeneruje vlastný certifikát, ktorý si používateľ nainštaluje do úložiska certifikátov vášho systému (/usr/local/share/ca-certificates/) a predpisuje, aby aplikácie fungovali cez proxy localhost:8100. K dispozícii sú dve možnosti zostavenia: pomôcka konzoly a grafické rozhranie, ktoré vám umožňuje spravovať nastavenia, vizuálne sledovať aktuálnu aktivitu a prezerať štatistiky zlyhaní.
Keď používateľ dostane požiadavku HTTPS, Privaxy vytvorí pripojenie TLS s cieľovým serverom vo svojom vlastnom mene a získa jeho certifikát, potom použije názov hostiteľa skutočného certifikátu prijatého zo servera a vytvorí fiktívny certifikát spojený reťazcom dôvery s koreňovým certifikátom vygenerovaným pre používateľa.
Pomocou fiktívneho certifikátu sa proxy pri komunikácii s klientom vydáva za požadovaný server, pričom na prijímanie údajov naďalej používa pripojenie TLS vytvorené s cieľovým serverom. Pre vybraných hostiteľov a domény je možné zakázať preposielanie pomocou techniky MITM.
Okrem odstránenia reklám na základe masiek URL ponúka Privaxy aj možnosť vkladať JavaScript kód a CSS štýly do vykreslených HTML dokumentov.
Podporované sú filtre kompatibilné s Adblock Plus, ako napríklad Easylist. Náhrada obsahu podporuje syntax uBlock Origin pre skripty, ovládače a presmerovania, ako aj vlastnú syntax na nastavenie ľubovoľných vlastných filtrov. Externé zoznamy spojené s filtrami sa aktualizujú automaticky.
Z funkcie, ktoré sa odlišujú od Privaxy:
- Podpora filtrov Adblock Plus, ako napríklad easylist
- Web GUI s obrazovkou so štatistikami, ako aj prehliadačom živých požiadaviek.
- Podpora syntaxe zdroja uBlock js.
- Podpora syntaxe zdroja presmerovania uBlock.
- Podpora pôvodných skriptov uBlock.
- Nezávislé od prehliadača a HTTP klienta.
- Podpora vlastných filtrov.
- Podpora vylúčenia hostiteľov z kanála MITM.
- Podpora upgradov protokolov, ako sú napríklad webové zásuvky.
- Automatická aktualizácia zoznamu filtrov.
- Veľmi nízka spotreba zdrojov.
- Približne 50 MB pamäte s približne 320 000 povolenými filtrami.
- Schopný filtrovať tisíce požiadaviek za sekundu na malom počítači.
Nakoniec, ak máte záujem dozvedieť sa o tom viac, môžete si podrobnosti prečítať v nasledujúci odkaz.
Kód projektu je napísaný v jazyku Rust a je distribuovaný pod licenciou AGPLv3 a sú k dispozícii hotové zostavy pre Linux (AppImage, deb), Windows a macOS.