hosty: skrypt do usuwania reklam w dowolnej przeglądarce

Odkąd wypróbowałem aplikację AdAway na Androida, szukałem tego samego dla Linuksa, ale nie mogłem jej znaleźć, jeśli są podobne rozwiązania, jak to już tutaj opublikowane Skrypt do usuwania reklam w dowolnej przeglądarce, ale to nie jest dokładnie to, czego szukam. Jaka jest różnica? AdAway pobiera wiele czcionek, łączy je, usuwa zduplikowane wiersze i czyści plik.

A także skrypty, które znalazł, nie używały Twojego oryginalnego pliku hosts, to znaczy, konfiguracje pliku hosts nie znajdowały się w wygenerowanym pliku hosts. Więc szukając znalazłem skrypt, który był bardzo bliski, zredagowałem go i zmieniłem, aby w końcu osiągnąć dokładnie to, czego chciałem, rezultatem tego jest goście, więc nazwij to.

Zalety nad AdBlockiem i innymi rozszerzeniami przeglądarki? Oprócz tego, że działa to od razu w całym systemie operacyjnym, pozwala to uniknąć wykorzystania zasobów tego typu rozszerzeń.

Wymagania:

Wymaga cURL i Wget

Instalujemy wymagania:

Ubuntu / Mint / Debian:
$ sudo apt-get install curl wget

Arch / Manjaro / Antergos:
$ sudo pacman -S curl wget

Fedora / RHEL / CentOS:
$ sudo yum install curl wget

SUSE:
$ sudo zypper in curl wget

Zainstaluj hosty:

$ sudo rm /usr/local/bin/hosty ; sudo wget -c https://github.com/juankfree/hosty/raw/master/hosty -O /usr/local/bin/hosty ; sudo chmod +x /usr/local/bin/hosty

Teraz go uruchamiamy (pamiętaj, aby uruchamiać go co najmniej 1 raz w tygodniu lub miesiącu, aby zaktualizować plik hosts i zablokować nowe witryny reklamowe):
$ hosty

Przywróć oryginalny plik hosts

$ sudo cp /etc/hosts.original /etc/hosts

Odinstaluj skrypt

$ sudo rm /usr/local/bin/hosty

Wskazówka: Jeśli chcesz zmodyfikować plik hosts, zalecam zmodyfikowanie pliku /etc/hosts.original, a następnie uruchomienie hosty, w ten sposób hosty wygeneruje plik hosts z Twoimi osobistymi ustawieniami (zrób to, jeśli wcześniej uruchomiłeś hosty, a nie wcześniej).

Cały kod skryptu dostępny w my GitHub.

Pozdrowienia!


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Jorge powiedział

    Nie zapomnij dodać go również do Crona. Zrobiłem to, żeby zrobić to dla mnie hit.

    Właśnie to przetestowałem i działa idealnie. Posunąłbym się nawet do stwierdzenia, że ​​działa lepiej niż metoda z demonami takimi jak Squid czy Privoxy.

    To jest doceniane!

    1.    Jorge powiedział

      Wątpliwość, tak:

      Jak mogę przyczynić się do mojej listy zablokowanych reklam? Wrzucę kilka na mój github, które właśnie wypróbowałem i działają.

      Dramat polega również na tym, że przestrzeń (sekcja) zostaje z przestrzenią z ostrzeżeniem, że „nie można jej połączyć”. Doceniamy pomoc 😀

      1.    bez juank powiedział

        Mam problem, był już uwzględniony, uruchom hosty, aby zaktualizować hosty. Są pobierane bezpośrednio z twojego repozytorium.

  2.   babel powiedział

    Wspaniała metoda. Proste i łatwe. Dziękuję Ci.

  3.   Chaparral powiedział

    Dzięki za wkład. Pracuje.

  4.   ThecaTony powiedział

    Bardzo dziękuję za pracę, spróbuję.

  5.   Joaquin powiedział

    Dobry post! Myślę, że źle napisałeś polecenie, jeśli się nie mylę:

    sudo cp /etc/hosts.original / etc / hosts

    Czy nie powinno być na odwrót?

    sudo cp /etc/hosts /etc/hosts.original

    1.    bez juank powiedział

      Nie, to dobrze napisane ma na celu przywrócenie oryginalnego pliku. Jedyne wymagane kroki to instalacja i uruchomienie, pozostałe to powrót do pierwotnego hosta i odinstalowanie programu.

      1.    Joaquin powiedział

        Tak, to dlatego, że nie widziałem kodu twojego skryptu. Teraz rozumiem, że skrypt tworzy kopię oryginału o nazwie „hosts.original” i schrzaniłem sprawę. Pomyślałem, że trzeba zrobić kopię przed uruchomieniem skryptu. Twoje zdrowie!

  6.   sojmiczno-symimiczny powiedział

    Bardzo dobrze, bardzo mi się podoba.

    Jedyna sugestia, jaką widzę, dotyczy punktu „Przetwarzanie, czyszczenie, usuwanie duplikatów, sortowanie…”, aby dołączyć plik „białej listy” lub wyjątki

    1.    bez juank powiedział

      Gotowe, od teraz możesz dodawać wyjątki w /etc/hosts.whitelist, po jednym w każdym wierszu. Może to być sam adres lub adres 0.0.0.0 lub 127.0.0.1 na początku.

  7.   janpocki powiedział

    Działa super dobrze, przynajmniej na razie !!!

    Dziękuję bardzo 🙂

  8.   Bert powiedział

    Świetny. Dokładnie to, czego potrzebowałem. W Kontakcie nie można było otworzyć przeglądarki bez ciągów reklam wiszących przy artykule do przeczytania.
    Dziękuję.

  9.   Xurxo powiedział

    Dziękuję za opublikowanie scenariusza.
    Jest łatwy do kontrolowania, edytowalny i oszczędza mi konieczności częstego aktualizowania mojej listy w / etc / hosts.

  10.   surowyBasic powiedział

    Bardzo dobre. Dzięki za udostępnienie. Pozdrowienia argentyńskie.

  11.   Martin powiedział

    Jedno pytanie, czy ta metoda jest wykrywalna przez witryny przeciwdziałające blokowaniu reklam, które roją się w sieci?

    1.    bez juank powiedział

      Jeśli jest wykrywalny, to do tej pory tylko na jednej stronie miałem ten problem.

      1.    bez juank powiedział

        Napraw to, dodając sieć do białej listy.

      2.    Martin powiedział

        Dzięki za odpowiedź i za narzędzie.

  12.   xpt powiedział

    Bardzo dobrze !!
    Dziękujemy!

  13.   pegasusonline powiedział

    Jak dobry jest ten skrypt!

    Jako sugestię, którą chciałbym powiedzieć, aby ulepszyć implementację i masowość skryptu, w instrukcjach użyj git clone / git pull, aby wszyscy skorzystali z aktualizacji!

    Dziękuję bardzo i tak trzymaj !!!

    pozdrowienia
    Pegasus Online

    1.    bez juank powiedział

      Nie używam do tego gita, ale skrypt ZAWSZE uruchamia się automatycznie aktualizowany od dnia 0. Dzięki tej prostej linii jest zawsze aktualizowany.
      https://github.com/juankfree/hosty/blob/master/hosty

      Twoje zdrowie! 🙂

  14.   moa powiedział

    W którym momencie można przywrócić oryginalny plik hosta? Albo nie muszę go przywracać, ponieważ nie zrobiłem tego kroku, ponieważ dodałem go do crona, a także jak zmodyfikowałbym oryginalne hosty, w jaki sposób to idzie 😀

    1.    Juank powiedział

      Dokładnie, przywrócenie pierwotnego hosta oczywiście nie musi być wykonywane.

      Jeśli chodzi o crona, nie używam go z cronem, Google na pewno ma bardzo dobre samouczki, w moich planach jest rozszerzenie hosty, interfejsu graficznego, crona itp. ale w przyszłości.

      Aby zmodyfikować hosts.original:
      W terminalu: $ sudo FAVORITE-TEXT-EDITOR /etc/hosts.original

      Pozdrowienia!

  15.   cytorak powiedział

    Halo

    Próbowałem ulepszyć twój skrypt i zostawiłem go tak: https://github.com/cyttorak/hosty/blob/master/hosty.sh
    Co powiesz na?
    To mój pierwszy rozwidlenie na githubie, więc daj mi znać, jeśli powinienem zmienić nazwę skryptu, aby uszanować twoje autorstwo, dodać trochę uznania, lub po prostu w ten sposób.
    Dziękuję.

    1.    Juank powiedział

      Witaj!
      Wyjaśnię, jak postępować normalnie na Githubie, gdy chcesz wnieść swój wkład w projekt 🙂
      1) Widelec - Gotowe
      2) Modyfikuj to, co chcesz, zachowując zgodność z oryginalnym projektem - Połowa, zmodyfikowałeś rzeczy, które nie pasują do hostowanego oryginału, myślę, że rozumiesz, o co mi chodzi, i proszę, trzymaj wszystkie teksty w języku angielskim.
      3) Wykonaj żądanie pull do oryginalnego projektu, aby to zrobić, musisz przejść do repozytorium, przejdź do Pull Requests https://i.imgur.com/Y1PMKST.png następnie do nowego żądania ściągnięcia http://i.imgur.com/ljhaIdH.png i wyjaśnij wszystkie wprowadzone zmiany
      4) Następnie akceptuję wyciągnięcie i voila, oryginalny hosty zostanie zaktualizowany o Twoją nazwę użytkownika jako autora.

      Bardzo dziękuję za zainteresowanie, jeśli chcesz szybko skontaktować się ze mną na moim blogu, masz moje sieci społecznościowe http://juankblog.tk/ najlepiej na Twitterze lub G +, jeśli takiego nie masz. Twoje zdrowie!

      1.    cytorak powiedział

        Halo
        Zmodyfikowałem już wiadomość, którą mam w języku hiszpańskim.
        Jeśli chodzi o punkt 2 zgodności, nie wiem, co masz na myśli, czy to z powodu użycia awk?
        Prawdopodobnie przez cały dzień, więc jutro pociągnę
        Wielkie dzięki. PA.

    2.    Juank powiedział

      Mam na myśli zmiany w README.md, hosty i install.sh, nie są obsługiwane przez projekt. Wróć do oryginalnych plików.

      1.    cytorak powiedział
    3.    Juank powiedział

      Gotowe, dostosuj plik readme i pakiet aur do nowego kodu i uczyń je bardziej czytelnymi.

      Pozdrawiamy i dziękujemy za współpracę przy projekcie, niech żyje wolne oprogramowanie! : D.

      1.    cytorak powiedział

        Jedno pytanie, dlaczego domeny są w linii 42 https://github.com/juankfree/hosty/blob/master/hosty.sh przez pragnienie? Czy to nie oznacza białej listy, niezależnie od tego, co robi użytkownik?

    4.    Juank powiedział

      Hosty to bloker reklam, tak mi się wydawało, jeśli blokuje strony internetowe w taki sposób, że nie można uzyskać dostępu do treści, staje się cenzurą narzuconą przez siebie i odchodzi od bycia blokerem reklam, nawet jeśli wyświetlanych jest więcej reklam, przynajmniej w ten sposób mogę uzyskać dostęp do stron internetowych, ponieważ chodzi o to, aby móc korzystać ze wszystkich witryn, nawet jeśli oznacza to oglądanie reklam.

      Sed jest używany, ponieważ ... Nie wiem, działał w czasie, gdy go pisałem, po prostu chodziło o to, aby użyć tej samej metody co plik białej listy i aby użytkownik zdecydował za pomocą -a / –all parametr, jeśli chce zablokować wszystko, czy nie, chociaż myślę, że nie można przyjmować niezmodyfikowanych parametrów https://github.com/juankfree/hosty/blob/master/hosty albo jeśli?

      1.    cytorak powiedział

        Zrobiłem test i jeśli mógłbym.
        Zobacz http://back.host22.com/ej.sh
        i biegnij
        bash <(curl -s http://back.host22.com/ej.sh) jeden dwa trzy cztery
        wynik będzie następujący:
        Param: jeden
        Param: dwa
        Param: trzy
        Param: cztery

        Za chwilę zrobię kolejne pociągnięcie z kilkoma ulepszeniami

      2.    cytorak powiedział

        Zrobiłem test i jeśli mógłbym. Biegać
        bash <(curl -s back.host22.com/ej.sh) jeden dwa trzy cztery
        a wynik będzie:
        Param: jeden
        Param: dwa
        Param: trzy
        Param: cztery

        Za chwilę zrobię kolejne pociągnięcie z kilkoma ulepszeniami

      3.    cytorak powiedział

        Zrobiłem test i jeśli mógłbym. Biegać
        bash <(curl -s back. host22. com / ex.sh) jeden dwa trzy cztery # usuń spacje z adresu URL, piszę to tak, bo inaczej komentarz nie zostanie opublikowany
        a wynik będzie:
        Param: jeden
        Param: dwa
        Param: trzy
        Param: cztery

        Za chwilę zrobię kolejne pociągnięcie z kilkoma ulepszeniami

  16.   popijać powiedział

    Przypuszczam, że byłoby zbyt wiele, gdybyśmy prosili, żeby okno reklamowe zniknęło, tak jak robi to adblock? 😛, żeby nie pozostało. Co do reszty, skrypt jest fantastyczny i możesz zobaczyć zużycie pamięci RAM i więcej z 20 otwartymi kartami. Czy mogę dodać więcej list?

    1.    jukiteru powiedział

      Nie jest to trudne, możesz użyć niestandardowego stylu CSS w Firefoksie, aby zapobiec pozostaniu tych okien, tutaj jest informacja o procedurze, http://foro.desdelinux.net/viewtopic.php?pid=22259#p22259

      Metoda jest zasadniczo taka sama, dodano tylko jeden krok, aby uniknąć brzydkiej strony, która pojawia się z informacją, że strona internetowa jest niedostępna. Mam nadzieję, że to pomoże.

  17.   Patricio powiedział

    Dziękuję bardzo, właśnie tego szukałem w Spotify, czy będzie można ukryć pole reklamowe klienta Linux? Czy muszę dodać go do Crona?

    Pozdrawiam,

    1.    Juank powiedział

      Nie ma za co 🙂
      Nie wiem, ale to część samej aplikacji, nie sądzę, że jest to łatwe
      Nie, zawsze aktualizuję ręcznie
      Pozdrowienia: D!

      1.    Lesco powiedział

        Mam go zainstalowanego z AUR, ale w ogóle nie działa. Które może być?

      2.    Lesco powiedział

        Z instrukcjami zawartymi w tym poście też nie działa.

      3.    Juank powiedział

        Zainstaluj go z AUR:
        $ yourt -S hosty

        i uruchom go:
        $ gospodarz sudo

        pozdrowienia

      4.    Lesco powiedział

        Robię to w ten sposób, ale to w ogóle nie działa. Nie widzę wycieków reklam. Nie wiem, jaki będzie problem. W tej chwili kontynuuję AdBlock Plus.
        Dziękuję.

      5.    jukiteru powiedział

        @lesco sprawdza, czy plik / etc / hosts zawiera nowe wpisy utworzone przez skrypt. Jeśli to możliwe i aby przejrzeć, przekaż zawartość pliku dalej http://paste.desdelinux.net/

      6.    Lesco powiedział

        Powiedziałbym, że plik / etc / hosts jest praktycznie pusty. Ma tylko te linie:

        # Hosty blokujące reklamy wygenerowane pon 2 marca 20:05:48 ART 2015
        # Nie pisz poniżej tej linii. Zostanie utracone, jeśli ponownie uruchomisz gospodarza.

        Kiedy uruchamiam „sudo hosty”, otrzymuję następujący wynik:
        http://paste.desdelinux.net/?dl=5110

        Pozdrowienia.

      7.    Juank powiedział

        Uruchom polecenie:
        $ ls -lah / etc / hosts

        i wklej tutaj wynik.

    2.    Lesco powiedział

      @JuanK, dziękuję za uwagę. Oto wynik takiego polecenia:

      -rw-r - r– 1 root root 0 2 marca 20:15 / etc / hosts

      1.    Juank powiedział

        Biegać:
        $ hosty – debugowanie

        i wklej dane wyjściowe tego polecenia i niektóre z pierwszych wierszy pliku wskazanego po „Możesz zobaczyć wyniki w”

      2.    Juank powiedział

        Polecenie to „hosty –debug”
        Było źle, jest „hosty”, po którym następują dwa myślniki „-” i „debug”

      3.    Juank powiedział

        hosty spacja łącznik łącznik środkowy debugowanie

      4.    Lesco powiedział

        Wynik polecenia „hosty –debug”:

        http://paste.desdelinux.net/?dl=5112

        Plik wspomniany po „Możesz zobaczyć wyniki w” to /tmp/tmp.viLL774YmV w moim przypadku, a jego jedyne wiersze to:

        # Hosty blokujące reklamy wygenerowane Wed 4 marca 23:38:18 ART 2015
        # Nie pisz poniżej tej linii. Zostanie utracone, jeśli ponownie uruchomisz gospodarza.

        W pliku nie ma więcej wierszy.

  18.   Guille’a Monora powiedział

    Cześć John!

    dziękuję za ten wspaniały rozwój zwany hosty.
    Szukałem adresów, które chciałem dodać do hostowanych, kilku nowych reklam. Jak mogłem współpracować z innymi osobami, aby dodać je do „repozytorium” reklam?

    pozdrowienia od ARG

    Guille

  19.   Felipe powiedział

    hello,
    Czy możesz umieścić to w smartfonie, który ma ubuntu, czy też musisz coś zmienić, aby go dostosować? A jeśli odpowiedź brzmi tak, to jakiego rozmiaru jest mniej więcej po założeniu? wiedzieć, czy mam wystarczająco dużo miejsca.
    dzięki

  20.   Paweł powiedział

    Skrypt nie działa na dystrybucjach takich jak Gentoo, które domyślnie nie używają sudo. Powinieneś stworzyć wersję bez sudo i wskazać, że cronjob będzie musiał zostać utworzony w cronie administratora.

    W przeciwnym razie doskonały pomysł. Potrzebne było coś wygodnego, jak Adaway, ale dla Linuksa.
    Pozdrowienia.

  21.   Marcelo powiedział

    Wielkie dzięki!!! Bardzo obrigado !!!

  22.   gato2707 powiedział

    Na początku lutego 2016 r. Program został zmieniony i stał się narzędziem cenzury. Szersze wyjaśnienie w:

    https://elgatoconlinux.wordpress.com/2016/02/20/bloquear-publicidad-no-es-lo-mismo-que-el-activismo-politico-o-la-censura-moralina/

    1.    S powiedział

      Cześć. Jestem autorem zmiany i dlatego schrzaniłem sprawę, ponieważ ta zmiana jest niezamierzonym błędem.

      Skrypt został zmodyfikowany zgodnie z opisem w zatwierdzeniu, aby umożliwić dwie rzeczy
      1- Że skrypt może używać czcionek w formacie zip i .7z
      2- To, że użytkownik może dodawać źródła bez konieczności umieszczania ich w skrypcie
      (Możesz to sprawdzić w komentarzu do scalania, który wprowadza wspomniany błąd).

      Najpierw znalazłem kilka źródeł w zip i 7z i pomyślałem, że interesujące jest to, że skrypt sobie z nimi poradzi, więc je dodałem (wszystkie znalazłem, aby przetestować lepiej, dlatego jest wszystko), aby przetestować niezbędne modyfikacje, więc że mógłbym rozpakować i dodać je do wyniku.

      Potem chciałem również przetestować listę aede i dodałem ją.

      Podczas tego wszystkiego zdałem sobie sprawę, że uniemożliwiło mi to wgranie zmian do projektu, ponieważ tych źródeł, jak mówisz, nie powinno być w skrypcie. Stamtąd przyszła inna modyfikacja, którą komentowałem: że użytkownik może dodawać źródła (przez ~ / .hosty) bez konieczności modyfikowania skryptu.

      Ze względu na brak czasu wszystkie te zmiany wprowadzałem w sposób nieciągły i wygląda na to, że zapomniałem usunąć źródła skryptów przed scaleniem.
      Aby dodać zniewagę do kontuzji, zaakceptowali moją prośbę o wycofanie, nie zdając sobie sprawy z tego błędu.

      Myślę, że to zrozumiałe, że nikt nie zamierzał uwzględniać tych źródeł, mając nadzieję, że ani oryginalny autor, który musi zaakceptować żądanie ściągnięcia, ani użytkownicy końcowi nie zauważą. To był po prostu błąd.

      Mam nadzieję, że wyjaśniłem, co się stało i proszę o zmodyfikowanie swojego postu, aby był odzwierciedlony.

      Dziękuję bardzo i przepraszam za niedogodności.

  23.   Ivan powiedział

    Cześć John! Używam tego skryptu, odkąd go opublikowałeś… ale teraz nie usuwa on już reklam YouTube….

    czy mógłbyś to naprawić ??

    dziękuję!

    Pozdrowienia!

  24.   Predatux powiedział

    Dobra.
    Od jakiegoś czasu używam hosty na Gnu / Linuksie. Próbuję zmusić go do działania na Macu, czy możesz mi pomóc?
    pozdrowienia