Lepsze proxy

Jakiś czas temu pokazywałem jak zrobić proxy filtrujące reklamy. Głównym celem była ochrona iUrządzeń, na których nie da się zainstalować AdBlocka. Rozwiązanie miało jedną ważną dla mnie cechę: działało na bazie Squida, więc oprócz oczywistych zalet (możliwość cachowania zawartości internetu, co znacząco przyspieszała ładowanie stron) bardzo obciążało system. Zobaczcie wykres:

Obciążenie

Dla niezorientowanych: wszystko poniżej 1 to dobrze, powyżej -- nie bardzo.

W niedzielę wieczorem wyłączyłem Squida i przeszedłem na Privoxy. Efekt widać na wykresie (zignorujcie pik w poniedziałkowe południe, to było coś zupełnie innego). Gdy w ramach testów wyłączyłem keszowanie w starym rozwiązaniu, Squid nadal był wysoko na wykresach obciążenia.

Nowy mechanizm ma tylko filtrować (plus jeszcze kilka dodatkiwych cech, o czym przy następnej okazji). Bez keszowania.

Instalacja

Instalacja jest trywialna:

# apt-get install privoxy

Jeśli wcześniej pracował Squid, to można go wyłączyć:

# service squid stop

i usunąć z init.d, by się więcej nie uruchamiał:

# update-rc.d squid remove

W pliku konfiguracyjnym /etc/privoxy/config trzeba odkomentować lub poprawić te linie:

listen-address  adres_twojego_serwera:8118
enable-remote-toggle  1
enable-edit-actions 1

Po zmianach nic nie trzeba restartować, Privoxy automatycznie reaguje na zmiany w konfiguracji.

Filtrowanie

Jesli wcześniej używałeś Squida, usuń odświerzanie starej listy filtrowania, nie będzie nam już potrzebna (w takim kształcie):

# rm /etc/cron.weekly/refresh_ads_list

Nową listę z definicją śmieci będziemy zaciągali prosto z http://adblockplus.org. Oczywiście trzeba ją przetłumaczyć na format zrozumiały dla Privoxy, a póżniej dodać do konfiguracji. Robi to ten skrypt. Wystarczy go uruchomić (przy pierwszym uruchomieniu tworzy tylko konfig, więc trzeba to zrobić dwa razy).

Dodanie tego skryptu do /etc/cron.weekly nie powinno być już problemem.

Konfiguracja urządzeń

W iUrzadzniech robi się to dokłądnie tak samo, jak poprzednim razem, z tą różnicą, że Privoxy domyślnie pracuje na innym porcie (8118, zamiast 3128).

Jeśli masz swoje iPhony i iPady już skonfigurowane pod proxy na porcie 3128, oczywiście można poprawić konfigurację Privoxy i wpisać (przykład mojej konfiguracji): listen-address 192.168.1.2:3128.

Hack

Niektóre strony nie działają z filtrem. Trzeba wtedy przeprosić się z proxy i je wyłączyć. Częste grzebanie w ustawieniach iOS jest męczące, ale od czego jest jailbreak i CCControls. Jedną kontrolką w Control Center można szybko przełączać się pomiędzy internetem filtrowanym, lub nie.

zrzut z CCConrols

Autor

aceJacek

You probably haven't heard of me.

comments powered by Disqus