hosty: Skript na odstránenie reklám v ľubovoľnom prehliadači

Pretože som vyskúšal aplikáciu AdAway pre Android, hľadal som to isté pre Linux, ale nemohol som ho nájsť, ak existujú podobné riešenia, ako už tu zverejnené Skript na odstránenie reklamy v ľubovoľnom prehliadači, ale nie je to presne to, čo hľadám. V čom je rozdiel? AdAway vezme viac typov písma, spojí ich, odstráni duplicitné riadky a vyčistí súbor.

A tiež skripty, ktoré našla, nepoužívali váš pôvodný súbor hostiteľov, to znamená, že konfigurácie vášho súboru hostiteľov neboli v generovanom súbore hostiteľov. Takže hľadaním som našiel skript, ktorý sa veľmi priblížil, upravil som ho a zmenil, aby som konečne dosiahol presne to, čo som chcel, výsledkom toho je hosťami, tak to nazvať.

Výhody oproti AdBlocku a iným rozšíreniam prehliadača? Okrem toho, že to funguje na celom operačnom systéme naraz, vyhýba sa použitiu zdrojov tohto typu rozšírení.

Požiadavky:

Vyžaduje cURL a Wget

Nainštalujeme požiadavky:

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

Oblúk / Manjaro / Antergos:
$ sudo pacman -S curl wget

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

SUSE:
$ sudo zypper in curl wget

Nainštalovať hostí:

$ 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 ho spustíme (Nezabudnite ho spustiť aspoň raz týždenne alebo mesačne, aby ste aktualizovali súbor hostiteľov a blokovali nové inzertné stránky):
$ hosty

Obnovte pôvodný súbor hostiteľov

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

Odinštalujte skript

$ sudo rm /usr/local/bin/hosty

Tip: Ak chcete upraviť súbor hostiteľov, odporúčam vám upraviť súbor /etc/hosts.original a potom spustiť hosty, týmto spôsobom hostia vygenerujú súbor hostiteľov s vašim osobným nastavením (urobte to, ak ste už spustili hosty, nie skôr.).

Celý kód skriptu je k dispozícii v mojom GitHub.

Zdravím!


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   Jorge dijo

    Nezabudnite to pridať aj do Cronu. Urobil som to, aby sa tento hit stal pre mňa.

    Práve som to otestoval a funguje to perfektne. Zašiel by som dokonca tak ďaleko, že by som povedal, že funguje lepšie ako metóda s démonmi ako Squid alebo Privoxy.

    Váži sa to!

    1.    Jorge dijo

      Pochybnosť, áno:

      Ako prispejem do svojho zoznamu blokovaných reklám? Na svoje stránky github nahrám nejaké, ktoré som práve vyskúšal, a fungujú.

      Dráma je tiež taká, že priestoru (sekcii) zostáva priestor s varovaním, že „sa nedá spojiť“. Pomoc sa cení 😀

      1.    johnfree dijo

        Mám problém, bol už zahrnutý, spustite hostí a aktualizujte hostiteľov. Sú prevzaté priamo z vášho úložiska.

  2.   Babel dijo

    Úžasná metóda. Jednoduché a ľahké. Ďakujem.

  3.   Chaparral dijo

    Ďakujem za príspevok. Tvorba.

  4.   ThecaTony dijo

    Veľmi pekne ďakujem za prácu, skúsim to.

  5.   Joaquin dijo

    Dobrý príspevok! Myslím, že ste nesprávne napísali príkaz, ak sa nemýlim:

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

    Nemalo by to byť naopak?

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

    1.    johnfree dijo

      Nie, tento dobre napísaný dokument má obnoviť pôvodný súbor. Jediné kroky, ktoré sú potrebné, sú inštalácia a spustenie, ďalšie kroky sú návrat k pôvodnému hostiteľovi a odinštalovanie programu.

      1.    Joaquin dijo

        Áno, je to tak, že som nevidel kód vášho skriptu. Teraz chápem, že skript vytvorí kópiu originálu s názvom „hosts.original“ a ja som vás posral. Myslel som si, že je to urobiť kópiu pred spustením skriptu. Na zdravie!

  6.   sójový dijo

    Veľmi dobre, veľmi sa mi páči.

    Jediný návrh, ktorý vidím, je bod „Analýza, čistenie, odstránenie duplikátov, triedenie ...“, zahrnutie súboru „bieleho zoznamu“ alebo výnimiek.

    1.    johnfree dijo

      Sme pripravení, odteraz budete môcť do /etc/hosts.whitelist zahrnúť výnimky na každý riadok. Môže to byť adresa samotná alebo s 0.0.0.0 alebo s 127.0.0.1 na začiatku.

  7.   ianpocks dijo

    Funguje to super zatiaľ aspoň dobre !!!

    Ďakujem pekne 🙂

  8.   Bert dijo

    Skvelé. Presne to, čo som potreboval. V aplikácii Kontact nebolo možné otvoriť prehliadač bez reťazca reklám visiacich z článku, ktorý bolo možné prečítať.
    Ďakujem.

  9.   Xurxo dijo

    Ďakujeme za zverejnenie scenára.
    Je ľahko kontrolovateľný, upraviteľný a ušetrí mi to, že musím svoj zoznam v priečinku / etc / hosts aktualizovať čo najskôr.

  10.   rawBasic dijo

    Veľmi dobre. Vďaka za zdieľanie. Argentínske pozdravy.

  11.   martin dijo

    Jedna otázka, je táto metóda zistiteľná webovými stránkami proti adbloku, ktoré sa rojia na webe?

    1.    johnfree dijo

      Pokiaľ je to zistiteľné, mal som tento problém zatiaľ iba na jednom webe.

      1.    johnfree dijo

        Opravte to pridaním webu na bielu listinu.

      2.    martin dijo

        Ďakujem za odpoveď a za nástroj.

  12.   xpt dijo

    Veľmi dobre!!
    Ďakujeme!

  13.   pegasusonline dijo

    Aký dobrý je tento skript!

    Ako návrh by som vám chcel povedať, aby ste vylepšili implementáciu a masifikáciu skriptu tak, že v pokynoch použite git clone / git pull, aby sme mali z aktualizácií úžitok všetci!

    Dakujem pekne a nech sa dalej !!!

    pozdravy
    PegasusOnline

    1.    johnfree dijo

      Nepoužívam na to git, ale skript VŽDY beží automaticky aktualizovaný od dňa 0. S týmto jednoduchým riadkom vždy beží aktualizovaný.
      https://github.com/juankfree/hosty/blob/master/hosty

      Na zdravie! 🙂

  14.   moa dijo

    V ktorom okamihu by ste obnovili pôvodný súbor hostiteľa? Alebo to nemusím obnovovať, pretože som neurobil tento krok, pretože som ho pridal do cronu a tiež ako by som upravil pôvodných hostiteľov, akým spôsobom to funguje 😀

    1.    johnk dijo

      Presne tak, obnovenie pôvodného hostiteľa zjavne nemusí byť urobené.

      Pokiaľ ide o cron, nepoužívam ho s cron, Google má určite veľmi dobré výukové programy, v mojich plánoch je rozšírenie hostí, grafického rozhrania, cron atď. ale v buducnosti.

      Ak chcete upraviť hosts.original:
      V termináli: $ sudo FAVORITE-TEXT-EDITOR /etc/hosts.original

      Zdravím!

  15.   cyttorak dijo

    Ahoj

    Snažil som sa vylepšiť váš skript a nechal som ho takto: https://github.com/cyttorak/hosty/blob/master/hosty.sh
    Čo tak?
    Toto je môj prvý rozchod na github, tak mi prosím dajte vedieť, či som mal premenovať skript tak, aby rešpektoval vaše autorstvo alebo pridať nejaké poďakovanie alebo podobne.
    Ďakujem.

    1.    johnk dijo

      Dobrý deň!
      Vysvetlím, ako postupovať normálne v Githube, keď chcete prispieť do projektu 🙂
      1) Vidlica - Hotovo
      2) Upravte, čo chcete, zachovanie kompatibility s pôvodným projektom - Polovica, upravili ste veci, ktoré nezodpovedajú originálu hostí, myslím, že rozumiete tomu, čo mám na mysli, a nechajte všetky texty v angličtine.
      3) Požiadajte o stiahnutie pôvodného projektu. Ak to chcete urobiť, musíte ísť do svojho úložiska, prejsť na Pull Requests https://i.imgur.com/Y1PMKST.png potom na novú požiadavku na vytiahnutie http://i.imgur.com/ljhaIdH.png a vysvetliť všetky vykonané zmeny
      4) Potom prijmem príkaz pull a voila, pôvodné hosty sa aktualizujú o vaše používateľské meno ako autora.

      Ďakujem pekne za záujem, ak ma chcete rýchlo kontaktovať na mojom blogu, máte moje sociálne siete http://juankblog.tk/ najlepšie na Twitteri alebo G +, ak taký nemáte. Na zdravie!

      1.    cyttorak dijo

        Ahoj
        Správu, ktorú mám, som už upravil v španielčine.
        O bode 2 kompatibility, neviem, čo máte na mysli, je to kvôli použitiu awk?
        Pravdepodobne bude celý deň vonku, takže zajtra urobím ťah
        Mnohokrat dakujem. Zbohom.

    2.    johnk dijo

      Mám na mysli zmeny v súboroch README.md, hosty a install.sh, ktoré projekt nepodporuje. Vráťte sa k pôvodným súborom.

      1.    cyttorak dijo
    3.    johnk dijo

      Pripravení, prispôsobte súbor readme a aur novému kódu a zabezpečte ich lepšiu čitateľnosť.

      Zdravím a ďakujem za spoluprácu na projekte, nech žije slobodný softvér! : D.

      1.    cyttorak dijo

        Jedna otázka, prečo sú domény na riadku 42 z https://github.com/juankfree/hosty/blob/master/hosty.sh cez smäd? Neznamená to zoznam povolených bez ohľadu na to, čo robí používateľ?

    4.    johnk dijo

      Hosty je blokovač reklám, to som si myslel, že ak zablokuje webové stránky takým spôsobom, že je nemožné získať prístup k obsahu, stane sa z toho cenzúra, ktorú si sám nastaví, a prestane byť blokátorom reklamy, aj keď sa zobrazuje viac reklám, aspoň toto Mám prístup na webové stránky, pretože ide o to, aby som mohol používať všetky webové stránky, aj keď to znamená vidieť reklamu.

      Sed sa používa preto, lebo ... neviem, fungovalo to v čase, keď som to písal jednoducho, myšlienka by bola použiť rovnakú metódu ako súbor so zoznamom povolených a aby sa používateľ rozhodol pomocou parametra -a / –all, či chce všetko zablokovať alebo nie, hoci Myslím, že nemôžete brať parametre nezmenené https://github.com/juankfree/hosty/blob/master/hosty alebo ak?

      1.    cyttorak dijo

        Test som urobil, a ak som mohol.
        mira http://back.host22.com/ej.sh
        a bežať
        bash <(zvlnenie -s http://back.host22.com/ej.sh) jeden dva tri štyri
        výstup bude:
        Param: jeden
        Param: dva
        Param: tri
        Param: štyri

        Za chvíľu urobím ďalší ťah s niekoľkými vylepšeniami

      2.    cyttorak dijo

        Test som urobil, a ak som mohol. Bež
        bash <(curl -s back.host22.com/ej.sh) jeden dva tri štyri
        a výstup bude:
        Param: jeden
        Param: dva
        Param: tri
        Param: štyri

        Za chvíľu urobím ďalší ťah s niekoľkými vylepšeniami

      3.    cyttorak dijo

        Test som urobil, a ak som mohol. Bež
        bash <(curl -s back. host22. com / ej.sh) jeden dva tri štyri # odstráni medzery z adresy URL, napíšem to takto, pretože ak nie, komentár nebude zverejnený
        a výstup bude:
        Param: jeden
        Param: dva
        Param: tri
        Param: štyri

        Za chvíľu urobím ďalší ťah s niekoľkými vylepšeniami

  16.   čmuchať dijo

    Myslím, že by bolo príliš veľa žiadať, aby reklamné okno zmizlo tak, ako to robí adblock? 😛 žiadať, aby nezostalo. Pokiaľ ide o zvyšok, skript je báječný a spotrebu 20 a viac RAM vidíte na XNUMX otvorených kartách. Môžem pridať ďalšie zoznamy?

    1.    yukiteru dijo

      Nie je to ťažké, vo Firefoxe môžete použiť vlastný štýl CSS, ktorý zabráni tomu, aby tieto okná zostali. Tu nájdete informácie o postupe, http://foro.desdelinux.net/viewtopic.php?pid=22259#p22259

      Metóda je v podstate rovnaká, je pridaný iba jeden ďalší krok, aby sa zabránilo vzniku škaredej stránky, ktorá hovorí, že webová stránka nie je k dispozícii. Dúfam, že to pomôže.

  17.   patrik dijo

    Ďakujem pekne, je to to, čo som hľadal pre Spotify, bude možné skryť reklamnú schránku klienta s Linuxom? Musím to pridať do Cronu?

    S pozdravom,

    1.    johnk dijo

      Nemáte zač 🙂
      Neviem, ale je to súčasť samotnej aplikácie, nemyslím si, že je to veľmi jednoduché
      Nie, aktualizujem vždy manuálne
      Zdravím: D!

      1.    lesco dijo

        Mám to nainštalované z AUR, ale vôbec to nefunguje. Ktoré môžu byť?

      2.    lesco dijo

        S pokynmi v tomto príspevku to tiež nefunguje pre mňa.

      3.    johnk dijo

        Nainštalujte si ho z AUR:
        $ yaourt -S hostí

        a spustite to:
        $ sudo hostiteľ

        pozdravy

      4.    lesco dijo

        Robím to tak, ale vôbec to nefunguje. Nevidím únik žiadnej reklamy. Neviem v čom bude problém. Momentálne pokračujem s AdBlock Plus.
        Ďakujem.

      5.    yukiteru dijo

        @lesco kontroluje, či súbor / etc / hosts obsahuje nové položky vytvorené skriptom. Ak je to možné a skontrolujte, odovzdajte obsah súboru http://paste.desdelinux.net/

      6.    lesco dijo

        Povedal by som, že súbor / etc / hosts je prakticky prázdny. Má iba tieto riadky:

        # Hostitelia blokujúci reklamy vygenerované po 2. marca 20:05:48 ART 2015
        # Nepíš pod tento riadok. Stratí sa, ak znova spustíte hostí.

        Keď spustím "sudo hosty", dostanem tento výsledok:
        http://paste.desdelinux.net/?dl=5110

        Zdravím.

      7.    johnk dijo

        Spustite príkaz:
        $ ls -lah / etc / hosts

        a vložte sem výstup.

    2.    lesco dijo

      @JuanK, ďakujem za pozornosť. Toto je výstup takéhoto príkazu:

      -rw-r - r– 1 koreňový koreň 0 2. marca 20:15 / etc / hosts

      1.    johnk dijo

        Spustiť:
        $ hosty - ladenie

        a vložte výstup tohto príkazu a niektoré z prvých riadkov súboru, ktorý je označený za textom „Vidíte výsledky v“

      2.    johnk dijo

        Príkaz je „hosty –debug“
        Mali ste zlý čas, jedná sa o „hostí“, za ktorými nasledujú dve pomlčky „-“ a „ladenie“

      3.    johnk dijo

        hosty medzerník stredný spojovník ladenie

      4.    lesco dijo

        Výstup „hosty –debug“:

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

        Súbor uvedený za textom „Vidíte výsledky v“ je v mojom prípade /tmp/tmp.viLL774YmV a jeho jediné riadky sú:

        # Hostitelia blokujúci reklamy vygenerované streda 4. marca 23:38:18 ART 2015
        # Nepíš pod tento riadok. Stratí sa, ak znova spustíte hostí.

        V súbore už nie sú žiadne riadky.

  18.   Guille Monor dijo

    Ahoj John!

    moja vďaka za tento skvelý vývoj zvaný hosty.
    Hľadal som adresy, ktoré som chcel pridať k hosťom, nejaké nové reklamy, ako by som vám a iným mohol pomôcť s ich pridaním do „úložiska“ reklám?

    pozdravy od ARG

    Guille

  19.   Felipe dijo

    Dobrý deň,
    Môžete to vložiť do smartfónu, ktorý má ubuntu, alebo musíte niečo zmeniť, aby ste to prispôsobili? A ak je odpoveď áno, tak aká je to veľkosť viac-menej po nasadení? vedieť, či mám dosť miesta.
    vďaka

  20.   pablo dijo

    Skript zlyhá na distribúciách ako Gentoo, ktoré predvolene nepoužívajú sudo. Mali by ste vytvoriť verziu bez sudo a označiť, že cronjob bude treba vytvoriť v správcovskom cron.

    Inak vynikajúci nápad. Bolo potrebné niečo pohodlné ako Adaway, ale pre Linux.
    Zdravím.

  21.   marcelo dijo

    Veľká vďaka!!! Veľmi obrigado !!!

  22.   gato2707 dijo

    Začiatkom februára 2016 bol program zmenený tak, aby sa stal nástrojom cenzúry. Rozsiahlejšie vysvetlenie v:

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

    1.    S dijo

      Ahoj. Som autorom zmeny, a preto som sa zmýlil, pretože táto zmena je neúmyselnou chybou.

      Skript bol upravený tak, ako je vysvetlené v potvrdení, aby umožňoval dve veci
      1- Že skript môže používať písma v zipoch a .7z
      2 - Že používateľ môže pridávať zdroje bez toho, aby ich musel vkladať do skriptu
      (Môžete to overiť v komentári k zlúčeniu, ktorý zavádza chybu, ktorú ste spomenuli).

      Najskôr som našiel niekoľko zdrojov v zip a 7z a považoval som za zaujímavé, že si s nimi skript poradí, a tak som ich pridal (všetky nájdené som dal na testovanie lepšie, preto je tam všetko), aby som otestoval potrebné úpravy, aby som ich mohol rozbaliť a pridať k výsledku.

      Potom som chcel vyskúšať aj zoznam aede a pridal som ho.

      Počas toho všetkého som si uvedomil, že mi to bránilo nahrať zmeny do projektu, pretože tieto zdroje, ako hovoríte, by nemali byť v scenári. Odtiaľ teda prišla ďalšia modifikácia, ktorú som vám hovoril: že používateľ môže pridávať zdroje (cez ~ / .hosty) bez toho, aby musel upravovať skript.

      Z dôvodu nedostatku času som všetky tieto zmeny urobil diskontinuálne a zdá sa, že som pred zlúčením zabudol odstrániť zdroje skriptu.
      Aby toho nebolo málo, prijali moju „žiadosť o zatiahnutie“ bez toho, aby si uvedomili túto chybu.

      Myslím si, že je pochopiteľné, že nikto nechystal zahrnúť tie zdroje, ktoré dúfali, že si to nevšimne ani pôvodný autor, ktorý musí prijať žiadosť o stiahnutie, ani koneční používatelia. Bola to jednoducho chyba.

      Dúfam, že som objasnil, čo sa stalo, a žiadam vás, aby ste svoj príspevok upravili tak, aby sa odrážal.

      Ďakujem pekne a ospravedlňujeme sa za nepríjemnosti.

  23.   ivan dijo

    Ahoj John! Tento skript používam, pretože ste ho uverejnili ... ale teraz už neodstraňuje reklamy YouTube ....

    mohol by si to napraviť ??

    Vďaka!!

    Zdravím!

  24.   Predatux dijo

    Dobre.
    Používam hosty na Gnu / Linux už dosť dlho. Snažím sa, aby to fungovalo na Macu, mohli by ste mi pomôcť?
    pozdravy