Pavlooo, ну дык где объявляеся переменная app? Вероятно, должно быть client? Ну и, конечно же, с пустым списком links ничего не произойдёт.
PS: Читаем правила сайта. Нельзя код картинками, надо текстом. И ещё надо удалить app_id/app_hash и не показывать публично. Их нельзя поменять, в отличие от токена бота!
Возможность включать VPN клиент для конкретных MAC-адресов
Это не так делается. Это надо этим мак-адресам выдавать заранее заданные IP или даже вывести их в отдельный vlan - и уже для них сделать policy routing. Это скорее всего уже или к микротикам, или к роутерам с нормальной поддержкой openwrt.
Константин Фролов, я знаю что длинный коаксиал нехорошо, но в данном случае вообще хрень вышла, я купил вариант с длинным USB и он от ноутбука ещё питался нормально, а от роутера модем ребутялся каждые несколько минут, видимо от нехватки питания. То что в итоге сделал - был единственный вариант, который я смог собрать из того, что тогда было в наличии у меня в деревне.
Операторам невыгодно, когда авторизуют "по звонкам", ведь невзятый звонок приносит доходу 0 рублей 0 копеек. Понятно, что они будут очень активно мешать подобным "сервисам".
Лучше не завязываться на такую авторизацию, а авторизовать через соцсети, Google Authenticator и другие средства, где головная боль по борьбе с клонами и авторегами будет чьей-то чужой, а не собственной.
Ну например запрос выполняется за 50 мс, тогда как ни крути, но в один поток больше 20 запросов не сделаешь.
Начинаем параллелить (тредами или asyncio), и тоже не можем бесконечно наращивать. Например, пусть, утрировано, эти 50 мс это чисто процессорный ресурс (на деле так не будет, это чисто иллюстрация), а у сервера 8 процессорных ядер. Тогда больше чем 160 запросов в секунду не выжать.
Собственно, если начать смотреть среднее время ответа, то можно даже примерно определить, в какой момент оно начинает расти, а общее число запросов за единицу времени расти перестаёт. Вот и нащупано узкое горлышко.
Ещё могут быть ограничения на число воркеров или длину очереди в web-сервере или в конечно приложении, размеры буферов итд итп. Варианты с ограничениями на конечного клиента тоже могут быть.
Короче, вполне может быть, что 30-40 - это вот реальный максимум.
g23rom, при форварде из группы инфа о ней не передаётся, только при форварде из канала. Вообще, подобное легко проверить ботами типа ShowJsonBot, которому форвардишь сообщение и он показывает что ему прилетело через API.
Dmitry Bay, ну есть полно комплектов, где можно или антенну на коаксиале вынести наружу, или весь комплект вообще в уличном ящике. Но если всё так жёстко, что стены железные, то лучше бы повесить два роутера и внутри, и снаружи.
У нас на даче дом деревянный, а роутер стоит на веранде, ловит и внутри дома, и по всему участку и в некоторой окрестности за пределами (>30 соток). Интернет ловит антенна Mirkotik LHG LTE Kit с модемом внутри него. Соседям я собрал из антенны Крокс, модема e3372 и роутера WT3020 прям в антенном ящике, правда, товарищ-радист прокомментировал, что его не очень улыбает заводить в маленький уличный ящик 220 вольт...
Алекс, делаем так: на HDD в отдельный раздел ставим любой другой линукс (можно какой-нить легковесный) с grub, затем в этот grub кладём указанные ядро и рамдиск. Если там не намудрили и не делали вообще явную защиту от таких ковыряний, то эта штука должна загрузиться и даже как-то найти свой HDD-раздел.
Как вариант, систему можно попробовать загрузить внешним загрузчиком с флешки или через PXE.
Как происходит загрузка Linux "на пальцах"?
1. В память грузится ядро и initrd.
2. В нужную область памяти помещаются параметры, включая адрес, где лежит initrd.
3. Вызывается стартовый код ядра, который уже делает всё остальное.
При этом неважно, где лежат ядро и initrd до загрузки. Поэтому необязательно использовать lilo, на самом деле.
Исторически приходилось даже ставить grub в mdraid с данными в формате 0.9, чтобы его можно было монтировать как отдельные разделы. Это позволяло grub найти свои файлы так, как будто raid нет, причём на любом из двух дисков. Во времена, когда он этого сам не умел.
Алекс, то есть всё же система в рамдиске? Тогда придётся её пересобирать, да. Но система, в которой устанавливали lilo, в таком случае может отличаться.
Например, можно было сделать /boot, в него положить ядро и ramdisk, настроить и установить lilo, а потом систему, из которой всё это делалось, полностью снести.
Но в целом если там не перемудрили, то можно взять ядро и ramdisk и загрузить их любым другим загрузчиком, в том числе grub.
PS: Читаем правила сайта. Нельзя код картинками, надо текстом. И ещё надо удалить app_id/app_hash и не показывать публично. Их нельзя поменять, в отличие от токена бота!