Помнится, в свое время у меня был роутер Zyxel Keenetic Giga I, с первой версией прошивки, в которой можно было немного пошаманив ставить пакеты OpenWRT. Я даже ставил туда пакет 3proxy, чтобы сделать на роутере свой собственный публичный прокси и лазать по сайтам, которые в то время были запрещены на работе... Но во второй версии прошивки все эти плюшки пропали, и я уже забыл о тех прекрасных днях и купил вторую Гигу, как вдруг произошли события поселившие в мою голову эту безумную идею, управлять передатчиком NooLite прямо из роутера...
После очередного обновления прошивки на моем Zyxel Keenetic Giga II появляется новый компонент:
Вобщем погуглив вы найдете, как снова поставить SSH на роутер и пользоваться пакетами OpenWRT. А хотя и гуглить не надо, у меня все есть.
Будем считать, что вы это уже сделали, а я расскажу только, как пользоваться тем, что написал я. Качаем отсюда.
В архиве лежит утилита управления NooLite и Web-интерфейс, написанный на php. Если вы мне не доверяете - исходники прилагаются, но я не буду расписывать как их собирать, лень, вы же знаете.
Из папки binaries закидываем бинарники на флешку роутера, bin в bin, lib в lib, share в share.
Папка binaries-entware-3x для Entware-3x (для Keenetic'ов с прошивкой 2.07 и выше), binaries-entware-ng для Entware-ng. Когда будем копировать libs, если спросит что-то заменить - не надо заменять.
Теперь на роутере под SSH также можно отправлять команды NooLite (при условии, что вы воткнете передатчик в USB порт роутера).
Команды почти такие же, как и в консольной утилите для Windows (бинарник называется noolite, но у него нельзя прописывать файл с переменными). Проверяем, как это работает:
noolite channel=0 command=off lock=200
По 0-му каналу должен был выключиться свет, он выключился? Да? Нет? Что ты молчишь?!
Будем считать, что да. Для автоматизации можно писать скрипты и помещать их в cron. А можно поставить на роутер сервер с PHP и поднять Web-сервис прямо на нем, тогда вам вообще не понадобится постоянно включенный компьютер, что мы сейчас и будем делать.
Заходим на роутер по SSH и выполняем:
opkg update
opkg install php5-cgi lighttpd-mod-fastcgi cron
Эта команда устанавливает Веб-сервер, PHP, и cron для планирования задач. Я бы ещё Midnight Commander поставил, ибо удобнее:
opkg install mc
Дальше редактируем настройки Web-сервера:/opt/etc/lighttpd/lighttpd.conf указав верный порт:
server.port = 82
80-й порт уже занять Web-интерфейсом роутера, поэтому выбираем другой.
Затем редактируем файл:/opt/etc/lighttpd/conf.d/30-fastcgi.conf, сделав так:
fastcgi.server = ( ".php" =>
( "php-local" =>
(
"socket" => "/opt/tmp/php-fastcgi-1.socket",
"bin-path" => "/opt/bin/php-fcgi",
"max-procs" => 1,
"broken-scriptfilename" => "enable",
)
),
# .....
# .....
)
Вот и все, а теперь запускаем сервер:
lighttpd -f /opt/etc/lighttpd/lighttpd.conf
Сервер напишет, что запустился, или пошлет вас к черту. Но мы будем оптимистами, считаем, что он запустился. Дальше идем в Веб-браузер и вводим в адресной строке IP роутера и порт, который мы указали в настройке. И видим...
...там мои настройки, поэтому нужно поменять их на свои.
Лезем на роутер по сети (не будем же мы все это редактировать под SSH? Хотя почему нет?). Вобщем нам нужен файл share/www/config.php, выглядит он так:
Он почти такой-же, как и у сервиса Windows, но есть изменения и теперь он продокументирован. Меняйте настройки под свою систему (я верю в то, что вы разберетесь - иначе вы бы не дошли до этого шага) и пользуйтесь на здоровье. Веб интерфейс сделан больше под мобильные устройства, но под десктоп им вполне можно пользоваться. На этом я откланиваюсь, гуд лак!
Файлы:
Набор Web-сервиса NooLite для Zyxel Keenetic NDMSv2