Оскільки я спробував додаток AdAway для Android, я шукав те саме для Linux, але не зміг його знайти, якщо є подібні рішення, подібні до вже опублікованого тут Скрипт для видалення реклами в будь-якому браузері, але це не зовсім те, що я шукаю. Яка різниця? AdAway бере кілька шрифтів, об’єднує їх, видаляє повторювані рядки та очищає файл.
А також скрипти, які він виявив, не використовували ваш оригінальний файл хостів, тобто конфігурації файлу хостів не були у створеному файлі хостів. Тож шукаючи, я знайшов сценарій, який підійшов дуже близько, я відредагував і змінив його, щоб нарешті досягти саме того, що я хотів, результатом цього є привітний, так називайте це.
Переваги перед AdBlock та іншими розширеннями браузера? Окрім того, що це працює відразу на всій операційній системі, це дозволяє уникнути використання ресурсів такого типу розширень.
Вимоги:
Потрібні cURL та Wget
Встановлюємо вимоги:
Ubuntu / Mint / Debian:
$ sudo apt-get install curl wget
Арка / Манджаро / Антергос:
$ sudo pacman -S curl wget
Fedora / RHEL / CentOS:
$ sudo yum install curl wget
СУЗА:
$ sudo zypper in curl wget
Встановити 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
Тепер ми запускаємо його (не забувайте запускати його принаймні 1 раз на тиждень або на місяць, щоб оновити файл хостів і заблокувати нові рекламні сайти):
$ hosty
Відновити оригінальний файл хостів
$ sudo cp /etc/hosts.original /etc/hosts
Видаліть скрипт
$ sudo rm /usr/local/bin/hosty
Порада: Якщо ви хочете змінити файл hosts, я рекомендую вам змінити файл /etc/hosts.original, а потім запустити hosty, таким чином hosty згенерує файл hosts з вашими особистими налаштуваннями (Зробіть це, якщо ви вже запустили hosty, не раніше.).
Весь код сценарію, доступний у моєму GitHub.
Привіт!
Не забудьте також додати його до Cron. Я зробив це, щоб зробити цей хіт для мене.
Я просто тестував це, і воно чудово працює. Я б навіть зайшов так далеко, сказавши, що він працює краще, ніж метод з такими демонами, як Squid або Privoxy.
Це оцінено!
Сумніви, так:
Як я можу внести свій список заблокованих оголошень? Я завантажу деякі на свій github, які я щойно спробував, і вони працюють.
Драма також полягає в тому, що у просторі (розділі) залишається простір із попередженням про те, що «його не можна зв’язати». Допомога вдячна 😀
Я отримав проблему, вона вже була включена, запустіть hosty, щоб оновити хости. Вони беруться безпосередньо з вашого сховища.
Чудовий метод. Просто і легко. Дякую.
Дякуємо за вступ. Працює.
Щиро дякую за вашу роботу, я спробую.
Гарний пост! Я думаю, ви неправильно написали команду, якщо я не помиляюсь:
sudo cp /etc/hosts.original / etc / hosts
Чи не повинно бути навпаки?
sudo cp /etc/hosts /etc/hosts.original
Ні, це добре написано для відновлення вихідного файлу. Єдиними кроками є встановлення та запуск, інші - повернення до початкового хосту та видалення програми.
Так, це те, що я не бачив коду вашого сценарію. Тепер я розумію, що сценарій робить копію оригіналу під назвою "hosts.original", і я вас зіпсував. Я думав, що це було зробити копію перед запуском сценарію. На здоров’я!
Дуже добре, мені це дуже подобається.
Єдина пропозиція, яку я бачу, полягає в пункті "Синтаксичний аналіз, очищення, дедуплікація, сортування ...", щоб включити туди файл "білого списку" або винятки
Готово, відтепер ви можете включати винятки в /etc/hosts.whitelist по одному на рядок. Це може бути адреса сама або з 0.0.0.0 або з 127.0.0.1 на початку.
Це працює дуже добре принаймні зараз !!!
Щиро дякую 🙂
Чудово. Якраз те, що мені було потрібно. У Kontact було неможливо відкрити браузер без рядка оголошень, що звисає зі статті для читання.
Спасибо.
Дякуємо за розміщення сценарію.
Це легко перевіряти, редагувати і позбавляє мене від необхідності оновлювати мій список у / etc / hosts щораз частіше.
Дуже добре. Дякую, що поділились. Привітання з Аргентиною.
Одне питання, чи виявляється цей метод на веб-сайтах, що блокують рекламу, які кишать в Інтернеті?
Якщо це можна виявити, поки що лише на одному веб-сайті у мене була ця проблема.
Виправте це, додавши Інтернет до білого списку.
Дякую за відповідь та за інструмент.
Дуже добре!!
Спасибі!
Який хороший цей сценарій!
В якості пропозиції я б сказав вам покращити реалізацію та масіфікацію сценарію - це те, що в інструкціях використовуйте git clone / git pull, щоб ми всі отримали користь від оновлень!
Щиро дякую і продовжуйте так !!!
привіт
Пегас Онлайн
Я не використовую git для цього, але сценарій ЗАВЖДИ запускається автоматично, оновлюється з 0-го дня. За допомогою цього простого рядка він завжди працює оновленим.
https://github.com/juankfree/hosty/blob/master/hosty
На здоров’я! 🙂
На якому етапі ви відновите вихідний файл хосту? Або мені не потрібно його відновлювати, тому що я не зробив цього кроку, оскільки додав його до cron, а також як би я змінив початкові хости, яким чином це відбувається 😀
Точно, відновлення початкового хосту, очевидно, не потрібно робити.
Що стосується cron, я не використовую його з cron, Google, безсумнівно, має дуже хороші підручники, у моїх планах розширити чудовий графічний інтерфейс, cron тощо. але в майбутньому.
Щоб змінити hosts.original:
У терміналі: $ sudo FAVORITE-TEXT-EDITOR /etc/hosts.original
Привіт!
Привіт
Я намагався покращити ваш сценарій і залишив його таким: https://github.com/cyttorak/hosty/blob/master/hosty.sh
Як щодо?
Я вперше форкуюсь на github, тому, будь ласка, дайте мені знати, чи слід було перейменовувати сценарій, щоб поважати ваше авторство, додати якесь підтвердження чи просто так.
Спасибо.
Здрастуйте!
Я поясню, як нормально діяти в Github, коли ви хочете взяти участь у проекті 🙂
1) Вилка - Готово
2) Модифікуйте те, що хочете, зберігаючи сумісність з оригінальним проектом. Половину, ви модифікували речі, які не відповідають у чудовому оригіналі, я думаю, ви розумієте, що я маю на увазі, і будь ласка, зберігайте всі тексти англійською мовою.
3) Зробіть запит на витяг до оригінального проекту, для цього потрібно перейти до вашого сховища, перейти до запитів на витяг https://i.imgur.com/Y1PMKST.png потім до нового запиту на витяг http://i.imgur.com/ljhaIdH.png і пояснити всі внесені зміни
4) Тоді я приймаю витягування і вуаля, оригінальний хости оновлено вашим іменем користувача як автора.
Дякуємо за ваш інтерес, якщо ви хочете швидко зв'язатися зі мною в моєму блозі, у вас є мої соціальні мережі http://juankblog.tk/ бажано в Twitter або G +, якщо у вас його немає. На здоров’я!
Привіт
Я вже змінив повідомлення, яке я маю іспанською мовою.
Щодо пункту 2 про сумісність, я не знаю, що ви маєте на увазі, це через використання awk?
Напевно, щоб не виходити цілий день, тож завтра я зроблю це
Дуже дякую. До побачення.
Я маю на увазі зміни в README.md, hosty та install.sh, вони не підтримуються проектом. Поверніться до вихідних файлів.
Це робиться https://github.com/juankfree/hosty/pull/3
🙂
Готові, адаптуйте readme та aur-пакет до нового коду та зробіть їх більш читабельними.
Вітаю та дякую за вашу співпрацю з проектом, хай живе безкоштовне програмне забезпечення! : D.
Одне питання, чому домени знаходяться в рядку 42 https://github.com/juankfree/hosty/blob/master/hosty.sh через спрагу? Чи не означає це білий список незалежно від того, що робить користувач?
Hosty - це блокувач реклами, я так думав, якщо він блокує веб-сайти таким чином, що неможливо отримати доступ до вмісту, це стає самонакладеною цензурою і відходить від того, щоб бути блокатором реклами, навіть якщо відображається більше оголошень, принаймні це я можу отримати доступ до веб-сайтів, оскільки ідея полягає в тому, щоб мати можливість використовувати всі веб-сайти, навіть якщо це означає перегляд реклами.
Sed використовується, тому що ... я не знаю, він працював на той час, коли я писав його просто, ідея полягала в тому, щоб використовувати той самий метод, що і файл білого списку, а для користувача прийняти рішення з -a / –all параметр, якщо він хоче заблокувати все чи ні, хоча, я думаю, ви не можете брати параметри незміненими https://github.com/juankfree/hosty/blob/master/hosty чи якщо?
Я зробив тест і, якщо зміг.
Миру http://back.host22.com/ej.sh
і біжи
bash <(curl -s http://back.host22.com/ej.sh) один два три чотири
результат буде:
Парам: один
Парам: два
Парам: три
Парам: чотири
Через деякий час я зроблю ще одне вдосконалення
Я зробив тест і, якщо зміг. Біжи
bash <(curl -s back.host22.com/ej.sh) один два три чотири
і результат буде:
Парам: один
Парам: два
Парам: три
Парам: чотири
Через деякий час я зроблю ще одне вдосконалення
Я зробив тест і, якщо зміг. Біжи
bash <(curl -s back. host22. com / ej.sh) один два три чотири # видалити пробіли з URL-адреси, я пишу це так, бо якщо не, коментар не буде опублікований
і результат буде:
Парам: один
Парам: два
Парам: три
Парам: чотири
Через деякий час я зроблю ще одне вдосконалення
Думаю, було б занадто багато просити, щоб рекламне вікно зникало, як це робить adblock? 😛 просити, щоб воно не залишалося. В іншому сценарій казковий, і ви можете побачити споживання оперативної пам'яті та іншого, відкривши 20 вкладок. Чи можу я додати більше списків?
Це не складно, ви можете використовувати власний стиль CSS у Firefox, щоб запобігти залишенню цих вікон. Тут є інформація про процедуру, http://foro.desdelinux.net/viewtopic.php?pid=22259#p22259
Метод по суті той самий, додається лише ще один крок, щоб уникнути негарної сторінки, яка з’являється, кажучи, що веб-сторінка недоступна. Сподіваюся, це допоможе.
Щиро дякую, це те, що я шукав для Spotify, чи вдасться приховати рекламний ящик клієнта Linux? Чи потрібно додавати його в Cron?
З повагою,
Ласкаво просимо 🙂
Не знаю, але це частина самого додатка, я не думаю, що це дуже просто
Ні, я завжди оновлюю вручну
Вітаю: D!
Я встановив його з AUR, але він взагалі не працює. Що може бути?
З інструкціями в цьому дописі це теж не працює для мене.
Встановіть його з AUR:
$ yaourt -С приємно
і запустіть його:
$ sudo хост
привіт
Я роблю це так, але це взагалі не працює. Я не бачу витікання реклами. Не знаю, в чому буде проблема. На даний момент я продовжую роботу з AdBlock Plus.
Спасибо.
@lesco перевіряє, чи файл / etc / hosts містить нові записи, створені сценарієм. Якщо можливо і для перегляду, передайте вміст файлу http://paste.desdelinux.net/
Я б сказав, що файл / etc / hosts практично порожній. Він має лише такі рядки:
# Хости, що блокують рекламу, згенеровано пн, 2 березня 20:05:48 ART 2015
# Не пишіть нижче цього рядка. Це буде втрачено, якщо ти знову побіжиш на худі.
Коли я запускаю "sudo hosty", я отримую такий результат:
http://paste.desdelinux.net/?dl=5110
Привіт.
Виконайте команду:
$ ls -lah / etc / hosts
і вставте вивід сюди.
@JuanK, дякую за увагу. Це результат такої команди:
-rw-r - r– 1 кореневий корінь 0 2 березня 20:15 / etc / hosts
Виконати:
$ hosty –налагодження
і вставте результат цієї команди та деякі перші рядки файлу, який позначений після "Результати можна побачити в"
Команда "hosty –debug"
Це було погано, це "приємно", за ним два дефіси "-" та "налагодження"
налагоджений простірний дефіс середній дефіс
Результат "hosty –debug":
http://paste.desdelinux.net/?dl=5112
Файл, згаданий після “Ви можете побачити результати в”, це /tmp/tmp.viLL774YmV у моєму випадку, і його єдиними рядками є:
# Хости, що блокують рекламу, згенеровано ср, 4 квітня 23:38:18, АРТ 2015
# Не пишіть нижче цього рядка. Це буде втрачено, якщо ти знову побіжиш на худі.
У файлі більше немає рядків.
Привіт Джон!
моя подяка за цей великий розвиток, який називається hosty.
Я знаходив адреси, які хотів додати до приємних нових оголошень, як я та інші могли допомогти вам додати їх до "сховища" оголошень?
привіт від ARG
Гіля
Привіт,
Чи можете ви помістити це в смартфон, який має ubuntu, або вам потрібно щось змінити, щоб адаптувати його? І якщо відповідь позитивна, то якого розміру це більш-менш після надягання? щоб знати, чи вистачає мені місця.
спасибі
Сценарій не працює на таких дистрибутивах, як Gentoo, які за замовчуванням не використовують sudo. Вам слід зробити версію без sudo та вказати, що cronjob доведеться створювати у адміністраторі cron.
В іншому випадку відмінна ідея. Потрібно було щось зручне, як Adaway, але для Linux.
Привіт.
Дуже дякую!!! Дуже обрігадо !!!
На початку лютого 2016 року програма була змінена, щоб стати інструментом цензури. Більш широке пояснення в:
https://elgatoconlinux.wordpress.com/2016/02/20/bloquear-publicidad-no-es-lo-mismo-que-el-activismo-politico-o-la-censura-moralina/
Привіт. Я автор змін і, отже, того, що я зіпсував, тому що ця зміна є ненавмисною помилкою.
Сценарій був змінений, як пояснювалось у коміті, щоб дозволити дві речі
1- Щоб сценарій міг використовувати шрифти у zip та .7z
2- Щоб користувач міг додавати джерела, не вводячи їх у сценарій
(Ви можете перевірити це в коментарі до злиття, який вносить помилку, про яку ви згадали).
Спочатку я знайшов декілька джерел у zip та 7z, і мені здалося цікавим, що сценарій може з ними впоратися, тому я додав їх (я поставив усі знайдені для тестування краще, тому є все), щоб перевірити необхідні модифікації, щоб що я можу розпакувати та додати їх до результату.
Потім я також хотів протестувати список аед і додав його.
Протягом усього цього я зрозумів, що це завадило мені завантажувати зміни до проекту, оскільки цих джерел, як ти кажеш, не повинно бути в сценарії. Тож звідти виникла інша модифікація, про яку я вам говорив: користувач міг додавати джерела (через ~ / .hosty) без необхідності модифікувати сценарій.
Через брак часу я вніс усі ці зміни неперервно, і, схоже, я забув видалити джерела сценаріїв перед тим, як зробити злиття.
Щоб додати образи до травми, мій запит на витяг було прийнято, не розуміючи цієї помилки.
Я думаю, зрозуміло, що ніхто не збирався включати ці джерела, сподіваючись, що ні оригінальний автор, який повинен прийняти запит на витяг, ні кінцеві користувачі не помітять. Це була просто помилка.
Сподіваюся, я пояснив, що сталося, і прошу вас змінити свою публікацію так, щоб вона була відображена.
Велике спасибі та вибачте за незручності.
Привіт Джон! Я використовую цей сценарій з моменту, коли ви його опублікували ... але тепер він більше не видаляє рекламу на YouTube ...
ви могли б це виправити ??
Дякую!!
Привіт!
Добре.
Я вже давно використовую hosty на Gnu / Linux. Я намагаюся змусити його працювати на Mac, не могли б ви допомогти мені?
привіт