-
Posts
1,215 -
Joined
-
Last visited
-
Days Won
25
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by Александр Рыжов
-
-
Переход на резервный канал с помощью Telegram
- Создайте новый апплет, выбрав в качестве «this» сервис Telegram, триггер «New message with key phrase to @IFTTT».
- В качестве ключевой фразы «выключи основной канал», в шаблоне ответа «готово!» после чего нажмите «create trigger».
- В качестве «that» выберите сервис Webhooks,
- выберите его единственное действие «Make a web request».
-
Параметры действия следующие:
• URL: https://rci:rcipassword@rci.giga.keenetic.pro/rci/ ,
• Method: POST
• Content type: application/json
• Body: [{"interface":{"ISP":{"up":{"no":true} } } }] - Нажмите «finish»
Цифры в списке выше соответвуют шагам создания апплета на сайте IFTTT, соответствующие скриншоты по номерам прикреплены ко вложению.
Для перехода обратно с резервного на основной канал придётся создать аналогичный рецепт, изменив только ключевую фразу, которую вы будете посылать телеграм-боту IFTTT на «включи основной канал», а параметр Body запроса на [{"interface":{"ISP":{"up":{"no":false} } } }]
- 4
- 2
-
Для пользователей кинетиков звёзды сошлись удачно: набор применяемых в роутере технологий прямо явно намекает на то, что управление роутером может быть автоматизировано.
Здесь как раз к месту будет сервис IFTTT.com, позволяющий создавать рецепты из готовых блоков «IF» (событие), «THEN» (действие). За шесть лет развития число доступных блоков перевалило за 500, а число пользовательских рецептов за 20 млн.
Пока роутер мало что может предложить для блока «IF», но вот рулить роутером можно в полный рост, т.к. есть весь необходимый набор технологий:
- Можно организовать удалённый доступ к роутеру по доменному имени даже за серым IP, чуть ниже описано как это сделать,
- Есть универсальный RESTful интерфейс, позволяющий выполнять любые доступные команды простым POST HTTP-запросом. Если лень копаться в документации, то нужный запрос можно подсмотреть в режиме разработчкика, нажав при открытом веб-интерфейсе в браузере F12.
- Есть basic-авторизация, позволяющая защитить веб-интерфейс от непрошенных вмешательств.
На IFTTT в качестве действия «THEN» надо будет выбрать сервис Webhooks, умеющий отправлять POST-запросы кинетику в JSON-формате, что нам, собственно и требуется для управления.
Чтобы организовать удалённый доступ к роутеру из интернета, для прошивок 2.12.B.0.0-1 и позже необходимо:
- Завести доменное имя KeenDNS, например giga.keenetic.pro,
- Ниже в разделе «Доступ к веб-приложениям домашней сети» назначить доменное имя четвёртого уровня, например, rci.giga.keeneitc.pro с параметрами «Этот интернет центр», порт TCP79, галка «разрешить доступ». Таким образом, обращения на rci.giga.keeneitc.pro начнут проксироваться на REST API 127.0.0.1:79, где авторизации нет.
-
Включить авторизацию для этого проксирования из CLI:
ip http proxy rci auth
-
Завести в WebUI пользователя (например rci), присвоить ему пароль (например, rcipassword) и тэг «HTTP Proxy»,
-
Получить SSL-сертификат для домена rci.giga.keeneitc.pro, в дальнейшем он будет обновляться прошивкой автомагически:
ip http ssl acme get rci.giga.keenetic.pro
Всё. Теперь можно вызывать REST API как и раньше, обращаясь на адрес:
https://rci:rcipassword@rci.giga.keenetic.pro/rci/
В конфиге должно получиться что-то похожее на
user rci password md5 94b8062cc4e362d45872b22a7c38ede2 password nt 0384e45875e61d6f7d50d934587d1ab1e7 tag http-proxy ! ... ip http proxy rci upstream http 127.0.0.1 79 domain ndns allow public ! ...
Эти шаги необходимы для реализации любого из решений, описанных далее.
- 5
- 4
-
18 часов назад, emlen сказал:
А как -то можно локальное фото отправлять?
Да.
- 1
-
21 минуту назад, Mamay сказал:
Нынче при наличии от 16 ГБ ОЗУ и выше, люди часто выключают pagefile.sys за ненадобностью...
-
В 01.01.2018 в 22:04, Александр Рыжов сказал:
Фича, конечно, мировая, но вряд ли она может быть уложена в существующую логику прошивки.
Пока пробовал использовать решение с маркировкой пакетов и отдельной таблицей роутинга для маркированных пакетов, но пока оно в кинетиковской прошивке не работает совместно с ipsec. Как @Le ecureuil дойдут руки пофиксить, выложу how-to.
Вылечено в 2.12.A.3.0-4.
-
Так это разовая работа, с которой большой брат справится на порядок быстрее.
-
Последний раз я такую просьбу слышал лет пять назад или раньше.
20 часов назад, Илдар сказал:есть ли какая-либо возможность примонтировать ISO-файлы на этом устройстве?
Зачем, если не секрет?
-
Да. Нужно лишь завести IPv6 ipset'ы и сделать аналогичные шаги как и для IPv4.
Можно, но при рабочим IPv6 не стоило бы.
Да.
-
10 часов назад, KPOCAB4EG сказал:
2. ставим размер дискового кеша "0" в трансмишене:
Зачем? Это из разряда вредных советов.
-
-
DNS-O-Matic provides you a free and easy way to announce your dynamic IP changes to multiple services with a single update. Using DNS-O-Matic allows you to pick and choose what Dynamic DNS services you want to notify, all from one easy to use interface.
This is helpful if Keenetic does not support your Dynamic DNS provider directly.
-
Create a DNS-O-Matic account
-
Configure it to start sending the updates with your preferred Dynamic DNS provider
-
In the Keenetic Web interface, open Domain Name » DDNS and configure a custom profile:
-
Service: Another
-
DDNS service provider URL: https://updates.dnsomatic.com/nic/update
-
Domain name: (DDNS domain name that is configured in DNS-O-Matic, such as example.ddns.net)
-
User name: (DNS-O-Matic user name)
-
Password: (DNS-O-Matic password)
-
Automatically detect my IP address: uncheck
-
For connections: select your connection
-
-
Click "Save".
Check that your current IP address is shown in https://dnsomatic.com/ account status.
-
-
There is a quick and easy solution to deploy traffic accounting on your Keenetic. The external USB storage is required. The same storage can be used for the other Keenetic applications at the same time.
What is darkstat
Darkstat is a traffic accounting software that allows you to monitor the activity of all network hosts in your home network.
Скрытый текстHow to install
- Create the "install" directory on a USB drive, and put the attached file in there
- Make sure you have installed the Open Package support
- Connect the USB drive to the Keenetic
- Enable OPKG, select your USB drive and save settings.
How to use
Open http://my.keenetic.net:667 in your browser.
How to remove
- Unmount your USB disk from the Applications menu
- Remove "etc" and "bin" directories
- 1
-
How to remove ads from web pages and Android apps.
Before:
After:
Installation
Install necessary packages:
opkg install dnsmasq-full iptables ndmq
Create a netfilter hook /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
Make it executable:
chmod +x /opt/etc/ndm/netfilter.d/010-intercept-dns.sh
Add the following lines to the /opt/etc/dnsmasq.conf:
no-resolv server=77.88.8.88#1253 server=77.88.8.2#1253 port=65053
Download your favorite blacklist to /opt/etc/hosts. For example:
wget -O /opt/etc/hosts http://winhelp2002.mvps.org/hosts.txt
Done! Reboot your router for the changes to take effect.
Troubleshooting
-
Make sure you have not configured custom DNS servers in the Internet Connection properties.
-
Flush your operating system DNS cache (in Windows — ipconfig /flushdns)
-
Close and open your web browser.
Notes
NotesThe
iptables rules redirect all DNS requests to thednsmasq . Thednsmasq uses /opt/etc/hosts as an exception list. Yandex.DNS anti-ad servers are used for the unlisted hostnames. You can replace Yandex.DNS with Norton ConnectSafe or AdGuard public servers. -
-
Chat with your Keenetic CLI via Telegram like a pro!:)
-
Install necessary Entware packages:
opkg install bash curl dtach
-
Download the bash-script, which serving as Telegram bot:
curl --output /opt/bin/bashbot.sh --insecure https://raw.githubusercontent.com/ryzhovau/telegram-bot-bash/master/opt/bin/bashbot.sh curl --output /opt/bin/JSON.sh --insecure https://raw.githubusercontent.com/ryzhovau/telegram-bot-bash/master/opt/bin/JSON.sh curl --output /opt/etc/init.d/S51bashbot --insecure https://raw.githubusercontent.com/ryzhovau/telegram-bot-bash/master/opt/etc/init.d/S51bashbot chmod +x /opt/bin/bashbot.sh chmod +x /opt/bin/JSON.sh chmod +x /opt/etc/init.d/S51bashbot
- Ask @BotFather to create a new boot and remember auth token for it.
- Write down this token to TOKEN='' string at /opt/bin/bashbot.sh.
-
Replace following string in /opt/bin/bashbot.sh
*) msg="$MESSAGE";;
to
*) msg=$(ndmq -p "$MESSAGE" -x);;
- Start bot buy typing /opt/etc/init.d/S51bashbot start. This bot will start automatically on every boot.
Please, keep in mind security question like authorisation, which is outside of this How-To. This is just proof-of-concept, which you can edit for your needs.
Bot log can be found at /opt/var/log/bashbot.log.
- 2
-
Install necessary Entware packages:
-
You may use Debian 8.11 "Jessie" , Debian 9.13 "Stretch" , Debian 10.13 "Buster" , Debian 11.9 "Bullseye" or Debian 12.5 "Bookworm" right on your Keenetic router.
http://files.keenopt.ru/ is a good example of working Debian on Keenetic Giga III.
! Debian 12.3 image release delayed
Requirements
- USB-port on router,
- Ext2/Ext3/Ext4 formatted flash drive or HDD. You may use EaseUS Partition Master free on Windows to format USB drive.
Installation
- Connect USB drive and get access to it via FTP or SAMBA,
- Make install folder on USB drive,
- Put debian-jessie-8_11-mipsel.tar.gz or debian-stretch-9_13-mipsel.tar.gz or debian-buster-10.13-mipsel.tar.gz or debian-bullseye-11.9-mipsel.tar.gz or debian-bookworm-12.5-mipsel.tar.gz file to Install folder,
( for KN-2011 or KN-2111 - debian-jessie-8_11-mips.tar.gz or debian-stretch-9_13-mips.tar.gz or debian-buster-10.13-mips.tar.gz ),
( for KN-2710 - debian-buster-10.13-aarch64.tar.gz or debian-bullseye-11.9-aarch64.tar.gz or debian-bookworm-12.5-aarch64.tar.gz)
- Open OPKG page, pick your USB drive and hit "Apply".
Give your Keenetic a couple of minutes to unpack necessary files, you''ll see following syslog messages if all went fine:
[I] Jul 19 13:24:28 ndm: Opkg::Manager: disk is set to: fb4e34d1-3cab-fd19-b96d-4bb3a2d5ec84: [I] Jul 19 13:24:28 ndm: Opkg::Manager: init script reset to default: /opt/etc/initrc. [I] Jul 19 13:24:28 ndm: kernel: EXT4-fs (sda1): re-mounted. Opts: (null) [I] Jul 19 13:24:28 ndm: Opkg::Manager: /tmp/mnt/FIT8GB/ mounted to /tmp/mnt/FIT8GB/. [I] Jul 19 13:24:28 ndm: Opkg::Manager: /tmp/mnt/FIT8GB/ mounted to /opt/. [I] Jul 19 13:24:28 npkg: inflating "debian-keenetic.tar.gz". [I] Jul 19 13:24:28 ndm: Core::ConfigurationSaver: saving configuration... [I] Jul 19 13:26:10 ndm: Opkg::Manager: /tmp/mnt/FIT8GB/ initialized. [I] Jul 19 13:26:10 ndm: Core::ConfigurationSaver: configuration saved. [I] Jul 19 10:26:10 root: Starting Debian services... [W] Jul 19 13:26:11 ndm: kernel: Algorithmics/MIPS FPU Emulator v1.5 [I] Jul 19 13:26:11 ndm: Opkg::Manager: /opt/etc/initrc: Starting OpenBSD Secure Shell server: sshd. [I] Jul 19 13:26:11 ndm: Opkg::Manager: /opt/etc/initrc: Done. [I] Jul 19 10:26:11 sshd[448]: Server listening on 0.0.0.0 port 22. [I] Jul 19 10:26:11 sshd[448]: Server listening on :: port 22.
Spoiler... [I] Feb 19 12:26:45 ndm: Opkg::Manager: disk is set to: debian:/. [I] Feb 19 12:26:45 ndm: kernel: EXT4-fs (sde): re-mounted. Opts: (null) [I] Feb 19 12:26:45 ndm: Opkg::Manager: /tmp/mnt/bc2a2eb6-f889-4366-83ba-2cc3b93646f9 mounted to /tmp/mnt/bc2a2eb6-f889-4366-83ba-2cc3b93646f9. [I] Feb 19 12:26:45 ndm: Opkg::Manager: /tmp/mnt/bc2a2eb6-f889-4366-83ba-2cc3b93646f9 mounted to /opt/. [I] Feb 19 12:26:45 npkg: inflating "debian-stretch-9_8-mipsel.tar.gz". [I] Feb 19 12:27:13 ndm: Opkg::Manager: /tmp/mnt/bc2a2eb6-f889-4366-83ba-2cc3b93646f9 initialized. [I] Feb 19 12:27:13 ndm: Opkg::Manager: init script reset to default: /opt/etc/initrc. [I] Feb 19 12:27:13 ndm: Core::ConfigurationSaver: saving configuration... [I] Feb 19 12:27:13 ndm: Dns::Manager: RPC-only mode enabled. [I] Feb 19 12:27:13 ndnproxy: ndnproxy stopped. [I] Feb 19 09:27:13 0: Starting Debian services... [I] Feb 19 09:27:14 sshd[8096]: Server listening on 0.0.0.0 port 222. [I] Feb 19 12:27:14 ndm: Opkg::Manager: /opt/etc/initrc: Starting OpenBSD Secure Shell server: sshd. [I] Feb 19 12:27:14 ndm: Opkg::Manager: /opt/etc/initrc: Done. [I] Feb 19 09:27:14 sshd[8096]: Server listening on :: port 222. [I] Feb 19 12:27:15 ndnproxy: ndnproxy 1.3.0b22 started. [I] Feb 19 12:27:15 ndnproxy: PID file: /var/ndnproxymain.pid. [I] Feb 19 12:27:15 ndnproxy: stats. file: /var/ndnproxymain.stat. [I] Feb 19 12:27:17 ndm: Core::ConfigurationSaver: configuration saved. [I] Feb 19 09:27:55 sshd[8308]: Connection closed by 192.168.1.60 port 48314 [preauth] [I] Feb 19 09:28:34 sshd[8476]: Accepted password for root from 192.168.1.60 port 48318 ssh2 [I] Feb 19 09:28:34 sshd[8476]: pam_unix(sshd:session): session opened for user root by (uid=0) [E] Feb 19 09:28:34 sshd[8476]: pam_env(sshd:session): Unable to open env file: /etc/default/locale: No such file or directory [I] Feb 19 09:29:56 chroot: Hello, World! [I] Feb 19 09:31:13 sshd[8476]: Received disconnect from 192.168.1.60 port 48318:11: disconnected by user [I] Feb 19 09:31:13 sshd[8476]: Disconnected from 192.168.1.60 port 48318 [I] Feb 19 09:31:13 sshd[8476]: pam_unix(sshd:session): session closed for user root [I] Feb 19 12:31:30 ndm: Opkg::Manager: unmount existing /opt disk: debian:/. [I] Feb 19 09:31:30 0: Stopping Debian services... [I] Feb 19 09:31:31 sshd[8096]: Received signal 15; terminating. [I] Feb 19 12:31:31 ndm: Opkg::Manager: /opt/etc/initrc: Stopping OpenBSD Secure Shell server: sshd. [I] Feb 19 12:31:31 ndm: Opkg::Manager: /opt/etc/initrc: Done. [I] Feb 19 12:31:31 ndm: Opkg::Manager: disk unmounted. [I] Feb 19 12:31:31 ndnproxy: ndnproxy stopped. [I] Feb 19 12:31:31 ndm: Dns::Manager: RPC-only mode disabled. [I] Feb 19 12:31:31 ndm: Opkg::Manager: disk is unset. [I] Feb 19 12:31:31 ndm: Opkg::Manager: init script reset to default: /opt/etc/initrc. [I] Feb 19 12:31:31 ndm: Core::ConfigurationSaver: saving configuration... [I] Feb 19 12:31:33 ndnproxy: ndnproxy 1.3.0b22 started. [I] Feb 19 12:31:33 ndnproxy: PID file: /var/ndnproxymain.pid. [I] Feb 19 12:31:33 ndnproxy: stats. file: /var/ndnproxymain.stat. [I] Feb 19 12:31:34 ndm: Core::ConfigurationSaver: configuration saved. ...
Using Debian
Use following SSH credentials to get access to Debian environment:
- host: my.keenetic.net,
- port: 222
- user name: root,
- password: debian.
This is it, you've got 10000+ available packages from one of greatest linux community!
For 64MB RAM devices is highly recommended to turn on Swap-file.
Details
You see chroot-environment after SSH logon, there's only minimal Busubox outside of it and /opt/etc/initrc script to fire up sandbox, this script starts necessary Debian services on boot and gracefully shut them down on reboot or unmount USB drive:
[I] Jul 19 10:28:36 root: Stopping Debian services... [I] Jul 19 10:28:36 sshd[448]: Received signal 15; terminating. [I] Jul 19 13:28:36 ndm: Opkg::Manager: /opt/etc/initrc: Stopping OpenBSD Secure Shell server: sshd. [I] Jul 19 13:28:36 ndm: Opkg::Manager: /opt/etc/initrc: Done. [I] Jul 19 13:28:36 ndm: Opkg::Manager: disk unmounted.
Also, you'll find /chroot-services.list file, where you can put new services which should be started on boot, please use one name per string, service names can be taken from /etc/init.d.
Good luck!
-
17 часов назад, artsel сказал:
и какие донглы совместимы? На рынке остался один Китай
Трудно сказать. Бывало и так, что заявленные фичи были реализованы неполноценно. Тов. @MercuryV в своё время перепробовал несколько штук.
-
34 минуты назад, ankar84 сказал:
@Александр Рыжов альтернатива это безусловно хорошо, но могут ли альтернативные варианты кроме защиты от спуфинга и перехвата dns запросов предложить и блокировку не нужного контента, читай рекламы? Для меня критично.
Плюсом на OpenNIC резолверах получаем разрешение домена .lib чем я активно пользуюсь.
Насколько знаю, новая версия dnscrypt-proxy как и предыдущая ничего не кеширует, а значит связка с dnsmasq напрашивается сама собой. А уж с ним можно перечисленные кульбиты выполнять в любых комбинациях легко и непринуждённо. Кстати, 130.000-строчный блэк-лист при работе dnsmasq требует всего 8МБ RAM.
-
5 часов назад, ankar84 сказал:
Попробовал запустить dnscrypt-proxy 2.0.0beta12 так как автор собрал ее для Linux/mipsle.
При запуске проверяет все адреса по отклику и выбирает самый быстрый на момент проверки.
Процессор почти не потребляет, а вот оперативной памяти при моем файле dnscrypt-blacklist-domains.txt в 1.3Мб занимает около 40Мб. Мне на моей Ultra это не очень страшно, а вот девайсам с меньшим количеством оперативной памяти будет конечно сложнее, да и как высказались здесь гуру - не целесообразно.
Как и все остальные программы на GO, будет кушать оперативку аки попкорн. По этой причине не добавляю GO-программ в Entware-ng без крайней необходимости.
А на замену dnscrypt-proxy после отмирания яндексовского резовлера присматриваюcь к https_dns_proxy или DNS over TLS, но рабочих резолверов пока кот наплакал.
- 1
-
9 часов назад, Le ecureuil сказал:
Собрать модули - вообще без проблем.
Только это, уточните сперва что там нужно из userspace для поддержки этих модулей.
bluez + pulseaudio. Оба-два в наличии, но работу Bluetooth никто не проверял.
-
1 час назад, ankar84 сказал:
Отсюда вопрос: есть ли возможность запускать два экземпляра dnscrypt-proxy стандартным методом через 2 скрипта типа S09dnscrypt-proxy в init.d?
Или как автоматически при перезагрузке сервера запускать два экземпляра dnscrypto-proxy?
- Создать симлинк /opt/sbin/dnscrypt-proxy2, ссылающийся на /opt/sbin/dnscrypt-proxy,
- Скопировать /opt/etc/init.d/S09dnscryptproxy в /opt/etc/init.d/S09dnscryptproxy2,
- Поправить параметры в новом S09dnscryptproxy2 для запуска dnscrypt-proxy2 с собственными параметрами.
- 1
-
Поставьте фильтр «USB разъем». Всё.
Исключением раньше был только Keenetic 4G.
-
-
-
1 час назад, MDP сказал:
Проскакивала новость, что отказ от обновлений десятки ведёт к нарушению лицензионного соглашения и преследуется по закону ...загуглите сами, если интересно.
Это бредил модератор тамошнего форума, не более того. Модерирование там ведётся на частной инициативе и к Microsoft'у отношения не имеет.
Использование IFTTT и Zapier
in Каталог готовых решений Opkg
Posted
Обновление прошивки после публикации changelog'а на этом форуме
В соседней теме тов. @ndm публикует изменения, вошедшие в прошивку 2.12. Роутер новую прошивку получает, но для того, чтобы изменения вступили в силу, его надо перегрузить. Отслеживать изменения веб-страниц IFTTT не умеет, однако есть способ превратить тему форума в RSS-поток, с которым он работать может.
• Keyword or simple phrase: 2.12
• Feed URL: http://feed43.com/5528146701453366.xml
• URL: https://rci:rcipassword@rci.giga.keenetic.pro/rci/components/commit ,
• Method: POST
• Content type: application/json
• Body: {}
Нажмите «finish»
Готово!