Jump to content

Search the Community

Showing results for tags 'entware'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Keenetic Community
    • Forum policy
    • Community Support & Knowledge Exchange
    • Off-topic lounge
  • Keenetic Updates
    • KeeneticOS
    • Keenetic mobile application
    • Keenetic RMM system
  • Форум пользователей Keenetic
    • Обмен опытом
    • KeeneticOS
    • Мобильное приложение
    • Keenetic RMM

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Location


Web-site


Interests


Occupation


AOL Account


ICQ Account


WLM


YAHOO


Facebook Account


Twitter Account


Skype Account


Youtube Account


Google+ Account


Keenetic

  1. ВНИМАНИЕ. В случае, если система Entware установлена на NTFS, не устанавливайте OpenSSH - работать не будет! Данный пост основан на более общей инструкции - http://forums.zyxmon.org/viewtopic.php?f=5&t=5261 и отличается от нее 3 байтами (найдите три различия) Некоторые считают openssh сервер более безопасным. Эта инструкция для таких пользователей. Настройка и использование openssh сервера почему то иногда вызывает затруднения. (1) Для использования openssh его сначала нужно его поставить командой `opkg install openssh-server` ~ # opkg install openssh-server Installing openssh-server (7.1p1-1) to root... Downloading http://entware.zyxmon.org/binaries/mipsel/openssh-server_7.1p1-1_mipselsf.ipk. Installing openssh-keygen (7.1p1-1) to root... Downloading http://entware.zyxmon.org/binaries/mipsel/openssh-keygen_7.1p1-1_mipselsf.ipk. Configuring openssh-keygen. Configuring openssh-server. Конфигурация сервера находится в файле /opt/etc/ssh/sshd_config. Я бы порекомендовал на время тестирования не отключать имеющийся ssh сервер dropbear, а настроить openssh на нестандартный порт, например 2222. Для этого отредактируем файл /opt/etc/ssh/sshd_config. (2) Уберем коментарий со строки #Port 22 и заменим ее на Port 2222 (3) Для того, чтобы пользователь root мог заходить по ssh добавим (отредактируем) строку PermitRootLogin yes (4) Теперь создадим ключи командой ` ssh-keygen -A` ~ # ssh-keygen -A ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519 (5) openssh сервер может работать только от имени пользователя sshd. Создадим его командой adduser -h /tmp -s /bin/false -D -H sshd -h задаем домашнюю директорию, -s задает shell, -D говорит, что пароль задавать не нужно, -H - не нужно создавать домашнюю папку, sshd - это имя пользователя. (6) После этих несложных манипуляций можно запустить сервер и проверить его работу: ~ # /opt/etc/init.d/S40sshd start starting sshd... Не забываем при проверках, что сервер запущен на нестандартном порту. Если все работает, можно отключать dropbear и переходить на openssh. Можно вернуть в этом случае порт на стандартный 22. Для отключения автозапуска dropbear переименуйте S51dropbear в K51dropbear
  2. Возможно ли добавить менеджер закачек в прошивку? Думаю будет полезная вещь на ряду с присутствующим BitTorrent'ом.
  3. Нашёл одну интересную статью в которой предлогается просматривать информацию SMART (температуру жёсткого диска, его модель, версию прошивки и др.) подключенного по USB жёсткого диска. Вся информация отображается в браузере и сохраняется в базу данных для последующего просмотра статистики за несколько дней. Для обновления информации используется планировщик задач cron. Для снятия показаний SMART используется программа smartmontools, для учёта статистики и построения графиков - rrdtool. Всё это работает с помощью веб-сервера на базе lighttpd на основе скрипта smarthtml_0.8.2. Скрипт получает данные из вывода smartctl, сравнивает их с сохранёнными значениями предыдущей проверки и создаёт html-страницу (/opt/share/www/smart.html) с таблицей атрибутов, отображая в ней последние изменения параметров. Также пишет в лог при изменении критически важных атрибутов и может отсылать сообщение по e-mail (sendmail). Перед началом использования, естественно, необходимо установить smartmontools и rrdtool с помощью комманды: opkg install smartmontools rrdtool Сам скрипт нужно положить, к примеру, в /opt/usr/bin/smarthtml.sh (после этого не забыв: chmod +x /opt/usr/bin/smarthtml.sh). Затем добавить в cron для регулярного запуска. Cron устанавливается с помощью комманды: opkg install cron После установки cron нужно отредактировать фаил crontab, который находится по адресу /opt/etc/crontab. В предлогаемой конфигурации файла crontab время обновления информации SMART равно 3 часам. 42 4 1 * * root /opt/bin/run-parts /opt/etc/cron.monthly # Read the information to the hard drive SMART # 10 */3 * * * /opt/usr/bin/smarthtml.sh Далее нужно узнать как определяется в системе жёсткий диск, для этого нужно ввести комманду: smartctl --scan. В терминале можно посмотреть информацию смарт с помощью комманды: smartctl -a /dev/sdb. Чтоб узнать температуру жёсткого диска нужно ввести комманду: smartctl -d sat /dev/sdb -l scttemp |grep Temperature. Для просмотра более подробной информации о винчестере можно набрать комманду: smartctl --xall /dev/sdb. ~ # smartctl --scan /dev/sdb -d sat # /dev/sdb [SAT], ATA device ~ # smartctl -a /dev/sdb smartctl 6.5 2016-05-07 r4318 [mips-linux-2.6.22.15] (localbuild) Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Western Digital AV Device Model: WDC WD3200BUCT-63TWBY0 Serial Number: WD-WX11E33PU344 LU WWN Device Id: 5 0014ee 6ae1231e9 Firmware Version: 01.01A01 User Capacity: 320 072 933 376 bytes [320 GB] Sector Sizes: 512 bytes logical, 4096 bytes physical Rotation Rate: 5400 rpm Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS (minor revision not indicated) SATA Version is: SATA 2.6, 3.0 Gb/s Local Time is: Sat Oct 8 18:21:49 2016 YEKT SMART support is: Available - device has SMART capability. SMART support is: Enabled При первом запуске (комманда sh /opt/usr/bin/smarthtml.sh) скрипт сам создаст каталог /opt/var/smarthtml/ и необходимые файлы для работы. ~ # sh /opt/usr/bin/smarthtml.sh + New dir /opt/var/smarthtml ... + New dir /opt/var/smarthtml/db ... + New dir /opt/var/smarthtml/log ... + New dir /opt/var/smarthtml/rrd ... + RRD DB /opt/var/smarthtml/rrd/sda.rrd was created... ~ # Параметры вызова скрипта: /opt/usr/bin/smarthtml.sh # запуск основной процедуры выполнения (запускается cron'ом по расписанию) /opt/usr/bin/smarthtml.sh resetwarn # сброс предупреждения после изменения критического параметра /opt/usr/bin/smarthtml.sh resetcount # сброс счётчиков изменений параметров /opt/usr/bin/smarthtml.sh makerrdgraph # только отрисовка графиков rrd без проверки SMART и без изменения данных /opt/usr/bin/smarthtml.sh mailtest # отправка тестового email (в случае использования e-mail оповещений) Про cgi-модуль smarthtml.cgi... Он позволяет обновлять данные SMART прямо с веб-страницы в любой момент, что может быть удобно для мониторинга в реальном времени. Эта процедура не затрагивает rrd (rrd обновляется cron'ом по расписанию), а поэтому может производиться в любое время когда требуется получить текущие данные. Для работы модуля необходимо в настройках веб-сервера указать выполнение .cgi файлов с помощью /bin/sh. Для lighttpd нужно установить модуль mod_cgi: opkg install lighttpd-mod-cgi ~ # opkg install lighttpd-mod-cgi Installing lighttpd-mod-cgi (1.4.38-1) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/lighttpd-mod-cgi_1.4.38-1_keenle.ipk. Installing lighttpd (1.4.38-1) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/lighttpd_1.4.38-1_keenle.ipk. Installing libpcre (8.39-1) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/libpcre_8.39-1_keenle.ipk. Configuring libpcre. Configuring lighttpd. Configuring lighttpd-mod-cgi. ~ # Далее в конфиге модуля /opt/etc/lighttpd/conf.d/30-cgi.conf изменить строку ".cgi" => "/opt/bin/perl", на ".cgi" => "/bin/sh", cgi.assign = ( ".pl" => "/opt/bin/perl", ".cgi" => "/bin/sh", ".rb" => "/opt/bin/ruby", ".erb" => "/opt/bin/eruby", ".py" => "/opt/bin/python" ) Это изменение заставит сервер выполнять .cgi файлы программой /bin/sh. Сам smarthtml.cgi нужно положить в /opt/share/www/cgi-bin/ и разрешить на выполнение: chmod +x /opt/share/www/cgi-bin/smarthtml.cgi. Скрипте smarthtml.sh отредактировать и изменить параметр USE_CGI_MODULE=0 на USE_CGI_MODULE=1. Так же в этом скрипте стоит обратить внимание на параметр Devices (example for multiple devices: DEVICES="/dev/sda /dev/sdb /dev/sdc" Там дожна стоять буква соответствующая вашему винчестеру, в моём случае это b - DEVICES="/dev/sdb". Если подключен только 1 винчестер, то скоре всего это будет буква a. ### Devices (example for multiple devices: DEVICES="/dev/sda /dev/sdb /dev/sdc") DEVICES="/dev/sdb" Есть один нюанс с правами доступа... Доступ к дисковым устройствам (/dev/sda и пр.) доступен лишь пользователю root (admin), в случае если ваш веб-сервер запускается с правами суперюзера (что в принципе нехорошо, но для embedded-систем является обычным делом), то нет никаких проблем. Если же сервер, скажем, публичный и запускается с правами специально созданного непривелегированного юзера, то можно использовать утилиту sudo из Entware для работы cgi-сценария. В smarthtml.cgi нужно выставить USE_SUDO=1. Затем установить и настроить sudo: ~ # opkg install sudo Installing sudo (1.8.14p3-1) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/sudo_1.8.14p3-1_keenle.ipk. Configuring sudo. ~ # Далее нужно отредактировать фаил sudoers ( /opt/etc/sudoers ). В оригинальной инструкции это предлагается сделать с помощью редактора vi используя комманду /opt/sbin/visudo. У меня почему то фаил не открылся для редактирования и я скопировал его на ПК, убрал атрибут "Только для чтения", отредактировал его с помощью Notepad++, сохранил изменения, вернул атрибут "Только для чтения" и вернул на прежнее место заменив старый фаил. В файле sudoers нужно добавить следующие строки (предположим, что веб-сервер запускается под юзером www) : admin ALL=(ALL) ALL www ALL=(admin) NOPASSWD:/opt/bin/smartctl, /opt/usr/bin/smarthtml.sh Вторая строка разрешит пользователю www запускать /opt/bin/smartctl и /opt/usr/bin/smarthtml.sh с правами admin без ввода пароля (это важно!), что необходимо для выполнения .cgi сценария. В случае успешной настройки при "клике" по ссылке "Check Now" в верхней части страницы таблица SMART должна обновиться вместе с датой последней проверки в заголовке таблицы. В результате получится: ## User privilege specification ## root ALL=(ALL) ALL admin ALL=(ALL) ALL www ALL=(admin) NOPASSWD:/opt/bin/smartctl, /opt/usr/bin/smarthtml.sh Чтоб заработал планировщик cron нужно перезагрузить роутер или просто запустить cron вручную с помощью комманды: /opt/etc/init.d/S10cron start ~ # /opt/etc/init.d/S10cron start Starting cron... already running. ~ # smarthtml_0.8.2.tar.gz Чтоб открыть страничку с информацией SMART нужно зайти по адресу \opt/share/www/ и открыть фаил smart.html Выглядит результат примерно так:
  4. Добрый день, Столкнулся с проблемой, на даче установлен роутер Zyxel Keentic II + USB модем Билайн, интернет нужен постоянно для работы сигнализации и видеоконтроля. Проблема, что периодически - через день или через неделю - зависает USB модем, при этом встроенная фича PingCheck не помогает, модем остается в режиме резервирования и соединения нет до перезагрузки роутера или если вынуть вставить модем. Хотелось бы иметь возможность резервных вариантов для данной проблемы - 1 периодическая перезагрузка роутера по расписанию, 2 скрипт который бы отключал питание УСБ модема в случае потери интернет соединения. В сети нашел скрипт для отключения питания юсб: #!/bin/sh #logger "Test modem reboot script." ping -c 5 8.8.8.8 if [ $? != 0 ]; then logger "INTERNET - OFF! Reboot USB Modem!" logger "USB power - OFF!" ledctl 53 ledctl 55 sleep 5 logger "USB power - ON!" ledctl 52 ledctl 54 fi команды для управления питанием:ledctl 52 - Power ON (USB - Omni, USB2 - Keenetic II/Keenetic Giga II/Keenetic Ultra)ledctl 53 - Power OFF (USB - Omni, USB2 - Keenetic II/Keenetic Giga II/Keenetic Ultra)ledctl 54 - Power ON (USB1 - Keenetic II/Keenetic Giga II/Keenetic Ultra)ledctl 55 - Power OFF (USB1 - Keenetic II/Keenetic Giga II/Keenetic Ultra) Автор использовал модифицированную прошивку с поддержкой cron. Хотелось бы установить данный скрипт на свой роутер. Как я понял нужно: Установить Entware, Установить необходимые пакеты: opkg install cron потом создать файл со скриптом и поместить (не знаю куда), установить правильные атрибуты файла (не знаю какие). Так же хотелось бы иметь возможность перезагрузки роутера по расписанию - скажем 1 раз в день. Помогите пожалуйста разобраться.
  5. работа с adb + "шнурок+воздух" ~ # adb devices List of devices attached 192.168.5.3:5555 device PMPхх016030хххх device ++ пакет в репах
  6. Здравствуйте, не подскажете куда вписать ip сервера и пароль для shadowsocks, обычно вписывал в shadowsocks.json
  7. Всем привет! подскажите пожалуйста, у меня мфу canon i-sensys mf4010 подключен по usb кабелю в keenetic omni I прошивка ndms v2.05(AAKU.20)C2, работает только принтер, можно ли задействовать сканер по сети или нет? Заранее спс!
  8. прим.: варианты между собой молосовместимые Вариант 1 Заходим по ssh на Keenetic и выполняем следующие команды: opkg update opkg install tor polipo Редактируем файл /opt/etc/tor/torrc (пример базовой настройки) SOCKSPort 9050 # Default: Bind to localhost:9050 for local connections. SOCKSPort 192.168.1.1:9100 # Bind to this address:port too. RunAsDaemon 1 DataDirectory /opt/var/lib/tor #User tor Редактируем файл /opt/etc/polipo/config (пример базовой настройки) proxyAddress = "0.0.0.0" # IPv4 only allowedClients = 127.0.0.1, 192.168.1.0/24 socksParentProxy = "localhost:9050" socksProxyType = socks5 dnsQueryIPv6 = no dnsUseGethostbyname = yes Стартуем сервисы /opt/etc/init.d/S28polipo /opt/etc/init.d/S35tor Настраиваем браузер (в примере FireFox) Для проверки идем по адресу. Должны увидеть нечто подобное Можно посмотреть через кого идет выход, напр., на 2ip.ru И вместо этого наблюдаем Вариант 2. за-tor-енная точка доступа прим.: TOR - имя интерфейса (произвольное, задаем любое свое) pass-tor - пароль доступа к сети (мин. 8 символов, задаем любой свой, если надо) tor-net - имя Wi-Fi сети (произвольное, задаем любое свое) 172.16.2.1 - IP-адрес точки доступа (произвольный, задаем любой свой, не должен пересекаться с существующими) Подключаемся к CLI Keenetic`a Выбираем интерфейс беспроводной сети interface WifiMaster0/AccessPoint2 Переименовываем интерфейс в TOR name TOR Устанавливаем уровень безопасности сети - private security-level private Устанавливаем алгоритм безопасности WPA2 (если надо) encryption wpa2 Включаем шифрование Wi-Fi-трафика (если установили алгоритм безопасности) encryption enable Устанавливаем ключ доступа к сети (если выполнили 2 предыдущих комманды, что выше) authentication wpa-psk pass-tor Устанавливаем ip-адрес точки доступа ip address 172.16.2.1 255.255.255.0 Устанавливаем SSID беспроводной сети ssid tor-net Активация интерфейса TOR up Для автоматической раздачи IP создаем DHCP pool и привязываем его к интерфейсу TOR. Создаем DHCP-пул ip dhcp pool TOR Устанавливаем диапазон IP адресов range 172.16.2.50 172.16.2.100 Привязываем созданный пул к интерфейсу TOR bind TOR Для применения всех настроек нужно отключить и включить модуль Wi-Fi Отключить interface WifiMaster0 down Включить interface WifiMaster0 up Сохраняем system configuration save Заходим по ssh на Keenetic и выполняем следующие команды: opkg update opkg install tor iptables Редактируем файл /opt/etc/tor/torrc: SOCKSPort 9050 SOCKSPort 192.168.1.1:9100 RunAsDaemon 1 DataDirectory /opt/var/lib/tor #User tor AutomapHostsOnResolve 1 DNSListenAddress 172.16.2.1 DNSPort 9053 TransListenAddress 172.16.2.1 TransPort 9040 VirtualAddrNetwork 10.192.0.0/10 Создаем файл /opt/etc/ndm/netfilter.d/010-tor-net.sh со следующим содержанием: #!/opt/bin/sh iptables -t nat -A PREROUTING -i ra2 -p udp --dport 53 -j REDIRECT --to-ports 9053 iptables -t nat -A PREROUTING -i ra2 -p tcp --syn -j REDIRECT --to-ports 9040 прим.: ra2 - имя созданного интерфейса (просмотреть можно командой ifconfig) Делаем файл исполняемым chmod +x /opt/etc/ndm/netfilter.d/010-tor-net.sh Перезагружаем Keenetic и пробуем... to be continued...
  9. Путеводитель по готовым решениям на базе Entware Готовые решения, на базе Entware можно найти в этом разделе и на этом форуме. Если решения в этом разделе сразу адаптированы для кинетиков, то другие решения могут потребовать небольшие доработки при использовании кинетиков. Ниже приводится список решений не из этого раздела. 1. [Entware] Screen, Tmux, Dtach - оконные менеджеры, "многозадачность", запуск задачи в фоне - http://forums.zyxmon.org/viewtopic.php?f=5&t=5378 2. [Entware] Syncthing - синхронизируем папки и файлы на разных устройствах через интернет и локальную сеть - http://forums.zyxmon.org/viewtopic.php?f=5&t=5376 *** требуется мощный проц, много памяти. Для роутеров класса Ultra2 *** 3. [Entware] rclone - работаем с облачными хранилищами - http://forums.zyxmon.org/viewtopic.php?f=5&t=5371 *** требуется мощный проц, много памяти. Для роутеров класса Ultra2 *** 4. [Entware] Поднимаем OpenVPN сервер - http://forums.zyxmon.org/viewtopic.php?f=5&t=36 5. [Entware] Openvpn клиент на роутере - http://forums.zyxmon.org/viewtopic.php?f=5&t=5344 6. VPN (L2TP) сервер на основе xl2tpd - http://forums.zyxmon.org/viewtopic.php?f=5&t=5230 7. [Entware] Mediatomb: больше DLNA серверов, хороших и разных - http://forums.zyxmon.org/viewtopic.php?f=5&t=5281 8. [Entware] Скачиваем видеоролики с youtube - http://forums.zyxmon.org/viewtopic.php?f=5&t=5356 *** требуется мощный проц. Для роутеров класса Ultra2 *** 9. shellinabox - SSH в браузере - http://forums.zyxmon.org/viewtopic.php?f=5&t=5275 10. [Entware] посылаем e-mail из командной строки - http://forums.zyxmon.org/viewtopic.php?f=5&t=5380 11. [Entware] mkvtoolnix: вытаскиваем субтитры из "матрёшек" - http://forums.zyxmon.org/viewtopic.php?f=5&t=5381 Список будет редактироваться. Со временем часть решений будет опубликована в этом разделе с адаптацией под кинетики.
  10. Это решение позволяет заблокировать баннеры, счётчики на веб-страницах, рекламу в Android-приложениях с помощью hosts-файла. Было: Стало: Установите необходимые пакеты: opkg install dnsmasq-full iptables ndmq Поместите в файл /opt/etc/ndm/netfilter.d/010-intercept-dns.sh следующее содержимое: #!/bin/sh [ "$table" != "nat" ] && exit 0 lan_ip=$(ndmq -p 'show interface Bridge0' -P address) iptables -t nat -I PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination $lan_ip:65053 iptables -t nat -I PREROUTING -p tcp -m tcp --dport 53 -j DNAT --to-destination $lan_ip:65053 и сделайте скрипт исполняемым: chmod +x /opt/etc/ndm/netfilter.d/010-intercept-dns.sh Отредактируйте файл /opt/etc/dnsmasq.conf, добавив в него строки: no-resolv server=77.88.8.88#1253 server=77.88.8.2#1253 port=65053 Скачайте подходящий чёрный список с рекламными хостами и поместите его в файл /opt/etc/hosts. В примере ниже указан один из самых популярных: wget -O /opt/etc/hosts http://winhelp2002.mvps.org/hosts.txt Всё! Перегрузите роутер для того, чтобы настройки вступили в силу. 0. Убедитесь, что на ПК не прописаны вручную в св-вах сетевого соединения сторонние DNS-серверы. Если вы в сетевых настройках ПК ничего не меняли, то можете это не проверять. 1. Очистите DNS-кеш операционной системы (для Windows - ipconfig /flushdns) 2. Очистите DNS-кеш браузера, достаточно его закрыть и открыть по новой. На скриншотах выше погода с Gismeteo, если решение работает, то рекламные баннеры будут отсутствовать.
  11. В связи с возможностью установки дополнительных модулей ядра - viewtopic.php?f=3&t=471 расширились и возможности кинетика. В этом сообщении я покажу как подключить расшаренную по протоколу NFS папку с другого устройства Вашей локальной сети к кинетику. Примечание. Расшаривание по протоколу NFS кроме linux (на обычном компе) часто реализовано на НАСах и мультимедиа плеерах Первое, что нужно сделать, это установить нужные модули. См. скриншот: Примечание 1. Если Вас устраивает монтирование с опцией nolock, то portmap можно не запускать и добавить опцию nolock. к команде монтирования: `mount -t nfs -o -o vers=3,udp,nolock //:/<имя шары>/ <локальная директория>` Примечание 2. Измерил скорость копирования большого файла с nfs блоками по 1k на Extra # dd if=<Большой файл на шаре> of=/dev/null bs=1k 989882+1 records in 989882+1 records out 1013639246 bytes (1,0 GB) copied, 46,4714 s, 21,8 MB/s Около 22 МБ/с или 1 Гигабайт в минуту. NAS умеет отдавать быстрее, но в целом неплохо. Загрузка CPU около 100% Примечание 3. Если Вы собираетесь использовать подмонтированную шару для скачивания на нее торрентов, это не очень хорошая идея. Примечание 4. Если необходимо, можно в фоне копировать с/на NFS шару, как это описано для протокола cifs тут - viewtopic.php?p=5682#p5682
  12. Данная тема создана по следам инструкций по использованию предыдущих версий первой ветки замечательного приложения dnscrypt-proxy, которое автор вернул к плотной разработке, правда, сменив язык на Go. Для начала рекомендую ознакомиться со статьями о первой версии приложения: Установка Замена основного DNS резолвера прошивки резолвером dnscrypt-proxy2 Настройка клиентов на использование dnscrypt-proxy2 в качестве DNS сервера Хранение файлов DNSCrypt и некоторые советы по конфигурации Блокировка рекламы Добавляем возможность разрешать домены в зоне *.lib Перехват всех DNS запросов на роутере. "Приземление" DNS трафика Диагностика проблем с запуском\работой. Опять же все ограничения, которые касались использования первой версии dnscrypt-proxy справедливы и для второй, ссылки на инструкции я приложил выше. Это моя первая инструкция в этом разделе, так что сильно не пинать, а конструктивная критика крайне приветствуется. Если есть, что нужно подправить\доработать - пишите, вместе сделаем использование данного пакета проще и эффективнее. Изменения шапки. В итоге: Защитили весь свой DNS трафик от перехвата со стороны провайдера и Гугла Заблокировали рекламу на всех устройствах домашней сети (это наиболее актуально для всяких Смарт ТВ и других девайсов не нет возможности блокировать рекламу на самом устройстве) Получили разрешение имен *.lib и других, чем немного упростили себе жизнь в все более блокируемом интернете
  13. Решил попробовать - zerotier. ZeroTier One - Open source приложение для создания Ethernet-сетей c end-to-end шифрованием всего трафика, возможно использование коммерческой и бесплатной версии. Основной плюс - работает через сервер-посредник (т.е. не нужен "белый" IP). Возможно соединение bridge (т.е. бродкаст/мультикаст, "Обозреватель сети", автоопределение UPnP-устройств и т.п. будут работать). 1. нужно зарегистрироваться https://www.zerotier.com/admin.html и создать свою сеть (хоть все на англ. но не очень сложно) и создать свою сеть. После регистрации зайти на страницу "Network" и создать свою сеть (я сменил Short Name, Auto-Assign from Range диапазон, Flow Rules - устроят по умолчанию. После этого в левом верхнем углу нужен Network ID. 1. На роутере / # opkg list | grep zerotier zerotier - 1.2.4-1 - ZeroTier creates a global provider-independent virtual private cloud network. / # opkg install zerotier ... / # zerotier -p60600 -d & / # ERROR: unable to add ip address 192.168.хх.17/24 по DHCP получить адрес не получилось, попробуем поднять руками / # ifconfig ... zt0 Link encap:Ethernet HWaddr хх:хх:хх:хх:A1:30 inet6 addr: fe80::хххх:хххх:хххх:хх30/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:2800 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 B) TX bytes:408 (408.0 B) / # ifconfig zt0 192.168.хх.17 netmask 255.255.255.0 / # ifconfig zt0 zt0 Link encap:Ethernet HWaddr хх:хх:хх:хх:A1:30 inet addr:192.168.хх.17 Bcast:192.168.хх.255 Mask:255.255.255.0 inet6 addr: fe80::хххх:хххх:хххх:хх30/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:2800 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 B) TX bytes:408 (408.0 B) / # / # zerotier-cli listnetworks 200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips> 200 listnetworks ххххNetwork_IDххх Ex_Kii хх:хх:хх:хх:a1:30 OK PRIVATE zt0 192.168.хх.17/24 / # zerotier-cli info 200 info хххххххх9e 1.2.4 ONLINE / # / # ip ro default dev ppp0 scope link ... 192.168.хх.0/24 dev zt0 proto kernel scope link src 192.168.хх.17 2. на https://my.zerotier.com/network в самом низу получаем наше устройство активным где можно усидеть наши параметрами : Auth, Address, Name/Description, Managed IPs, Last Seen, Version, Physical IP. 3. произвести настройки маршрутов Примечание возможно изменение Flow Rules из тех что по умолчанию на странице вашего https://my.zerotier.com/network/ Приложение под Windows https://www.zerotier.com/download.shtml под Android так же есть .
  14. Добрый день. А вот такую вещь до кучи к mpd никто не пробовал внедрить? Было бы очень круто , особенно в схемах с несколькими Keenetic-ами, эдакая "audio-mesh" система, альтернатива Sonos :)
  15. Asterisk-11.x был "отправлен на пенсию" (openwrt/lede; подробности см. тут). Asterisk-13.x был "отправлен на пенсию" (openwrt/lede; подробности см. тут). Asterisk-15.x был "отправлен на пенсию" (openwrt/lede; подробности см. тут).
  16. Репозиторий entware включает в себя два nfs сервера - userspace сервер unfs3 и ядерный. В связи с возможностью установки дополнительных модулей ядра - viewtopic.php?f=3&t=471 расширились и возможности кинетика. В этом сообщении я покажу как поднять ядерный nfs сервер. Первое, что нужно сделать, это установить нужные модули. См. скриншот: В момент написания данной заметки все установленные модули автоматически загружаются. Делать insmod или modprobe не нужно. Второе- установим и запустим pormap opkg install portmap /opt/etc/init.d/S55portmap start (После перезагрузок pormap будет автоматически запускаться) Третье - установим сервер opkg install nfs-kernel-server Четвертое - отредактируем файл /opt/etc/exports # cat /opt/etc/exports /opt *(rw,no_root_squash,insecure,sync,no_subtree_check) Я в этом примере расшариваю всем всю директорию /opt на запись Пятое - удалим скрипт запуска и заменим его другим rm /opt/etc/init.d/S57nfs-kernel-server wget http://pkg.entware-keenetic.ru/binaries/S20nfsd -O /opt/etc/init.d/S20nfsd chmod +x /opt/etc/init.d/S20nfsd Шестое. Запустим скрипт запуска /opt/etc/init.d/S20nfsd start Седьмое - профит! :D PS Лучше переименовать скрипты запуска portmap и nfsd, чтобы portmap запускался первым. PPS. Содержимое S20nfsd: # cat /opt/etc/init.d/S20nfsd #!/bin/sh # Copyright (C) 2006 OpenWrt.org PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin NFS_D=/opt/var/lib/nfs LOCK_D=/opt/var/lib/nfs/sm start() { grep -q /proc/fs/nfsd /proc/mounts || \ mount -t nfsd nfsd /proc/fs/nfsd mkdir -p $LOCK_D touch $NFS_D/rmtab sysctl -w fs.nfs.nlm_tcpport=32777 fs.nfs.nlm_udpport=32777 > /dev/null rpc.statd -p 32778 -o 32779 exportfs -r rpc.nfsd rpc.mountd -p 32780 } stop() { killall rpc.mountd 2> /dev/null rpc.nfsd 0 2> /dev/null exportfs -au killall rpc.statd 2> /dev/null grep -q /proc/fs/nfsd /proc/mounts && \ umount /proc/fs/nfsd } reload() { exportfs -r } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; reload) reload ;; link_up) ;; ppp_up) ;; link_down) ;; ppp_down) ;; *) echo "Usage: $0 {start|stop|restart|reload|link_up|link_down|ppp_up|ppp_down}" ;; esac
  17. Подробнее тут - http://forums.zyxmon.org/viewtopic.php?f=5&t=5484 Краткое содержание: Речь об универсальном установщике, с помощью которого можно поставить среду Debian (возможен выбор дистрибутива stable(или jessie), oldstable (wheezy), testing (stretch), unstable (sid)) прямо в Entware. Поддерживаются все архитектуры, имеющиеся в Entware-3x (armv5, armv7, mipsel, mips, x64).Установка производится online. Примерное время установки: 19 минут на keeneic Extra.Keenetic должен иметь выход в интернет, на нем должна быть установлена версия busybox 1.25.1-2a.Установка основана на пакете opwenwrt debootstrap в который добавлены три дополнительных скрипта /opt/bin/install-debian (установщик), /opt/bin/start-debian (вход в chroot среду) и /opt/etc/init.d/S99debian (запуск служб). Краткий порядок установки opkg update opkg upgrade opkg install debootstrap опциональное редактирование /opt/bin/install-debian install-debian /opt/etc/init.d/S99debian start start-debian После этого в debian среде passwd apt-get update apt-get install locales dpkg-reconfigure locales dpkg-reconfigure tzdata далее по вкусу Выход из среды - exit. В среде Debian доступны бинарники Entware, например, ndmq. Установка служб аналогична установке Debian из архива. Желательно перед установкой включить swap.
  18. Прошивки маршрутизаторов кинетик содержат в качестве сервера сети Microsoft комерческий продукт под названием CIFS NQ - http://visualitynq.com/cifsnq/nqcifs.php Настройки CIFS NQ минимальные. Если нужен более полный контроль, то стоит отключить встроенный сервер и установить старую добрую самбу. Это делается просто. 1. Установка `opkg install samba36-server` 2. Настройка заключается в редактировании файла /opt/etc/samba/smb.conf Простейший рабочий файл [global] netbios name = Extra interfaces = lo br0 server string = Keenetic workgroup = MYGROUP guest account = nobody security = user map to guest = Bad User guest ok = yes guest only = no browseable = yes timestamp logs = no preserve case = yes short preserve case = yes socket options = TCP_NODELAY SO_KEEPALIVE IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536 log level = 0 syslog = 0 passdb backend = smbpasswd smb encrypt = disabled smb passwd file = /opt/etc/samba/smbpasswd [Entware] path = /tmp/mnt/ENTWARE3X force user = root writable = yes comment = ExtraFlash Если нужно, добавьте wins, local master и другой требуемы функционал. 3. Запуск будет осуществляться автоматически при загрузке роутера. Вначале для тестирования можно запускать руками `/opt/etc/init.d/S08samba start`
  19. Есть возможность отправлять до пяти СМС в сутки на свой телефон, используя сервис SMS.ru. Для отправки СМС с роутера необходимо после регистрации на сервисе получить api_id. Ниже приведена пара примеров использования этой возможности.
  20. К тестированию меня сподвигла ситуация, что при наличии подключения IPV6 дома Телеграм отлично работает напрямую по IPV6, но у моего мобильного оператора IPV6 на сети его нет. Гонять же VPN по соте крайне расточительно для аккумулятора. Также как показала практика, при работе смарта с MTProxy, чем меньше задержка до прокси из сотовой сети, тем меньше расход аккумулятора (но это не точно, и требует доп. проверок и изучения). Также учитывая то, что многие хостеры в РФ ввели у себя запрет на размещение средств обхода блокировок, а у себя дома этому никто не мешает и имея такой прекрасный роутер, как Keenetic я начал исследовать этот вопрос. Для тестирования была выбрана реализация прокси сервера на Python3 от Александра Берсенёва. ( Статья автора https://habr.com/post/414139/ ) Особенностью работы MTProtoproxy является то, что прокси может работать в двух режимах соедения с серверами телеграмма: напрямую, в режиме эмуляции клиента, и через middle-proxy Телеграмма, как официальная реализация. Отмечу, что тестирование показало, что работа напрямую происходит в полтора раза быстрее и занимает практически в 2 раза меньше памяти, чем через middle-proxy. Однако нужно отметить, что только работа через middle-proxy позволяет пользователям своего прокси подключать рекламный канал (ну а вдруг...) Для работы должен быть развернут Entware на Вашем оборудовании https://forum.keenetic.net/topic/4299-entware/ Инсталляция. 1. Устанавливаем, если их нет, Python3 и библиотеку Cryptography. opkg install python3 python3-cryptography 2. Устанавливаем Git, если его нет. opkg install git git-http 3. Разворачиваем с Git образ MTProtoproxy git clone -b stable https://github.com/alexbers/mtprotoproxy.git (Экстремалы могу развернуть и master-ветку, в которую например 01.07.2018 была добавлена также поддержка пакетов переменной длины, и теперь можно сказать определённо - привет DPI-ям, которые будет пробовать блочить на уровне пакетов mtproxy. git clone -b master https://github.com/alexbers/mtprotoproxy.git ) 4. Переходим к конфигурированию. cd mtprotoproxy/ Конфигурирование заключается в редактировании файла config.py 1. Генерим секретный ключ подключения к прокси. (Ставим при необходимости xxd: opkg install xxd) head -c 16 /dev/urandom | xxd -ps Можно сгенерить и другими путями, или придумать ключ самому. Вставляем его в конфиг после "tg":, заменив им нули. По умолчанию конфиг настроен на работу по двум ключам. Но их кол-во одновременно работающих ключей можно менять по необходимости, как сократив до одного, так и увеличив. MTProtoproxy ведёт статистику подключений по каждому ключу. 2. Для увеличения скорости работы рекомендуется добавить опцию к конфиге FAST_MODE = True . 3. При желании подключить рекламный канал или работать именно через слой middle-proxy регистрируем свой прокси у бота @MTProxybot. (Рекомендация: Лучше всего давать ему имя хоста в доменном, а не в ip формате, особенно при dual stack ipv4-ipv6 подключении) Получаем у него proxy tag, раскомментируем и вписываем его в конфиге в разделе AD_TAG. Запускаем для проверки: python3 mtprotoproxy.py Постоянный запуск из консоли лучше проводить командой python3 mtprotoproxy.py >> out.txt & Тогда прокси уйдёт работать в фон и будет выводить свою статистику раз в 10 минут в файл out.txt. Небольшой файл для автозагрузки в /etc/init.d с логированием ошибок и выдачей статистики также приложен к сообщению. S61mtprotoproxy Для подключения к прокси снаружи не забываем открыть соответсвующий порт в фаерволле Keenetic-a. Как говорилось ранее для хоста желательно, особенно для ipv4-ipv6 dual stack, иметь доменное имя, с AAAA и A записями, тогда перадавать ссылку можно будет не ip адресами, а просто хостнеймом одновременно для ipv4 и ipv6. Обсуждение работы и поведения лучше всего вести или здесь, или на канале https://t.me/Keenetic_ru где я тоже присутствую. Детали работы для опытных. Mtprotoproxy имеет возможность работать на 4-х библиотеках шифрования. Встроенной AES, очень медленной, фактически она подходит лишь для тестирования работы python-а, Cryptography, Pycryptodome и Pycrypto. Как показали мои синтетические тесты разницы в скорости работы между Cryptography и Pycryptodome практически нет, но если всё-таки найдутся проблемы, то следует удалить библиотеку python3-cryptography и поставить тестовый build http://bin.entware.net/mipselsf-k3.4/keenetic/test/python3-pycryptodome_3.7.3-1_mipsel-3.4.ipk для моделей DSL, LTE, VOX http://bin.entware.net/mipssf-k3.4/keenetic/test/python3-pycryptodome_3.7.3-1_mips-3.4.ipk
  21. Решил опробовать способ обхода заглушек провайдера с одного всем известного сайта. Принцип несложный - фильтровать пакеты по наличию в них HTTP строки на переадресацию. Однако четкой инструкции на мой роутер на сайте не было, поэтому попробовал реализовать это с помощью OPKG и Entware отсюда. Включил OPKG через веб-интерфейс, "накатил" Entware, сделал через SSH "opkg update" и "opkg install iptables" и прописал по инструкции такую вот команду. iptables -t raw -A PREROUTING -p tcp --sport 80 -m string --algo bm --from 50 --to 200 --hex-string "Location: http://%заглушка%/" -j DROP И вроде работает. Но только вот работает как-то нестабильно. Довольно часто пакеты, которые должны попадать под это правило, всеравно проходят. Адрес в %заглушка% указан верно. Диапазон поиска фразы в пакете подходит (согласно тупому визуальному сравнению в Wireshark). Как найти виновного с учетом того, что в linux-системах я понимаю мало?
  22. torrentmonitor nginx Устанавливаем минимальный набор пакетов (чтоб запустить) Сервер для Entware-Keenetic/Entware-3x opkg install nginx MySQL(MariaDB) PHP7 Общий список пакетов для обеих систем opkg install php7-cli php7-fastcgi php7-mod-curl php7-mod-iconv \ php7-mod-json php7-mod-mbstring php7-mod-pdo php7-mod-pdo-mysql \ php7-mod-session php7-mod-simplexml php7-mod-xml php7-mod-zip Правим nginx.conf примерно до следующего вида: Также правим fastcgi_params (добавим пару строк) Создаем скрипт запуска S79php-fcgi #!/bin/sh export PHP_FCGI_CHILDREN='' ENABLED=yes PROCS=php-fcgi ARGS="-b /opt/var/run/php-fcgi.sock &" PREARGS="" DESC=$PROCS PATH=/opt/bin:/opt/sbin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin . /opt/etc/init.d/rc.func И делаем его исполняемым chmod +x /opt/etc/init.d/S79php-fcgi Редактируем php.ini Проверяем корректность конфига nginx, если ошибок нет, то видим следующее nginx -t nginx: the configuration file /opt/etc/nginx/nginx.conf syntax is ok nginx: configuration file /opt/etc/nginx/nginx.conf test is successful Если есть ошибки, то сообщит с указанием строки Создаем каталог для файлов сервера и файл, с выводом информации о РНР mkdir /opt/share/www echo "<?php phpinfo(); ?>" >> /opt/share/www/phpinfo.php Стартуем сервисы /opt/etc/init.d/S79php-fcgi start /opt/etc/init.d/S80nginx start Идем по ip.add.re.ss:88/phpinfo.php и смотрим на вывод (если ничего нет - проверяем, что сделали не так) Cкачать и распаковать архив с torrentmonitor`ом любым удобным способом (в примере ниже - будет использоваться путь: /opt/share/www/tm) Ставим "Машку" opkg install mariadb-server mariadb-client-extra Создаём базу данных (БД) mysql_install_db Запускаем сервис /opt/etc/init.d/S70mariadbd start Задаем пароль для доступа к БД (в примере ниже - Passw0rd) mysqladmin -u root password "Passw0rd" Подключаемся к БД с созданным паролем mysql -u root -p Создаем БД для Torrentmonitor create database tm; Меняем БД для работы с ней \u tm Импортируем таблицы source /opt/share/www/tm/db_schema/mysql.sql Выход из MariaDB \q Перезапустим сервис, чтоб подхватилась созданная БД /opt/etc/init.d/S70mariadbd restart Переименовываем файл /opt/share/www/tm/config.php.example в config.php и редактируем: ... #Для MySQL: Config::write('db.host', 'localhost'); Config::write('db.type', 'mysql'); Config::write('db.charset', 'utf8'); Config::write('db.port', '3306'); Config::write('db.basename', 'tm'); # имя БД Config::write('db.user', 'root'); # имя пользователя для доступа к БД Config::write('db.password', 'Passw0rd'); # пароль к БД #Для PostgreSQL:... Переходим в браузере на ip.add.re.ss:88/tm , появится страница входа (пароль на вход - torrentmonitor). SQLite PHP7 ставим пакеты: opkg install php7-cli php7-fastcgi php7-mod-curl php7-mod-iconv \ php7-mod-json php7-mod-mbstring php7-mod-pdo php7-mod-pdo-sqlite \ php7-mod-session php7-mod-simplexml php7-mod-xml php7-mod-zip создаём скрипт запуска php `mcedit /opt/etc/init.d/S79php-fcgi` и делаем его исполняемым `chmod +x /opt/etc/init.d/S79php-fcgi` #!/bin/sh export PHP_FCGI_CHILDREN='' ENABLED=yes PROCS=php-fcgi ARGS="-b /opt/var/run/php-fcgi.sock &" PREARGS="" DESC=$PROCS PATH=/opt/bin:/opt/sbin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin . /opt/etc/init.d/rc.func правим конфиг nginx `mcedit /opt/etc/nginx/nginx.conf`: и `mcedit /opt/etc/nginx/fastcgi_params` и для php - `mcedit /opt/etc/php.ini` если в конфиг nginx вносили свои изменения, проверяем синтаксис на корректность `nginx -t` (для копи-пасты - не надо, проверено ) если не создан, создаём каталог для файлов сервера `mkdir /opt/share/www` "пара штрихов к портрету" `echo "<?php phpinfo(); ?>" >> /opt/share/www/phpinfo.php` и `ln -s /opt/share/nginx/html/ /opt/share/www/html` стартуем сервисы `/opt/etc/init.d/S79php-fcgi start` и `/opt/etc/init.d/S80nginx start` идём на адрес:88/html/ и смотрим приветственную страницу nginx, по адресу:88/phpinfo.php - сводную информацию о php (если нет - снова перечитываем и проходим все шаги ещё раз ) Качаем архив `wget http://korphome.ru/torrent_monitor/tm-latest.zip` , ставим пакет `opkg install unzip` и распаковываем `unzip tm-latest.zip -x -d /opt/share/www/` не нравиться имя папки? меняем (напр., tm) `mv /opt/share/www/TorrentMonitor-master/ /opt/share/www/tm` и переходим в неё `cd /opt/share/www/tm/` Готовим конфиг `cp config.php.example config.php` `mcedit config.php` ставим пакет `opkg install sqlite3-cli` и импортируем таблицы БД `cat db_schema/sqlite.sql | sqlite3 /opt/var/torrentmonitor.sqlite`, до кучи - задаём права доступа `chmod 666 /opt/var/torrentmonitor.sqlite` Всё! Можно отправляться по известному адресу и настраивать на работу... Не забываем добавить в cron задание */30 * * * * php-cli /opt/share/www/tm/engine.php >> /opt/var/log/torrent_monitor_error.log 2>&1
  23. Если ваш провайдер перехватывает\логирует\подменяет DNS-запросы или вы просто хотите обезопасить DNS-трафик, то вам может изложенное ниже решение, основанное на использовании dnscrypt-proxy. Установите необходимые пакеты: opkg install fake-hwclock dnscrypt-proxy iptables ndmq При запросе о предпочитаемом сервере dnscrypt просто нажмите Enter. Поместите в файл /opt/etc/ndm/netfilter.d/010-intercept-dns.sh следующее содержимое: #!/bin/sh [ "$table" != "nat" ] && exit 0 lan_ip=$(ndmq -p 'show interface Bridge0' -P address) iptables -t nat -I PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination $lan_ip:65053 iptables -t nat -I PREROUTING -p tcp -m tcp --dport 53 -j DNAT --to-destination $lan_ip:65053 и сделайте скрипт исполняемым: chmod +x /opt/etc/ndm/netfilter.d/010-intercept-dns.sh Далее, отредактируйте стартовый скрипт /opt/etc/init.d/S09dnscrypt-proxy, заменив в нём строчку ARGS="--local-address=127.0.0.1:65053 --daemonize -R cisco" на ARGS="--local-address=$(ndmq -p 'show interface Bridge0' -P address):65053 --daemonize -R cisco" И перегрузите роутер из веб-интерфейса. Всё! Диагностика проблем: Как это работает: Зачем нужен пакет fake-hwclock: Что теряем при использовании этого решения:
  24. В репозиторий Entware-3x добавлен пакет netdata для мониторинга в реальном времени - https://github.com/firehol/netdata/wiki Установка и запуск элементарны opkg update opkg install netdata /opt/etc/init.d/S60netdata start Плагины отключены, использованы настройки для слабых устройств - https://github.com/firehol/netdata/wiki/Memory-Requirements#running-netdata-in-embedded-devices Для мониторинга зайдите на ваше устройство по http, порт 19999. Дэшборд с информацией огромен - до 100 красивых графиков. Приведена только часть. Что там есть понятно из "меню" в правом верхнем углу.
  25. Monitorrent это кросплатформенное веб приложение для автоматического скачивания торрент файлов и последующей их загрузки с помощью выбранного вами торрент клиента. Устанавливаем необходимый набор пакетов opkg install python3 python3-pip wget unzip pip3 install --upgrade setuptools Устанавливаем monitorrent mkdir -p /opt/monitorrent/ cd /opt/monitorrent/ wget https://github.com/werwolfby/monitorrent/releases/download/1.1.11/monitorrent-1.1.11.zip unzip monitorrent-1.1.11.zip pip3 install -r requirements.txt Создаем скрипт запуска nano /opt/etc/init.d/S95tormon #!/bin/sh cd /opt/monitorrent python3 server.py & Делаем его исполняемым chmod +x /opt/etc/init.d/S95tormon Запускаем сервер приложения monitorrent cd /opt/monitorrent/ python3 server.py & Обязательно дожидаемся сообщения Server started on 0.0.0.0:6687 Переходим в браузере по адресу IPРоутера:6687, появится страница входа (пароль на вход - monitorrent).
×
×
  • Create New...