Jump to content

Александр Рыжов

Moderators
  • Posts

    1227
  • Joined

  • Last visited

  • Days Won

    25

Posts posted by Александр Рыжов

  1. 19 минут назад, Sfut сказал:

    Естественно одновременно они работать не будут.

    Для прошивки это будет неестественно. Сейчас все резервные соединения работают одновременно. Просто меняется шлюз по умолчанию при падении подключения с более высоким приоритетом.

  2. 1 час назад, eXtrimAll07 сказал:

    Какой из роутеров который сейчас продается фирмы zyxel можно купить и в нем не будет ограничений на закачку через трансмишн?

    Любой. Т.к. в драфтовой прошивке ограничений нет, а если есть, то их можно снять правкой настроек transmission в settings.json

    1 час назад, eXtrimAll07 сказал:

    То есть необходимо чтобы качало со скоростью 10мб/сек, на последней драфтовой прошивке роутер zyxel keenetic viva качает макс 5мб/сек, все ограничения и шифрования сняты, если запустить тот же торрент на компьютере скорость 10мб/сек.

    Никакой. Т.к. ни одна модель не будет по процессорной дури сравнима с настольным ПК. Про постоянную длительную скорость скачивания торрентов ~10МБ/c лучше забыть.

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

    Вы же не идёте в настройки телефона, если желаете присваивать ему статический адрес в домашней сети.

  4. 3 часа назад, VladimirTs сказал:

    а что если мне нужно получить доступ к rci из локальной сети?

    Кстати, доменное имя четвёртого уровня и в локалке будет работать пока роутер подключен к интернету. Оно будет разрешаться в WAN-адрес при прямом подключении или в облачный, при подключении (сюрприз! сюрприз!) через облако. Понимаю, что это не то, что вы хотели, но всё же.

    • Upvote 1
  5. 2 часа назад, VladimirTs сказал:

    Спасибо за разъяснение, а что если мне нужно получить доступ к rci из локальной сети? Обращаться по порту 79?

    Нет, rci без авторизации доступен только с роутера, т.е. слушает 127.0.0.1:79.

    А по поводу использования токена, вероятно, @Le ecureuil скоро пояснит.

    • Upvote 1
  6. Basic-аутентификация для WebUI больше не вернётся, но вот какой workaround нам предлагает @Le ecureuil, начиная с сегодняшней  2.12.B.0.0-1:

    1. Завести доменное имя KeenDNS, например giga.keenetic.pro,
    2. Ниже в разделе «Доступ к веб-приложениям домашней сети» назначить доменное имя четвёртого уровня, например, rci.giga.keeneitc.pro с параметрами «Этот интернет центр», порт TCP79, галка «разрешить доступ». Таким образом, обращения на rci.giga.keeneitc.pro начнут проксироваться на REST API 127.0.0.1:79, где авторизации нет.
    3. Включить авторизацию для этого проксирования из CLI:
      ip http proxy rci auth

       

    4. Завести в WebUI пользователя (например rci), присвоить ему пароль (например, rcipassword) и тэг «HTTP Proxy»,

    5. Получить 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
    !
    ...

     

     

     

     

     

     

    • Thanks 2
    • Upvote 4
  7. Примерно так же с Canon L-120 на 2.12:

    [W] May  9 15:01:56 ndm: kernel: usblp0: nonzero read bulk status received: -32
    [W] May  9 15:09:17 ndm: Core::Syslog: last message repeated 88 times.
    [I] May  9 15:09:17 ndm: Core::Scgi::Session: redirected to: /_/.
    [W] May  9 15:09:22 ndm: kernel: usblp0: nonzero read bulk status received: -32
    [W] May  9 15:12:17 ndm: Core::Syslog: last message repeated 35 times.
    [I] May  9 15:12:22 ndm: Network::Interface::Switch: "GigabitEthernet0/0": switch link up at port 1.
    [W] May  9 15:12:22 ndm: kernel: usblp0: nonzero read bulk status received: -32
    [I] May  9 15:12:26 ndm: Network::Interface::Switch: "GigabitEthernet0/0": switch link down at port 1.
    [W] May  9 15:12:27 ndm: kernel: usblp0: nonzero read bulk status received: -32

    Источник — kernel, соответственно, не хочется отключать с помощью system log suppress все сообщения от ядра.

    • Upvote 1
  8. 15 часов назад, VladimirTs сказал:

    Поделюсь с сообществом скриптом,

    Powershell-скриптом:) Не всем будет очевидно без явного указания.

    • Upvote 1
  9. Сжатый контент, вроде JPEG, нет никакого смысла пытаться ужать ещё раз. Так что испольуйте простую tmpfs.

    • Thanks 1
  10. В новом веб-интерфейсе в поле DDNS > Адрес сервиса появились искуственные ограничения, мешающие полноценно использовать сторонние DynDNS сервисы:

    • В адресе больше невозможно использовать символ «?», следственно, не ввести адрес вида:
    http://domain.com?value=${1}
    • Длина поля стала ограничена 64 символами, следственно, больше невозможно использовать URL, содержащие API key вида:
    https://maker.ifttt.com/trigger/ddns_update/with/key/c4fIwpfwe9ulqpr4L6N_fz?value1=test_dev&value2=${ip}&value3=

    Если ограничение на символ «?» ещё можно обойти, используя соответвующий HEX-код, то длинные URL теперь можно ввести либо в старом WebUI, либо редактированием выгруженного конфига для тех девайсов, где старого WebUI нет.

     

    Поправьте, плиз.

  11. 1 час назад, edpru сказал:

    Похоже сам отвечу.. Блокировка прова похоже, но до этого магнет ссылки работали нормально на клиенте в роутере, а теперь как будто что то сломалось.

    Не надо себе так отвечать, эти догадки ничем не обоснованы.

  12. 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.

    1. Create a DNS-O-Matic account

    2. Configure it to start sending the updates with your preferred Dynamic DNS provider

    3. 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

    4. Click "Save".

    Check that your current IP address is shown in https://dnsomatic.com/ account status.

  13. 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.

    Скрытый текст

    screen-graphs.png

    screen-hosts.png

    screen-ports.png

     

    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

    darkstat_mipsel.tgz

    • Thanks 1
  14. How to remove ads from web pages and Android apps.

    Before:

    4d262a31311et.jpg

    After:

    5643795dd011t.jpg

    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

    1. Make sure you have not configured custom DNS servers in the Internet Connection properties.

    2. Flush your operating system DNS cache (in Windows — ipconfig /flushdns)

    3. Close and open your web browser.

    Notes

    Notes

    The iptables rules redirect all DNS requests to the dnsmasq. The dnsmasq 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.

  15. Chat with your Keenetic CLI via Telegram like a pro!:)

    b92d38f5d243.png

    • 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.

     

    • Thanks 2
  16. You may use Debian 8.11 "Jessie" , Debian 9.13 "Stretch" , Debian 10.13 "Buster" , Debian 11.11 "Bullseye" or Debian 12.10 "Bookworm" right on your Keenetic router.

    http://files.keenopt.ru/ is a good example of working Debian on Keenetic Giga III.

    ! Dropping mips architecture

    ! Debian 12.3 image release delayed

    Requirements

    Installation

               ( 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.11-aarch64.tar.gz or debian-bookworm-12.10-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!

    deb.png

  17. 3 минуты назад, eralde сказал:

    Да, это сознательное решение. Чтобы временно запретить доступ можно отключить облачную службу на странице "Основные настройки".

    Спасибо за объяснение. Доменное имя при отключении компонента не освободится?

  18. Бедулька со страницей Доменное имя: в отличие от старого WebUI новый не позволяет переключить radio button в положение «Прямой доступ», когда у вас на WAN-интерфейсе серый адрес. Показанный на приложенной картинке вариант возможно сделать только временно переключившись на старый WebUI.

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

    Так и задумано?

    2017-11-15_21-27-24.png

×
×
  • Create New...