Jump to content

Kirya

Forum Members
  • Content Count

    7
  • Joined

  • Last visited

Community Reputation

4 Neutral

About Kirya

  • Rank
    Newbie

Equipment

  • Keenetic
    Extra II

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Kirya

    entware

    Подредактировал инструкции для свежего Entware 09.18.
  2. Kirya

    entware

    Respect и уважуха ! Working. Перепишу инструкцию.
  3. Kirya

    entware

    Ускоряем работу MTprotoproxy. Ускорить работу фактически в полтора раза можно собрав для MTP python-библиотеку работы uvloop. https://github.com/MagicStack/uvloop/ Но ускорения достигается за счет более большого потребления памяти до 60-65 мб, но зато потребление перестаёт зависит от того работает MTP в режиме "эмуляции клиента" или через middle-proxy. 1. Скачиваем пакет библиотеки. http://bin.entware.net/mipselsf-k3.4/test/python3-uvloop_0.11.2-1_mipsel-3.4.ipk (для DSL, LTE, VOX http://bin.entware.net/mipssf-k3.4/test/python3-uvloop_0.11.2-1_mips-3.4.ipk ) 2. Ставим. opkg install python3-uvloop_0.11.2-1_mipsel-3.4.ipk Запускаем MTP. Работать с uvloop он начинает при его наличии по приоритету сам. python3 mtprotoproxy.py >> out.txt &
  4. Kirya

    entware

    Леонид сам писал, что они не успели проверить всё, поэтому "пробовал" (тут важно прошедшее время). Но суть не в этом. А в том, что после широкой огласки сигнатуры MTProto, основанные на размере пакета, были добавлены во многие корп. фаерволлы и DPI. (хотя скорее всего они и сами бы до этого дошли) Поэтому в MTprotoproxy появился дополнительный спец. ключ работы с клиентом (на скрине они с пометкой beta), где размер пакета динамически меняется. (поддержка данного режима работы в официальных клиентах уже тоже есть)
  5. К тестированию меня сподвигла ситуация, что при наличии подключения 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 также приложен к сообщению. S61_mtprotoproxy Для подключения к прокси снаружи не забываем открыть соответсвующий порт в фаерволле 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/test/python3-pycryptodome_3.6.6-1_mipsel-3.4.ipk для моделей DSL, LTE, VOX http://bin.entware.net/mipssf-k3.4/test/python3-pycryptodome_3.6.6-1_mips-3.4.ipk
×