hosty: Skript zum Entfernen von Anzeigen in einem beliebigen Browser

Seit ich die AdAway-App für Android ausprobiert habe, habe ich nach dem gleichen für Linux gesucht, aber ich konnte es nicht finden, wenn es ähnliche Lösungen wie die hier bereits veröffentlichte gibt Skript zum Entfernen von Werbung in einem beliebigen Browser, aber es ist nicht genau das, wonach ich suche. Was ist der Unterschied? AdAway verwendet mehrere Schriftarten, führt sie zusammen, entfernt doppelte Zeilen und bereinigt die Datei.

Und auch die gefundenen Skripte verwendeten nicht Ihre ursprüngliche Hosts-Datei, dh die Konfigurationen Ihrer Hosts-Datei befanden sich nicht in der generierten Hosts-Datei. Bei der Suche habe ich ein Skript gefunden, das sehr nahe kam. Ich habe es bearbeitet und geändert, um endlich genau das zu erreichen, was ich wollte. Das Ergebnis ist GästeNennen wir es so.

Vorteile gegenüber AdBlock und anderen Browsererweiterungen? Zusätzlich zu der Tatsache, dass dies auf dem gesamten Betriebssystem gleichzeitig funktioniert, wird die Verwendung von Ressourcen dieser Art von Erweiterungen vermieden.

Anforderungen:

Benötigt cURL und Wget

Wir installieren die Anforderungen:

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

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

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

SUSE:
$ sudo zypper in curl wget

Hosty installieren:

$ 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

Jetzt führen wir es aus (Denken Sie daran, es mindestens einmal pro Woche oder pro Monat auszuführen, um Ihre Hosts-Datei zu aktualisieren und neue Werbeseiten zu blockieren):
$ hosty

Stellen Sie die ursprüngliche Hosts-Datei wieder her

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

Deinstallieren Sie das Skript

$ sudo rm /usr/local/bin/hosty

TIPP: Wenn Sie die Hosts-Datei ändern möchten, empfehle ich, die Datei /etc/hosts.original zu ändern und dann hosty auszuführen. Auf diese Weise generiert hosty die Hosts-Datei mit Ihren persönlichen Einstellungen (tun Sie dies, wenn Sie hosty bereits zuvor ausgeführt haben , nicht bevor.).

Der gesamte Skriptcode ist in meinem verfügbar GitHub.

Viele Grüße!


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Jörg sagte

    Vergessen Sie nicht, es auch dem Cron hinzuzufügen. Ich habe es getan, um diesen Treffer für mich zu erzielen.

    Ich habe es gerade getestet und es funktioniert perfekt. Ich würde sogar so weit gehen zu sagen, dass es besser funktioniert als die Methode mit Dämonen wie Squid oder Privoxy.

    Es wird geschätzt!

    1.    Jörg sagte

      Ein Zweifel, ja:

      Wie trage ich zu meiner Liste blockierter Anzeigen bei? Ich werde einige auf meinen Github hochladen, die ich gerade ausprobiert habe und die funktionieren.

      Das Drama ist auch, dass der Raum (Abschnitt) mit einem Raum mit der Warnung belassen wird, dass "er nicht verbunden werden kann". Hilfe wird geschätzt 😀

      1.    juankfrei sagte

        Ich habe das Problem, es war bereits enthalten, führen Sie hosty aus, um die Hosts zu aktualisieren. Sie werden direkt aus Ihrem Repository entnommen.

  2.   babel sagte

    Wunderbare Methode. Simpel und einfach. Dankeschön.

  3.   Chaparral sagte

    Danke für die Eingabe. Funktioniert.

  4.   ThecaTony sagte

    Vielen Dank für Ihre Arbeit, ich werde es versuchen.

  5.   Joaquin sagte

    Guter Post! Ich denke, Sie haben einen Befehl falsch geschrieben, wenn ich mich nicht irre:

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

    Sollte es nicht umgekehrt sein?

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

    1.    juankfrei sagte

      Nein, dies ist gut geschrieben, um die Originaldatei wiederherzustellen. Die einzigen erforderlichen Schritte sind das Installieren und Ausführen, die anderen Schritte zum Zurückkehren zum ursprünglichen Host und das Deinstallieren des Programms.

      1.    Joaquin sagte

        Ja, ich habe den Code Ihres Skripts nicht gesehen. Jetzt verstehe ich, dass das Skript eine Kopie des Originals namens "hosts.original" erstellt und ich habe es vermasselt. Ich dachte, es wäre die Kopie zu machen, bevor das Skript ausgeführt wird. Schöne Grüße!

  6.   Sojabohnenöl sagte

    Sehr gut, ich mag es wirklich.

    Der einzige Vorschlag, den ich sehe, ist an der Stelle "Parsen, Bereinigen, Deduplizieren, Sortieren ..." eine "weiße Liste" -Datei oder Ausnahmen

    1.    juankfrei sagte

      Bereit, ab sofort können Sie Ausnahmen in /etc/hosts.whitelist einfügen, eine pro Zeile. Dies kann die Adresse allein oder mit 0.0.0.0 oder mit 127.0.0.1 am Anfang sein.

  7.   ianpocks sagte

    Es funktioniert zumindest vorerst super gut !!!

    Vielen Dank 🙂

  8.   Bert sagte

    Groß. Genau das, was ich brauchte. In Kontact war es unmöglich, den Browser zu öffnen, ohne dass die Anzeigenreihe zum Lesen am Artikel hing.
    Danke.

  9.   Xurxo sagte

    Vielen Dank für die Veröffentlichung des Skripts.
    Es ist leicht überprüfbar, bearbeitbar und erspart mir das gelegentliche Aktualisieren meiner Liste in / etc / hosts.

  10.   rawBasic sagte

    Sehr gut. Danke für das Teilen. Argentinische Grüße.

  11.   Martin sagte

    Eine Frage: Ist diese Methode für Anti-Adblock-Websites erkennbar, die das Web überschwemmen?

    1.    juankfrei sagte

      Wenn es erkennbar ist, hatte ich bisher nur auf einer Website dieses Problem.

      1.    juankfrei sagte

        Beheben Sie das Problem, indem Sie das Web zur Whitelist hinzufügen.

      2.    Martin sagte

        Danke für die Antwort und für das Tool.

  12.   xpt sagte

    Sehr gut !!
    Danke!

  13.   pegasusonline sagte

    Wie gut dieses Skript ist!

    Als Vorschlag würde ich Ihnen sagen, dass Sie die Implementierung und Massifizierung des Skripts verbessern sollten, indem Sie in den Anweisungen git clone / git pull verwenden, damit wir alle von den Updates profitieren!

    Vielen Dank und weiter so !!!

    Grüße
    Pegasus Online

    1.    juankfrei sagte

      Ich benutze dafür kein Git, aber das Skript wird IMMER automatisch ab Tag 0 aktualisiert ausgeführt. Mit dieser einfachen Zeile wird es immer aktualisiert ausgeführt.
      https://github.com/juankfree/hosty/blob/master/hosty

      Grüße 🙂

  14.   moa sagte

    Ab wann würden Sie die ursprüngliche Hostdatei wiederherstellen? Oder ich muss es nicht wiederherstellen, weil ich diesen Schritt nicht ausgeführt habe, als ich es dem Cron hinzufügte, und auch, wie ich die ursprünglichen Hosts ändern würde, wie es geht

    1.    Juanka sagte

      Genau das Wiederherstellen des ursprünglichen Hosts muss offensichtlich nicht durchgeführt werden.

      In Bezug auf Cron verwende ich es nicht mit Cron. Google hat sicherlich sehr gute Tutorials. Es ist geplant, Hosty, grafische Oberfläche, Cron usw. zu erweitern. aber in der Zukunft.

      So ändern Sie hosts.original:
      In einem Terminal: $ sudo FAVORITE-TEXT-EDITOR /etc/hosts.original

      Viele Grüße!

  15.   Cyttorak sagte

    Hallo

    Ich habe versucht, Ihr Skript zu verbessern und habe es so belassen: https://github.com/cyttorak/hosty/blob/master/hosty.sh
    Was denken Sie?
    Dies ist mein erstes Mal, dass ich mich auf Github freue. Lassen Sie mich wissen, ob ich das Skript hätte umbenennen sollen, um Ihre Urheberschaft zu respektieren oder eine Bestätigung hinzuzufügen oder einfach so.
    Danke.

    1.    Juanka sagte

      Hallo!
      Ich werde erklären, wie Sie in Github normal vorgehen, wenn Sie zu einem Projekt beitragen möchten 🙂
      1) Gabel - Fertig
      2) Ändern Sie, was Sie wollen, und behalten Sie die Kompatibilität mit dem Originalprojekt bei. - Die Hälfte, Sie haben Dinge geändert, die nicht mit dem Hosty-Original übereinstimmen. Ich denke, Sie verstehen, was ich meine, und bitte halten Sie alle Texte auf Englisch.
      3) Stellen Sie eine Pull-Anfrage an das ursprüngliche Projekt. Dazu müssen Sie in Ihr Repository gehen und zu Pull-Anfragen gehen https://i.imgur.com/Y1PMKST.png dann zu Neue Pull-Anfrage http://i.imgur.com/ljhaIdH.png und erklären Sie alle vorgenommenen Änderungen
      4) Dann akzeptiere ich den Pull und Voila, der ursprüngliche Hosty wird mit Ihrem Benutzernamen als Autor aktualisiert.

      Vielen Dank für Ihr Interesse. Wenn Sie mich schnell auf meinem Blog kontaktieren möchten, haben Sie meine sozialen Netzwerke http://juankblog.tk/ vorzugsweise auf Twitter oder G +, wenn Sie keine haben. Schöne Grüße!

      1.    Cyttorak sagte

        Hallo
        Ich habe die Nachricht, die ich auf Spanisch habe, bereits geändert.
        Zu Punkt 2 über Kompatibilität weiß ich nicht, was Sie meinen. Liegt es an der Verwendung von awk?
        Wahrscheinlich, um den ganzen Tag draußen zu sein, also mache ich morgen den Zug
        Danke vielmals. Bis später.

    2.    Juanka sagte

      Ich meine Änderungen an README.md, hosty und install.sh, sie werden vom Projekt nicht unterstützt. Kehren Sie zu den Originaldateien zurück.

    3.    Juanka sagte

      Bereiten Sie vor, passen Sie die Readme-Datei und das aur-Paket an den neuen Code an und machen Sie sie lesbarer.

      Grüße und vielen Dank für Ihre Zusammenarbeit mit dem Projekt, es lebe die freie Software! : D.

      1.    Cyttorak sagte

        Eine Frage, warum sind die Domains in Zeile 42 von https://github.com/juankfree/hosty/blob/master/hosty.sh durch Durst? Bedeutet das nicht eine Whitelist, unabhängig davon, was der Benutzer tut?

    4.    Juanka sagte

      Hosty ist ein Werbeblocker, dachte ich mir. Wenn es Websites so blockiert, dass es unmöglich ist, auf den Inhalt zuzugreifen, wird es zu einer selbst auferlegten Zensur und entfernt sich von einem Werbeblocker, selbst wenn mehr Anzeigen geschaltet werden. Zumindest kann ich auf die Websites zugreifen, da die Idee darin besteht, alle Websites nutzen zu können, auch wenn dies bedeutet, Werbung zu sehen.

      Sed wird verwendet, weil ... ich weiß nicht, es hat zu dem Zeitpunkt funktioniert, als ich es einfach geschrieben habe. Die Idee wäre, dieselbe Methode wie die Whitelist-Datei zu verwenden und den Benutzer mit -a / –all zu entscheiden Parameter, ob er alles blockieren will oder nicht, obwohl ich denke, dass Sie keine Parameter unverändert nehmen können https://github.com/juankfree/hosty/blob/master/hosty oder wenn?

      1.    Cyttorak sagte

        Ich habe den Test gemacht und wenn ich könnte.
        Mira http://back.host22.com/ej.sh
        und Renn
        bash <(curl -s http://back.host22.com/ej.sh) eins zwei drei vier
        Die Ausgabe lautet:
        Param: eins
        Param: zwei
        Param: drei
        Param: vier

        In einer Weile werde ich einen weiteren Zug mit einigen Verbesserungen machen

      2.    Cyttorak sagte

        Ich habe den Test gemacht und wenn ich könnte. Lauf
        bash <(curl -s back.host22.com/ej.sh) eins zwei drei vier
        und die Ausgabe wird sein:
        Param: eins
        Param: zwei
        Param: drei
        Param: vier

        In einer Weile werde ich einen weiteren Zug mit einigen Verbesserungen machen

      3.    Cyttorak sagte

        Ich habe den Test gemacht und wenn ich könnte. Lauf
        bash <(curl -s back. host22. com / ex.sh) eins zwei drei vier #entferne die Leerzeichen aus der URL, ich schreibe es so, weil sonst der Kommentar nicht veröffentlicht wird
        und die Ausgabe wird sein:
        Param: eins
        Param: zwei
        Param: drei
        Param: vier

        In einer Weile werde ich einen weiteren Zug mit einigen Verbesserungen machen

  16.   Snock sagte

    Ich nehme an, es wäre zu viel zu verlangen, dass das Werbefenster verschwindet, wie es Adblock tut? 😛 zu fragen, dass es nicht bleibt. Im Übrigen ist das Skript fabelhaft und Sie können den Verbrauch von RAM und mehr mit 20 geöffneten Registerkarten sehen. Kann ich weitere Listen hinzufügen?

    1.    yukiteru sagte

      Es ist nicht schwierig, Sie können einen benutzerdefinierten CSS-Stil in Firefox verwenden, um zu verhindern, dass diese Fenster verbleiben. Informationen zum Verfahren finden Sie hier. http://foro.desdelinux.net/viewtopic.php?pid=22259#p22259

      Die Methode ist im Wesentlichen dieselbe. Es wird nur ein weiterer Schritt hinzugefügt, um die hässliche Seite zu vermeiden, die besagt, dass die Webseite nicht verfügbar ist. Ich hoffe, es hilft.

  17.   Patricio sagte

    Vielen Dank, es ist das, wonach ich für Spotify gesucht habe. Wird es möglich sein, die Werbebox des Linux-Clients zu verstecken? Muss ich es zu Cron hinzufügen?

    Grüße,

    1.    Juanka sagte

      Gern geschehen 🙂
      Ich weiß es nicht, aber es ist Teil der App selbst, ich denke nicht, dass es sehr einfach ist
      Nein, ich aktualisiere immer manuell
      Grüße: D!

      1.    Lesko sagte

        Ich habe es von AUR installiert, aber es funktioniert überhaupt nicht. Die sein kann?

      2.    Lesko sagte

        Mit den Anweisungen in diesem Beitrag funktioniert es auch bei mir nicht.

      3.    Juanka sagte

        Installieren Sie es von der AUR:
        $ yaourt -S Hosty

        und führen Sie es aus:
        $ sudo-Host

        Grüße

      4.    Lesko sagte

        Ich mache es so, aber es funktioniert überhaupt nicht. Ich sehe keine durchgesickerte Werbung. Ich weiß nicht, was das Problem sein wird. Im Moment fahre ich mit AdBlock Plus fort.
        Danke.

      5.    yukiteru sagte

        @lesco überprüft, ob die Datei / etc / hosts die neuen vom Skript erstellten Einträge enthält. Wenn möglich und zur Überprüfung, geben Sie den Inhalt der Datei durch http://paste.desdelinux.net/

      6.    Lesko sagte

        Ich würde sagen, dass die Datei / etc / hosts praktisch leer ist. Es hat nur diese Zeilen:

        # Hosts zum Blockieren von Werbung generiert am 2. März 20:05:48 ART 2015
        # Schreiben Sie nicht unter diese Zeile. Es geht verloren, wenn Sie Hosty erneut ausführen.

        Wenn ich "sudo hosty" starte, erhalte ich folgendes Ergebnis:
        http://paste.desdelinux.net/?dl=5110

        Grüße.

      7.    Juanka sagte

        Führen Sie den folgenden Befehl aus:
        $ ls -lah / etc / hosts

        und fügen Sie die Ausgabe hier ein.

    2.    Lesko sagte

      @ JuanK, danke für deine Aufmerksamkeit. Dies ist die Ausgabe eines solchen Befehls:

      -rw-r - r– 1 root root 0 2. März 20:15 / etc / hosts

      1.    Juanka sagte

        Lauf:
        $host –debuggen

        und fügen Sie die Ausgabe dieses Befehls und einige der ersten Zeilen der Datei ein, die nach "Sie können die Ergebnisse in sehen" angezeigt werden.

      2.    Juanka sagte

        Der Befehl lautet "hosty –debug".
        Sie hatten eine schlechte Zeit, es ist "hosty", gefolgt von zwei Bindestrichen "-" und "debug"

      3.    Juanka sagte

        Hosty Space Bindestrich Mittlerer Bindestrich Debug

      4.    Lesko sagte

        Die Ausgabe von "hosty –debug":

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

        Die nach "Sie können die Ergebnisse in sehen" erwähnte Datei lautet in meinem Fall /tmp/tmp.viLL774YmV. Die einzigen Zeilen sind:

        # Ad Blocking Hosts generiert Mi Mar 4 23:38:18 ART 2015
        # Schreiben Sie nicht unter diese Zeile. Es geht verloren, wenn Sie Hosty erneut ausführen.

        Die Datei enthält keine weiteren Zeilen.

  18.   Guille Monor sagte

    Hallo Juan!

    Mein Dank für diese großartige Entwicklung namens Hosty.
    Ich habe Adressen gefunden, die ich Hosty hinzufügen wollte, einige neue Anzeigen. Wie können ich und andere Ihnen helfen, sie dem "Repository" von Anzeigen hinzuzufügen?

    Grüße von ARG

    Guille

  19.   Felipe sagte

    hallo,
    Können Sie das in ein Smartphone mit Ubuntu einbauen oder müssen Sie etwas ändern, um es anzupassen? Und wenn die Antwort ja lautet, wie groß ist sie dann nach dem Anziehen mehr oder weniger? zu wissen, ob ich genug Platz habe.
    dank

  20.   Pablo sagte

    Das Skript schlägt in Distributionen wie Gentoo fehl, die standardmäßig kein sudo verwenden. Sie sollten eine Version ohne sudo erstellen und angeben, dass der Cronjob im Cron des Administrators erstellt werden muss.

    Ansonsten ausgezeichnete Idee. Etwas Bequemes wie Adaway wurde benötigt, aber für Linux.
    Grüße.

  21.   Marcelo sagte

    Danke vielmals!!! Sehr obrigado !!!

  22.   gato2707 sagte

    Anfang Februar 2016 wurde das Programm geändert, um ein Instrument der Zensur zu werden. Eine ausführlichere Erklärung in:

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

    1.    S sagte

      Hallo. Ich bin der Autor der Änderung und habe es daher vermasselt, weil diese Änderung ein unbeabsichtigter Fehler ist.

      Das Skript wurde wie im Commit erläutert geändert, um zwei Dinge zuzulassen
      1- Dass das Skript Schriftarten in Zip und in .7z verwenden kann
      2- Dass der Benutzer Quellen hinzufügen kann, ohne sie in das Skript einfügen zu müssen
      (Sie können dies im Kommentar der Zusammenführung überprüfen, der den von Ihnen erwähnten Fehler einführt.)

      Zuerst habe ich mehrere Quellen in zip und 7z gefunden und fand es interessant, dass das Skript damit umgehen kann. Deshalb habe ich sie hinzugefügt (ich habe alle, die ich gefunden habe, besser getestet, deshalb gibt es alles), um die notwendigen Änderungen zu testen dass ich sie entpacken und zum Ergebnis hinzufügen könnte.

      Dann wollte ich auch die Aede-Liste testen und fügte sie hinzu.

      Währenddessen wurde mir klar, dass ich die Änderungen nicht in das Projekt hochladen konnte, da diese Quellen, wie Sie sagen, nicht im Skript enthalten sein sollten. Von da an kam die andere Änderung, die ich Ihnen sagte: Der Benutzer konnte Quellen hinzufügen (über ~ / .hosty), ohne das Skript ändern zu müssen.

      Aus Zeitgründen wurden alle diese Änderungen diskontinuierlich vorgenommen, und es scheint, dass ich vergessen habe, die Skriptquellen vor dem Zusammenführen zu entfernen.
      Um die Verletzung zusätzlich zu beleidigen, wurde meine Pull-Anfrage akzeptiert, ohne diesen Fehler zu bemerken.

      Ich denke, es ist verständlich, dass niemand diese Quellen aufnehmen würde, in der Hoffnung, dass weder der ursprüngliche Autor, der die Pull-Anfrage akzeptieren muss, noch die Endbenutzer es bemerken würden. Es war einfach ein Fehler.

      Ich hoffe, ich habe geklärt, was passiert ist, und bitte Sie, Ihren Beitrag so zu ändern, dass er wiedergegeben wird.

      Vielen Dank und Entschuldigung für die Unannehmlichkeiten.

  23.   Ivan sagte

    Hallo John! Ich benutze dieses Skript, seit du es gepostet hast… aber jetzt werden YouTube-Anzeigen nicht mehr entfernt….

    Könntest du es reparieren?

    ich danke Ihnen!

    Grüße!

  24.   Predatux sagte

    Gut.
    Ich benutze Hosty unter Gnu / Linux schon seit einiger Zeit. Ich versuche, es auf dem Mac zum Laufen zu bringen. Können Sie mir helfen?
    Grüße