hosty: Skript pro odstranění reklam v libovolném prohlížeči

Vzhledem k tomu, že jsem vyzkoušel aplikaci AdAway pro Android, hledal jsem to samé pro Linux, ale nemohl jsem ji najít, pokud existují podobná řešení, jako je ta, která je zde již publikována Skript pro odstranění reklamy v libovolném prohlížeči, ale není to přesně to, co hledám. Jaký je rozdíl? AdAway vezme více písem, sloučí je, odstraní duplicitní řádky a vyčistí soubor.

A také skripty, které našel, nepoužívaly váš původní soubor hostitelů, to znamená, že konfigurace vašeho souboru hostitelů nebyly v generovaném souboru hostitelů. Při hledání jsem tedy našel skript, který se velmi přiblížil, upravil jsem ho a změnil, abych konečně dosáhl přesně toho, co jsem chtěl, výsledkem je hosty, tak tomu říkejte.

Výhody oproti AdBlocku a dalším rozšířením prohlížeče? Kromě toho, že to funguje na celém operačním systému najednou, vyhýbá se použití zdrojů tohoto typu rozšíření.

Požadavky:

Vyžaduje cURL a Wget

Nainstalujeme požadavky:

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

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

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

SUSE:
$ sudo zypper in curl wget

Nainstalovat 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

Nyní jej spouštíme (Nezapomeňte jej spustit alespoň jednou týdně nebo měsíčně, aby byl soubor hostitelů aktualizován a blokovány nové reklamní weby):
$ hosty

Obnovte původní soubor hostitelů

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

Odinstalujte skript

$ sudo rm /usr/local/bin/hosty

Tip: Chcete-li upravit soubor hostitelů, doporučuji upravit soubor /etc/hosts.original a poté spustit hosty, tímto způsobem hosty vygenerují soubor hostitelů s vaším osobním nastavením (Udělejte to, pokud jste již dříve spustili hosty, ne dříve.).

Veškerý kód skriptu je k dispozici v mém GitHub.

Zdravím!


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   Jorge řekl

    Nezapomeňte jej také přidat do Cronu. Udělal jsem to, abych pro mě udělal ten hit.

    Právě jsem to otestoval a funguje to perfektně. Dokonce bych zašel tak daleko, že bych řekl, že funguje lépe než metoda s démony jako Squid nebo Privoxy.

    Je to oceněno!

    1.    Jorge řekl

      Pochybnost ano:

      Jak mohu přispět do svého seznamu blokovaných reklam? Nahraji některé do svého githubu, který jsem právě zkusil, a fungují.

      Dramatické je také to, že v prostoru (úseku) je ponechán prostor s varováním, že „jej nelze spojit“. Pomoc si ceníme 😀

      1.    johnfree řekl

        Mám problém, byl již zahrnut, spusťte hosty a aktualizujte hostitele. Jsou převzaty přímo z vašeho úložiště.

  2.   Babel řekl

    Úžasná metoda. Jednoduché a snadné. Děkuji.

  3.   Chaparral řekl

    Díky za vstup. Funguje.

  4.   ThecaTony řekl

    Velice vám děkuji za vaši práci, zkusím to.

  5.   Joaquin řekl

    Dobrý příspěvek! Myslím, že jste špatně napsali příkaz, pokud se nemýlím:

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

    Nemělo by to být naopak?

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

    1.    johnfree řekl

      Ne, toto dobře napsané má obnovit původní soubor. Jediné kroky, které jsou nutné, jsou instalace a spuštění, ostatní se musí vrátit zpět k původnímu hostiteli a program odinstalovat.

      1.    Joaquin řekl

        Ano, je to tak, že jsem neviděl kód vašeho skriptu. Teď chápu, že skript vytvoří kopii originálu s názvem „hosts.original“ a já jsem vás posral. Myslel jsem, že je to udělat kopii před spuštěním skriptu. Na zdraví!

  6.   sojový řekl

    Velmi dobře, opravdu se mi to líbí.

    Jediný návrh, který vidím, je v bodě „Analýza, čištění, odstranění duplikátů, řazení ...“ zahrnout tam soubor „bílé listiny“ nebo výjimky

    1.    johnfree řekl

      Připraveno, od nynějška můžete do /etc/hosts.whitelist přidávat výjimky na každý řádek. Může to být adresa samotná nebo s 0.0.0.0 nebo s 127.0.0.1 na začátku.

  7.   ianpocks řekl

    Funguje to super zatím alespoň dobře !!!

    Děkuji moc 🙂

  8.   Bert řekl

    Skvělý. Přesně to, co jsem potřeboval. V Kontactu nebylo možné otevřít prohlížeč bez přečtení řetězce reklam visících z článku.
    Děkuju.

  9.   Xurxo řekl

    Děkujeme za zveřejnění skriptu.
    Je snadno auditovatelný, upravitelný a ušetří mi to, že musím svůj seznam v / etc / hosts aktualizovat tak často.

  10.   rawBasic řekl

    Velmi dobře. Děkuji za sdílení. Argentinské pozdravy.

  11.   Martin řekl

    Jedna otázka, je tato metoda detekovatelná anti-adblock webovými stránkami, které rojí web?

    1.    johnfree řekl

      Pokud je zjistitelný, měl jsem tento problém zatím pouze na jednom webu.

      1.    johnfree řekl

        Opravte to přidáním webu do seznamu povolených.

      2.    Martin řekl

        Děkujeme za odpověď a za nástroj.

  12.   XPT řekl

    Velmi dobře !!
    Děkujeme!

  13.   pegasusonline řekl

    Jak dobrý je tento skript!

    Jako návrh bych vám řekl, abyste zlepšili implementaci a masifikaci skriptu, je to, že v pokynech použijte git clone / git pull, abychom všichni měli prospěch z aktualizací!

    Moc děkuji a držte to !!!

    pozdravy
    Pegasus online

    1.    johnfree řekl

      K tomu nepoužívám git, ale skript VŽDY běží automaticky aktualizovaný od dne 0. S tímto jednoduchým řádkem vždy běží aktualizovaný.
      https://github.com/juankfree/hosty/blob/master/hosty

      Na zdraví! 🙂

  14.   moa řekl

    V jakém okamžiku byste obnovili původní hostitelský soubor? Nebo to nemusím obnovovat, protože ten krok jsem neudělal, protože jsem ho přidal do cronu a také jak bych upravil hostitele. Původní, jak to jde 😀

    1.    johnk řekl

      Přesně, obnovení původního hostitele samozřejmě nemusí být provedeno.

      Pokud jde o cron, nepoužívám ho s cronem, Google má určitě velmi dobré výukové programy, je to v mých plánech rozšířit hosty, grafické rozhraní, cron atd. ale v budoucnosti.

      Úpravy hosts.original:
      V terminálu: $ sudo FAVORITE-TEXT-EDITOR /etc/hosts.original

      Zdravím!

  15.   cyttorak řekl

    Haló

    Snažil jsem se vylepšit váš skript a nechal jsem ho takto: https://github.com/cyttorak/hosty/blob/master/hosty.sh
    Co takhle?
    Toto je moje první rozvětvení na github, tak mi prosím dejte vědět, jestli jsem měl přejmenovat skript tak, aby respektoval vaše autorství nebo přidal nějaké uznání nebo jen takhle.
    Děkuju.

    1.    johnk řekl

      Dobrý den!
      Vysvětlím, jak normálně postupovat v Githubu, když chcete přispět do projektu 🙂
      1) Vidlice - Hotovo
      2) Upravte, co chcete, zachování kompatibility s původním projektem - Polovina, upravili jste věci, které neodpovídají v originále hostů, myslím, že rozumíte tomu, co mám na mysli, a prosím, nechte si všechny texty v angličtině.
      3) Vytvořte požadavek na stažení původního projektu, abyste to mohli udělat, musíte jít do svého úložiště, přejít na Pull Requests https://i.imgur.com/Y1PMKST.png pak na nový požadavek na vyžádání http://i.imgur.com/ljhaIdH.png a vysvětlit všechny provedené změny
      4) Poté souhlasím s vytáhnutím a voila, původní hosty se aktualizují o vaše uživatelské jméno jako autora.

      Moc děkuji za váš zájem, pokud mě chcete rychle kontaktovat na mém blogu, máte mé sociální sítě http://juankblog.tk/ nejlépe na Twitteru nebo G +, pokud žádný nemáte. Na zdraví!

      1.    cyttorak řekl

        Haló
        Zprávu, kterou mám, jsem již upravil ve španělštině.
        O bodu 2 kompatibility, nevím, co tím myslíte, je to kvůli použití awk?
        Pravděpodobně bude celý den venku, takže zítra zatáhnu
        Díky moc. Sbohem.

    2.    johnk řekl

      Myslím změny README.md, hosty a install.sh, nejsou projektem podporovány. Vraťte se k původním souborům.

    3.    johnk řekl

      Připraveno, přizpůsobte balíček readme a aur novému kódu a zajistěte jejich lepší čitelnost.

      Zdravím a děkuji za spolupráci na projektu, ať žije svobodný software! : D.

      1.    cyttorak řekl

        Jedna otázka, proč jsou domény na řádku 42 z https://github.com/juankfree/hosty/blob/master/hosty.sh žízní? Neznamená to, že je na seznamu povolených bez ohledu na to, co uživatel dělá?

    4.    johnk řekl

      Hosty je blokátor reklam, myslel jsem si to, pokud blokuje webové stránky takovým způsobem, že je nemožné získat přístup k obsahu, stává se z toho dobrovolná cenzura a vzdaluje se od blokování reklam, i když se zobrazuje více reklam, přinejmenším k tomu mám přístup na webové stránky, protože myšlenkou je být schopen používat všechny webové stránky, i když to znamená vidět reklamu.

      Sed se používá proto, že ... nevím, fungovalo to v době, kdy jsem to napsal jednoduše, myšlenkou by bylo použít stejnou metodu jako soubor whitelist a aby se uživatel rozhodl pomocí -a / –all parametr, pokud chce blokovat všechno nebo ne, i když si myslím, že nemůžete brát parametry nezměněné https://github.com/juankfree/hosty/blob/master/hosty nebo když?

      1.    cyttorak řekl

        Zkoušku jsem provedl, a kdybych mohl.
        Mira http://back.host22.com/ej.sh
        a běž
        bash <(zvlnění -s http://back.host22.com/ej.sh) jedna dva tři čtyři
        výstup bude:
        Param: jeden
        Param: dva
        Param: tři
        Param: čtyři

        Za chvíli udělám další tah s některými vylepšeními

      2.    cyttorak řekl

        Zkoušku jsem provedl, a kdybych mohl. Běh
        bash <(curl -s back.host22.com/ej.sh) jedna dva tři čtyři
        a výstup bude:
        Param: jeden
        Param: dva
        Param: tři
        Param: čtyři

        Za chvíli udělám další tah s některými vylepšeními

      3.    cyttorak řekl

        Zkoušku jsem provedl, a kdybych mohl. Běh
        bash <(curl -s back. host22. com / ej.sh) jedna dvě tři čtyři # odstranit mezery z adresy URL, píšu to takto, protože pokud ne, komentář nebude publikován
        a výstup bude:
        Param: jeden
        Param: dva
        Param: tři
        Param: čtyři

        Za chvíli udělám další tah s některými vylepšeními

  16.   čichat řekl

    Předpokládám, že by bylo příliš mnoho žádat, aby reklamní okno zmizelo jako adblock? 😛 žádat, aby nezůstalo. Pro ostatní je skript báječný a spotřebu paměti RAM a dalších můžete vidět na 20 otevřených kartách. Mohu přidat další seznamy?

    1.    yukiteru řekl

      Není to obtížné, můžete ve Firefoxu použít vlastní styl CSS, abyste zabránili tomu, aby tato okna zůstala, zde jsou informace o postupu, http://foro.desdelinux.net/viewtopic.php?pid=22259#p22259

      Metoda je v podstatě stejná, je přidán pouze jeden další krok, aby se zabránilo ošklivé stránce, která se objeví a říká, že webová stránka není k dispozici. Doufám, že to pomůže.

  17.   Patricio řekl

    Děkuji moc, to je to, co jsem hledal pro Spotify, bude možné skrýt reklamní pole klienta Linux? Musím to přidat do Cronu?

    S pozdravem,

    1.    johnk řekl

      Nemáte zač 🙂
      Nevím, ale je to součást samotné aplikace, nemyslím si, že je to velmi snadné
      Ne, aktualizuji vždy ručně
      Zdravím: D!

      1.    Lesco řekl

        Mám to nainstalované z AUR, ale vůbec to nefunguje. Které mohou být?

      2.    Lesco řekl

        S pokyny v tomto příspěvku to nefunguje ani pro mě.

      3.    johnk řekl

        Nainstalujte jej z AUR:
        $yaourt -S hosty

        a spusťte jej:
        $ sudo host

        pozdravy

      4.    Lesco řekl

        Dělám to tak, ale vůbec to nefunguje. Nevidím únik reklamy. Nevím, v čem bude problém. V tuto chvíli pokračuji s AdBlock Plus.
        Děkuju.

      5.    yukiteru řekl

        @lesco kontroluje, zda soubor / etc / hosts obsahuje nové položky vytvořené skriptem. Je-li to možné, zkontrolujte obsah souboru http://paste.desdelinux.net/

      6.    Lesco řekl

        Řekl bych, že soubor / etc / hosts je prakticky prázdný. Má pouze tyto řádky:

        # Hostitelé blokující reklamy generované po 2. března 20:05:48 ART 2015
        # Nepište pod tento řádek. Ztratíte se, pokud znovu spustíte hosty.

        Když spustím "sudo hosty", dostanu tento výsledek:
        http://paste.desdelinux.net/?dl=5110

        Zdravím.

      7.    johnk řekl

        Spusťte příkaz:
        $ ls -lah / etc / hosts

        a vložte výstup sem.

    2.    Lesco řekl

      @JuanK, děkuji za pozornost. Toto je výstup takového příkazu:

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

      1.    johnk řekl

        Běh:
        $ hosty - ladění

        a vložte výstup tohoto příkazu a některé z prvních řádků souboru, který je označen za „Výsledky můžete zobrazit v“

      2.    johnk řekl

        Příkaz je „hosty –debug“
        Měli jste špatný čas, je to „hosty“ následovaný dvěma pomlčkami „-“ a „debug“

      3.    johnk řekl

        hosty prostor pomlčka střední pomlčka ladění

      4.    Lesco řekl

        Výstup „hosty –debug“:

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

        Soubor zmíněný za „Můžete vidět výsledky v“ je v mém případě /tmp/tmp.viLL774YmV a jeho jediné řádky jsou:

        # Hostitelé blokující reklamy vygenerovali St 4. března 23:38:18 ART 2015
        # Nepište pod tento řádek. Ztratíte se, pokud znovu spustíte hosty.

        V souboru nejsou žádné další řádky.

  18.   Guille Monor řekl

    Ahoj Honzo!

    děkuji za tento skvělý vývoj zvaný hosty.
    Hledal jsem adresy, které jsem chtěl přidat na hosty, nějaké nové reklamy, jak bych mohl já a další spolupracovat, abyste je přidali do „úložiště“ reklam?

    pozdravy od ARG

    Guille

  19.   Felipe řekl

    Dobrý den,
    Můžete to dát do smartphonu, který má ubuntu, nebo musíte něco změnit, abyste jej přizpůsobili? A pokud je odpověď ano, tak jaká je velikost víceméně po nasazení? vědět, jestli mám dost místa.
    díky

  20.   Pablo řekl

    Skript selže na distribucích jako Gentoo, které ve výchozím nastavení nepoužívají sudo. Měli byste vytvořit verzi bez sudo a označit, že cronjob bude muset být vytvořen v administrátorském cronu.

    Jinak skvělý nápad. Bylo potřeba něco pohodlného, ​​jako je Adaway, ale pro Linux.
    Zdravím.

  21.   Marcelo řekl

    Mnohokrát děkuji!!! Velmi obrigado !!!

  22.   gato2707 řekl

    Na začátku února 2016 byl program změněn tak, aby se stal nástrojem cenzury. Rozsáhlejší vysvětlení v:

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

    1.    S řekl

      Ahoj. Jsem autorem změny, a proto jsem se zmýlil, protože tato změna je nechtěná chyba.

      Skript byl upraven, jak je vysvětleno v potvrzení, aby umožnil dvě věci
      1- Že skript může používat písma v zipu a .7z
      2 - Uživatel mohl přidávat zdroje, aniž by je musel vkládat do skriptu
      (Můžete to ověřit v komentáři ke sloučení, který zavádí chybu, kterou jste zmínili).

      Nejprve jsem našel několik zdrojů v zipu a 7z a myslel jsem, že je zajímavé, že je skript zvládne, tak jsem je přidal (dal jsem všechny, které jsem našel, aby se lépe otestoval, proto je tam všechno), abych otestoval potřebné úpravy, abych je mohl rozbalit a přidat k výsledku.

      Pak jsem chtěl také otestovat seznam aede a přidat jej.

      Během toho všeho jsem si uvědomil, že mi to bránilo nahrát změny do projektu, protože tyto zdroje, jak říkáte, by neměly být ve skriptu. Odtud tedy přišla další modifikace, ke které jsem komentoval: že uživatel může přidávat zdroje (přes ~ / .hosty), aniž by musel upravovat skript.

      Kvůli nedostatku času byly všechny tyto změny provedeny diskontinuálně a zdá se, že jsem před sloučením zapomněl odstranit zdroje skriptu.
      Aby ještě více urazili zranění, přijali můj „požadavek na vytažení“, aniž by si tuto chybu uvědomili.

      Myslím, že je pochopitelné, že nikdo nehodlal zahrnout tyto zdroje v naději, že si toho nevšimne ani původní autor, který musí přijmout požadavek na stažení, ani koncoví uživatelé. Byla to prostě chyba.

      Doufám, že jsem objasnil, co se stalo, a žádám vás, abyste svůj příspěvek upravili tak, aby se promítl.

      Děkuji moc a omlouvám se za nepříjemnosti.

  23.   ivan řekl

    Ahoj Honzo! Tento skript používám od doby, kdy jste jej zveřejnili ... ale nyní již neodstraňuje reklamy YouTube….

    mohl bys to opravit ??

    děkuji!

    Zdravím!

  24.   Predatux řekl

    Dobře.
    Už nějakou dobu používám hosty na Gnu / Linux. Snažím se, aby to fungovalo na Macu, mohl byste mi pomoct?
    pozdravy