MyTetra Share
Делитесь знаниями!
Блокировка рекламы на роутере с прошивкой DD-WRT
Время создания: 25.03.2016 02:14
Раздел: Компьютер - Web / Internet - Блокировка рекламы
Запись: xintrea/mytetra_syncro/master/base/1458861292w16uktxujh/text.html на raw.github.com

Один из пользователей pikabu.ru написал следующее: я прямо на роутере настроил shell-скрипт, который при запуске подтягивает базу популярных рекламных ссылок, как пример - http://hosts-file.net/ad_servers.txt и прописывает их в черный список. Таким образом на всей домашней сети реклама у меня отсутствует как вид.


В прошивке DD-WRT можно исполнять shell-скрипты. Вот кусок документации, взятой из русскоязычной WIKI отсюда:



Введение

Программа на языке shell часто называют скриптами или сценариями(Script). С помощью shell Вы можете создавать сложные программы, конструируя их, как из кирпичиков, из существующих утилит UNIX. Интерпретатор считывает строки из файла-скрипта и выполняет их, как если бы они были введены пользователем в командной строке. Иногда необходимо, чтобы сценарии выполнялись автоматически, эта статья объясняет, что происходит в момент запуска скрипта.

Общая информация

По умолчанию DD-WRT осуществляет поиск в 4 директориях:

  • /etc/config/
  • /jffs/etc/config/
  • /mmc/etc/config/
  • /tmp/etc/config/

Типы сценария

Для правильной работы1 каждое приложение помещённое в одну из директорий должно иметь расширение..
Каждое расширение имеет значение.

Расширение

'Значение

.startup

будет выполняться при системном запуске, обычно время начальной загрузки и перед настройкой брандмауэра.

.prewall

будет выполняться всякий раз, когда интерфейс WAN восстанавливает работоспособность и перед брандмауэром.

. wanup

будет выполняться всякий раз, когда интерфейс WAN восстанавливает работоспособность и после брандмауэра.2

.if

будет выполняться всякий раз, когда любой из интерфейсов восстанавливает работоспособность и после брандмауэра.

. ipup

запускается, когда соединение PPP восстановлено после разъединения и после брандмауэра.

. ipdown

запускается, когда соединение PPP было выключено

. sesbutton

выполняется, при [SES Button|SES/AOSS/EZ-SETUP button] нажатии

1 Все файлы должны должны быть исполняемыми, к каждому из которых устанавливаються права доступа. Для этого используется команда chmod(1).


2 Сценарии .wanup могут выполняться несколько раз, во время загрузки маршрутизатора. [1]

Добавление директорий или сценириев

Для выполнения сценария с различными расширениями или теми, которые расположены в другом каталоге, можно создать скрипт.3

for I in `/bin/ls /jffs/etc/config/*.myextension`;do

sh $I &

done

Команда sh/jffs/etc/config/*.myextension выполнит каждый сценарий, заканчивающийся на .myextension, найденном в каталоге /jffs/etc/config.

3 Меняем путь (/jffs/etc/config) и расширение на свои.

Автозагрузки при старте маршрутизатора

За запуск при старте отвечает переменная rc_startup, которой присваивается значение. Выполняется в коммандной строке.

~# nvram set rc_startup="/jffs/etc/config/*.myextension"

~# nvram commit

~# echo "/jffs/dir/my_scripts &" >> /jffs/etc/config/*.myextension

Для задержки используется ключ ="sleep"

~# nvram set rc_startup="sleep 30; /jffs/etc/config/*.myextension"

~# nvram commit



Осталось разобраться, какой скрипт имел в виду автор.


 
MyTetra Share v.0.65
Яндекс индекс цитирования