hosty: Script per eliminar publicitat en qualsevol navegador

Des que vaig provar l'app AdAway per Android busqui el mateix per a Linux, però no el vaig trobar, si hi ha solucions similars com el ja publicat aquí Script per eliminar publicitat en qualsevol navegador, Però no és exactament el busco. ¿Quina és la diferència? AdAway pren diverses fonts, les barreja, treu línies duplicades i neteja el fitxer.

I a més els scripts que trobava no usaven el teu arxiu hosts original, és a dir que les configuracions del teu arxiu hosts no estaven a l'arxiu hosts generat. Així que buscant vaig trobar un script que s'acostava molt, el editi i el canviï per per fi aconseguir exactament el que volia, el resultat d'això és convidats, Així ho digui.

¿Avantatges enfront de AdBlock i altres extensions de navegadors? A més de que això funciona en tot el sistema operatiu d'una vegada, s'evita l'ús de recursos d'aquest tipus d'extensions.

Requisits:

Requereix cURL i Wget

Instal·lem els requisits:

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

Instal·lar 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

Ara l'executem (Recordin executar a el menys 1 cop per setmana o per mes per tenir el seu arxiu hosts actualitzat i que bloquegi els nous llocs de publicitat):
$ hosty

Restaurar arxiu hosts original

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

Desinstal·lar el script

$ sudo rm /usr/local/bin/hosty

Consell: Si volen modificar l'arxiu hosts els recomano que modifiquin l'arxiu /etc/hosts.original i després córrer hosty, d'aquesta manera hosty generés l'arxiu hosts amb les seves configuracions personals (Fer això si ja van córrer hosty alguna vegada, no abans.).

Tot el codi de l'script disponible al meu GitHub.

Salutacions!


59 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Jorgicio va dir

    No oblideu afegir-lo a l'Cron, també. Jo ho vaig fer perquè faci aquesta pega per a mi.

    Ho acabo de provar, i funciona a la perfecció. Fins i tot m'atreviria a dir que funciona millor que el mètode amb dimonis com Squid o Privoxy.

    ¡S'agraeix!

    1.    Jorgicio va dir

      Un dubte, si:

      Com ho faig per contribuir amb la meva llista de ads bloquejats? Pujaré alguns al meu github que acabo de provar i funcionen.

      El drama també està en què queda l'espai (section) amb un espai amb un avís que «no es pot connectar». S'agraeix l'ajuda 😀

      1.    juankfree va dir

        Em va arribar el issue, ja va ser inclòs, executa hosty per actualitzar el hosts. Es prenen directament de la teva repositori.

  2.   Babel va dir

    Meravellós mètode. Simple i fàcil. Gràcies.

  3.   Chaparral va dir

    Gràcies per l'aportació. Funciona.

  4.   ThecaTTony va dir

    Moltes gràcies per la teva feina, ho vaig a provar.

  5.   Joaquin va dir

    Bon post! Crec que vas escriure malament una ordre si no m'equivoco:

    suo cp /etc/hosts.original / etc / hosts

    ¿No hauria de ser a l'inrevés?

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

    1.    juankfree va dir

      No, aquesta ben escrit és per restaurar l'arxiu original. Els únics passos necessaris són instal·lar i executar, els altres són per tornar a l'hosts original i per desinstal·lar el programa.

      1.    Joaquin va dir

        Sí, és que no havia vist el codi del teu script. Ara entenc que l'script fa una còpia de l'original anomenada «hosts.original» i jo et endi malament. Vaig pensar que era per fer la còpia abans d'executar la seqüència. Salutacions!

  6.   soymicmic va dir

    Molt bo, m'agrada molt.

    L'única suggeriment que veig és en el punt «Parsing, cleaning, de-duplicating, sorting ...» incloure aquí un fitxer de «llista blanca» o excepcions

    1.    juankfree va dir

      A punt, des d'aquest moment podis incloure excepcions en /etc/hosts.whitelist una per línia. Pot ser la direcció sola o amb 0.0.0.0 o amb 127.0.0.1 a del principi.

  7.   ianpocks va dir

    Funciona super bé a el menys de moment !!!

    Mil Gràcies 🙂

  8.   Bert va dir

    Fantàstic. Just el que necessitava. En Kontact era impossible obrir el navegador sense la tirallonga d'anuncis penjats de l'article a llegir.
    Gràcies.

  9.   Xurxo va dir

    Gràcies per publicar el script.
    És fàcilment auditable, editable ia mi em evita haver d'actualitzar la cistella a / etc / hosts cada poc.

  10.   rawBasic va dir

    Muuy bo. Gràcies per compartir. Salutacions argentins.

  11.   Martin va dir

    Una pregunta, aquest mètode és detectable per webs anti adblocks que pul·lulen per la web?

    1.    juankfree va dir

      Si és detectable, fins ara en un sol web vaig tenir aquest problema.

      1.    juankfree va dir

        El solucioni agregant la web a la whitelist.

      2.    Martin va dir

        Gràcies per la resposta i per l'eina.

  12.   XPT va dir

    Molt bo !!
    Gràcies!

  13.   Pegasusonline va dir

    Que bo que aquesta aquest script !!!

    Com a suggeriment et diria per millorar la implementació i massificació de l'script és que en les instruccions, utilitzar git clone / git pull així tots ens beneficiem de les actualitzacions !!

    Moltes gràcies i segueix així !!!

    Salutacions
    PegasusOnline

    1.    juankfree va dir

      No ús git per això però l'script corre SEMPRE actualitzat automàticament des del dia 0. Amb aquesta simple línia sempre corre actualitzat.
      https://github.com/juankfree/hosty/blob/master/hosty

      Salutacions! 🙂

  14.   moah va dir

    En quin moment restauraria l'arxiu host original? o no tinc perquè restaurar ja que aquest pas no ho vaig fer, com ho afegeixo a cron, ia més com modificaria el hosts.original, que forma tanca 😀

    1.    Juank va dir

      Exacte, restaurar el host original òbviament no cal fer-ho.

      Pel que fa a l'cron, no el faig servir amb cron, Google segurament té molt bons tutorials, aquesta en els meus plans estendre hosty, interfície gràfica, cron, etc. però a futur.

      Per modificar hosts.original:
      En una terminal: $ sudo EDITOR-DE-TEXT-FAVORIT /etc/hosts.original

      Salutacions!

  15.   Cyttorak va dir

    Hola

    He intentat millorar el teu script i ho he deixat així: https://github.com/cyttorak/hosty/blob/master/hosty.sh
    Què et sembla?
    És la primera vegada que faig un fork en github així que si us plau Avísame si hauria d'haver canviat el nom a l'script per respectar la teva autoria o afegir algun reconeixement o n'hi ha prou com aquesta.
    Gràcies.

    1.    Juank va dir

      Hola!
      T'explico com se sol fer en Github quan queres aportar a un projecte 🙂
      1) Fer un fork - Fet
      2) Modificar el desitjat, mantenint la compatibilitat amb el projecte original - A mitges, vas modificar coses que no corresponen a hosty original, crec que em entendés al que em refereixo, i si us plau mantingues tots els textos en anglès.
      3) Fer un pull request a el projecte original, per fer això has d'anar al teu repositori, anar a Pull Requests https://i.imgur.com/Y1PMKST.png després a New pull request http://i.imgur.com/ljhaIdH.png i explicar tots els canvis realitzats
      4) Després jo accepto el pull i llest, s'actualitza hosty original amb el teu nom d'usuari com a autor.

      Moltes gràcies per l'interès, si et vols contactar ràpidament amb mi en el meu blog tenes les meves xarxes socials http://juankblog.tk/ preferentment per Twitter, o G + si no tens. Salutacions!

      1.    Cyttorak va dir

        Hola
        Ja he modificat el missatge que es em quedo en espanyol.
        Sobre el punt 2 del de la compatibilitat no a que et refereixes és per l'ús de l'awk?
        Probablement a estar tot el dia fora, així que demà et faig el pull
        Moltes gràcies. Fins després.

    2.    Juank va dir

      Em refereixo als canvis en README.md, hosty i install.sh, no són compatibles amb el projecte. Torna als arxius originals.

    3.    Juank va dir

      A punt, adapti el readme i el paquet de l'aur a el codi nou i vaig fer més llegibles els trobo.

      Salutacions i gràcies per la teva col·laboració a el projecte, visca el programari lliure! : D.

      1.    Cyttorak va dir

        Una pregunta per que s'exclouen els dominis que hi ha a la línia 42 de https://github.com/juankfree/hosty/blob/master/hosty.sh mitjançant el set? ¿No suposa això, una whitelist a l'marge de la que faci l'usuari?

    4.    Juank va dir

      Hosty és un bloquejador de publicitat, així ho vaig pensar jo, si bloqueja webs de manera que és impossible accedir a el contingut, es transforma en una censura autoimposada i s'allunya de ser un bloquejador d'anuncis, tot i que es mostrin més anuncis, a el menys d'aquesta manera puc accedir a les webs, ja que la idea és poder fer servir totes les webs, encara que signifiqui veure publicitat.

      S'usa set perquè ... no, funciono en el moment que el vaig escriure simplement, la idea seria fer servir el mateix mètode que l'arxiu whitelist, i que l'usuari decideixi amb el paràmetre -a / -all si vol bloquejar tot o no, encara que crec que no es pot prendre paràmetres sense modificar https://github.com/juankfree/hosty/blob/master/hosty o si?

      1.    Cyttorak va dir

        He fet la prova i si es vaig poder.
        Mira http://back.host22.com/ej.sh
        i executa
        bash <(curl -s http://back.host22.com/ej.sh) Un dos tres quatre
        la sortida serà:
        Param: un
        Param: dos
        Param: XNUMX
        Param: XNUMX

        D'aquí a una estona et faré un altre pull amb algunes millores

      2.    Cyttorak va dir

        He fet la prova i si es vaig poder. executa
        bash <(curl -s back.host22.com/ej.sh) un dos tres quatre
        i la sortida serà:
        Param: un
        Param: dos
        Param: XNUMX
        Param: XNUMX

        D'aquí a una estona et faré un altre pull amb algunes millores

      3.    Cyttorak va dir

        He fet la prova i si es vaig poder. executa
        bash <(curl -s back. host22. com / ej.sh) un dos tres quatre #quita els espais de la url, ho escric així perquè si no no es em publica el comentari
        i la sortida serà:
        Param: un
        Param: dos
        Param: XNUMX
        Param: XNUMX

        D'aquí a una estona et faré un altre pull amb algunes millores

  16.   snock va dir

    Suposo que seria molt demanar que la finestra de la publicitat desaparegui com fa adblock? ¿😛 per demanar que no quedi. Pel demas l'script va de fabula i es nota el consum de ram i mes amb 20 pestanyes obertes. Es pot afegir mes llistes?

    1.    Yukiteru va dir

      No és difícil, pots fer servir un style CSS personalitzat a Firefox per evitar que quedin aquestes finestres, per aca hi ha informació sobre el procediment, http://foro.desdelinux.net/viewtopic.php?pid=22259#p22259

      El mètode en essència és el mateix, només que se li afegeix un pas més per evitar la lletja pàgina que apareix dient que la pàgina web no està disponible. Espero et sigui d'ajuda.

  17.   Patricio va dir

    Moltes Gràcies, és el que buscava per Spotify, ¿Sera possible amagar el requadre de publicitat de el client Linux ?. És necessari afegir-lo a Cron?

    Salutacions,

    1.    Juank va dir

      De res 🙂
      Desconec, però és part de la pròpia app, no crec que sigui molt fàcil
      No, jo actualitzo sempre manualment
      Salutacions: D!

      1.    Lesco va dir

        Ho tinc instal·lat des AUR, però no funciona per a res. Què podrà ser?

      2.    Lesco va dir

        Amb les instruccions d'aquest post tampoc em funciona.

      3.    Juank va dir

        Instal·la-des del AUR:
        $ Yaourt -S hosty

        i executa-ho:
        $ Sudo hosty

        Salutacions

      4.    Lesco va dir

        Ho faig d'aquesta manera, però no funciona per a res. No veig que filtri cap publicitat. No quin serà el problema. De moment segueixo amb AdBlock Plus.
        Gràcies.

      5.    Yukiteru va dir

        @lesco revisa que l'arxiu / etc / hosts contingui les noves entrades creades per script. Si és possible i per revisar, passa el contingut de l'arxiu per http://paste.desdelinux.net/

      6.    Lesco va dir

        Diria que l'arxiu / etc / hosts està pràcticament buit. Només té aquestes línies:

        # Ad blocking hosts generated dl mar 2 20:05:48 ART 2015
        # Do not write below this line. It will be lost if you run hosty again.

        Quan executo «suo hosty» obtinc aquest resultat:
        http://paste.desdelinux.net/?dl=5110

        Salutacions.

      7.    Juank va dir

        Executa la comanda:
        $ Ls -lah / etc / hosts

        i enganxa la sortida aquí.

    2.    Lesco va dir

      @JuanK, gràcies per l'atenció. Aquesta és la sortida de tal ordre:

      -RW-r-r- 1 root root 0 mar 2 20:15 / etc / hosts

      1.    Juank va dir

        executa:
        $ Hosty -debug

        i enganxa la sortida d'aquest comando i algunes de les primeres línies de l'arxiu que s'indica després de «You can see the results in»

      2.    Juank va dir

        La comanda és «hosty -debug»
        Es va passar malament, és «hosty» seguit de dos guions mitjans «-» i »debug»

      3.    Juank va dir

        hosty espai guió mitjà guió mitjà debug

      4.    Lesco va dir

        La sortida de «hosty -debug»:

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

        L'arxiu esmentat després de "You can see the results in" és /tmp/tmp.viLL774YmV en el meu cas, i les seves úniques línies són:

        # Ad blocking hosts generated dc mar 4 23:38:18 ART 2015
        # Do not write below this line. It will be lost if you run hosty again.

        No hi ha més línies a l'arxiu.

  18.   Guille Monor va dir

    Hola Joan!

    els meus agraïments per aquest gran desenvolupament anomenat hosty.
    vaig anar trobant adreces que voldria afegir a hosty, alguns nous ads, com podria jo i altres col·laborar perquè els afegiu a l' «repositori» de ads?

    salutacions des ARG

    Guille

  19.   Felipe va dir

    hola,
    ¿Es pot posar això en un smarphone que té ubuntu, o cal canviar alguna cosa per adaptar-lo? i si la resposta és si, llavors ¿que mida té més o menys després d'estar posat? per saber si tinc espai suficient.
    gràcies

  20.   Pau va dir

    El guió dóna error en distros com Gentoo que per defecte no fan servir sudo. Hauries de fer una versió sense suo i indicar que el cronjob caldrà crear-lo en el cron de l'administrador.

    Per la resta, excel·lent idea. Feia falta alguna cosa còmode com Adaway però per a Linux.
    Salutacions.

  21.   Marcelo va dir

    Moltíssimes gràcies !!! Muito obrigado !!!

  22.   gato2707 va dir

    A principis de febrer de 2016 és programa va ser alterat per convertir-lo en instrument de censura. Una explicació més extensa a:

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

    1.    S va dir

      Hola. Sóc l'autor de l'canvi i per tant d'haver ficat la pota, ja que aquest canvi és un error no intencionat.

      L'script va ser modificat com s'explica en el commit per permetre dues coses
      1- Que l'script pogués usar fonts en zip i en .7z
      2- Que l'usuari pogués afegir canals sense necessitat de ficar-les en l'script
      (Pots verificar-ho en el comentari de l'merge que introdueix l'error que esmentes).

      Primer vaig trobar diverses fonts en zip i 7z i vaig pensar que era interessant que l'script pogués manejar-les, així que les afegiu (vaig ficar totes les que vaig trobar per provar millor, per això hi ha de tot) per provar les modificacions necessàries perquè pogués descomprimir i afegir-les a l'resultada.

      Després vaig voler provar també la llista AEDE i la vaig agregar.

      Durant tot això em vaig adonar que això m'impedia pujar els canvis a el projecte perquè aquestes fonts, com tu dius, no haurien d'estar en l'script. Així que d'hi va sorgir l'altra modificació que et comentava: que l'usuari pogués afegir canals (via ~ / .hosty) sense necessitat de modificar l'script.

      Per falta de temps tots aquests canvis els vaig fer de manera discontinuada i es veu que o es m'oblido treure les fonts de l'script abans de fer el merge.
      A sobre de la mala sort, em van acceptar el «pull request» sense adonar aquest error.

      Crec que és comprensible que ningú anava a incloure aquestes fonts esperant que ni l'autor original que ha d'acceptar el pull request ni els usuaris finals s'anaven a donar compte. Ha estat simplement un error.

      Espero haver aclarit el que ha passat i et demano per favor que modifiquis el teu post perquè quedi reflectit.

      Moltes gràcies i sento les molèsties.

  23.   ivan va dir

    hola Joan! jo faig servir aquest script des que el posteaste ... pèro ara no treu mes les publicitats de youtube ....

    podries arreglar ??

    gràcies !!

    salutacions!

  24.   Predatux va dir

    Bones.
    Utilitzo hosty en GNU / Linux des de fa ja força temps. Estic intentant fer-lo funcionar en Mac, podries tirar-me una mà?
    Salutacions