Projekt edithosts pro zvýšení soukromí

beer

  • *****
  • 729
    • Zobrazit profil
Projekt edithosts pro zvýšení soukromí
« kdy: 03. 06. 2014, 10:23:14 »

Ahoj, blokujete někdo reklamu, sledovací stránky a malware domény v souboru /etc/hosts?


Mne inspiroval windowsácký program Spybot - Search & Destroy, který sice reklamu neblokuje, ale snaží se imunizovat PC prostřednictvím windowsového hosts souboru blokováním domén spojených s malwarem. Hledal jsem řešení na linux, našel jsem pár skriptů nebo návodů a nakonec jsem se to snažil poskládat tak, aby mi to vyhovovalo co nejlépe, abych se jako uživatel nemusel o nic starat, a kamkoliv abych to nainstaloval, aby to prostě fungovalo.


Nejsem programátor, a neumím programovat, neumím ani s gitem, je to můj první slepenec, který dávám veřejně k dispozici, pokud by se někdo chtěl podílet a vylepšovat to do nějaké lepší podoby, tak je vítán. Každopádně bych Vás chtěl požádat o připomínky.


https://gitlab.labs.nic.cz/meitner/edithosts
« Poslední změna: 03. 06. 2014, 10:37:16 od Petr Krčmář »


anonym

Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #1 kdy: 03. 06. 2014, 11:17:33 »
Spybot je super ... až na to, že je zde zásadní omezení ohledně host souboru. V případě, že soubor je extrémně velký, což spybot hravě dokáže s tisícem záznamů, tak trochu slabší počítač to kompletně umrtví. Procházení host souboru není zrovna optimalizované a když jej má operační systém procházet pro téměř každý objekt na stránce, tak se prohlížení webu opravdu razantně zpomalí. Spybot nasměruje blokované objekty na localhost, na kterém občas může na portu 80 i něco poslouchat, klidně i Skype. Než Skype odpoví, že takový objekt teda vážně nezná, tak to nějakou dobu trvá. Takže CPU proletí stropem, natažení stránky trvá neskutečně dlouho a uživatel má oprávněně pocit, že něco je hodně špatně.

beer

  • *****
  • 729
    • Zobrazit profil
Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #2 kdy: 03. 06. 2014, 11:32:04 »
Spybot je super ... až na to, že je zde zásadní omezení ohledně host souboru. V případě, že soubor je extrémně velký, což spybot hravě dokáže s tisícem záznamů, tak trochu slabší počítač to kompletně umrtví. Procházení host souboru není zrovna optimalizované a když jej má operační systém procházet pro téměř každý objekt na stránce, tak se prohlížení webu opravdu razantně zpomalí. Spybot nasměruje blokované objekty na localhost, na kterém občas může na portu 80 i něco poslouchat, klidně i Skype. Než Skype odpoví, že takový objekt teda vážně nezná, tak to nějakou dobu trvá. Takže CPU proletí stropem, natažení stránky trvá neskutečně dlouho a uživatel má oprávněně pocit, že něco je hodně špatně.


Ano, ono to bývá asi zpomalené kvůli tomu localhostu, proto nepoužívám 127.0.0.1, ale 0.0.0.0. Zpomalení jsem si takto vůbec nevšiml, naopak znatelného zrychlení.

trubicoid2

Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #3 kdy: 03. 06. 2014, 12:08:54 »
ja mam v cronu jednou tydne takovyto skript, stahne hosts z http://winhelp2002.mvps.org/hosts.zip a doplni, co tam chci mit ja. Zpomaleni nepozoruji, na portu 80 ani 443 na laptopu nic nebezi

Kód: [Vybrat]
#!/bin/bash
DIR=`mktemp -d`
cd $DIR
wget http://winhelp2002.mvps.org/hosts.zip &>/dev/null
unzip hosts.zip &>/dev/null
echo "#*********************************************************#" >  header
echo "# Automagically updated on `date`" >> header
echo "#*********************************************************#" >> header
cat header /root/etchosts HOSTS > /etc/hosts
cd ..
rm -rf $DIR
#/usr/sbin/nscd -i hosts
/etc/init.d/nscd restart &>/dev/null

aaa

Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #4 kdy: 03. 06. 2014, 12:28:04 »
Tady je diff oproti me verzi, ktera trochu lepe osetruje nektere stavy: http://pastebin.com/8D1gmLHr


beer

  • *****
  • 729
    • Zobrazit profil
Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #5 kdy: 03. 06. 2014, 12:28:54 »

ja mam v cronu jednou tydne takovyto skript, stahne hosts z http://winhelp2002.mvps.org/hosts.zip a doplni, co tam chci mit ja. Zpomaleni nepozoruji, na portu 80 ani 443 na laptopu nic nebezi


Kód: [Vybrat]
#!/bin/bash
DIR=`mktemp -d`
cd $DIR
wget http://winhelp2002.mvps.org/hosts.zip &>/dev/null
unzip hosts.zip &>/dev/null
echo "#*********************************************************#" >  header
echo "# Automagically updated on `date`" >> header
echo "#*********************************************************#" >> header
cat header /root/etchosts HOSTS > /etc/hosts
cd ..
rm -rf $DIR
#/usr/sbin/nscd -i hosts
/etc/init.d/nscd restart &>/dev/null


A pokud by běželo, tak by právě k tomu zpomalování mohlo docházet. Nemám teď z práce přístup k tomu souboru, ale myslím, že nebude optimálně nastaven pro použití v linuxu, protože obsahuje znaky Carriage Return, koncové mezery, komentáře, atd. Já mám ve skriptu zatím asi 4 blacklisty, kde se odstranění komentáře, přebytečné mezery, dojde k nahrazení mezer tabelátorem, odstraní se znaky Carriage Return, všechny blacklisty se sloučí a odstraní se duplicity, seřadí se, atd. Samozřejmě je možnost také dát do crontabu příkaz, který by to aktualizoval sám. Je tam nastaveno zálohování původního souboru a při odinstalaci dojde k navrácení k původní verzi. Skript i ověří, zdali je funkční připojení k inetu pingem na první ze serverů s black listem a pokud není připojení, tak se ukončí.

beer

  • *****
  • 729
    • Zobrazit profil
Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #6 kdy: 03. 06. 2014, 12:49:00 »
Tady je diff oproti me verzi, ktera trochu lepe osetruje nektere stavy: http://pastebin.com/8D1gmLHr


Díky, musím na to mrknout doma, mám z práce blokovaný přístup na pastebin.com.

trubicoid2

Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #7 kdy: 03. 06. 2014, 17:28:07 »
A pokud by běželo, tak by právě k tomu zpomalování mohlo docházet.

ted koukam, ze ten winhelp uz ma vsechny adresy na 0.0.0.0 a ne 127.0.0.1, ani jsem si toho nevsim :)

jinak mas pravdu, asi to nahradim tvym skriptem

trubicoid2

Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #8 kdy: 03. 06. 2014, 17:48:05 »
tak mne ted napadlo, jestli cely ten winhelp tvuj sed nesmaze, kdyz zacinaji ted 0.0.0.0?

beer

  • *****
  • 729
    • Zobrazit profil
Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #9 kdy: 03. 06. 2014, 18:12:29 »
tak mne ted napadlo, jestli cely ten winhelp tvuj sed nesmaze, kdyz zacinaji ted 0.0.0.0?


0.0.0.0 by mělo v takovém případě zůstat.

noname

Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #10 kdy: 03. 06. 2014, 19:11:03 »
V tomto ohledu jsem naprosto spokojený s pluginy pro Firefox - konkrétně GhostScriptem a Privacy Badgerem.

beer

  • *****
  • 729
    • Zobrazit profil
Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #11 kdy: 04. 06. 2014, 00:30:02 »
Tady je diff oproti me verzi, ktera trochu lepe osetruje nektere stavy: http://pastebin.com/8D1gmLHr


integrováno, rozdíl v chování jsem však nezaznamenal.

beer

  • *****
  • 729
    • Zobrazit profil
Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #12 kdy: 04. 06. 2014, 03:38:03 »
edit, je to teď aktuálně nějaké rozbité, nevím, kde se stala chyba, ale nejde to ani nainstalovat, hlásí to:



Kód: [Vybrat]

beer@ubuntu-desktop:~/Dropbox/Linux$ git clone https://gitlab.labs.nic.cz/meitner/edithosts.git
Cloning into 'edithosts'...
remote: Counting objects: 69, done.
remote: Compressing objects: 100% (67/67), done.
remote: Total 69 (delta 34), reused 0 (delta 0)
Unpacking objects: 100% (69/69), done.
Checking connectivity... done.


Kód: [Vybrat]
beer@ubuntu-desktop:~/Dropbox/Linux$ edithosts/install.sh
bash: edithosts/install.sh: /bin/bash^M: chybný interpretr: Adresář nebo soubor neexistuje


Kód: [Vybrat]
beer@ubuntu-desktop:~/Dropbox/Linux$ edithosts/gethosts.sh
bash: edithosts/gethosts.sh: /bin/bash^M: chybný interpretr: Adresář nebo soubor neexistuje


monitor

Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #13 kdy: 04. 06. 2014, 08:42:10 »
Ked je na konci riadkov CTRL+M == (^M), tak to ma DOSovske (Windowsovske) konce riadkov, a nie Unixovske.
Takze tie shell scripty treba prekonvertovat....

Napriklad s programom dos2unix...

beer

  • *****
  • 729
    • Zobrazit profil
Re:Projekt edithosts pro zvýšení soukromí
« Odpověď #14 kdy: 04. 06. 2014, 09:12:28 »
Ked je na konci riadkov CTRL+M == (^M), tak to ma DOSovske (Windowsovske) konce riadkov, a nie Unixovske.
Takze tie shell scripty treba prekonvertovat....

Napriklad s programom dos2unix...


Asi to bude ono. Ve windows jsem to vůbec neupravoval, ale přes web a pak jsem ty změny ručně z webového prohlížeče kopíroval do lokálních souborů. A tehdy to přestalo fungovat a hlásit chybu. Pak jsem lokální soubory smazal a stáhnul přes git clone, a pořád to nefungovalo.


Teď mi to lokálně již jede OK, ale nevím, jak to uploadnout do git repa. git commit -m ani git add ani git push mi hlásí nějaké chyby. Nejsem teď doma, tak nevím, co přesně.


Jaký je postup, abych git repo opravil, nahradil tím, co mám lokálně? A jak postupovat, když něco změním v gitu přes web, jak ty změny stáhnu do svého gitu doma, abych ho nemusel klonovat a mohl opět normálně používat git commit a git push?