-
Posts
96 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by Илдар
-
-
отлично, сработало.
приложу сюда файл, в следующий раз когда придётся фактори резет делать, пригодится.
-
нет, это в shell-e самого кинетика, opkg ssh 222
-
Последний месяц-полтора возникла (а уж не с автообновления на 3 версию ли? ) и начала очень мешать такая проблема:
Цитата~ # nslookup ya.ru
Server: 127.0.0.1
Address 1: 127.0.0.1 localhostnslookup: can't resolve 'ya.ru': Temporary failure in name resolution
Не может определить в 40% случаев.
Т.е. в первый раз определит, во второй запуск не определит, примерно так.
Думал что у провайдера видимо ДНС корявые?
Добавил ещё и 8.8.8.8 в ДНС-ы.
Однако ровным счётом ничего не изменилось.
-
добавил в начало файла /opt/etc/ssl/openssl.cnf:
Цитатаopenssl_conf = default_conf
[default_conf]
ssl_conf = ssl_sect[ssl_sect]
system_default = system_default_sect[system_default_sect]
MinProtocol = TLSv1.2
Однако же, ничего не изменилось.
Проблема так и осталась.
-
Не очень понятно, почему вопрос конфигурирования OpenSSL, если другие утилиты, его использующие (curl например) коннектятся корректно.
Десктоп в моём случае = windows, там есть только идущий вместе с PHP libssl-1_1.dll без файлов конфигурации SSL и с пустой секцией по openssl в php.ini
т.е. никаких настроек.
-
Добавлю также, что проблема очевидно не в тестовом скрипте (способе доступа к сайту), т.к. споткнулся на этом composer, который пытался скачать зависимости.
-
Известно, что в отличие от многих других сайтов, api.github.com разрешает доступ к себе ТОЛЬКО (не ниже) по TLS 1.2
Пример PHP скрипта, генерирующий ошибку:
<?php $arr_hosts = array( 'yandex.ru' ,'api.github.com' ); foreach($arr_hosts as $host){ print "check $host:<br/>\r\n"; $fp = stream_socket_client("tlsv1.2://$host:443", $errno, $errstr, 30); if (!$fp) { die("Unable to connect: $errstr ($errno)"); } $header = "GET / HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\n\r\n"; print $header; fwrite($fp, $header); if (!feof($fp)) { echo fgets($fp, 1024); } fclose($fp); } ?>
Выдаёт ошибку "error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version" :
Цитатаcheck yandex.ru:<br/> GET / HTTP/1.0 Host: yandex.ru Accept: */* HTTP/1.1 200 Ok check api.github.com:<br/> <br /> <b>Warning</b>: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version in <b>/opt/share/www/test_crypto.php</b> on line <b>42</b><br /> <br /> <b>Warning</b>: stream_socket_client(): Failed to enable crypto in <b>/opt/share/www/test_crypto.php</b> on line <b>42</b><br /> <br /> <b>Warning</b>: stream_socket_client(): unable to connect to tlsv1.2://api.github.com:443 (Unknown error) in <b>/opt/share/www/test_crypto.php</b> on line <b>42</b><br /> Unable to connect: (0) учитывая, что curl работает корректно
curl https://api.github.com/repos/danog/MagicalSerializer/zipball/87b6ed05a86021e9364f31133089bb83980d5e24
Поставил на десктоп PHP 7.2.22, там тестовый скрипт отрабатывает без ошибок.
, могу предположить что PHP как-то криво откомпилирован, либо его версия под линукс работает некорректно.
Что тут можно сделать?
-
13 минуты назад, AndreBA сказал:
круто, спасибо.
-
29 минут назад, KorDen сказал:
Есть же dehydrated, в котором только в одном месте надо поменять "#!/usr/bin/env bash" на "#!/opt/bin/bash"
Что ж вы раньше не сказали?
29 минут назад, KorDen сказал:Что мешает перманентно перенести сервер кинетика на другой порт?
На другой порт - насколько я понимаю кинетик тогда сам перестанет обновлять свой сертификат, оно же по 80 порту только обновляется.
-
да уж, пока пришлось самому выпустить.
certbot не ставится, поэтому ставим acme.sh
https://github.com/Neilpang/acme.sh
acme не ставится, т.к. ожидает наличия /urs/bin/env , поэтому ставим с мучениями:
opkg install socat
1. скачать архив:
curl https://github.com/Neilpang/acme.sh/archive/master.tar.gz > master.tar.gz tar xzf master.tar.gz
2. cd acme.sh-master
cd acme.sh-master
3. заменим все #!/usr/bin/env sh на #!/opt/bin/sh
export INSTALLONLINE= find . -name "*.sh" -type f -exec sed -i 's/#!\/usr\/bin\/env sh/#!\/opt\/bin\/sh/g' {} +
4. ставим
./acme.sh --install
5. переводим веб-интерфейс кинетика на 81 порт
6. пробрасываем 80 порт снаружи внутрь
7. выпускаем сертификат
export DOMAIN=myrouter.keenetic.link ./acme.sh --issue --standalone -d $DOMAIN --debug
8. убираем проброс порта 80
9. возвращаем веб-интерфейс кинетика на 80 порт
-
Уважаемые кинетикосоздатели, озвучьте хотя бы политику: например, ключи прячутся и вы не считаете правильным, чтобы сторонний софт на кинетике им пользовался.
А то я пока жду, а мне надо что-то делать, видимо lets encrypt-бота ставить придётся, тогда видимо сертификат встроенный устареет, что не есть хорошо.
-
Добрый день.
Нужно поднять свой https-сервер на кинетике.
Порт например 3000 и чтобы он был доступен из интернета: https://my_router.keenetic.link:3000
Так вот, для https сертификат и приватный ключ - откуда брать?
Полагаю те же, которыми кинетик шифрует трафик своего веб-интерфейса.
Т.е есть какое-то хранилище сертификатов у него (оно скрыто или открытые файлы?).
Как к ним добраться, где они лежат?
-
-
1. перегрузить кинетик
2. законнектиться без проблем, поработать, отконнектиться.
3. попробовать законнектиться через некоторое количество времени (пока не понял точно от чего зависит) - "от сервера не получен отклик", при этом к нему можно подключиться по IPSec через Shrew VPN client
спасёт только перегрузка кинетика, перегрузка винды не помогает.
Giga 2.13.C.0.0-3
-
Вот и у меня появился NAS двухпортовый, и возник закономерный вопрос: а поддерживает ли один из самых крутых и современных роутеров эту фичу?
Оказалось, что нет
Двухпортовые NASы идут в массы.
-
хотя в принципе они у вас есть наверное и так, встроенные шифровальщики.
для шифровки вай-фай трафика.
только ведь не подойдут.
-
точно, это же аппаратный шифровальщик придётся встраивать.
ибо с битлокер-диском, припоминается мне, даже стационарная виндоус медленнее гораздо работает.
-
Если диск подключен к роутеру и используется как домашний сетевой, то там хранится всякое важное.
Например сканы документов, сведения об аккаунтах.
Если диск умирает, то по гарантии отправляется изготовителю, и я не уверен, что эта информация потом не будет использована третьими лицами.
Т.е. хочется чтобы роутер поддерживал диски NTFS с битлокер, либо что-то иное юниксовое, в настройках подключения диска можно было задать ключ и т.п., чтобы в случае смерти диска, быть спокойным за то, что данные с него не уплывут.
Роутер должен прозрачно для юзера всё делать - один раз настроил диск, он его запомнил и далее при подключениях-отключениях автоматом монтировал с расшифровкой.
Есть что-то подобное уже в роутере, или это нужно запросить новую функциональность в новых версиях прошивки?
giga kn-1010
-
ставится конфиг /opt/etc/lighttpd/conf.d/20-auth.conf
этот конфиг, в отличие от например 20-authn_file.conf , не содержит строки загрузки модуля, поэтому при настройке htdigest авторизации получаем ошибку:
2018-07-06 15:55:46: (server.c.1441) WARNING: unknown config-key: auth.backend (ignored)
2018-07-06 15:55:46: (server.c.1441) WARNING: unknown config-key: auth.require (ignored)2018-07-06 15:55:46: (server.c.1441) WARNING: unknown config-key: auth.backend (ignored) 2018-07-06 15:55:46: (server.c.1441) WARNING: unknown config-key: auth.require (ignored)
Если добавить в конфиг 20-auth.conf вручную строку
server.modules += ( "mod_auth" )
, то ошибок нет.
Мне думается, если я устанавливаю модуль авторизации, то в конфиге уже должно быть его подключение?
-
ничего не распутывается:
~ # opkg whatdepends readline Root set: What depends on root set ~ #
-
Дано: данный магазин в приложении телеграм каждый день даёт 20% скидку на рандомные 6 продуктов, если эту скидку попросить.
Имеется 2 телефона на семью с двумя симками, по одной скидочной карте на каждую симку, итого 4 аккаунта и потенциально 24 продукта с 20% скидкой.
Там же в приложении можно выбрать неугодные категории, т.о. потенциально скидки как раз будут даваться на то, что необходимо.
Автоматизируем. Каждое утро должен присылаться список продуктов со скидкой на почту.
Общаться по телеграму придётся с ботом, мы должны быть инициатором общения, поэтому простое решение - телеграм бот-API - не подходит.
Ставим полный PHP-клиент MadelineProto.
Сначала нужно установить и настроить связку lighttpd + php, в php настроить отправку почты.
После этого:
1. настройка php
opkg install php7-mod-xml php7-mod-openssl php7-mod-mbstring php7-mod-gmp php7-mod-curl
opkg install php7-mod-phar php7-mod-zip
opkg install php7-fpm php7-cli
opkg install php7-mod-json
opkg install php7-mod-dom
2. python
opkg install python3
3. make directory
mkdir /opt/share/www/tg
cd /opt/share/www/tg
4. gitopkg install git git-http
5. install composer https://getcomposer.org/download/
/opt/bin/php-cli -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
/opt/bin/php-cli -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
/opt/bin/php-cli composer-setup.php
/opt/bin/php-cli -r "unlink('composer-setup.php');"
6. создадим алиас на компосерalias composer='/opt/bin/php-cli composer.phar'
7. get MadelineProto
git clone https://github.com/danog/MadelineProto.git
содержимое папки MadelineProto вырезать на уровень выше
папку MadelineProto удалить
8.
composer update
9. рестарт сервера
/opt/etc/init.d/S80lighttpd restart
10. настроить на роутере IP 6to4 tunnel по инструкции, иначе сервера заблокированы доблестными борцами с террором.
https://help.keenetic.com/hc/ru/articles/213968529-Настройка-туннельного-подключения-IPv6-6to4
11. первая засада: php-cli скомпилирован без поддержки readline. Процедура readline используется скриптом tg/tests/testing.php для первичной настройки (авторизации) и сохранения файла соединения с сервером телеграм, поэтому я п.п 1-9 повторяю на стационарном компе с установкой обычного php
12. заходим на https://my.telegram.org/apps и регистрируем под свой аккаунт новое приложение. Тип - web, остальное неважно. После нажатия кнопки регистрации появятся два поля - appl_id & appl_hash
13. на стационарном компе запускаем tg/tests/testing.php
cd tg
php-cli tests/testing.php
На вопрос скрипта, вручную или автоматически задать настройки appl_id, говорим, что вручную. Даём скрипту appl_id & appl_hash из п.12
Далее следуют долгие процедуры установления коннекта, запроса вашего номера телефона и кода подтверждения, результатом которых будет появление файлов:
tg/testing.madeline
tg/testing.madeline.lock
14. переименовываем файлы из п.13 например так:
tg/mts.madeline
tg/mts.madeline.lock
15. при необходимости п.п. 13-14 повторяем для другого номера телефона
16. кладём файлы из п.14 в папку роутера /opt/share/www/tg17. кладём файл tg_vksvll_any.php (приложен к этому сообщению) в папку роутера /opt/share/www/tg
18. в файле tg_vksvll_any.php меняем настройки (имена файлов из п.14, почтовые адреса получателя и отправителя) на свои19. выполняем
cd /opt/share/www/tg && /opt/bin/php-cli /opt/share/www/tg/tg_vksvll.php
и скорее всего у вас ничего не получится, если вы не настроили отправку почты из php
После корректной настройки и установки на график каждое утро в почту приходит такое:
- 1
- 1
-
не силён в этой теме, вроде как автор entware некто падаван (?), а репозиторий пакетов - пакеты специально компилятся под роутеровскую архитектуру, или что-то дебиановское подтягивается?
Если конкретно, то мне интересно, почему по-умолчанию установлен пакет readline (может как зависимость от пхп или чего другого поставился), но php(7)-cli скомпилирован без этой опции?
-
2 часа назад, Александр Рыжов сказал:
Если нет cron-заданий, то зачем ему запускаться?
задания есть в /opt/etc/crontabs, иначе этот вопрос меня не волновал бы :) Либо я вас не понял.
2 часа назад, dexter сказал:При установки не создаются каталоги по указанному пути.
да, в этом и вопрос. Наверное нужно сделать чтобы эти каталоги создавались сразу при установке OPKG, раз без них крон не работает?
-
Почему-то не работает.
в процессах его нет.
При запуске crond в логе появляется:
can't change directory to '/opt/var/spool/cron/crontabs': No such file or directory
после создания вручную пути /opt/var/spool/cron/crontabs, crond запустился (висит в списке процессов)
Вопрос в том, почему оно сразу не работает?
api.github.com недоступен через PHP
in Вопросы по сборке и настройке Opkg
Posted
Однако, для понимания, почему
?
Смутно представляю компиляцию PHP и связь с библиотеками, неужели всё же он был сконфигурирован с доступом к старым хидерам каким-то?
Ведь на винде работает прекрасно и с tlsv1.2, а на роутере только с tls заработал, хотя версия точно такая же. Непонятно почему так.