Skrypt do usuwania reklam w dowolnej przeglądarce

Zdarza się, że dziś w Internecie są tysiące, setki tysięcy witryn reklamowych lub marketingowych, znajdujemy wszelkiego rodzaju ... AdSense, reklama Yahoo, mniej uciążliwe witryny, które sprzedają posty sponsorowane, reklamy, w których znajdujemy Facebook y Twitter (w rzeczywistości możesz również dołączyć rozszerzenie sponsorowane tweety sprzedawane w niektórych witrynach) ... w skrócie, że internet jest osłabiany przez reklamy i banery, którymi wielu nie jest zainteresowanych.

Jakiś czas temu rozmawiałem z Wami o tym, jak zablokować reklamy internetowe przez terminal dla dowolnej przeglądarki (bez użycia wtyczek), polegało to na (ręcznym) dodaniu stron reklamowych do / Etc / hosts wskazując, że były w 127.0.0.1, to znaczy, kiedy otwieraliśmy witrynę, przeglądarka szukała obrazu Adsense na naszym komputerze, ponieważ oczywiście ten obraz nie istniał, cóż, nic nam nie zostało pokazane.

To oczywiście miało swoje wady i zalety. Po pierwsze, ponieważ było to ręczne, kontrolowaliśmy domeny, które były blokowane, ale ponieważ było to ręczne, było wiele innych, których nie znaliśmy, więc nie mogliśmy ich zablokować. W tym artykule przedstawiam napisany przeze mnie skrypt, który automatyzuje proces, to znaczy za każdym razem, gdy X pobiera bazę danych zawierającą oprogramowanie szpiegowskie i witryny reklamowe i dodaje te witryny do naszego / etc / hosts, w ten sposób przeglądarka wyszukuje reklamy na serwerze WWW na naszym komputerze… serwerze WWW, który skoro nie istnieje (a jeśli istnieje, to nie ma zdjęć / banerów reklamowych) to po prostu nie zobaczymy tych irytujących reklam.

Tak czy inaczej, oto kroki:

1. Pobieramy skrypt i nadajemy mu uprawnienia do wykonania:

cd $HOME

wget http://ftp.desdelinux.net/anti-ads.sh

chmod +x anti-ads.sh

2. Następnie wyedytujmy nasz / etc / crontab tak, aby skrypt był uruchamiany co miesiąc, na przykład pierwszego dnia każdego miesiąca, wyglądałby tak:

00 00 1 * * root /home/usuario/anti-ads.sh

3. Teraz muszą ponownie uruchomić demona crona lub komputer, w zależności od tego, co jest dla nich wygodniejsze.

4. Gotowe, jeśli chcesz, możesz poczekać do pierwszego dnia lub samodzielnie uruchomić skrypt (z uprawnieniami roota).

Treść skryptu zostawiam tutaj, aby szczegółowo to wyjaśnić:

#! / bin / bash wget http://winhelp2002.mvps.org/hosts.txt -O /tmp/hosts.txt ls /etc/hosts.old &> / dev / null if [$? -ne 0]; następnie cp / etc / hosts /etc/hosts.old fi echo "127.0.0.1 localhost.localdomain localhost"> / etc / hosts echo ":: 1 localhost.localdomain localhost" >> / etc / hosts cat / tmp / hosts. txt >> / etc / hosts rm /tmp/hosts.txt exit

Wyjaśnijmy to.

Najpierw pobieramy plik zawierający całą listę domen reklamowych i umieszczamy go w / tmp / pod nazwą hosts.txt. Następnie sprawdzamy, czy plik /etc/hosts.old istnieje ... jeśli nie istnieje, oznacza to, że uruchamiamy ten skrypt po raz pierwszy, tam zapisujemy (robimy kopię) naszego / etc / hosts do / etc / hosts.old jak zawsze dobrze, zachowaj oryginał. Następnie zastępujemy całą zawartość naszego / etc / hosts dwoma standardowymi liniami, które wskazują, że 127.0.0.1 to localhost i odwrotnie. W przypadku terminala z plikiem hosts kopiujemy całą zawartość /tmp/hosts.txt do / etc / hosts (bez usuwania pozostałych dwóch wierszy), w ten sposób już wskazaliśmy, że domeny reklamowe są w 0.0.0.0 … Chodź, po prostu to, czego chcemy. Na koniec po prostu usuwamy /tmp/hosts.txt i to wszystko.

Koniec!

Niezwykle prosty skrypt, można go znacznie ulepszyć, sprawdzając md5 pobranego pliku, używając polecenia diff, aby nie musieć robić / etc / hosts od zera i tylko dodawać do niego nowe domeny itp. Ale hej, to tylko pomysł, pierwsza wersja, która działa, w końcu zrobiłem to w tym celu, aby działał i trochę zautomatyzował proces.

Cóż, dzięki Wada, Eduardo i innym za komentarze i wskazówki z poprzedniego artykułu. Ten skrypt nie jest niczym nowym (Konozidus i csb powiedzieli mi już o istnieniu podobnych) ale cóż, lubię programować własne skrypty, uwielbiam bash ... chociaż czasami są rozwiązania mojego problemu, wolę programować jeden dla siebie.

Tak czy inaczej, mam nadzieję, że uznasz to za interesujące.


59 komentarzy, zostaw swoje

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.   iwanbarram powiedział

    Witam, dziękuję za skrypt, już dawno zrobiłem to samo, jest ich niewiele ponad 31.ooo, zostawię Ci je do skopiowania jeśli chcesz:

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

    Pozdrowienia.

  2.   miguel powiedział

    Bardzo dobrze, a najlepsze jest wyjaśnienie każdego etapu nauki

  3.   Moonwatcher powiedział

    ciekawe 🙂 chociaż prawda jest taka, że ​​między Noscript, adblock plus i DoNotTrackme a moją konfiguracją Iceweasel (bez zarozumiałości, nie pamiętam historii…) mam barierę nie do pokonania dla reklamy i innych. 😉
    pozdrowienia.

    1.    KZKG ^ Gaara powiedział

      Gdybym używał tylko jednej przeglądarki (Firefox), nie byłoby problemów, ale używam kilku ... Opera, Firefox, Rekonq i Chromium, potrzebuję „czegoś”, co działa dla każdego

  4.   smak powiedział

    Kiedy wpisuję bash / etc / crontab i wpisuję enter, otrzymuję odmowę uprawnień

    1.    pełen życia powiedział

      Musisz edytować ten plik jako Root lub sudo.

      1.    smak powiedział

        Teraz po wpisaniu sudo / etc / crontab prosi o podanie hasła, zapisuję je, podaję enter i otrzymuję sudo: / etc / crontab: command not found

        1.    yerkorn powiedział

          Guso, czy próbowałeś sudo nano / etc / crontab ???

          1.    smak powiedział

            W tej chwili po prostu umieściłem to, co mówisz, i pojawia się wiele informacji, że nie wiem, co to jest. Pomyślałem, że powinno się pojawić to, co mówi post: 00 00 1 * * root /home/user/anti-ads.sh

          2.    KZKG ^ Gaara powiedział

            Edytuj plik za pomocą:
            sudo nano / etc / crontab

            Następnie na końcu dodajesz wiersz, który umieściłem w poście.
            Aby zakończyć i nie komplikować się innym poleceniem, uruchom ponownie komputer i voila, nadszedł czas, aby poczekać na następny dzień 1.

        2.    Roberto powiedział

          Ponieważ brakuje polecenia edytora tekstu. W moim przypadku używam Linux Mint ze środowiskiem Mate, edytorem tekstu jest pióro, więc to, co próbujesz, wyglądałoby tak:

          sudo pen / etc / crontab

          Pozdrowienia.

          1.    smak powiedział

            Dziękuję Ci. Chociaż to już działało dla mnie z sudo nano / etc / crontab.

            Pozdrowienia.

        3.    synflaga powiedział

          @pazur

          to crontab -e (to edycja) jako root lub z sudo, jak to wygląda:

          sudo su (hasło i jesteś rootem)
          crontab -e

          Lub sudo crontab -e

          Edytor to vim, wciskasz i (to jest i Latin), czyli wstawiaj lub edytuj, poruszasz się, modyfikujesz, potem wciskasz Esc kiedy skończysz i wciskasz: wq i wciskasz enter, to jest nagrywanie i wyjście i to jest to.

  5.   nsz powiedział

    Doskonale, po prostu znakomicie. Chociaż, jak mówią, po prostu mam rozszerzenia i konfiguracje, które znacznie odbiegają od reklam w moim Firefoksie.

  6.   kaczątko powiedział

    Świetny scenariusz. Musiałem wprowadzić kilka zmian, które ostatecznie pozostały takie:

    wget http://winhelp2002.mvps.org/hosts.txt
    cp hosts.txt / tmp /

    Co jeszcze mogę powiedzieć, fajnie jest używać Linuksa.

  7.   benktroks powiedział

    Nie wiem dlaczego, ale kiedy zredagowałem do tego hosta, nie mogłem zobaczyć komentarzy na youtube, spróbuję tym razem i zobaczę.

  8.   jsbsan powiedział

    Szczerze przyznaję, że reklama jest bardzo ciężka, ale przy braku darowizn wiele blogów (w tym mój) jest ich jedynym źródłem utrzymania.
    Nie krzywdzisz dużych firm, ale małych blogerów, tak ...

  9.   Uff powiedział

    dla bardziej doświadczonych linuxero byłoby to jak czytanie nut na fortepian dla muzyka

  10.   Eduardo powiedział

    Fajne i proste. Czego chcieć więcej?
    Problem polega na tym, że nie możemy już tak bardzo ufać Adblock Plus, ponieważ pobiera opłaty za odblokowanie wielu reklam. Przekonując to za pomocą dobrze kompletnego / etc / host, jesteśmy już objęci.

  11.   Maria powiedział

    W dzisiejszych czasach wszyscy szukamy sposobów na łatwe zarobienie pieniędzy, biorąc pod uwagę ich potrzebę i problemy pracownicze w naszym kraju. Ja, podobnie jak wy wszyscy, również mam ten problem i nadal podróżuję po ogromnej przestrzeni internetowej, szukając pracy, która naprawdę spełnia moje oczekiwania, czyli mało pracuję i zarabiam dużo pieniędzy. Prawda jest taka, że ​​od dawna szukam tych poszukiwań, które mogą przynieść mi pełne szczęście (przynajmniej finansowe), nic nie jest dalsze od rzeczywistości, myślę, że w ten sposób mogę trwać jeszcze kilka lat lub może w nieskończoność. Od jakiegoś czasu badam systemy wielopoziomowe, czyli system, w którym dołączasz do firmy i wykonujesz określone prace, za które otrzymujesz wynagrodzenie, w niektórych przypadkach wysoko płatne. Aby wziąć udział, potrzebujesz tylko członka tych, którzy są już częścią wspomnianej firmy, aby Cię sponsorować, a Ty staniesz się częścią ich zespołu. Będąc w tym świecie systemu wielopoziomowego, możesz zadowolić się wykonywaniem zadań, które są Ci codziennie powierzane lub wykonywaniem tego, co nazywa się siecią, to znaczy szukaniem innych członków, którzy staną się częścią Twojego zespołu, a tym samym stworzą system sieciowy nazywane binarnymi lub liniowymi, co tworzy korzyści rezydualne, które są dodawane do korzyści, jakie dają w codziennej pracy.
    YouTube do dziś ma wiele informacji na ten temat. W tych filmach informują Cię o wszystkich krokach, zarówno aby zarejestrować się w różnych firmach, które używają systemu wielopoziomowego, jak i jak to działa. Badam jedną z nich LibertaGia, jest to nowo utworzona firma według danych, które udało mi się zlokalizować w sieci, jej powstanie datuje się na październik 2013. Jestem zarejestrowany od trzech dni i w tej chwili nadal nie mogę zgaduj co do szacunku. Codzienną pracą, którą wykonuję, jest otwieranie 10 stron internetowych i przeglądanie ich przez jedną minutę (nieźle, eh ...), po obejrzeniu pokazuję je jako zatwierdzone, a licznik pieniędzy mówi mi, że zarobiłem 3 $. Więc na razie zarobiłem dziewięć (9) $, praktycznie nic nie robiąc. Jak mówią w swojej prezentacji, muszę zebrać 300 dolarów, aby móc zacząć zarabiać te pieniądze i móc je mieć, zobaczymy, czy tak jest. Na razie nie mam innego wyjścia, jak tylko starać się osiągnąć tę kwotę i czekać, aż kupię pakiet Booster (zresztą wymagany do zakupu pakiet kosztuje 399 $).
    Jeśli ktoś chce uczestniczyć w tym Wielopoziomowym Systemie, może skorzystać z mojego linku, aby stać się częścią LibertaGii i samemu przekonać się, czy taki sposób życia i zarabiania pieniędzy jest marzeniem czy rzeczywistością. Jeszcze nie wiem, ale krok po kroku będę komentował to, co się ze mną dzieje.

    http://www.libertagia.com/Corelli

    1.    cobynighter powiedział

      Myślę, że masz złego bloga, to nie jest witryna do wyszukiwania skierowań.

    2.    jsbsan powiedział

      Szczerze mówiąc, to mistyfikacja. Zawsze musisz pamiętać: nikt nie daje twardych peset ...

    3.    widok powiedział

      Wyobraź sobie 3.00 USD za minutę, to 180.00 USD za godzinę, czy to nie brzmi dziwnie?

      Przyjacielu, wierzę, że to, co napisałeś na tym blogu było z ignorancji i ze względu na to, jak ciężkie jest życie, jedyną osobą, która może zarabiać w tej firmie, jest właściciel i kilku bliskich przyjaciół, wszystkie te systemy piramid to fikcja .

      Jest kilka firm Lionbridge i Leapforge, które pracują dla Google i zatrudniają Cię do oceny stron internetowych, płacą od 12.00 do 15.00 USD za godzinę, są to poważne firmy, musisz wysłać im swoje CV, oceniają Cię i jeśli aplikujesz, że cię zatrudniają.

      Wokół tutaj wspomnieli o Google Adsense, z którego niektórzy z nas korzystają na naszych blogach, aby zarobić kilka groszy, ale dzięki tym wspaniałym blokom zmniejsza się prawie do 0.00 USD hahahaha.

      Ale mimo to zarabianie w Internecie jest możliwe, nawet dzięki temu żyjąc, mówię z własnego doświadczenia, to nie jest miejsce na dyskusję, ale szukaj dalej, wszystko jest w nastawieniu.

      Saludos cordiales,
      Oscar

  12.   gabuks powiedział

    Wygląda na to, że została odfiltrowana reklama, która nie mogła zablokować skryptu d etc / hosts…. 😀

  13.   JALBRHCP powiedział

    bardzo dobrze, działanie jest takie samo jak bez reklam dla Androida, kiedy go zainstalowałem, pomyślałem: jak sprytny, kto stworzył to haha, ale nigdy nie przyszło mi do głowy, aby użyć go w Gnu / Linux.

  14.   smak powiedział

    Dziękuję Ci. Myślę, że to już koniec.

  15.   Cristian powiedział

    Witam, jakiś czas temu postępowałem zgodnie z krokami, które opisałeś w poprzednim poście i u mnie zadziałało bardzo dobrze, problem polegał na tym, że korzystam ze strony, która wyświetla Ci określone treści, prosi o zamknięcie reklamy, a ponieważ nie mogła tego pokazać mi to wskazywało na błąd w tej sprawie. Czy istnieje sposób, aby tymczasowo wyłączyć blokowanie lub uniemożliwić blokowanie niektórych stron?

    pozdrawiam i dziękuję za udostępnienie tych informacji 😀

    1.    gra mocy powiedział

      Hey.

      W związku z tym komentujesz, przychodzi mi do głowy kilka rozwiązań, chociaż nie wiem, które najlepiej pasuje do twojego problemu. Każda aplikacja internetowa to świat. Wszystko zależy od konkretnego scenariusza, tego, ile jesteś w stanie zapłacić w zasoby systemowe oraz czasu i zaangażowania, które chcesz zainwestować w ten problem.

      Pierwszym rozwiązaniem, które przychodzi mi do głowy, być może również najłatwiejszym, byłoby usunięcie domeny reklam będącej w konflikcie z pliku / etc / hosts. Być może jest to coś więcej niż rozwiązanie, ale może to polegać na wyeliminowaniu głównego problemu, ale oczywiście nie będziesz blokować reklam.

      Możesz także stworzyć skrypt, który usuwa / dodaje domenę reklamową z / etc / hosts. Jeśli więc potrzebujesz reklamy, aby była dostępna, wystarczy ją wykonać. Możesz ustawić to na czas lub jako przełącznik, który przełącza kilka stanów. Wykonywanie skryptu może być ręczne, ale można je również zautomatyzować, aby działał, gdy uzyskuje się dostęp do określonej domeny lub adresu URL, w tym drugim przypadku można użyć aplikacji proxy. W takim przypadku nie blokowalibyśmy całkowicie reklam.

      Innym rozwiązaniem może być otwarcie w przeglądarce okna narzędzia do tworzenia stron internetowych. Poproś o adres URL, pod którym znajduje się zasób, który chcemy wyświetlić. Następnie sprawdź uzyskaną odpowiedź, aby spróbować, poprzez modyfikacje DOM i wykonanie kodu JS, czy aplikacja przedstawia zachowanie i zawartość, które chcemy. W tym celu musimy przestudiować, jak działa aplikacja internetowa w naszej przeglądarce. Nie będzie to łatwe zadanie, ponieważ jest bardzo prawdopodobne, że kod aplikacji jest zaciemniony. Rozwiązanie to polega na modyfikowaniu zachowania sieci korzystającej z systemu reklamowego (w relacji do klienta). Dzięki temu rozwiązaniu zablokujemy reklamy i uzyskamy dostęp do zasobu, ale w sposób czysto ręczny. Jeśli chcesz zautomatyzować proces, możemy skonfigurować serwer proxy, który jest odpowiedzialny za modyfikację odpowiedzi HTTP za nas (na przykład privoxy).

      Możliwym rozwiązaniem, które warto rozważyć, jeśli masz uruchomiony serwer HTTP i nie chcesz instalować proxy, jest implementacja wymiany po stronie klienta w systemie reklamowym. Uważam to rozwiązanie za nieco bardziej odległe i daleko idące, ale w niektórych scenariuszach może być poprawne. Najpierw edytujemy / etc / hosts, tak aby domena reklamowa wskazywała na Twój lokalny adres IP. Następnie konfigurujemy serwer HTTP tak, aby przekierowywał wszystkie żądania dotyczące tej domeny do tej samej treści. Treść ta musi implementować uproszczoną logikę systemu reklamowego z punktu widzenia procesu, który pozwala na poprawną wizualizację. Podobnie jak w poprzednim rozwiązaniu, będziesz musiał przeprowadzić badanie sieci, systemu reklamowego i interakcji między nimi. Możliwe, że oba systemy komunikują się po stronie klienta za pomocą technik crossdomine, że będziemy musieli przejść do wersji lokalnej.

      Jak widać, złożoność i sposób zastosowania dwóch ostatnich rozwiązań zależy w dużej mierze od konkretnych systemów. Jak powiedziałem wcześniej, każda aplikacja internetowa to świat. Konieczne jest badanie i analizowanie systemów przy użyciu takich technik, jak ślady wykonania, inżynieria odwrotna ...

      Ostatnie dwa zaproponowane tutaj rozwiązania opierają się na założeniu, że interakcja między aplikacją internetową a systemem reklamowym odbywa się po stronie klienta. Jeśli proces opiera się na jakiejś interakcji między serwerami, należy przyjąć inne podejście.

      Przypomina mi to konkretny przypadek, który przytrafia mi się na komputerze, z którego korzystam w mediacenter (przy bardzo ograniczonych zasobach). Kiedy wchodzę na określoną stronę internetową, robi to coś podobnego do scenariusza, który proponujesz: skoro zablokowałem domenę reklamową, mam białe pole nad treścią, którą chcę wyświetlić, a tego nie można usunąć przez zaimplementowaną operację w internecie jest to konieczne do załadowania reklamy. Ponieważ maszyna ma bardzo ograniczone zasoby, dzięki czemu może działać więcej procesów, nie korzystam często z sieci, o której mowa, i naprawdę nie chcę się komplikować, wybrałem opcję ręcznej modyfikacji DOM, gdy chcę go wyświetlić .

      Oczywiście, jest więcej rozwiązań, możliwe, że któreś jest lepiej dostosowane lub łatwiejsze, ale mam nadzieję, że to ci pomoże.

      1.    przełącznik powiedział

        Natknąłem się również na witryny, w których pojawia się puste pole na treści lub puste miejsca (gdzie zwykle pojawiają się reklamy), ale kiedy widzę, że konieczne jest ich ukrycie, używam Pomocnik ukrywania elementów dla Firefoksa (nie wiem, czy w innych przeglądarkach jest coś takiego, inaczej trzeba zapytać Selektory CSS 3 i wykonaj filtry ręcznie).

    2.    przełącznik powiedział

      Cristian, jeśli masz na myśli to, że po otwarciu określonej strony, np. „Dezaktywuj Adblock, aby wyświetlić tę witrynę”, możesz użyć przycisku Zabójca blokowania reklam (wymaga Greasemonkey to work), który usuwa wiele zabezpieczeń używanych przez niektóre witryny, które zmuszają Cię do wyłączenia blokady reklam (nadal nie miałem pojęcia, że ​​ten rodzaj ochrony zadziała nawet przy blokowaniu domeny pliku hosta).

  16.   Łodzik powiedział

    Plik, używam go od jakiegoś czasu.

    Ale najciekawsze jest wyjaśnienie, jak działa cały skrypt 😀
    Samouczek dla czystych nobów byłby interesujący hahaha

    Widziałem kilka postów na ten temat, ale tutaj, tym przykładem, też coś uzupełniam.

    Pozdrowienia.

  17.   Cristianhcd powiedział

    Zrobię nietoperza do okien: fsjal

  18.   ponownie powiedział

    hoo bardzo dobrze, prawda jest doceniana

  19.   Anderson Freitas powiedział

    Zatwierdzony !!!!: O)

  20.   gabuks powiedział

    Świetnie, dzięki za te super dobre wkłady ...

  21.   Alexis powiedział

    skrypt nie daje problemów z ufw?

  22.   synflaga powiedział

    Przepraszam za śmiałość, ale skrypt bym umieścił w ten sposób (czyli z tymi zmianami):

    #! / bin / bash

    wget http://winhelp2002.mvps.org/hosts.txt -o /tmp/hosts-blacklist.txt

    ls /etc/hosts.old &> / dev / null
    jeśli [$? -ne 0]; następnie
    cp / etc / hosts /etc/hosts.old
    fi

    echo "127.0.0.1 localhost.localdomain localhost"> / etc / hosts
    echo ":: 1 localhost.localdomain localhost" >> / etc / hosts

    cat /etc/hosts.old >> / tmp / hosts-blacklist
    cat /tmp/hosts-blacklist.txt|uniq >> / etc / hosts

    rm /tmp/hosts-blacklist.txt

    wyjście

    Niektórzy z nas mają pewne ustawienia na hostach, które ze skryptem, który zostałby utracony, popraw mnie, jeśli się mylę, śpię huh

    1.    KZKG ^ Gaara powiedział

      Wcale nie, bardzo dziękuję za wkład 🙂

  23.   wysypka powiedział

    Cześć KZKG ^ Gaara!
    Używam Manjaro z KDE i Firefox.
    Prawda jest taka, że ​​scenariusz jest dla mnie bardzo przydatny.
    Zrozumiałem, jak działa skrypt (każda instrukcja w nim zawarta), ale nie jest dla mnie jasne, ...
    1) tak jak robi to na przykład podczas otwierania filmu na youtube, który nie ładuje reklamy
    2) jak często ta baza danych jest aktualizowana, czy jest to aktualizacja codzienna? Jeśli tak, chciałbym aktualizować bazę danych w cron codziennie, a nie co miesiąc.
    3) punkt 3 .. Teraz muszą zrestartować swojego demona crona, jako restart wspomnianego demona, jaka byłaby instrukcja użycia
    4) Jeśli zrestartuję notebook, muszę ponownie wykonać skrypt lub jego wykonanie polega tylko na aktualizacji bazy danych, czyli przy pierwszym uruchomieniu skryptu blokowanie stron pozostaje na zawsze.
    przepraszam za tak wiele pytań, ale wszystkie twoje artykuły są doskonałe i codziennie uczę się z twoją stroną.
    dzięki. pocałunek. romi

    1.    KZKG ^ Gaara powiedział

      Cześć,

      1) Po otwarciu wideo YouTube w kodzie strony (HTML) znajduje się kod do wyświetlenia wideo, css itp. Istnieje również miejsce (div), w którym umieszczana jest reklama Adsense (Google), ale ta reklama NIE znajduje się w domenie youtube.com, ale (na przykład) ads.adsense.com lub coś w tym rodzaju. Ta domena (ads.adsense.com) jest w 100% reklamą, więc nic z niej nie wczytujesz. Nie ma więc znaczenia, czy przejdziesz do 30 witryn, o ile wyrzucą reklamę dla tej domeny, nie pojawi się.
      2) Szczerze mówiąc, nie mam pojęcia, wstawiłem crontab do aktualizacji bazy skryptów raz w miesiącu, ale nie wiem, czy aktualizacja hosts.txt jest częstsza, czy nie.
      3) Tak, powiedziałem o ponownym uruchomieniu komputera (co oczywiście powoduje ponowne uruchomienie wszystkich usług), aby nie komplikować więcej. Podobnie sudo service cron powinien działać dla Ciebie, jeśli używasz Debiana, Ubuntu lub Mint. Jeśli używasz czegoś innego z systemd (Arch, Chakra, nie jestem pewien, czy Manjaro też), to byłoby to sudo systemctl restart cronie
      4) Kiedy edytujesz plik / etc / crontab, musisz poinformować komputer, że ten plik się zmienił, że go zmodyfikowałeś i że musi go ponownie przeczytać, aby uwzględnić zmianę. Aby ponownie odczytał plik, ponownie uruchom crona lub ponownie uruchom komputer. Teraz, gdy ponownie uruchomisz komputer, skrypt nie uruchomi się automatycznie, zostanie uruchomiony w dniu, w którym go powiesz w / etc / crontab. I tak, jeśli po raz pierwszy uruchomisz skrypt, jeśli wszystko działało poprawnie (możesz sprawdzić: cat / etc / hosts), będziesz już mieć zablokowaną reklamę.

      Nie martw się o pytania, chętnie pomogę.
      pozdrowienia

      1.    wysypka powiedział

        dzięki kzkg !!
        jaśniejsze niemożliwe !!
        pocałunek. romi

  24.   Marcellus (N3krodamus) powiedział

    Skrypt jest dobry, ale zawiera literówkę. Zamiast o (małe litery) powinno być O (litera lub duże), ponieważ w przeciwnym razie zapisywany jest dziennik połączenia w pliku /tmp/hosts.txt

    1.    KZKG ^ Gaara powiedział

      Dzięki za wyjaśnienie, już to naprawiam.

  25.   John powiedział

    Dwa fajne komentarze:
    - Co za dziwny sposób sprawdzenia, czy plik istnieje, człowieku!… Próbowałeś użyć if [-f $ plik] zamiast tego ls, który wysyła dane wyjściowe do / dev / null, a następnie zweryfikujesz, że jest to errorLevel i zrobisz sooooo wiele okrążeń?
    - Z drugiej strony ... uważaj na -o (małe litery) w wget ... TO NIE ROBI tego, co chcesz. Spróbuj -O (wielkie litery)

    Jedno zalecenie: przetestuj skrypty przed opublikowaniem

    1.    wysypka powiedział

      Drogi Johnie,
      Możesz dodać cały skrypt ze swoją poprawką, więc przetestujemy go.
      dzięki, romi

    2.    wysypka powiedział

      Jan,
      Możesz dodać cały skrypt ze swoją poprawką, więc przetestujemy go.
      Dzięki, Romi

    3.    KZKG ^ Gaara powiedział

      Racja, mógłbym też sprawdzić testem ... Zapomniałem o tych rzeczach, kiedy robiłem scenariusz ^ - ^

  26.   zerowy powiedział

    Po co edytować plik / etc / hosts? Czy nie byłoby bardziej użyteczne i optymalne DROP przez iptables?

    1.    mario powiedział

      To mogłoby być, ale byłoby to dość niebezpieczne. Ten skrypt ładuje reguły z witryny innej firmy, na przykład blok reklamowy, ale jest bardziej wydajny. Jeśli pozwolimy tej stronie trzeciej na tworzenie i kopiowanie reguł iptables w naszym systemie, możesz sobie wyobrazić zagrożenia bezpieczeństwa, które by to wygenerowało. Poza tym niektórzy używają gufw, firestartera itp., Które mogą używać własnej konfiguracji i usuwać naszą.

  27.   marianogaudiks powiedział

    KZKG ^ Gaara: Dzięki za informację, nigdy tak naprawdę nie martwiłem się tym aspektem, ale mi to odpowiada.

  28.   pablo powiedział

    pablo @ fausto ~ / Oprogramowanie / Skrypty% wget http://ftp.desdelinux.net/anti-ads.sh
    –2014-03-01 11:54:55– http://ftp.desdelinux.net/anti-ads.sh
    Rozwiązywanie http://ftp.desdelinux.net (ftp.desdelinux.net)... nie powiodło się: Nieznana nazwa lub usługa.
    wget: no se pudo resolver la dirección del equipo “ftp.desdelinux.internet"

    1.    mario powiedział

      problemów w dns, powinieneś otrzymać następujący wynik: wget http://ftp.desdelinux.net/anti-ads.sh –13: 34: 11– http://ftp.desdelinux.net/anti-ads.sh => `anti-ads.sh '
      Rozwiązywanie http://ftp.desdelinux.net... 69.61.93.35
      Łączenie z http://ftp.desdelinux.net[69.61.93.35]:80... połączony.
      Wysłano żądanie HTTP, czekając na odpowiedź ... 200 OK

  29.   bez juank powiedział

    Oto wskazówka: Wiersz «0.0.0.0 da.feedsportal.com # [dotyczy kanałów RSS]» powoduje problemy z wieloma kanałami RSS, przysparzał mi problemów i nie pozwalał mi na dostęp do postów.
    Pozdrowienia!

  30.   Joaquin powiedział

    Dobry wpis!

  31.   totapunk powiedział

    Po przeczytaniu wpisu na blogu zainteresowałem się tematem i odkryłem aplikację do tego znacznie pełniejszego celu, która pozwala na dodanie kilku list jednocześnie z GUI dla tych, którzy lubią tę wygodę ...
    https://github.com/memoryleakx/AdAndCrapBlock

  32.   bxxx powiedział

    Czy ktoś może umieścić oryginalną zawartość pliku /etc/host.old
    Przez pomyłkę go usunąłem.

    Dziękuję.

  33.   Judd powiedział

    Hola!
    Byłbyś tak uprzejmy, aby mi wyjaśnić, jak wyeliminować to, co pojawia się w konsoli, za każdym razem, gdy ją otwieram, mam Arch.Linux 32 bity z Kde:

    zadeklaruj -x COLORTERM = »terminal-gnome»
    declare -x DBUS_SESSION_BUS_ADDRESS=»unix:abstract=/tmp/dbus-F4MG1bJZhB,guid=58b029ee172e705e35e2b72f543bf1b7″
    deklaruj -x DESKTOP_SESSION = »Obszar roboczy Plazmy KDE»
    zadeklaruj -x DISPLAY = »: 0 ″
    deklaruj -x GPG_AGENT_INFO = »/ home / javier / .gnupg / S.gpg-agent: 18358: 1 ″
    zadeklaruj -x GS_LIB = »/ home / javier / .fonts»
    declare -x GTK2_RC_FILES=»/etc/gtk-2.0/gtkrc:/home/javier/.gtkrc-2.0:/home/javier/.kde4/share/config/gtkrc-2.0″
    zadeklaruj -x GTK_MODULES = »moduł-canberra-gtk»
    zadeklaruj -x GTK_RC_FILES = »/ etc / gtk / gtkrc: /home/javier/.gtkrc: /home/javier/.kde4/share/config/gtkrc»
    deklaruj -x HOME = »/ home / javier»
    deklaruj -x KDE_FULL_SESSION = »prawda»
    deklaruj -x KDE_MULTIHEAD = »fałsz»
    zadeklaruj -x KDE_SESSION_UID = »1000 ″
    zadeklaruj -x KDE_SESSION_VERSION = »4 ″
    deklaruj -x LANG = »en_AR.UTF-8 ″
    deklaruj -x LOGNAME = »javier»
    deklaruj -x MAIL = »/ var / spool / mail / javier»
    deklaruj -x MOZ_PLUGIN_PATH = »/ usr / lib / mozilla / plugins»
    zadeklaruj -x OLDPWD
    deklaruj -x PATH = »/ usr / local / sbin: / usr / local / bin: / usr / bin: / usr / bin / site_perl: / usr / bin / vendor_perl: / usr / bin / core_perl»
    zadeklaruj -x PWD = »/ home / javier»
    deklaruj -x QT_PLUGIN_PATH = »/ home / javier / .kde4 / lib / kde4 / plugins /: / usr / lib / kde4 / plugins /»
    deklaruj -x SESSION_MANAGER = »local / thebest: @ / tmp / .ICE-unix / 18390, unix / thebest: /tmp/.ICE-unix/18390 ″
    zadeklaruj -x POWŁOKA = »/ bin / bash»
    zadeklaruj -x SHLVL = »2 ″
    zadeklaruj -x SSH_ASKPASS = »/ usr / lib / seahorse / seahorse-ssh-askpass»
    zadeklaruj -x TERM = »xterm»
    deklaruj -x USER = »javier»
    zadeklaruj -x VTE_VERSION = »3603 ″
    zadeklaruj -x WINDOWID = »85983238 ″
    zadeklaruj -x XAUTHORITY = »/ home / javier / .Xauthority»
    zadeklaruj -x XCURSOR_SIZE = »0 ″
    zadeklaruj -x XCURSOR_THEME = »KDE_Classic»
    zadeklaruj -x XDG_CURRENT_DESKTOP = »KDE»
    zadeklaruj -x XDG_DATA_DIRS = »/ usr / share: / usr / share: / usr / local / share»
    deklaruj -x XDG_RUNTIME_DIR = »/ run / user / 1000 ″
    zadeklaruj -x XDG_SEAT = »miejsce0 ″
    zadeklaruj -x XDG_SESSION_ID = »c2 ″
    zadeklaruj -x XDG_VTNR = »1 ″

    Nie wiem, co jeszcze robić i to jest bardzo denerwujące ...
    Byłbym bardzo wdzięczny!
    Apeluję do twojego doświadczenia!
    Bardzo dziękuję i pozdrawiam. -

  34.   Felix Cabrera powiedział

    Jak usunąć reklamy w witrynie »Haha»
    Zanim umieścisz numer do usunięcia i to wszystko
    teraz nic się nie dzieje
    możesz pomóc?
    pozdrowienia
    Felix

  35.   pedro powiedział

    Witam, jestem prawie początkującym użytkownikiem Debiana, wypróbowałem skrypt i działa bardziej niż bym chciał, pozwól mi wyjaśnić, testując go, nie widzę według których stron internetowych, na stronie gazety widzę tylko nagłówek okładka, brak komentarza do newsów, a na tym blogu to samo się ze mną dzieje, nie widzę nic poza tym, co jest w pudełkach, ani nie widzę artykułu ani komentarzy, wszystko to z firefoxa czyli przeglądarka, której używam, jak mogę cofnąć zmiany w tym skrypcie? Usunąłem go już z crona, ale "efekty" pozostały, dziękuję bardzo.