Jump to content

Search the Community

Showing results for tags 'entware'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Keenetic Community
    • Keenetic Development
    • Keenetic Community Support
    • KeeneticOS Testing
    • Mobile App
  • Open Package Support
    • Opkg Help
    • Opkg Cookbook
    • Opkg Cookbook RUS

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

Found 171 results

  1. Ниже приведен минимальный перечень действий для запуска nginx на кинетике. Подключение к веб-серверу будет возможно только в том случае, если провайдер выдаёт белый IP-адрес. 1. В веб-интерфейсе роутера в разделе NAT задайте следующие правила: На скриншоте в колонке «Interface» указано имя интерфейса для подключения к интернету, в колонке «Translate to» — адрес кинетика в локальной сети. 2. Установите nginx: opkg install nginx 3. Отредактируйте в /opt/etc/nginx/nginx.conf следующие строчки: в разделе server: listen 81; в разделе location: root /opt/share/nginx/html; 4. Запустите веб-сервер: /opt/etc/init.d/S80nginx start Всё! Проверьте доступность сервера из интернета, сервер должен показывать приветственную страницу: Далее настраивайте веб-сервер согласно вашим задачам, например, можно: Подключить исполнение PHP-скриптов, Обеспечить защиту SSL-сертификатом.
  2. Есть возможность отправлять до пяти СМС в сутки на свой телефон, используя сервис SMS.ru. Для отправки СМС с роутера необходимо после регистрации на сервисе получить api_id. Ниже приведена пара примеров использования этой возможности.
  3. Установка и настройка rTorrent rTorrent - BitTorrent-клиент на основе библиотек libTorrent. Версия из репозитория rTorrent 0.9.7-1: http://bin.entware.net/mipselsf-k3.4/rtorrent-easy-install_0.2-3a_mipsel-3.4.ipk http://bin.entware.net/mipselsf-k3.4/rtorrent-rpc_0.9.7-1_mipsel-3.4.ipk http://bin.entware.net/mipselsf-k3.4/rtorrent_0.9.7-1_mipsel-3.4.ipk Изменения в rTorrent 0.9.6: rtorrent (0.9.7-1) unstable; urgency=medium * New upstream release + Remove configure.ac patch folded in upstream + Build-Depend on libtorrent-dev >= 0.13.7 * Move VCS from Alioth to Salsa * Switch to priority optional instead of extra * Bump debhelper compat level to 10 -- Jonathan McDowell <email address hidden> Thu, 28 Jun 2018 08:07:39 +0100 Подготовка: 1. Создаем раздел EXT4 на жестком диске - Использование файловой системы EXT4 на USB-накопителях. 2. Установка и настройка Entware - в данной теме. Работоспособность проверена с: Keenetic Giga KN-1010, прошивка draft 2.12.A.3.0-2 от 06.02.2018, раздел на HDD EXT4. Обновляемся: / # opkg update Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz Updated list of available packages in /opt/var/opkg-lists/entware Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz Updated list of available packages in /opt/var/opkg-lists/keendev Устанавливаем пакет rtorrent-easy-install, чтобы получить русифицированное управление в WebUI rTorrent: / # opkg install rtorrent-easy-install Installing rtorrent-easy-install (0.2-3a) to root... Downloading http://bin.entware.net/mipselsf-k3.4/rtorrent-easy-install_0.2-3a_mipsel-3.4.ipk Installing rutorrent-plugin-rpc (3.8-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/rutorrent-plugin-rpc_3.8-1_mipsel-3.4.ipk Installing rutorrent (3.8-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/rutorrent_3.8-1_mipsel-3.4.ipk Installing rtorrent-rpc (0.9.7-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/rtorrent-rpc_0.9.7-1_mipsel-3.4.ipk Installing libcurl (7.61.0-3) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libcurl_7.61.0-3_mipsel-3.4.ipk Installing libopenssl (1.0.2p-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libopenssl_1.0.2p-1_mipsel-3.4.ipk Installing zlib (1.2.11-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/zlib_1.2.11-2_mipsel-3.4.ipk Installing ca-bundle (20180409-3) to root... Downloading http://bin.entware.net/mipselsf-k3.4/ca-bundle_20180409-3_all.ipk Installing libtorrent (0.13.7) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libtorrent_0.13.7_mipsel-3.4.ipk Installing libsigcxx (2.5.4-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libsigcxx_2.5.4-1_mipsel-3.4.ipk Installing libncursesw (6.1-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libncursesw_6.1-1_mipsel-3.4.ipk Installing xmlrpc-c-server (1.39.13-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/xmlrpc-c-server_1.39.13-2_mipsel-3.4.ipk Installing xmlrpc-c (1.39.13-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/xmlrpc-c_1.39.13-2_mipsel-3.4.ipk Installing xmlrpc-c-internal (1.39.13-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/xmlrpc-c-internal_1.39.13-2_mipsel-3.4.ipk Installing xmlrpc-c-common (1.39.13-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/xmlrpc-c-common_1.39.13-2_mipsel-3.4.ipk Installing coreutils-stat (8.23-3) to root... Downloading http://bin.entware.net/mipselsf-k3.4/coreutils-stat_8.23-3_mipsel-3.4.ipk Installing coreutils (8.23-3) to root... Downloading http://bin.entware.net/mipselsf-k3.4/coreutils_8.23-3_mipsel-3.4.ipk Installing coreutils-id (8.23-3) to root... Downloading http://bin.entware.net/mipselsf-k3.4/coreutils-id_8.23-3_mipsel-3.4.ipk Installing gzip (1.9-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/gzip_1.9-1_mipsel-3.4.ipk Installing curl (7.61.0-3) to root... Downloading http://bin.entware.net/mipselsf-k3.4/curl_7.61.0-3_mipsel-3.4.ipk Installing screen (4.6.2-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/screen_4.6.2-1_mipsel-3.4.ipk Installing libncurses (6.1-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libncurses_6.1-1_mipsel-3.4.ipk Installing php7-cgi (7.2.9-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/php7-cgi_7.2.9-1_mipsel-3.4.ipk Installing php7 (7.2.9-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/php7_7.2.9-1_mipsel-3.4.ipk Installing libxml2 (2.9.8-3) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libxml2_2.9.8-3_mipsel-3.4.ipk Installing lighttpd-mod-fastcgi (1.4.49-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/lighttpd-mod-fastcgi_1.4.49-2_mipsel-3.4.ipk Installing lighttpd (1.4.49-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/lighttpd_1.4.49-2_mipsel-3.4.ipk Installing lighttpd-mod-scgi (1.4.49-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/lighttpd-mod-scgi_1.4.49-2_mipsel-3.4.ipk Installing lighttpd-mod-auth (1.4.49-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/lighttpd-mod-auth_1.4.49-2_mipsel-3.4.ipk Installing lighttpd-mod-authn_file (1.4.49-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/lighttpd-mod-authn_file_1.4.49-2_mipsel-3.4.ipk Configuring zlib. Configuring libopenssl. Configuring ca-bundle. Configuring libcurl. Configuring lighttpd. Configuring lighttpd-mod-authn_file. Configuring xmlrpc-c-common. Configuring xmlrpc-c-internal. Configuring xmlrpc-c. Configuring libxml2. Configuring php7. Configuring php7-cgi. Configuring coreutils. Configuring coreutils-stat. Configuring libsigcxx. Configuring libtorrent. Configuring libncursesw. Configuring xmlrpc-c-server. Configuring rtorrent-rpc. Configuring coreutils-id. Configuring gzip. Configuring curl. Configuring rutorrent. Configuring rutorrent-plugin-rpc. Configuring libncurses. Configuring screen. Configuring lighttpd-mod-fastcgi. Configuring lighttpd-mod-scgi. Configuring lighttpd-mod-auth. Configuring rtorrent-easy-install. Настройка в момент установки: #### Welcome to rtorrent easy installation script! We assuming no lighttpd/rtorrent/rutorrent was installed before! Please, answer a few question to configure torrent client. Default aswers given in [brackets], just hit Enter to accept it. Type "username:password" if you want to protect Web UI or hit Enter to leave password protection disabled []: test:test Which port should be used by web interface? [81]: Enter (maximal) download speed in KB/s [2048]: Enter (maximal) upload speed in KB/s [2048]: Enter folder name on USB drive where torrent content should be stored [/opt/torrents]: Done! You may open 51411-51412 TCP/UDP ports on your router to facilitate uploading/donwloading. It's not necessary but recommended. rutorrent web UI will be available at following URL: http://<ip_address_of_router>:<port>/rutorrent Do you wish to start torrent client? [y]: Starting lighttpd... done. Starting rtorrent... done. Type "username:password" if you want to protect Web UI or hit Enter to leave password protection disabled []: test:test - логин и пароль указываем через двоеточие. Which port should be used by web interface? [81]: - выставляем порт, через который пойдет соединение. по умолчанию 81 порт. Enter (maximal) download speed in KB/s [2048]: - выставляем скорость загрузки. по умолчанию 2048. Enter (maximal) upload speed in KB/s [2048]: - выставляем скорость отдачи. по умолчанию 2048. Enter folder name on USB drive where torrent content should be stored [/opt/torrents]: - указываем директорию, путь, куда будут скачиваться торрент-файлы. по умолчанию /opt/torrents. Do you wish to start torrent client? [y]: - после настройки, можно сразу запустить графическую оболочку и сам клиент. по умолчанию стоит [y] - yes. Если демон rtorrent не запустился, вы увидите ошибку: Do you wish to start torrent client? [y]: Starting lighttpd... done. Starting rtorrent... failed. Collected errors: * pkg_run_script: package "rtorrent-easy-install" postinst script returned status 255. * opkg_configure: rtorrent-easy-install.postinst returned 255. Необходимо будет внести изменения в конфигурацию rtorrent. Для этого нужно будет установить пакет nano и отредактировать файл конфигурации rtorrent.conf Устанавливаем пакет nano: / # opkg install nano Installing nano (2.9.8-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/nano_2.9.8-1_mipsel-3.4.ipk Configuring nano. Редактируем файл конфигурации rtorrent.conf, в котором удаляем старую конфигурацию: / # nano /opt/etc/rtorrent/rtorrent.conf Выделяем все строки старого конфига, нажимаем клавиши Alt + A: Удаляем все строки старого конфига, нажимаем клавиши Ctrl + K Добавляем строки нового конфига, нажимаем клавиши Ctrl + V: throttle.max_uploads.set = 8 session.path.set = /opt/etc/rtorrent/session schedule2 = watch_directory,5,5,load_start=/opt/etc/rtorrent/watchdir/*.torrent schedule2 = untied_directory,5,5,stop_untied= schedule2 = low_diskspace,5,60,close_low_diskspace=100M network.bind_address.set = 0.0.0.0 network.port_range.set = 51411-51411 pieces.hash.on_completion.set = yes trackers.use_udp.set = yes protocol.encryption.set = allow_incoming,enable_retry,prefer_plaintext dht.mode.set = auto dht.port.set = 51412 protocol.pex.set = yes network.scgi.open_local = /opt/var/rpc.socket encoding.add = UTF-8 throttle.max_uploads.global.set = 32 throttle.max_downloads.global.set = 64 throttle.global_down.max_rate.set_kb = 0 throttle.global_up.max_rate.set_kb = 0 directory.default.set = /opt/torrents Нажимаем клавиши Ctrl + O , сохраняем конфигурацию. Выходим из редактора nano Ctrl + X Запускаем rtorrent: / # /opt/etc/init.d/S85rtorrent start Starting rtorrent... done. Дополнительная настройка: Останавливаем оболочку и клиента (можно пропустить и перейти к пункту настройки через WebUI): ~ # /opt/etc/init.d/S80lighttpd stop Checking lighttpd... alive. Shutting down lighttpd... done. ~ # /opt/etc/init.d/S85rtorrent stop Checking rtorrent... alive. Shutting down rtorrent... done. Изменить логин и пароль входа в графическую оболочку: Логин и пароль меняется в файле <rutorrent_passwd> Путь где находится файл - /opt/etc/lighttpd Не забываем, что логин и пароль указываются - login:password = mylogin:12345 (можно устанавливать свои параметры). Изменить порт, через которое идет обращение: Порт, он же сервер порт, меняется в файле конфигурации <99-rtorrent-fastcgi-scgi-auth.conf>, строчка server.port = 81 Путь где находится файл - /opt/etc/lighttpd/conf.d Заходим в WebUI по адресу http://192.168.1.1:81/rutorrent/ и делаем настройку (можно настроить под себя): https://cloud.mail.ru/public/cpDF/EeN1y372m https://cloud.mail.ru/public/Jgjc/UdJ31kRbG https://cloud.mail.ru/public/Vzv7/YXVaGJFtK https://cloud.mail.ru/public/EPFz/79fhEkq7w https://cloud.mail.ru/public/4AGe/c1QnxcfBb https://cloud.mail.ru/public/C5yz/XV7QaJ54T Скорость download: https://cloud.mail.ru/public/FnZK/49iq2bx35 https://cloud.mail.ru/public/Gh5e/THcvEfJ5i https://cloud.mail.ru/public/GJth/PWS27niae https://cloud.mail.ru/public/94d3/HbSdtJ1Qa https://cloud.mail.ru/public/5obi/v1omQkTGu Загрузка CPU: Mem: 231328K used, 24756K free, 12K shrd, 1056K buff, 161124K cached CPU: 12.2% usr 12.5% sys 0.0% nic 43.3% idle 24.8% io 0.0% irq 6.9% sirq Load average: 3.53 2.42 1.74 4/126 13026 PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND 12759 12758 root R 96824 37.7 3 19.3 {rtorrent main} rtorrent -D -n -o import=/opt/etc/rtorrent/rtorrent.conf Дополнительная информация по настройке rTorrent: https://wiki.archlinux.org/index.php/RTorrent_(Русский) https://github.com/rakshasa/rtorrent/wiki#download-links https://ru.wikibooks.org/wiki/RTorrent Отдельное спасибо за фикс lighttpd и rtorrent.conf @TheBB, @Александр Рыжов
  4. Установка и настройка minidlna minidlna - DLNA\UPnP-сервер, который поддерживает мультимедийные файлы (музыку, изображения и видео). Данный OPKG-пакет предназначен для тех, у кого наблюдаются проблемы в работе встроенного "прошивочного" minidlna. Версия из репозитория minidlna 1.2.1: http://bin.entware.net/mipselsf-k3.4/minidlna_1.2.1-2_mipsel-3.4.ipk Изменения в minidlna 1.2.1 : 1.2.1 - Released 24-Aug-2017 -------------------------------- - Added Movian client detection and subtitle support. - Fixed an issue with discovery on non-Linux systems. - Fixed Bonjour discovery compatibility with TiVo Bolt. - Fixed NFO file parsing, and added change monitoring support for them. - Added a workaround for video thumbnails on some Samsung clients. - Added DoS protection for event subscriptions. - Fixed content browsing issues with some Samsung TVs. - Improved non-destructive update scan support. Подготовка: 1. Создаем раздел EXT4 на жестком диске - Использование файловой системы EXT4 на USB-накопителях. 2. Установка и настройка Entware - в данной теме. Работоспособность проверена с: Keenetic Giga KN-1010, прошивка draft 2.12.A.3.0-2 от 06.02.2018, раздел на HDD EXT4. Обновляемся: / # opkg update Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz Updated list of available packages in /opt/var/opkg-lists/entware Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz Updated list of available packages in /opt/var/opkg-lists/keendev Устанавливаем пакет minidlna - 1.2.1-2: ~ # opkg install http://bin.entware.net/mipselsf-k3.4/minidlna_1.2.1-2_mipsel-3.4.ipk Downloading http://bin.entware.net/mipselsf-k3.4/minidlna_1.2.1-2_mipsel-3.4.ipk Installing minidlna (1.2.1-2) to root... Installing libexif (0.6.21-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libexif_0.6.21-1_mipsel-3.4.ipk Installing libjpeg (9a-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libjpeg_9a-1_mipsel-3.4.ipk Installing libsqlite3 (3210000-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libsqlite3_3210000-2_mipsel-3.4.ipk Installing libid3tag (0.15.1b-4) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libid3tag_0.15.1b-4_mipsel-3.4.ipk Installing libflac (1.3.2-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libflac_1.3.2-1_mipsel-3.4.ipk Installing libvorbis (1.3.5-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libvorbis_1.3.5-2_mipsel-3.4.ipk Installing libogg (1.3.2-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libogg_1.3.2-2_mipsel-3.4.ipk Installing libuuid (2.30.2-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libuuid_2.30.2-2_mipsel-3.4.ipk Installing libffmpegthumbnailer (2.2.0-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libffmpegthumbnailer_2.2.0-1_mipsel-3.4.ipk Installing libffmpeg-full (3.2.9-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libffmpeg-full_3.2.9-1_mipsel-3.4.ipk Installing libbz2 (1.0.6-3) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libbz2_1.0.6-3_mipsel-3.4.ipk Installing alsa-lib (1.1.5-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/alsa-lib_1.1.5-1_mipsel-3.4.ipk Installing libopus (1.2.1-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libopus_1.2.1-1_mipsel-3.4.ipk Installing libpng (1.6.34-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libpng_1.6.34-1_mipsel-3.4.ipk Installing libiconv-full (1.11.1-3) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libiconv-full_1.11.1-3_mipsel-3.4.ipk Installing libintl-full (0.19.8.1-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libintl-full_0.19.8.1-1_mipsel-3.4.ipk Configuring libbz2. Configuring alsa-lib. Configuring libopus. Configuring libffmpeg-full. Configuring libpng. Configuring libjpeg. Configuring libffmpegthumbnailer. Configuring libogg. Configuring libexif. Configuring libflac. Configuring libiconv-full. Configuring libvorbis. Configuring libuuid. Configuring libintl-full. Configuring libsqlite3. Configuring libid3tag. Configuring minidlna. Запускаем из /opkg/etc/init.d/S90minidlna (opkg - у меня так называется раздел): ~ # /opt/etc/init.d/S90minidlna start Starting minidlna... done. Доступные команды: ~ # /opt/etc/init.d/S90minidlna Usage: /opt/etc/init.d/S90minidlna (start|stop|restart|check|kill|reconfigure) Останавливаем minidlna: ~ # /opt/etc/init.d/S90minidlna stop Checking minidlna... alive. Shutting down minidlna... done. Редактируем конфиг: Оригинальный конфиг из minidlna: # port for HTTP (descriptions, SOAP, media transfer) traffic port=8200 # network interfaces to serve, comma delimited #network_interface=eth0 # specify the user account name or uid to run as #user=jmaggard # set this to the directory you want scanned. # * if you want multiple directories, you can have multiple media_dir= lines # * if you want to restrict a media_dir to specific content types, you # can prepend the types, followed by a comma, to the directory: # + "A" for audio (eg. media_dir=A,/home/jmaggard/Music) # + "V" for video (eg. media_dir=V,/home/jmaggard/Videos) # + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures) # + "PV" for pictures and video (eg. media_dir=PV,/home/jmaggard/digital_camera) media_dir=/opt/media # set this to merge all media_dir base contents into the root container # note: the default is no #merge_media_dirs=no # set this if you want to customize the name that shows up on your clients #friendly_name=My DLNA Server # set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache db_dir=/opt/var/minidlna # set this if you would like to specify the directory where you want MiniDLNA to store its log file log_dir=/opt/var/minidlna # set this to change the verbosity of the information that is logged # each section can use a different level: off, fatal, error, warn, info, or debug #log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn # this should be a list of file names to check for when searching for album art # note: names should be delimited with a forward slash ("/") album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg # set this to no to disable inotify monitoring to automatically discover new files # note: the default is yes inotify=yes # set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO enable_tivo=no # set this to strictly adhere to DLNA standards. # * This will allow server-side downscaling of very large JPEG images, # which may hurt JPEG serving performance on (at least) Sony DLNA products. strict_dlna=no # default presentation url is http address on port 80 #presentation_url=http://www.mylan/index.php # notify interval in seconds. default is 895 seconds. notify_interval=900 # serial and model number the daemon will report to clients # in its XML description serial=12345678 model_number=1 # specify the path to the MiniSSDPd socket #minissdpdsocket=/opt/var/minidlna/minissdpd.sock # use different container as root of the tree # possible values: # + "." - use standard container (this is the default) # + "B" - "Browse Directory" # + "M" - "Music" # + "V" - "Video" # + "P" - "Pictures" # + Or, you can specify the ObjectID of your desired root container (eg. 1$F for Music/Playlists) # if you specify "B" and client device is audio-only then "Music/Folders" will be used as root #root_container=. # always force SortCriteria to this value, regardless of the SortCriteria passed by the client #force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title # maximum number of simultaneous connections # note: many clients open several simultaneous connections while streaming #max_connections=50 # PNG image to use for an icon, optionally followed by a hex background # color #icon=myicon.png,7f7f7f # Background color (hex rgb triplet) for PNG images converted to jpeg. Two # colors indicate that a checkerboard background, in those colors, should # be used. #bgcolor=666666,999999 # Suport to Movie Thumbnail generation. To use this option, thumbnail generation must be enable at compile time. enable_thumbnail=yes # The width of the thumbnail image. Large images takes more time to generate. To use this option, thumbnail generation must be enable at compile time. thumbnail_width=160 # Thumbnail Image quality. To use this option, thumbnail generation must be enable at compile time. thumbnail_quality=8 # Should the thumbnail have a film strip? To use this option, thumbnail generation must be enable at compile time. enable_thumbnail_filmstrip=yes # For owners of LG TVs who suffer from 100% CPU utilization on the server # If you have a large collection of movies, set this value to define # how many objects will be sent by the server at once (0-100) # The downside of using this option is being unable to # "see" all images and/or pictures at once, the workaround is to use # the "Browse Folders" mode # search_limit=0 Конфиг можете отредактировать "под себя". Все файлы поместил сюда: media_dir=/opt/media Там же сделал папки: Music, Video, JPG, Torrents, Other. Для себя сделал такой конфиг: # port for HTTP (descriptions, SOAP, media transfer) traffic port=8201 # network interfaces to serve, comma delimited network_interface=br0 # set this to the directory you want scanned. media_dir=/opt/media # set this to merge all media_dir base contents into the root container # note: the default is no merge_media_dirs=no # set this if you want to customize the name that shows up on your clients friendly_name=EXTRA_DLNA # set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache db_dir=/opt/var/minidlna/db # set this if you would like to specify the directory where you want MiniDLNA to store its log file log_dir=/opt/var/minidlna/log # set this to change the verbosity of the information that is logged # each section can use a different level: off, fatal, error, warn, info, or debug log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn # this should be a list of file names to check for when searching for album art # note: names should be delimited with a forward slash ("/") album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg # set this to no to disable inotify monitoring to automatically discover new files # note: the default is yes inotify=yes # set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO enable_tivo=no # set this to strictly adhere to DLNA standards. # * This will allow server-side downscaling of very large JPEG images, # which may hurt JPEG serving performance on (at least) Sony DLNA products. strict_dlna=no # notify interval in seconds. default is 895 seconds. notify_interval=60 # serial and model number the daemon will report to clients # in its XML description serial=12345678 model_number=1 # maximum number of simultaneous connections # note: many clients open several simultaneous connections while streaming max_connections=50 # Suport to Movie Thumbnail generation. To use this option, thumbnail generation must be enable at compile time. enable_thumbnail=yes # The width of the thumbnail image. Large images takes more time to generate. To use this option, thumbnail generation must be enable at compile time. thumbnail_width=160 # Thumbnail Image quality. To use this option, thumbnail generation must be enable at compile time. thumbnail_quality=8 # Should the thumbnail have a film strip? To use this option, thumbnail generation must be enable at compile time. enable_thumbnail_filmstrip=yes Запускаем minidlna: ~ # /opt/etc/init.d/S90minidlna start Starting minidlna... done. Проверяем работу minidlna. Дополнительная информация по настройке - тут и тут2.
  5. Нашёл одну интересную статью в которой предлогается просматривать информацию 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 Выглядит результат примерно так:
  6. Всем привет! подскажите пожалуйста, у меня мфу canon i-sensys mf4010 подключен по usb кабелю в keenetic omni I прошивка ndms v2.05(AAKU.20)C2, работает только принтер, можно ли задействовать сканер по сети или нет? Заранее спс!
  7. Репозиторий 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
  8. На роутере GIGA III после обновления на версию 2.12.A.2.0 при попытке захода на роутер по SSH под логином root при вводе пароля zyxel выдает сообщение об отказе в доступе, хотя раньше этот пароль подходил. Пароль не менял, в чем может быть проблема? root@192.168.1.1's password: Access denied
  9. Что это такое и для чего, можно прочитать, напр., на офф сайте owncloud или wiki. Если кратко, то - персональное (личное) облачное хранилище (облако). Размер облака ограничен "жадностью" владельца и/или объёмом диска (флешки не рассматриваются ввиду малого объёма)... Желательно наличие swap`a (файла подкачки). (nginx+php+mysql) Обновить список пакетов opkg update (опционально) установить nano - можно вставлять текст из буфера; mc - понятно; tar - "старший брат" для распаковки opkg install nano mc tar Установить следующие пакеты opkg install nginx php7-fastcgi php7-mod-ctype php7-mod-curl php7-mod-dom \ php7-mod-exif php7-mod-fileinfo php7-mod-gd php7-mod-gettext php7-mod-hash \ php7-mod-iconv php7-mod-json php7-mod-mbstring php7-mod-mcrypt php7-mod-mysql \ php7-mod-pdo php7-mod-pdo-mysql php7-mod-session php7-mod-simplexml \ php7-mod-sockets php7-mod-xml php7-mod-xmlreader php7-mod-xmlwriter php7-mod-zip \ mariadb-server mariadb-client-extra Создать скрипт запуска 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, fastcgi_params и nginx.conf Скачать архив owncloud и распаковать в корень сервера (напр., так) mkdir /opt/share/www cd /opt/share/www wget http://download.owncloud.org/community/owncloud-8.1.8.tar.bz2 Connecting to download.owncloud.org (188.40.68.177:80) owncloud-8.1.8.tar.b 100% |**********(вырезано)*********| 24032k 0:00:00 ETA tar -jxf owncloud-8.1.8.tar.bz2 Создать базу данных mysql_install_db --datadir=/opt/var --basedir=/opt --force Запустить mariadb-server /opt/etc/init.d/S70mariadbd start Задать пароль доступа mysqladmin -u root password 'Passw0rd' Войти и создать БД для ownCloud mysql -u root -p create database oc; \q Перезапустить mariadb-server /opt/etc/init.d/S70mariadbd restart Запустить php и nginx /opt/etc/init.d/S79php-fcgi start /opt/etc/init.d/S80nginx start Перейти по адресу http://192.168.1.1:88/owncloud и произвести первичную настройку где user - имя админа облака, pass - его пароль; /opt/share/www/owncloud/data - каиалог для данных; root - имя прользователя для БД; Passw0rd - его пароль; oc - имя БД (использовались в качестве примера - указывайте свои). Если все прошло удачно, то можно увидеть если не получилось, проверяйте где допустили ошибку. Варианты применения: слушать музыку смотреть мувики работать с документами открыть доступ соседке, а ночью просматривать ее селфи поделиться с друзьями/знакомыми, прикрутить сертификат и "выпустить" в интернеты, использовать с другим сервером и БД например и т.д. и т.п. "Самопальный" сертификат для подключения по https Обновить и установить пакеты opkg update opkg install openssl-util Создаём корневой ключ server.key (алгоритм шифрования aes256, длиной 4096 bit). Cистема дважды попросит ввести парольную фразу, придумываем её, вводим и запоминаем. openssl genrsa -aes256 -out server.key 4096 Создаём корневой сертификат: openssl req -new -key server.key -out server.csr -days 3560 Копируем ключ cp server.key server.key.org Удаляем пароль из ключа openssl rsa -in server.key.org -out server.key Генерируем сертификат openssl x509 -req -days 3650 -in server.csr -sha384 -signkey server.key -out server.crt Правим nginx.conf ... ssl_certificate /opt/etc/nginx/server.crt; ssl_certificate_key /opt/etc/nginx/server.key; server { listen 443 ssl; ... После внесения изменений в конфиг, nginx надо перезапустить, а в адресной строке для подключения к owncloud надо набрать https://ip.ad..re.ss:88/owncloud hdd Если нужно чтоб папка data находилась на другом диске то, носителю должна быть задана метка, он должен быть подключен и смонтирован. Проверяем командой mount, в примере ниже это флешка sdb1 с меткой data смонтированая в /tmp/mnt/ ~ # mount rootfs on / type rootfs (rw) /dev/root on / type squashfs (ro,relatime) tmpfs on /dev type tmpfs (rw,nosuid,noexec,relatime) none on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) /dev/mtdblock/7 on /storage type jffs2 (rw,nosuid,relatime) none on /proc/bus/usb type usbfs (rw,nosuid,noexec,relatime) /dev/sda1 on /tmp/mnt/omni2 type ext2 (rw,relatime) /dev/sdb1 on /tmp/mnt/data type ext2 (rw,nosuid,noexec,noatime) /dev/sda1 on /opt type ext2 (rw,relatime) nfsd on /proc/fs/nfsd type nfsd (rw,relatime) Создаем на нужном носителе папку data mkdir /tmp/mnt/data/data При выборе места хранения данных указываем нужный путь, в примере это /tmp/mnt/data/data Для переноса папки data на другой диск проверяем монтирование и копируем ее (папку) в нужное место, из примера выше, так mv /opt/share/www/owncloud/data /tmp/mnt/data/ нужно открыть и отредактировать файл /opt/share/www/owncloud/config/config.php в файле найти строку 'datadirectory' => '/opt/share/www/owncloud/data', и изменить в ней путь до нового места хранения (из примера выше, заменить на 'datadirectory' => '/tmp/mnt/data/data')
  10. К тестированию меня сподвигла ситуация, что при наличии подключения 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
  11. Решил опробовать способ обхода заглушек провайдера с одного всем известного сайта. Принцип несложный - фильтровать пакеты по наличию в них 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-системах я понимаю мало?
  12. 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
  13. В репозиторий 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 красивых графиков. Приведена только часть. Что там есть понятно из "меню" в правом верхнем углу.
  14. Keenetic Omni, Версия ОС 3.1.10 Хочу подключить USB камеру (совместимая 1e4e:0102 USB 2.0 Camera Cubeternet GL-UPC822 UVC WebCam), в Общих настройках установил компоненты OPKG - Модули ядра для поддержки USB-видео - из коробки не работает (как, например, та же Transmission появляется в разделе Приложения), потому что выпилили tot во второй версии прошивки. Подключаюсь по ssh к роутеру и вижу CLI вида "(config)>", а здесь везде в примерах "нормальный" ~ # - как вы к нему переходите? В примерах пишут "~ # opkg install *****" , ясен пень мой "(configure)> opkg install ******" говорит "Command::Base error[7405600]: no such command: install." .... (config)> opkg list-installed Command::Base error[7405600]: no such command: list-installed. Вопрос: установленных модулей USB UVC недостаточно для работы USB камеры? В ппримерах все время упоминается Entware - как я понял OPKG это пакетный менеджер и Entware тоже пакетный менеджер.... OPKG недостаточно для работы камеры? Как подключаться по SSH именно Entware ? Флешку с EXT3 подключил, для OPKG указал. Как далее ей пользоваться как хранилищем пакетов/программ ?
  15. На форуме уже пару раз возникал вопрос о периодическом бэкапе конфига. Но не менее обидно потерять свои наработки в entware. В данной статье выложен простой скрипт, который запускается по cron и сохраняет содержимое /opt, конфига и прошивки. Есть возможность отказаться от бэкапа любого из указанных компонентов. Резервная копия прошивки не сжимается архиватором, т.к. файл прошивки и так уже максимально упакован. Старые архивы в соответствии с установленным интервалом времени удаляются. Предварительно необходимо изменить настройки скрипта в разделе конфигурационных параметров. Данная резервная копию может использоваться как для полного, так и частичного восстановления entware. Информация об этом дана в конце статьи. Для нормальной работы cron entware д.б. установлена на раздел с файловой системой ext2/ext3/ext4. Устанавливаем и запускаем cron opkg install cron /opt/etc/init.d/S10cron start В каталоге /opt/etc/cron.daily создаем файл backup и размещаем в нем следующий код: Делаем файл backup исполняемым: chmod +x backup В данном скрипте предусмотрено исключение определенных каталогов (например, tmp, var/log). Бэкап производится на другой диск (флэшку). Если будете бэкапить содержимое на этот же диск, не забудьте добавить каталог с архивами в исключение. Иначе скрипт будет выполняться, пока не закончится место на диске. Архивы хранятся 8 дней (переменная DAYSTOR). Новый архив конфига создается только в том случае, если произошло его изменение. При этом не учитывается MD5 и строка "clock date". Информация о ходе бэкапа передается в syslog. Если эта информация нужна, и syslog у вас еще не настроен, то рекомендую его включить, как указано в соответствующей статье. Если не нужна, то ничего делать не нужно. Как минимум в данном коде вам необходимо изменить переменные BACSTORDIR и BACNAME. Всё. Каждую ночь будет сохраняться свежая копия entware и конфига роутера. Использование сохраненной резервной копии. По восстановлению конфига роутера вопросов возникнуть не должно. Распаковываем файл командой gzip, копируем его себе на устройство и далее его можно загрузить в роутер через соответствующий пункт в веб-интерфейсе ("Система-Файлы"). Пример команды для распаковки конфига: gzip -d config-2016-11-29.gz Таким же образом можно воспользоваться сохраненным файлом прошивки. Теперь о том, для чего делается резервная копия entware и как можно использовать полученный архив. Возможны случаи, когда мы наставили большое количество пакетов (какие не помним, они начали работать некорректно и т.п.), но точно знаем что хотелось бы вернуться на состояние "как было пару дней назад". Или еще хуже в результате экспериментов удалили системные файлы entware, полностью нарушив ее работу. Или вышел из строя диск (флэшка). 0. Подготовительная стадия. Предполагается, что у нас есть чистая entware, используемая для функции восстановления. Например, отдельная флэшка или раздел на диске/флэшке (далее диск восстановления - ДВ). На нем предварительно установлены утилиты для работы с диском (создания разделов, форматирования файловой системы): opkg install fdisk tune2fs e2fsprogs Через веб-интерфейс в разделе "Приложения-OPKG" подключаем entware с ДВ. 1. Создание раздела на диске. В моем примере восстановление entware будет выполняться на второй раздел флэшки (диск /dev/sda). ДВ находится на первом разделе флэшки. Используемая файловая система для entware - ext2 Создаем раздел диска через fdisk. Если на новом диске есть какие-то не нужные разделы, то их также можно удалить (см. help по команде "m"). 2. Форматирование раздела. Создаем ФС ext2 с меткой KINGSTON2 и UID (для удобства работы c OPKG) 00000000-0000-0000-1111-000000000002: Создаем каталог /tmp/mnt/KINGSTON2 и монтируем вновь созданную ФС: mount /dev/sda2 /tmp/mnt/KINGSTON2 Предполагаем, что архив entware уже находится на ДВ в /opt/tmp/king3-2016-12-06.tgz 3. Восстановление и запуск entware. Запускаем восстановление entware и создаем каталоги, которые мы не включили в резервную копию: Запускаем восстановленную entware в веб-интерфейсе. Примечание: Пункты 0-2 можно пропустить, если раздел для entware создается на каком-то другом устройстве (например, ПК). Также для простоты, используя midnight commander (opkg install mc), можно в архиве entware просмотреть интересующие нас файлы или скопировать их в какой-то другой каталог. Возможно извлечение и просмотр отдельных файлов и через команду tar.
  16. Данная тема создана по следам инструкций по использованию предыдущих версий первой ветки замечательного приложения dnscrypt-proxy, которое автор вернул к плотной разработке, правда, сменив язык на Go. Для начала рекомендую ознакомиться со статьями о первой версии приложения: Установка Замена основного DNS резолвера прошивки резолвером dnscrypt-proxy2 Настройка клиентов на использование dnscrypt-proxy2 в качестве DNS сервера Хранение файлов DNSCrypt и некоторые советы по конфигурации Блокировка рекламы Добавляем возможность разрешать домены в зоне *.lib Перехват всех DNS запросов на роутере. "Приземление" DNS трафика Диагностика проблем с запуском\работой. Опять же все ограничения, которые касались использования первой версии dnscrypt-proxy справедливы и для второй, ссылки на инструкции я приложил выше. Это моя первая инструкция в этом разделе, так что сильно не пинать, а конструктивная критика крайне приветствуется. Если есть, что нужно подправить\доработать - пишите, вместе сделаем использование данного пакета проще и эффективнее. Изменения шапки. В итоге: Защитили весь свой DNS трафик от перехвата со стороны провайдера и Гугла Заблокировали рекламу на всех устройствах домашней сети (это наиболее актуально для всяких Смарт ТВ и других девайсов не нет возможности блокировать рекламу на самом устройстве) Получили разрешение имен *.lib и других, чем немного упростили себе жизнь в все более блокируемом интернете
  17. 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).
  18. Добрый день. Хочу предложить всем скрипт, который я доработал. Изначально ссылкой поделился zyxmon, а на том форуме еще кто-то, а он взял еще у кого-то. По этому сразу прошу прощения, за то, что не уловил всю длинную цепочку авторов, но, если надо, то меня поправят в этом вопросе. Не ругайте сильно, если где-то опечатался, все желательно проверить, мне пока негде. Готов к замечаниям, я старался, надеюсь кому поможет. Скрипту требуется bash и wget . (opkg install bash wget openssl-util openvpn-openssl) Что было сделано: Добавлена генерация ta.key. Содержимое этого файла включено в конфигурацию сервера и клиента. Все файлы с ключами, используемые сервером, включены внутрь конфига сервера. (ранее было отдельными файлами со ссылками в конфиге). Выключена компрессия lzo перенесены логи в другой каталог status /opt/var/log/openvpn-status.log и log-append /opt/var/log/openvpn.log сам файл: #!/opt/bin/bash #OpenVPN road warrior installer for Entware-NG running on NDMS v.2. Please see http://keenopt.ru and http://forums.zyxmon.org #This script will let you setup your own VPN server in a few minutes, even if you haven't used OpenVPN before if [[ ! -e /dev/net/tun ]]; then echo "TUN/TAP is not available" exit 1 fi newclient () { # Generates the custom client.ovpn cp /opt/etc/openvpn/client-common.txt ~/$1.ovpn echo "<ca>" >> ~/$1.ovpn cat /opt/etc/openvpn/easy-rsa/pki/ca.crt >> ~/$1.ovpn echo "</ca>" >> ~/$1.ovpn echo "<cert>" >> ~/$1.ovpn cat /opt/etc/openvpn/easy-rsa/pki/issued/$1.crt >> ~/$1.ovpn echo "</cert>" >> ~/$1.ovpn echo "<key>" >> ~/$1.ovpn cat /opt/etc/openvpn/easy-rsa/pki/private/$1.key >> ~/$1.ovpn echo "</key>" >> ~/$1.ovpn echo "key-direction 1" >> ~/$1.ovpn echo "<tls-auth>" >> ~/$1.ovpn cat ta.key >> ~/$1.ovpn echo "</tls-auth>" >> ~/$1.ovpn } echo "Getting your ip address....please wait." IP=$(wget -qO- ipv4.icanhazip.com) if [[ -e /opt/etc/openvpn/openvpn.conf ]]; then while : do clear echo "Looks like OpenVPN is already installed" echo "" echo "What do you want to do?" echo " 1) Add a cert for a new user" echo " 2) Revoke existing user cert" echo " 3) Exit" read -p "Select an option [1-3]: " option case $option in 1) echo "" echo "Tell me a name for the client cert" echo "Please, use one word only, no special characters" read -p "Client name: " -e -i client CLIENT cd /opt/etc/openvpn/easy-rsa/ ./easyrsa build-client-full $CLIENT nopass # Generates the custom client.ovpn newclient "$CLIENT" echo "" echo "Client $CLIENT added, certs available at ~/$CLIENT.ovpn" exit ;; 2) # This option could be documented a bit better and maybe even be simplimplified # ...but what can I say, I want some sleep too NUMBEROFCLIENTS=$(tail -n +2 /opt/etc/openvpn/easy-rsa/pki/index.txt | grep -c "^V") if [[ "$NUMBEROFCLIENTS" = '0' ]]; then echo "" echo "You have no existing clients!" exit 5 fi echo "" echo "Select the existing client certificate you want to revoke" tail -n +2 /opt/etc/openvpn/easy-rsa/pki/index.txt | grep "^V" | cut -d '=' -f 2 if [[ "$NUMBEROFCLIENTS" = '1' ]]; then read -p "Select one client [1]: " CLIENTNUMBER else read -p "Select one client [1-$NUMBEROFCLIENTS]: " CLIENTNUMBER fi CLIENT=$(tail -n +2 /opt/etc/openvpn/easy-rsa/pki/index.txt | grep "^V" | cut -d '=' -f 2 | sed -n "$CLIENTNUMBER"p) cd /opt/etc/openvpn/easy-rsa/ ./easyrsa --batch revoke $CLIENT ./easyrsa gen-crl rm -rf pki/reqs/$CLIENT.req rm -rf pki/private/$CLIENT.key rm -rf pki/issued/$CLIENT.crt # And restart /opt/etc/init.d/S20openvpn restart echo "" echo "Certificate for client $CLIENT revoked" exit ;; 3) exit;; esac done else clear echo 'Welcome to this quick OpenVPN "road warrior" installer' echo "" # OpenVPN setup and first user creation echo "I need to ask you a few questions before starting the setup" echo "You can leave the default options and just press enter if you are ok with them" echo "" echo "First I need to know the IPv4 address of the network interface you want OpenVPN" echo "listening to." read -p "IP address: " -e -i $IP IP echo "" echo "What protocol do you want for OpenVPN?" echo "1) UDP" echo "2) TCP" read -p "Protocol (1 or 2): " -e -i 1 PROTOCOL echo "What VPN NET do you want?" read -p "VPN network: " -e -i 10.8.0.0 VPN_NET echo "Add VPN IP to getaway?" echo "y or n" read -p "VPN GW? " -e -i no VPN_GW echo "" if [ "$PROTOCOL" = 2 ]; then PROTOCOL=tcp PORT=443 else PROTOCOL=udp PORT=1194 fi echo "What port do you want for OpenVPN?" read -p "Port: " -e -i $PORT PORT echo "" if ["$VPN_GW" = "y" ]; then echo "What DNS do you want to use with the VPN?" echo " 1) Current system resolvers" echo " 2) Yandex DNS" echo " 3) Google" read -p "DNS [1-3]: " -e -i 1 DNS echo "" fi echo "RSA key size 2048 or 1024 ?" echo "1) 2048" echo "2) 1024" read -p "RSA key size (1 or 2): " -e -i 1 RSA_KEY_SIZE echo "" if [ "$RSA_KEY_SIZE" = 2 ]; then RSA_KEY_SIZE=1024 else RSA_KEY_SIZE=2048 fi echo "" echo "Finally, tell me your name for the client cert" echo "Please, use one word only, no special characters" read -p "Client name: " -e -i client CLIENT echo "" echo "Okay, that was all I needed. We are ready to setup your OpenVPN server now" read -n1 -r -p "Press any key to continue..." # An old version of easy-rsa was available by default in some openvpn packages if [[ -d /opt/etc/openvpn/easy-rsa/ ]]; then mv /opt/etc/openvpn/easy-rsa/ /opt/etc/openvpn/easy-rsa-old/ fi # Get easy-rsa wget --no-check-certificate -O ~/EasyRSA-3.0.4.tgz https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.4/EasyRSA-3.0.4.tgz tar xzf ~/EasyRSA-3.0.4.tgz -C ~/ mv ~/EasyRSA-3.0.4 /opt/etc/openvpn/easy-rsa/ chown -R root:root /opt/etc/openvpn/easy-rsa/ rm -rf ~/EasyRSA-3.0.4.tgz cd /opt/etc/openvpn/easy-rsa/ if [ "$RSA_KEY_SIZE" = 1024 ]; then cp vars.example vars echo "set_var EASYRSA_KEY_SIZE 1024" >> vars fi # Create the PKI, set up the CA, the DH params and the server + client certificates ./easyrsa init-pki ./easyrsa --batch build-ca nopass ./easyrsa gen-dh ./easyrsa build-server-full server nopass ./easyrsa build-client-full $CLIENT nopass ./easyrsa gen-crl openvpn --genkey --secret ta.key echo "local $IP" > /opt/etc/openvpn/openvpn.conf echo "port $PORT proto $PROTOCOL dev tun sndbuf 0 rcvbuf 0 topology subnet server $VPN_NET 255.255.255.0 ifconfig-pool-persist ipp.txt" >> /opt/etc/openvpn/openvpn.conf if ["$VPN_GW" = "y" ]; then echo 'push "redirect-gateway def1 bypass-dhcp"' >> /opt/etc/openvpn/openvpn.conf # DNS case $DNS in 1) # Obtain the resolvers from resolv.conf and use them for OpenVPN grep -v '#' /etc/resolv.conf | grep 'nameserver' | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | while read line; do echo "push \"dhcp-option DNS $line\"" >> /opt/etc/openvpn/openvpn.conf done ;; 2) echo 'push "dhcp-option DNS 77.88.8.8"' >> /opt/etc/openvpn/openvpn.conf echo 'push "dhcp-option DNS 77.88.8.1"' >> /opt/etc/openvpn/openvpn.conf ;; 3) echo 'push "dhcp-option DNS 8.8.8.8"' >> /opt/etc/openvpn/openvpn.conf echo 'push "dhcp-option DNS 8.8.4.4"' >> /opt/etc/openvpn/openvpn.conf ;; esac fi echo "keepalive 10 120 push \"route 192.168.1.0 255.255.255.0\" cipher AES-256-CBC compress status /opt/var/log/openvpn-status.log log-append /opt/var/log/openvpn.log client-to-client persist-key persist-tun verb 3 explicit-exit-notify 1 crl-verify /opt/etc/openvpn/easy-rsa/pki/crl.pem" >> /opt/etc/openvpn/openvpn.conf echo '<ca>' >> /opt/etc/openvpn/openvpn.conf cat pki/ca.crt >> /opt/etc/openvpn/openvpn.conf echo '</ca>' >> /opt/etc/openvpn/openvpn.conf echo '<cert>' >> /opt/etc/openvpn/openvpn.conf cat pki/issued/server.crt >> /opt/etc/openvpn/openvpn.conf echo '</cert>' >> /opt/etc/openvpn/openvpn.conf echo '<key>' >> /opt/etc/openvpn/openvpn.conf cat pki/private/server.key >> /opt/etc/openvpn/openvpn.conf echo '</key>' >> /opt/etc/openvpn/openvpn.conf echo '<dh>' >> /opt/etc/openvpn/openvpn.conf cat pki/dh.pem >> /opt/etc/openvpn/openvpn.conf echo '</dh>' >> /opt/etc/openvpn/openvpn.conf echo 'key-direction 0' >> /opt/etc/openvpn/openvpn.conf echo '<tls-auth>' >> /opt/etc/openvpn/openvpn.conf cat ta.key >> /opt/etc/openvpn/openvpn.conf echo '</tls-auth>' >> /opt/etc/openvpn/openvpn.conf echo "#!/bin/sh [ \"\$table\" != "filter" ] && exit 0 # check the table name iptables -I INPUT -i tun0 -j ACCEPT iptables -I FORWARD -s $VPN_NET/24 -j ACCEPT iptables -I INPUT -p $PROTOCOL --dport $PORT -j ACCEPT iptables -A INPUT -i lo -j ACCEPT" >> /opt/etc/ndm/netfilter.d/052-openvpn-filter.sh chmod +x /opt/etc/ndm/netfilter.d/052-openvpn-filter.sh echo "#!/bin/sh [ \"\$table\" != "nat" ] && exit 0 # check the table name iptables -t nat -A POSTROUTING -s $VPN_NET/24 -j SNAT --to $IP" >> /opt/etc/ndm/netfilter.d/053-openvpn-nat.sh chmod +x /opt/etc/ndm/netfilter.d/053-openvpn-nat.sh echo "client dev tun proto $PROTOCOL sndbuf 0 rcvbuf 0 remote $IP $PORT resolv-retry infinite nobind persist-key persist-tun remote-cert-tls server cipher AES-256-CBC compress verb 3" > /opt/etc/openvpn/client-common.txt # Generates the custom client.ovpn newclient "$CLIENT" echo "" echo "Finished!" echo "" echo "Your client config is available at ~/$CLIENT.ovpn" echo "If you want to add more clients, you simply need to run this script another time!" fi
  19. Возможно ли добавить менеджер закачек в прошивку? Думаю будет полезная вещь на ряду с присутствующим BitTorrent'ом.
  20. Здравствуйте. Напишите пожалуйсто как сделать графический интерфейс (GUI) для Entware на ZyXEL Keenetic II? Установка Entware прошла без проблем, установил ещё кое какие пакеты. Пробовал установить графический интерфейс по инструкции (https://github.com/Entware-ng/Entware-n ... -TomatoUSB), но не получилось. Кто-нибудь может написать по пунктам как это сделать для MIPS devices?
  21. Проекты Entware-ng и Entware-ng-3x объединились под общим названием Entware. Ниже перечислен минимальный набор действий для использования Entware. Требования: - ZyXEL Keenetic с USB-портом. Любой c NDMS v2.07 (2.08) и выше, кроме моделей 4GII/III. - Прошивка с компонентом OPKG. - USB носитель с разделом ext2/ext3/ext4 и заданной меткой. - Начиная с версии 2.12.A.4.0-0, при установленном компоненте "Сервер SSH", свободный порт 222 Инструкция по установке: 1. Подключите USB-носитель к кинетику 2. Зайдите на носитель по FTP или CIFS 3. Cоздайте на разделе с заданной меткой USB-носителя папку install 4. Скопируйте в папку install подготовленный архив установки для своего устройства: - для Keenetic DSL, LTE, VOX, DSL (KN-2010), DUO (KN-2110) - mips-installer.tar.gz - для остальных интернет-центров Keenetic - mipsel-installer.tar.gz 5. Зайдите в веб-интерфейс кинетика и на странице «Приложения > OPKG» поставьте галку «Включить», затем выберите из списка нужный USB-носитель и нажмите кнопку «Применить». прим. количество вкладок, их порядок и названия зависят от: устройства, версии прошивки и установленных компонентов Если все сделали правильно, то в системном журнале через некоторое время появится строчка "...Можно открыть SSH-сессию для соединения с устройством..." Пример сообщений системного журнала: Всё! Можно зайти на кинетик по ssh, логин root, пароль keenetic. Если установлен компонент прошивки "Сервер SSH", подключаться следует на 222 порт (см. лог выше) Пароль Entware никак не связан с паролем Кинетика. Настоятельно рекомендуется сменить пароль стандартной командой `passwd`: ~ # passwd Changing password for root New password: Bad password: too weak Retype password: Password for root changed by root Обновите список пакетов opkg update и устанавливайте нужные, например файловый менеджер "Midnight Commander": opkg install mc Ознакомиться с основным списком пакетов можно здесь (для mips) и здесь (для mipsel), с дополнительным списком пакетов для Кинетиков здесь (для mips) и здесь (для mipsel).
  22. Звуковая станция на базе Entware-Keenetic/Entware-3x и MPD основана на теме, за что, отдельная благодарность - McMCC. Зайти по SSH в подготовленную систему и выполнить следующие команды opkg update opkg install music-center Всё! Настройки mpd находятся по /opt/etc/mpd.conf и меняются, в зависимости от своих предпочтений. NB Тема про модули ядра - теперь они доступны для всех draft-версий прошивок.
  23. Такой вот в Facebook состоялся разговор. Понимаю, что в период столь интенсивного развития прошивки у разработчиков существуют куда более злободневные проблемы, касающиеся куда более актуальных и востребованных функций, чем дополнительные пакеты, тем не менее желаю всяческих успехов на этом пути и скорейшей реализации. Действительно очень хорошая новость =)
  24. Attention! Keenetic provides no official support for third-party packages, such as Entware. If you have questions, comments, or suggestions, feel free to post them here. Requirements To start using Entware on Keenetic, you need: A Keenetic router with a USB port (except Keenetic 4G) running NDMS 2.07 or higher Either "File and printer sharing (SMB/CIFS protocols)", or "FTP server" component installed The "Open Package support" component installed A USB disk with an ext2/ext3/ext4 partition Important: Keenetic should be connected to the Internet. Installation instructions Connect your USB storage to Keenetic Share the ext2/ext3/ext4 partition via FTP or SMB/CIFS Create the "install" directory Copy the following archive to the "install" directory: EN_mipsel-installer.tar.gz ; for KN-2011 and KN-2111 - EN_mips-installer.tar.gz Go to the Keenetic web interface: "Applications » OPKG", check "Enable", select the USB drive, and click "Apply" Wait for the following message in the system log: "... installer: [5/5] Entware installed!" ... [I] Mar 17 14:47:57 ndm: Opkg::Manager: disk is set to: 13af943c-7374-46f1-9256-f2cc76c2ff1a: [I] Mar 17 14:47:58 ndm: kernel: EXT4-fs (sdd1): re-mounted. Opts: (null) [I] Mar 17 14:47:58 ndm: Opkg::Manager: /tmp/mnt/E-3x_test mounted to /tmp/mnt/E-3x_test. [I] Mar 17 14:47:58 ndm: Opkg::Manager: /tmp/mnt/E-3x_test mounted to /opt/. [I] Mar 17 14:47:58 npkg: inflating "EN_mipsel-installer(1).tar.gz". [I] Mar 17 14:47:59 ndm: Opkg::Manager: /tmp/mnt/E-3x_test initialized. [I] Mar 17 14:47:59 ndm: Opkg::Manager: init script reset to default: /opt/etc/initrc. [E] Mar 17 14:47:59 ndm: Opkg::Manager: invalid initrc "/opt/etc/initrc": no such file or directory, trying /opt/etc/init.d/. [I] Mar 17 14:47:59 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Partition is OK. [I] Mar 17 14:47:59 ndm: Core::ConfigurationSaver: saving configuration... [I] Mar 17 11:47:59 installer: [1/5] Starting Entware deployment... [I] Mar 17 11:47:59 installer: [2/5] Basic packages installation... [I] Mar 17 14:48:01 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz. [I] Mar 17 14:48:01 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Updated list of available packages in /opt/var/opkg-lists/entware. [I] Mar 17 14:48:01 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz. [I] Mar 17 14:48:01 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Updated list of available packages in /opt/var/opkg-lists/keendev. [I] Mar 17 14:48:01 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing opt-ndmsv2 (1.0-10a) to root... [I] Mar 17 14:48:01 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/opt-ndmsv2_1.0-10a_mipsel-3.4_kn.ipk. [I] Mar 17 14:48:03 ndm: Core::ConfigurationSaver: configuration saved. [I] Mar 17 14:48:03 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libc (2.27-8) to root... [I] Mar 17 14:48:03 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/libc_2.27-8_mipsel-3.4.ipk. [I] Mar 17 14:48:08 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libgcc (7.3.0-8) to root... [I] Mar 17 14:48:08 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/libgcc_7.3.0-8_mipsel-3.4.ipk. [I] Mar 17 14:48:08 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libssp (7.3.0-8) to root... [I] Mar 17 14:48:08 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/libssp_7.3.0-8_mipsel-3.4.ipk. [I] Mar 17 14:48:09 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing librt (2.27-8) to root... [I] Mar 17 14:48:09 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/librt_2.27-8_mipsel-3.4.ipk. [I] Mar 17 14:48:09 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libpthread (2.27-8) to root... [I] Mar 17 14:48:09 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/libpthread_2.27-8_mipsel-3.4.ipk. [I] Mar 17 14:48:10 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libstdcpp (7.3.0-8) to root... [I] Mar 17 14:48:10 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/libstdcpp_7.3.0-8_mipsel-3.4.ipk. [I] Mar 17 14:48:12 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing ldconfig (2.27-8) to root... [I] Mar 17 14:48:12 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/ldconfig_2.27-8_mipsel-3.4.ipk. [I] Mar 17 14:48:14 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing findutils (4.6.0-1) to root... [I] Mar 17 14:48:14 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/findutils_4.6.0-1_mipsel-3.4.ipk. [I] Mar 17 14:48:14 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing terminfo (6.1-1) to root... [I] Mar 17 14:48:14 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/terminfo_6.1-1_mipsel-3.4.ipk. [I] Mar 17 14:48:14 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing ndmq (1.0.2-3) to root... [I] Mar 17 14:48:14 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/ndmq_1.0.2-3_mipsel-3.4_kn.ipk. [I] Mar 17 14:48:15 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libndm (1.8.0-1) to root... [I] Mar 17 14:48:15 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/libndm_1.8.0-1_mipsel-3.4_kn.ipk. [I] Mar 17 14:48:16 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing locales (2.27-8) to root... [I] Mar 17 14:48:16 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/locales_2.27-8_mipsel-3.4.ipk. [I] Mar 17 14:48:18 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing grep (2.26-1) to root... [I] Mar 17 14:48:18 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/grep_2.26-1_mipsel-3.4.ipk. [I] Mar 17 14:48:19 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libpcre (8.41-2) to root... [I] Mar 17 14:48:19 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/libpcre_8.41-2_mipsel-3.4.ipk. [I] Mar 17 14:48:20 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing zoneinfo-asia (2018c-1) to root... [I] Mar 17 14:48:20 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/zoneinfo-asia_2018c-1_mipsel-3.4.ipk. [I] Mar 17 14:48:20 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing zoneinfo-europe (2018c-1) to root... [I] Mar 17 14:48:20 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/zoneinfo-europe_2018c-1_mipsel-3.4.ipk. [I] Mar 17 14:48:21 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing entware-release (1.0-2) to root... [I] Mar 17 14:48:21 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/entware-release_1.0-2_all.ipk. [I] Mar 17 14:48:21 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing opkg (2011-04-08-9c97d5ec-17b) to root... [I] Mar 17 14:48:21 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/opkg_2011-04-08-9c97d5ec-17b_mipsel-3.4.ipk. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing dropbear (2017.75-5) to root... [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://bin.entware.net/mipselsf-k3.4/dropbear_2017.75-5_mipsel-3.4.ipk. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Entware uses separate locale-archive file independent from main system. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: You can download locale sources from http://pkg.entware.net/sources/i18n_glib227.tar.gz. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: You can add new locales to Entware using /opt/bin/localedef.new. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Updating /opt/etc/ld.so.cache... done. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Package ndmq (1.0.2-3) installed in root is up to date. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libgcc. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libc. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libssp. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libpthread. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring librt. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring terminfo. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring ldconfig. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libpcre. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring grep. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring locales. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring opkg. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring zoneinfo-europe. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring zoneinfo-asia. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libndm. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring ndmq. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring dropbear. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libstdcpp. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring findutils. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring entware-release. [I] Mar 17 14:48:22 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring opt-ndmsv2. [I] Mar 17 11:48:34 installer: Info: Packages installed... [I] Mar 17 11:48:34 installer: [3/5] Generating SSH keys... [I] Mar 17 14:48:34 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Generating key, this may take a while... [I] Mar 17 14:48:36 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: .Generating key, this may take a while... [I] Mar 17 11:48:38 installer: [4/5] Setting timezone, script initrc and starting dropbear... [I] Mar 17 14:48:38 ndm: Core::Server: started Session /var/run/ndm.core.socket. [I] Mar 17 14:48:38 ndm: Core::Server: client disconnected. [I] Mar 17 11:48:38 dropbear[20781]: Running in background [I] Mar 17 14:48:38 ndm: Core::Server: started Session /var/run/ndm.core.socket. [I] Mar 17 14:48:38 ndm: Opkg::Manager: configured init script: "/opt/etc/init.d/rc.unslung". [I] Mar 17 14:48:38 ndm: Core::Server: client disconnected. [I] Mar 17 14:48:38 ndm: Core::Server: started Session /var/run/ndm.core.socket. [I] Mar 17 14:48:38 ndm: Core::ConfigurationSaver: saving configuration... [I] Mar 17 14:48:38 ndm: Core::Server: client disconnected. [I] Mar 17 11:48:38 installer: [5/5] Entware installed! [I] Mar 17 11:48:38 installer: Log on at root:keenetic@my.keenetic.net -p 222 to start new SSH session. [I] Mar 17 14:48:38 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: . [I] Mar 17 14:48:42 ndm: Core::ConfigurationSaver: configuration saved. ... Further steps Connect to the Keenetic by SSH (login/password: root/keenetic) (if installed component "SSH server", connect to the port 222) Update package list opkg update For example, install midnight commander opkg install mc You can find the list of basic packages here and additional packages for Keenetic here
  25. Установка и настройка Transmission Transmission - BitTorrent-клиент c открытым кодом. Версия из репозитория Transmission 2.94-2: http://bin.entware.net/mipselsf-k3.4/transmission-daemon-mbedtls_2.94-2_mipsel-3.4.ipk http://bin.entware.net/mipselsf-k3.4/transmission-web_2.94-2_mipsel-3.4.ipk Изменения: Transmission 2.94: All Platforms: Fix building against LibreSSL (#284, #486, #570) Fix building against mbedTLS (#115, #528) Fix torrents ETA calculation (#522) Fix cross-compilation issues caused by miniupnpc configuration test (#475) Qt Client: Fix bad downloaded percentage in DetailsDialog (#547) Web Client: Fix tracker error XSS in inspector (CVE pending; found by Rory McNamara of Gotham Digital Science) Fix torrent name HTML-escaping in trackers inspector tab Transmission 2.93: All Platforms: Fix CVE-2018-5702 (#468) Fix crash on handshake if establishing DH shared secret fails (#27) Fix crash when switching to next tracker during announcement (#297) Fix potential issue during password salt extraction in OOM situation (#141) Workaround glib_DEFUN- and glib_REQUIRE-related configuration issue (#215) Fix building against OpenSSL 1.1.0+ (#24) Mac Client: Fix uncaught exception when dragging multiple items between groups (#51) Don't hard-code libcrypto version to 0.9.8 in Xcode project (#71) Подготовка: 1. Создаем раздел EXT4 на жестком диске - Использование файловой системы EXT4 на USB-накопителях. 2. Установка и настройка Entware - в данной теме. Работоспособность проверена с: Keenetic Giga III и Keenetic Giga KN-1010, прошивка draft 2.12.A.3.0-2 от 06.02.2018, раздел на HDD EXT4. Обновляемся: ~ # opkg update Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz Updated list of available packages in /opt/var/opkg-lists/entware Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz Updated list of available packages in /opt/var/opkg-lists/keendev Устанавливаем: / # opkg install transmission-daemon-mbedtls Installing transmission-daemon-mbedtls (2.94-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/transmission-daemon-mbedtls_2.94-2_mipsel-3.4.ipk Installing libcurl (7.59.0-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libcurl_7.59.0-2_mipsel-3.4.ipk Installing libopenssl (1.0.2o-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libopenssl_1.0.2o-1_mipsel-3.4.ipk Installing zlib (1.2.11-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/zlib_1.2.11-2_mipsel-3.4.ipk Installing libevent2 (2.0.22-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libevent2_2.0.22-1_mipsel-3.4.ipk Installing libminiupnpc (2.0.20170509-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libminiupnpc_2.0.20170509-1_mipsel-3.4.ipk Installing libnatpmp (20150609-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libnatpmp_20150609-1_mipsel-3.4.ipk Installing libmbedtls (2.8.0-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libmbedtls_2.8.0-1_mipsel-3.4.ipk Configuring zlib. Configuring libopenssl. Configuring libcurl. Configuring libmbedtls. Configuring libevent2. Configuring libnatpmp. Configuring libminiupnpc. Configuring transmission-daemon-mbedtls. / # opkg install transmission-web Installing transmission-web (2.94-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/transmission-web_2.94-2_mipsel-3.4.ipk Configuring transmission-web. Смотрим путь, где находится .conf, .json и загрузочный файл: / # opkg files transmission-daemon-mbedtls Package transmission-daemon-mbedtls (2.94-1) is installed on root and has the following files: /opt/bin/transmission-daemon /opt/etc/init.d/S88transmission /opt/etc/transmission/settings.json /opt/etc/sysctl.d/20-transmission.conf Запускаем: ~ # /opt/etc/init.d/S88transmission start Starting transmission-daemon... done. Останавливаем: ~ # /opt/etc/init.d/S88transmission stop Checking transmission-daemon... alive. Shutting down transmission-daemon... done. Настройка settings.json (можно настроить под себя): Директория, где лежит файл конфигурации /opt/etc/transmission: /opt/etc/transmission Директория, куда будут скачиваться торрент-файлы: "download-dir": "/tmp/mnt/NTFS_TEST/download", Директория, куда будут помещаться недоскаченные торрент-файлы: "incomplete-dir": "/tmp/mnt/NTFS_TEST/no_download", NTFS_TEST - для записи торрент-файлов указал раздел с фс NTFS, { "alt-speed-down": 50, "alt-speed-enabled": false, "alt-speed-time-begin": 540, "alt-speed-time-day": 127, "alt-speed-time-enabled": false, "alt-speed-time-end": 1020, "alt-speed-up": 50, "bind-address-ipv4": "0.0.0.0", "bind-address-ipv6": "::", "blocklist-enabled": false, "blocklist-url": "http://list.iblocklist.com/?list=bt_level1", "cache-size-mb": 2, "dht-enabled": true, "download-dir": "/tmp/mnt/NTFS_TEST/download", "download-queue-enabled": true, "download-queue-size": 5, "encryption": 2, "idle-seeding-limit": 30, "idle-seeding-limit-enabled": false, "incomplete-dir": "/tmp/mnt/NTFS_TEST/no_download", "incomplete-dir-enabled": true, "lpd-enabled": true, "message-level": 1, "peer-congestion-algorithm": "", "peer-id-ttl-hours": 6, "peer-limit-global": 2000, "peer-limit-per-torrent": 200, "peer-port": 51413, "peer-port-random-high": 65535, "peer-port-random-low": 49152, "peer-port-random-on-start": false, "peer-socket-tos": "lowcost", "pex-enabled": true, "port-forwarding-enabled": true, "preallocation": 1, "prefetch-enabled": false, "queue-stalled-enabled": false, "queue-stalled-minutes": 30, "ratio-limit": 2, "ratio-limit-enabled": false, "rename-partial-files": true, "rpc-authentication-required": false, "rpc-bind-address": "0.0.0.0", "rpc-enabled": true, "rpc-host-whitelist": "", "rpc-host-whitelist-enabled": true, "rpc-password": "{56d033989b5274bc42981b4b51ab541d664aa689c1che9lt", "rpc-port": 9091, "rpc-url": "/transmission/", "rpc-username": "root", "rpc-whitelist": "127.0.0.1", "rpc-whitelist-enabled": false, "scrape-paused-torrents-enabled": true, "script-torrent-added-enabled": false, "script-torrent-added-filename": "", "script-torrent-done-enabled": false, "script-torrent-done-filename": "", "seed-queue-enabled": false, "seed-queue-size": 10, "speed-limit-down": 100, "speed-limit-down-enabled": false, "speed-limit-up": 100, "speed-limit-up-enabled": false, "start-added-torrents": true, "trash-original-torrent-files": true, "umask": 18, "upload-slots-per-torrent": 14, "utp-enabled": true, "watch-dir": "/opt/etc/transmission/watchdir", "watch-dir-enabled": true } Запускаем: ~ # /opt/etc/init.d/S88transmission start Starting transmission-daemon... done. Заходим в WebUI по адресу http://192.168.1.1:9091/transmission/web/ и делаем настройку (можно настроить под себя): https://cloud.mail.ru/public/LFEg/9f6gjsFfu https://cloud.mail.ru/public/GnnN/jUoLTDCe5 https://cloud.mail.ru/public/CEya/dJBxGcRrL https://cloud.mail.ru/public/3uPy/pbjBx7pQ7 https://cloud.mail.ru/public/JCdn/7JCRmzQoS Версия Transmission: https://cloud.mail.ru/public/15nb/kNMkAY6zv Скорость download: https://cloud.mail.ru/public/HYLn/Jgw2ZWQje https://cloud.mail.ru/public/LbCB/zpUyaiW8B https://cloud.mail.ru/public/HS33/58Lv8v4dS Загрузка CPU: CPU: 34.6% usr 18.1% sys 0.0% nic 32.9% idle 3.0% io 0.0% irq 11.1% sirq Load average: 2.01 1.58 1.29 2/111 14504 PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND 13805 1 root S 48904 19.0 0 47.9 transmission-daemon -g /opt/etc/transmission https://cloud.mail.ru/public/CXMj/9s5Trqkfc Информация по настройке Transmission: https://help.keenetic.net/hc/ru/articles/213967249 http://nmt200.ru/nmt/apps/trans https://github.com/transmission/transmission/wiki Отдельное спасибо за обновление и поддержку репозитория @zyxmon, @TheBB
×
×
  • Create New...