Pull to refresh

Comments 261

Официальная. Бот с синим значком.
А, зачем вы зафорсили использование докера в статье? Да еще и, по сути, заставляете его использовать тем более с тегом туториал.

Он не нужен ни для запуска одного единственного бинарника ни для работы, в принципе, вообще.
Docker прежде всего это пакетный менеджер. Более того, docker всегда и запускает один бинарник. Более оптимального, эффективного и универсального способа доставки приожения сейчас не существует.
нет. самска собаки.НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ!11!11
это не пакетный менеджер… как-же вы адепты зае… всюду его впихивать.
Так чем он плох то? вот хотите вы сделать 1 прокси — берете докер, две команды и он есть. А теперь вы хотите 2 или 10 или 100 — еще 1 команда и у вас он уже работает в кластере на 100+ машинах и сам себя перезапускает при падении и логи в единое место пишет. Удобна, правда?

А ну и да, кластер для докера вам любой нормальный хостер через веб-мордочку развернет в два клика. Можно без каких-либо знаний администрирования это сделать.

Еще и балансировка из коробки и много чего еще…
systemd, его генераторы и юниты с подстановкой.
как systemd поможет с кластерной установкой?
У меня кластера нет, например.

А когда появится, в случае с докером не надо ничего переделывать, все знакомо и удобно.


Собственно решать вам, почти всегда можно и без докера..

> сам себя перезапускает при падении и логи в единое место пишет.
Только ничего добавлять не надо, даже chroot из коробки есть.
Я всё еще не вижу смысла добавлять ненужные сущности.
Технологическая разница в чем?
UFO just landed and posted this here
На канале будет видно сколько подписчиков?
Вообще, сложно ли со стороны вычислить сколько пользователей прокси?
Будет видно только тех подписчиков, что подпишутся. У упомянутого бота есть статистика использования прокси — там будет видно, сколько пользователей пользуется прокси.
Означает ли это, что понять используя DPI, что в потоке идёт подключение к телеграму, станет значительно сложнее? Ну и не совсем понял, что там с передачей логина и пароля при подключении к прокси.
Вообще, Паша работает, не унывает)
Да, будет сложнее распознать. Только через атаку по размеру. И то много вопросов.
Нет никаких логинов и паролей. Есть ключ сервера и всё.

https://habr.com/post/359348/#comment_11373110 shifttstas — 26 мая в 14:04 — Telegram MTPROTO Proxy — всё что мы знаем о нём; stek29 26.05.18


Недавно подобная статья была на TJournal, где Даша aka koteeq из VeeSecurity дала неплохое описание протокола "obfuscated2", который используется в том числе для "mtproto proxy". Процитирую:
Обфускация "anti-DPI" там простая. Генерят на клиенте случайный 32-байтовый ключ и 16-байтовый IV, ими шифруют пакет с AES CTR и отправляют. При этом сами ключ и IV отправляются перед зашифрованной нагрузкой.
В итоге, если вы провайдер, вам нужно ВСЕГО ЛИШЬ брать от каждого исходящего пакета 8-40 байты (ключ) и 40-56 байты (IV), расшифровывать содержимое (64-… байты). В расшифрованном содержимом уже вполне стандартный mtproto-формат, где первые 8 байт — сигнатура авторизационного ключа.

Пример реализации
https://github.com/makkarpov/mtoxy/blob/master/src/main/java/ru/makkarpov/mtoxy/network/Obfuscated2Handshaker.java https://github.com/danog/MadelineProto/blob/master/src/danog/MadelineProto/Connection.php#L128

Спасибо. Цитаты из http://telegra.ph/telegram-blocks-wtf-05-26


Во-первых, клиент общается с MTPROTO-прокси только с обфускацией obfuscated2.
Во-вторых, obfuscated2 здесь используется чуть модифицированный. Перед зашифрованной частью всё так же открыто передаются ключ и IV, только вот шифруется сам пакет не этим ключом, а sha256(key+secret). Secret — это тот самый 16-байтовый параметр, который вы заполняете при подключении к MTPROTO-прокси.
Secret нигде не передаётся в процессе связи. Его использует клиент для шифрования пакета и MTPROTO-прокси-сервер для расшифрования.
MTPROTO-прокси-сервер получает от вас пакет, деобфусцирует его ключом sha256(key+secret), затем снова обфусцирует, но уже используя обычный obfuscated2 без дополнительных параметров.

и про obfuscated2


официальные же клиенты используют дополнительный слой обфускации, нигде не документированный. Товарищ Tomas Susanka уже максимально подробно описал используемый метод обфускации пакетов, поэтому расписывать всё не буду.
Клиент придумывает случайный 32-байтовый ключ и случайный 16-байтовый Initialization Vector, которыми шифрует каждый пакет с помощью AES CTR, а чтобы сервер узнал, как это расшифровать… ключ и IV добавляются в начало пакета перед зашифрованным содержимым.…
После обфускации все пакеты выглядят как случайный мусор, поэтому для определения, Telegram-трафик это или нет, провайдеру придётся расшифровывать каждый непонятный пакет по методике obfuscated2, прежде чем проводить дальнейшие проверки. Такие действия требуют неоправданное количество вычислительных мощностей, которых у провайдеров попросту нет.
Ну да. И собственно как это противоречит?
UFO just landed and posted this here
Анна она, Анна. Даша это опечатка одного из юзеров в прошлом посте :)

В http://telegra.ph/telegram-blocks-wtf-05-26 разъяснили, что протокол obfuscated2 был изменен, теперь у клиента и сервера есть общий secret (у сервера — один из 16), который участвует в создании ключа для данных. У DPI секрета нет, он видит лишь двоичный поток. Даша для расшифровки в Wireshark должна ввести secret в дешифровщик.


В оригинальном obfuscated2 (к которому и относится фраза "неоправданное количество вычислительных") полный ключ и данные передавались вместе.

На порту 443 не должно ничего быть (nginx, apache)

А если на 443 порту уже что-то висит?
Повесьте на другой порт. Там прямо в инструкции приведен пример порта 8443
Извините, сначала комментил, потом читал статью(((
сложнее замаскироваться под доступ к вебсайту например
Случайно отмодерировал комментарий про TAG. Не знаю как исправить.
TAG должна остаться переменной окружения. И при прямом запуске без docker.
UFO just landed and posted this here
Добавить прокси — он сразу код скажет. Потом нажать на инлайн-кнопку с именем прокси и он предложит добавить Promoted-канал
В iOS это уже поддерживается? Как я понял, Эппл морозит Пашу с обновлениями в АппСторе.
можно telegram x поставить, там поддерживается
Группа тестирования: t.me/tgiostests
Там же можно найти ссылку на установку (в шапке) установится на iOS без джейлбрейка
Спасибо за ссылку!!! Поставил на 10.3.3
Если хотите, в личку можете прислать email и я отправлю вам прямую ссылку на приложение из официального стора после чего вы сможете добавить его в свой аккаунт и в дальнейшем устанавливать при необходимости.
К сожалению, как оказалось, любимая Apple вырезала обходной путь для Telegram, хотя еще буквально пару недель назад все работало.
> для получения статистики достаточно команды: curl localhost:2398/stats
Я так понял, что порт задан где-то скрыто в настройках контейнера, потому что при запуске прокси с параметром "-p 8888", например, статистику можно смотреть именно на этом порту. Об этом и в README написано.
На Telegram X не заработало, на виндовом клиенте тоже.
Логично, что там развесистый стартовый скрипт. А curl и вот это всё делали перед?
Ну я сначала README прочитал, по нему собрал и запустил. Потом уже тут посмотрел что да как.
Я к тому, что Telegram X заработал?
Он по клику на правленную ссылку делает вообще ничего, как и виндовый клиент.
В порыве отчаяния пробовал прописывать как SOCKS5 и HTTP — ноль на массу.
Нет, там должен быть именно MTProto
• Desktop Version 1.2.18+
• macOS v3.8.3+
• Android v4.8.8+
• Telegram X iOS v5.0.3+
версии ниже указанных не поддерживают mtproto
Надо было бы недельку с ответом подождать.

v 1.3.0
@john-preston john-preston released this 11 hours ago

А как заставить его подключаться к дц телеги по ipv6? В параметрах есть флаг -6, но он ничего не меняет.
Рубрика «обходим блокировки сервером в России»? :D

По делу: Мне кажется надо включить IPv6 флагом --ipv6/-6 и после изменить файл .conf, удалив все IPv4 сервера и добавив IPv6.
Даа, я знаю толк в извращениях. Пока что только один из опробованных mtproxy серверов поддерживал ipv6, но тот слишком прожорлив по ресурсам оказался.

Этому попробовал подсунуть такой конфиг:
proxy_for 1 [2001:0b28:f23d:f001:0000:0000:0000:000a]:443;
proxy_for 2 [2001:067c:04e8:f002:0000:0000:0000:000a]:443;
proxy_for 3 [2001:0b28:f23d:f003:0000:0000:0000:000a]:443;
proxy_for 4 [2001:067c:04e8:f004:0000:0000:0000:000a]:443;
proxy_for 5 [2001:0b28:f23f:f005:0000:0000:0000:000a]:443;

Стартует, к серверам этим вроде подключается, но клиент через такое прокси не работает.
Оно стартует, если туда написать любой адрес от балды, гляньте. Не хватает дебага.
Ну адреса оно спарсило нормально, но если включить побольше дебага, то видно, что почти сразу после подключения отключается. Видимо что-то не так.
Есть мнение, что поддержка пока есть только для клиентов. То есть если клиент IPv6-only, то он подключится и будет проксироваться сервером через IPv4 сервера. Надеюсь пофиксят короче, потому что разворачивать сервера в России будет банально дешевле :D
Если у кого будет ошибка как у меня была:
[5][2018-05-30 19:28:32.081214 local] failed to set rlimit for open files. Try running as root or requesting smaller maxconns value.
[5][2018-05-30 19:28:32.081230 local] fatal: cannot raise open file limit to 65552

запускайте в привилегированном режиме:
docker run -d -p 443:443 --name=mtproto-proxy --privileged --restart=always -v proxy-config:/data telegrammessenger/proxy
А что Вы делаете, чтобы получить эту ошибку? Ну т.е. запускать в привелигерованном режиме как-то не айс…
Пока не разобрался, вроде докер установлен по официальной инструкции и работает нормально с другими контейнерами, а вот контейнер с телеграм ругается. Операционная система Centos 7, Azure хостинг.
Данный выше мной метод не рекомендуется использовать.
В комментариях другой публикации подсказали правильный способ обхода ошибки:
docker run -d -p 443:443 --name=mtproto-proxy --ulimit nofile=98304:98304 --restart=always -v proxy-config:/data telegrammessenger/proxy
Скорость загрузки медиа значительно уступает «носкам» на том же сервере.
По медиа вроде не заметил особой разницы, а вот памяти кушает прилично больше.

я тут недавно разбирался с их протоколом, официальный прокси во-первых соединяется с ещё одним уровнем проксей — middleware proxies. Во-вторых он общается с ними по протоколу mtproto, оборачивая каждый кусок отправляемых данных в rpc-вызов протокола mtproto и добавляя примерно 96 байт оверхэда. На загрузку больших файлов не должно влиять, а вот на latency и на объем исходящего трафика при маленьких сообщениях — может

Компания Apple заблокировала обновление мессенджера Telegram по всему миру с середины апреля 2018 года. Об этом сообщается в разделе ответов на «часто задаваемые вопросы» на сайте приложения.

Рассказывая о последних изменениях в законе о персональных данных, известном как General Data Protection Regulation (GDPR), команда мессенджера сообщила: «К сожалению, Apple блокирует Telegram от обновления iOS-приложения глобально с середины апреля».


Telegram X например стабильно обновляется на rink.hockeyapp.net/apps/c6f5a76f5c364ac89a98b77671ef2d63
я вот больше переживаю за docker и github, у ркн и туда щупальца могут дотянуться
Ими пользуются только айтишники, которые умеют обходить блокировки.

Высшая степень идиотизма, когда для выполнения рабочих обязанностей нужно обходить блокировки.

Зато теперь работать террористом стало гораздо сложнее.
Уже не раз дотягивались. Гитнаб блокировали из-за приколистов, которые выкладывали на него юморной список «100 способов самоубийств» и просто за компанию.
По умолчанию запускается два процесса прокси-сервера (с предположением, что каждому система выделит по ядру).

Почему именно 2? Можно же узнать, сколько аппаратных потоков поддерживается в данной системе.
И ставить на полную катушку? Пусть администратор выбирает
Ну так если на сервере 2 потока, то итак на полную катушку, а если 1, то ещё и не эффективно, было бы логичней по дефолту запускать на всех ядрах, а опцией переопределять значение.
Ммм… Давайте возьмем дефолтный конфиг nginx…
Там просто жестко 2 вбито. Да, они ещё сделали потом параметр auto. Но сильно потом.
Если речь про worker_processes, то там auto, nginx с репов Ubuntu 16.04.3.
Дуров молодец — придумал не только протокол прокси без сигнатур, но и систему мотивации для их появления. За рекламу конечно желающих поддерживать прокси будет гораздо больше, чем за бесплатно.
А какая мотивация у пользователей тогда ставить себе Телеграм, которым можно пользоваться только через анальные отверстия, так ещё и рекламу от них получать?
А это самое комьюнити готово помимо поднятия прокси ещё и подписку платную оформить на Telegram, дабы ФСБ РФ не тратило государственные средства на оплату серверов и зарплаты разработчиков?
UFO just landed and posted this here
UFO just landed and posted this here
Питаюсь мозгами, но тут их явно нет. Пойду на ЛОРе поищу.
Так ты не по себе хабр суди, тут ещё другие люди сидят :)
Это сарказм. Злые вы тут какие-то. Я же за монетизацию Telegram переживаю, за комьюнити ваше. А то знаю я один случай продажи пользовательской базы вместе с инфрастуктурой за бешенные миллиарды долларов.
Согласен, это всё благотворительный фонд братьев Дуровых. Ну ошибся, со всеми бывает.
Когда в армии служил и мы делали с сослуживцами ремонт замполиту в комнате общежития, тоже себя комьюнити называли.
UFO just landed and posted this here
А никого больше не смущает, что теперь будет показываться реклама в мессенджере, в котором обещали никогда не показывать рекламу? Я все понимаю, но читаю уже не первую новость про прокси и вот это все, и никого не волнует этот вопрос.
Так поднимите свой прокси и не будет рекламы
Вопрос не в рекламе и прокси. Вопрос в нарушении обещания.
Если не использовать прокси — рекламы не будет, Павел же не говорил, что он будет еще и прокси бесплатно оплачивать (а он это сейчас делает) в странах с цензурой. Там где нет цензуры — прокси тоже не нужны и обещания в силе
Вы можете не пользоваться теми прокси, которые показывают рекламу. Т. е. по сути это не Телеграм вам включает рекламу, а вы выбираете поставщика подключения с рекламой или без.
В вашей формулировке это выглядит приличнее чем видится мне. Попробую себя переубедить.
В идеале, нужна тупая инструкция как поднять.
Т.е. купить там-то (ip — уже не забанены) и сделайте то-то…
Потом раздайте друзьям/знакомым…
UFO just landed and posted this here
UFO just landed and posted this here
Справедливости ради — как поставить докер нету
Проще же есть и под все платформы:
curl -sSL https://get.docker.com/ | sh
Дааа, под все
SUPPORT_MAP="
x86_64-centos-7
x86_64-fedora-26
x86_64-fedora-27
x86_64-fedora-28
x86_64-debian-wheezy
x86_64-debian-jessie
x86_64-debian-stretch
x86_64-debian-buster
x86_64-ubuntu-trusty
x86_64-ubuntu-xenial
x86_64-ubuntu-bionic
x86_64-ubuntu-artful
s390x-ubuntu-xenial
s390x-ubuntu-bionic
s390x-ubuntu-artful
ppc64le-ubuntu-xenial
ppc64le-ubuntu-bionic
ppc64le-ubuntu-artful
aarch64-ubuntu-xenial
aarch64-ubuntu-bionic
aarch64-debian-jessie
aarch64-debian-stretch
aarch64-debian-buster
aarch64-fedora-26
aarch64-fedora-27
aarch64-fedora-28
aarch64-centos-7
armv6l-raspbian-jessie
armv7l-raspbian-jessie
armv6l-raspbian-stretch
armv7l-raspbian-stretch
armv7l-debian-jessie
armv7l-debian-stretch
armv7l-debian-buster
armv7l-ubuntu-trusty
armv7l-ubuntu-xenial
armv7l-ubuntu-bionic
armv7l-ubuntu-artful
"
Коллеги, пара прикладных вопросов, пока топик ещё горяч, особенно актуальных для тех, у кого VPS ещё маленькие (у меня вот, например, 384 MB RAM):

  1. Есть ли официальный способ установки без использования Docker? Если говорить более частно, то интересует CentOS 7.
    На GitHub предлагают использовать make, но я бы предпочёл установку из репозитория. Как я понимаю, туда MTProxy ещё не добрался?
  2. Если уже есть те, кто поставил и гоняет, как обстоят дела с потреблением аппаратных ресурсов (в особенности оперативная память, но и процессор, в целом, тоже)?
    Интересны два сценария: 10-20 человек (т.е. небольшая группа хорошо знакомых людей) и несколько десятков человек (перевод лампового чата специалистов на один прокси).
Проблема заключается в том, что данный докер образ использует какой-то жутко большой образ системы, надо подождать что бы его почистили или же сделать свой, докера не стоит боятся, он не так много ресурсов потребляет, как кажется.

Ну есть еще вариант — купить сервер за 1 евро месяц с большим количество RAM =)
Образ системы вообще не влияет на потребляемый ресурс. Ну за мелкими деталями.
Почему же? посмотрите docker stats — сколько процессов использует их образ, немного удивитесь
Это зависит от базовой системы? На альпине столько же будет. А сколько? bash, сам прокси WORKERS +1? Ok. +2
А это он не тредится там сам?
Я кстати сделаю наверное alpine и попробую статикой
Ну есть еще вариант — купить сервер за 1 евро месяц с большим количество RAM =)

Это где такая щедрость?)
arubacloud, мутные ребята
1. The price of €1 per month (exc. VAT)… is valid only for deployments (and renewals) made on data center IT1. New deployments… will be priced at €2,79 per month (exc. VAT).
И это же еще VAT добавлять?
2. Maximum limit of 16 IPv6 simultaneous in use
Что за треш
3. Можно ли поставить ОС из своей .iso или хотя бы попросить добавить .iso как в KVM VPS?

А DO, 70 баксов в год — это уже не щедрость
Зачем вам добавлять VAT если вы не гражданин EU? ценник 1 евро действует только в двух ДЦ, а не по всей географии, они собственно об этом и пишут.
Извините, не знал, никогда с Европой дел не имел, только с штатами. Ну главное, чтобы ценник хотя бы лет 5 такой держался, а то будет как обычно через год: «мы тут всех перемещаем в наш новый дц, поэтому ценник дорожает».
Так что у них с использованием distro of choice (которого в списке их ОС нет), не подскажите?
На 1 евро дистр вроде как менять нельзя. Я менял систему через swap раздел, конечно для новичка linux будет сложно.
Репозитории все родом из начала 90-ых. Создавать пакеты под системы — муторно. Особенно в 2018 году, когда есть docker. Сделайте make, киньте бинарник на VDS.
> использовать make
Создать каталог "/opt/mtproxy" и положить туда собранный бинарник с конфигами. Он зависит только от zlib и libssl.
Написать скрип/юнит/etc для системы инициализации и использовать.

Я вот такое соорудил у себя pastebin.com/u4zETYFY
В файл «config» прописал нужные переменные.

У меня сейчас прокся ест метров 7 оперативы.

А где такие нищебродские VPS раздают и по какой цене?
Спасибо тебе добрый фей, который поправил <code> на <source>
  1. Съехало форматирование, проявился тег pre
  2. А редактор-то code по сей момент вставляет...
Кто нибудь сравнивал с не официальными реализациями? Например на .net core и rust, второй особенно интересует.
Нет ещё. Кстати — благодатная почва
какого рода сравнение вас интересует?
php реализация — кушает очень много памяти, работает хорошо
rust — не дает подключиться при 5k+ соединениях, скачать файл невозможно
nodejs — отлично работает
.net не пробовал
official — все отлично

Ваше вполне подходит, спасибо. Разве что больше информации.

У меня сервер на rust висел дня четыре. Не знаю, в клиенте ли дело (Android + TG Desktop Alpha под OSX, две версии) или еще в чем, но работало жутко нестабильно. При фактически 5-7и клиентах, прокси периодически отпадал, клиенты не могли подключиться, приходило постоянно ребутать его. Файлы, как выше писали, не проксировал.

Попробуем оф. версию.
Если кто-то из тех, кого перед 1 мая оставляли на работе в РКН, пока они весь Телеграм не заблокируют, запустит такой прокси прямо в РКН, то и начальство (все равно) ничего не поймет и не заметит, и справедливость хоть как-то восторжествует.

Интересно, владельца такого прокси хоть за что-то притянуть смогут? Неструктурированный поток бинарных данных: этак либо ругать всех, кто бинарные данные гонит без понятного заголовка, либо — игнорить?

Молодцы Паша с командой!
Справедливости ради они банят не по данным от снифа. А просто по пабликам
А я не про бан. Просто нашли комп, поснифали трафик, трафик — рандомные биты. Для владельца компа это вызовет проблемы, или нет?

Я понимаю, что приписать «распространение материалов, разжигающих нетерпимость», равно как и наркоту подбросить, можно любому — но если по закону, а не по правоприменительной практике, есть ли повод к человеку претензию иметь?
Есть еще «Использование запрещенной не сертифицированной ГОСТом криптографии»
"… карается исправительными работами на срок от 2^7 до 2^8 дней, либо тюремным заключением на срок сколько товарищ майор скажет, либо работой в РКН, с полной конфискацией радостей жизни."
Можно попробовать спрятать telegram трафик в https, тогда доказать, что у вас там стоит telegram proxy будет сложнее, без ключа соединение будет обрыватся habr.com/post/412779
Если кто-то из тех, кого перед 1 мая оставляли на работе в РКН, пока они весь Телеграм не заблокируют, запустит такой прокси прямо в РКН

Главное — не забыть настроить продвижение официального канала РКН в Telegram.
И бота в него, который будет отвечать на вопросы «почему мой IP забанили?»
Который будет отвечать примерно так.
Указанный Вами IP адрес 51.15.37.92, 51.15.70.45 входит в подсеть 51.15.0.0/16, используемую для обеспечения функционирования коммуникационных интернет-сервисов указанного организатора распространения информации в сети «Интернет»
Да-да, я это и имел в виду, просто не нашел быстро это отмазку.

Вообще чего уж там, можно просто написать универсально (чтобы не мудрить с lookup-ом в БД запретов):

Интересующий Вас IP адрес входит в подсеть 0.0.0.0/0, используемую для обеспечения функционирования коммуникационных интернет-сервисов организаторов распространения запрещенной решением суда информации в сети «Интернет». Сеть будет блокировано до вынесение решения о её разблокировки, которая выйдет не раньше, чем в сети «Интернет» будет пойман и наказан последний такой организатор.


И ведь не отвертишься, в этой-то «подсети» точно хоть что-то «незаконное» можно будет найти, если хорошо поискать.
Самое прекрасное, что в том же письме они МЕНЯ просят принять меры и отчитаться перед ними.
В целях исключения сетевого адреса из выгрузки хостинг-провайдеру необходимо направить сообщение о принятых мерах по прекращению создания технических условий функционирования приложения Telegram.

Полный текст этого цирка можно почитать по ссылке выше из моего предыдущего коммента.
А где можно посмотреть требования к ядру Linux?

Если делать через make, то запустится на Centos 6.9 32 bit kernel 2.6?
Продублирую коммент из соседнего топика, вдруг кому пригодится:

Поднял самописный прокси на Java (Netty), использует линуксовый epoll. Проверил на десктопном и мобильном приложениях.

Запущен тут: t.me/proxy?server=139.162.152.61&port=3128&secret=DEADBEEFDEADBEEFDEADBEEFDEADBEEF

Буду мониторить, по статистике отпишусь.

Вечером на другой порт повешу официальную реализацию из сабжа, сравню по быстродействию.
Главное ещё проверить чтобы файлы качались. И конечно TAG желательно :)) Стата и всё такое. Пошёл за карандашом губу закатывать :)
На самопальном файлы качаются, проверял на десктопном) Буду дальше развивать, как выйдет что-то адекватное выложу на GitHub.
Поднял официальную имплементацию сервера на соседнем порту. Если кому пригодится:

tg://proxy?server=139.162.152.61&port=3129&secret=DEADBEEFDEADBEEFDEADBEEFDEADBEEF
или
t.me/proxy?server=139.162.152.61&port=3129&secret=DEADBEEFDEADBEEFDEADBEEFDEADBEEF

Собрал из исходников на гитхабе. Нагружает i5 CPU около 5% и ест около 5 mb RAM на воркера (Cent OS 7).

Пинг ниже почти вдвое) (~250 ms VS ~450 ms на самопальной). Попозже проведу ещё нагрузочное тестирование. Отпишусь.
у меня одного такое:
ready_targets 0
allocated_targets 18
active_targets 18
?
Как это дебажить вообще
А не планируется ли автоматический поиск прокси? Ну на манер DHT у торрентов. Чтобы пользователь всегда имел работающий телеграм, а не вынужден был искать рабочий прокси
Ну а как он сейчас работает нативно? Именно так
Как-то плохо работает. У друга на iOS работать перестал. У меня на Android с горем пополам работает каждый раз только после установки очередного обновления.
Тогда уже полноценную p2p сеть, где клиенты будут гонять через себя часть трафика, а публичные данные(сообщения и медиа в каналах) будут кешироваться и отдаваться с ближайших клиентов, а не с сервера.
Так ведь можно случайно и Tox изобрести.
Интересно, никто не запускал на ARM (Raspbian Strech)?
Да, у меня не поднялось. Подождем ARM версию.
Здравствуйте!
Помогите, пожалуйста, чайнику. Арендовал сервер, настроил обычный прокси, все по инструкциям с Хабра. Сегодня решил поставить mtproto. Установил докер, запустился сервер — телега заработала. Затык возник на добавлении своих ключей. Пишет:
Error response from daemon: driver failed programming external connectivity on endpoint stupefied_mirzakhani (8e2ad8ae271fe04bdaaa2d935292951e30a1e9df8de4837b852ffc47b8): Bind for 0.0.0.0:443 failed: port is already allocated. Сервер ubuntu 16.04.
У вас порт 443 уже занят, попробуйте другой порт или уберите то, что сейчас на нем живёт
Я в этом пока не разбираюсь вообще. Оказывается я наустанавливал в докер разных контейнеров, и они по всей видимости конфликтовали. Снес все, поставил по новой — все заработало. Спасибо!
Используйте docker ps и docker stats для просмотра что у вас сейчас работает, и docker inspect %container name / ID% для глубкого изучения внутренностей контейнера

А. Сделайте как при обновлении:


$ docker stop mtproto-proxy    # остановить контейнер
$ docker rm mtproto-proxy      # удалить контейнер
В ридми официального репо сказано:

Obtain current telegram configuration. It can change (occasionally), so we encourage you to update it once per day.


Следует ли рекомендации этот докер-образ?

P.S. Не имею возможности проверить сам по техническим причинам.
Достаточно добавить в образ условие померания основного процесса при жизни более чем 24 часа, далее docker сам его перезапустит и новая конфигурация будет загружена и применена. Ну это кривой вариант, красивый — клиент сам её должен переодически запрашивать, как я думаю это и происходит. В мануале написана такая инструкция на случай если вы будете использовать бинарник самостоятельно, что бы не забыли написать cron job
Вы думаете или вы уверены?

Нет ли у вас возможности это проверить?
Как я могу быть увереным не видя консоль перед собой =)
Докер, как я понимаю, тоже от телеграмма, в котором они советуют так же обновляться
Please note that the proxy gets the Telegram core IP addresses at the start of the container. We try to keep the changes to a minimum, but you should restart the container about once a day, just in case.

Так что, да — следует.
Блин, а я только SOCKS-прокси danted настроил у себя на сервере…

Чтобы не пропадало для истории — вот как установить его на обычный образ Ubuntu, с которым поставляются виртуальные серверы Hetzner Cloud:

Все последующие команды запускаются от root. Создаём файл /etc/danted.conf такого содержания

logoutput: syslog
user.privileged: root
user.unprivileged: nobody

# The listening network interface or address.
internal: 0.0.0.0 port=1080

# The proxying network interface or address.
external: eth0

# socks-rules determine what is proxied through the external interface.
# The default of "none" permits anonymous access.
socksmethod: pam.username

# client-rules determine who can connect to the internal interface.
# The default of "none" permits anonymous access.
clientmethod: none

client pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect disconnect error
}

socks pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect disconnect error
}


устанавливаем:

cd /tmp
apt install libpam-pwdfile whois  gdebi-core
wget http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb
gdebi dante-server_1.4.1-1_amd64.deb
iptables -A INPUT -p tcp -m tcp --dport 1080 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables-save > /etc/iptables/rules.v4
netfilter-persistent save


Если нужно нагенерить много пар логин-пароль из списка в Excel, делаем bash-скрипт по шаблону (я наделал логинов для всех трёх сотен сотрудников своей компании):

#!/bin/bash
rm /opt/dante/sockd.passwd 
# нагенерите таких строк в Excel. Я использовал корп. логин, а в качестве пароля
# использовал буквы и даты рождения коллег 
echo -n "username:" >> /opt/dante/sockd.passwd  && mkpasswd --method=md5 "passw0rd" >> /opt/dante/sockd.passwd 


Запускаем прокси и проверяем, что через него проходят соединения:

service danted start
curl -v -x socks5://username:passw0rd@YOURHOST:1080 http://www.google.com/


Если всё в порядке (вам на экран выплюнуло HTML-код главной страницы Гугля), активируем автозапуск прокси при старте сервера:

update-rc.d  danted defaults
мне не нужно было готовый образ docker, спасибо. У меня была задача сделать 300 персональных логинов к маленькому личному серверу, для коллег и подчеркнуть персональный характер этой «халявы». Технических ограничений нет, конечно, но это понижает вероятность того, что доступ к прокси будут передавать дальше по рукам.
Так недалеко до того, что к вам внезапно половина Ирана придёт обходить блокировки — на виртуалку за два евро.
Учтите — протокол передает пароли в не шифрованном виде, впрочем как и логике, первый wireshark и доступ к прокси имеют все
пароли были переданы в рассылке по компании на 300 человек, зачем Wireshark? Все и так знают, что пароль к прокси у ivan.ivanov — это «слово + день рождения Вани» :)

Смысл в том, чтобы Ваня понимал, что халявный прокси сделали ему персонально, и не стоит передавать информацию о халяве дальше. Просто социальная инженерия.
я намекаю, что Иван может подключится к публичной Wi-Fi сети, в которой будет человек с WireShark, и тогда в качестве Ивана будет еще мильон Иранцев, в лучшем случае.
Как мой докер образ этому противоречит? Просто это можно было сделать полтора месяца назад
«полтора месяца назад» я уже поставил StrongSwan IKEv2 VPN. Но выяснилось, что именно Телега и именно с VPN высаживает у телефона батарею со свистом, так что пришлось для неё изобретать «костыль» срочно.
Telegram на телефоне можно пропустить через Orbot, который не ест батарею так как, например, OpenVPN.
ShadowSocks ещё меньше потребляет и он намного быстрее Орбот
В чём выражается быстрота? Особенно в контексте использования Telegram.
Скорость сети он режет намного меньше, чем ВПН. Телега это не только чатик, там и фото, и видео, и как файлообменник народ пользует.
Не доверяя всяким новомодным данте, сделал теже 300 учеток и распределенный прокси на 4 нода при помощи 3proxy
спасибо, но мне не надо было docker image.
2017: Как мне запихнуть приложение в докер?!
2018: Дайте мне приложение без чертового докера!!!
Как-то так, да. Потому что черт его знает, что понапихали в контейнер авторы. А может майнер/спамер?
По этому, надо читать dockerfile и собирать самому, делов то на пару минут
Да я бы рад, но то ли я тупой, то ли документация докера запутанная, но я так и не понял, как из «образа»

hub.docker.com/r/telegrammessenger/proxy

вытянуть Dockerfile.

В некоторых случаях на докерхабе можно посмотреть Dockerfile напрямую. В данном случае — нет.
Вам нужен был работающий сервер. Докер образ эту задачу решает

Вот установка dante2 через докер в пару команд.
Настройка специально под Telegram

спасибо, но мне не надо было docker image.
А кто-нибудь понял, как в не-docker версии задать несколько secret-ключей? Через запятую не работает.
Да, надо в докере просто стартовый скрипт посмотреть
Да, указанием параметра несколько раз — вот так: -S a1a1 -S b2b2 -S c3c3
800 КиБ исходников официальной реализации на C против, например, 8 КиБ на Python намекают, что неофициальные реализации реализуют далеко-о-о не всю функциональность, заложенную в MTProto Proxy.

я автор реализации на питоне. Действительно, адвертайзинг у них сделан очень интересным способом, когда я добавил её поддержку, размер кода вырос почти в два раза: https://github.com/alexbers/mtprotoproxy/commit/fee5a0c05ae855d97e12a46253e4ad50395df17c.


Официальный прокси коннектится к тг через ещё один уровень проксей — так называемый middleware-прокси (это те, которые раз в сутки нужно обновлять и которые живут на https://core.telegram.org/getProxyConfig). Для общения с этими прокси серверами используется rpc-вызовы протокола mtproto, который сам по себе довольно развесистый. Интереснен факт, что ключ, которым шифруются данные между телеграммовским прокси и middleware-прокси получается из данных, включающих строку доступную всем по адресу https://core.telegram.org/getProxySecret и ip/порта клиента и сервера. Таким образом прокси должен знать свой внешний ip/порт, чтобы создать соединение ко middleware-прокси. Официальный докер-образ берёт ip на https://digitalresistance.dog/myIp.


Неофициальные реализации игнорируют middware-прокси и соединяются напрямую к серверам телеграма. Получается проще, надёжнее и экономичнее по трафику — официальный прокси прикрепляет примерно 96 байт в каждое сообщение — информацию о клиенте и рекламный тег). Но при таком способе нельзя добавить рекламу, что является его существенным недостатком.

Вон оно что, оказывается. Спасибо за подробное объяснение. Что-то ребята, похоже, немного наоверинженерили со своим прокси.

Наконец-то нашёл (точнее мне написали) причину по которой передаётся информация о клиенте — она используется для того, чтобы показать с каких ip был вход, чтобы улучшить безопасность аккаунта. Я в своей реализации забил информацию о клиенте буквами 'A' и теперь вижу такое:
image


Но, с другой стороны, сейчас стало возможно "убеждать" телеграм, что на наго зашли с произвольного ip

Придумал хорошее решение для телеграма —писать в информации о сессиях помимо ip-адреса клиента ещё и адрес прокси сервера, которым он пользовался. Надеюсь, создатели тг тоже придумали такое решение и уже пишут :)

Кстати. А что за соединения держит «пустой» запущенный официальный прокси? Вот я запускаю — а там типа 78 соединений.

Отличный вопрос. Это у них пул соединений к middle proxy (которые перечислены на https://core.telegram.org/getProxyConfig). По одному соединению передаются данные сразу нескольких пользователей, обёрнутые в RPC-вызовы. Когда клиентов становится много, пул соединений увеличивается.
К плюсам такой схемы относится то, что это позволяет сэкономить немного времени при подключении очередного клиента т.к. не нужно устанавливать новое соединение — оно уже есть. Кроме того, это позволяет обойти ограничение протокола TCP в 65 000 исходящих соединений на один и тот же адрес/порт.
Главный минус схемы — необходимость передавать в каждом исходящем сообщении дополнительные данные о клиенте, что приводит к повышенному потреблению исходящего трафика сервером. Другой минус — что по такому "общему" соединению приходится передавать данные на максимальной скорости т.е. нельзя например получить от клиента первые 4096 зашифрованных байтов вызова MTProto и сразу отправить их в соединение, приходится получать всё зашифрованное сообщение, которое часто достигает 100КБ и только потом отправлять. Это приводит к повышенному потреблению памяти прокси-сервером.

Хмхм… Вот этот последний абзац чисто детально не понятно. Общее и не общее соединения как-то отличаются? Или через эти специальные прокси у меня нет другого варианта, как сначала всосать сообщение? Хм… А там же видосики ещё…

Есть очень простая схема работы прокси сервера — клиент подключается к нему а он — к серверу телеграма. Пришли данные от клиента — перешифровываем, посылаем на сервер и наоборот. Такая схема работает в почти всех альтернативных клиентах, но при этом теряется возможность показывать рекламу т.к. прокси должен как-то "представиться" серверу тг.


Более сложная схема, реализованная в официальном прокси: есть N клиентов и M соединений к вышестоящим прокси. Прокси вычитывает очередной зашифрованный MTProto-вызов от клиента (длину мы знаем, она не шифруется), составляет новый rpc-вызов MTProto к вышестоящему прокси с параметрами, включающими в себя зашифрованный вызов и данные о клиенте. Затем берётся любое из M соединений и туда отсылается этот rpc-вызов. После этого входящие данные от серверов тг для этого клиента начинают приходить в виде rpc-вызовов в этом соединении. Прокси, соответственно, читает читает очередной rpc-вызов из соединения, достаёт оттуда данные о клиенте и сами зашифрованные данные которые нужно ему передать, находит какому клиенту передать и передаёт.


Таким образом можно, например используя одно TCP соединение к вышестоящему прокси-серверу, обслужить 10 клиентов, оборачивая каждое зашифрованное сообщение от клиента в rpc-вызов и передавая его по этому соединению.

Так. Но это не совсем мне раскрывает тему с размером сообщения. В чем различие именно с размером? Почему я кусками не могу кидать? И я правильно понимаю, что видяшку я тоже буду куском всасывать?

В протоколе mtproto элементарная единица информации — rpc-вызов, грубо говоря это длина данных и сами данные. Каждый rpc-вызов официальный прокси отправляет по случайному исходящему соединению на middle proxy. Кидать меньшими кусками чем один rpc вызов на случайное сооединение не получится т.к. один сервер получит "отправить сообщение пользова" а второй "телю bay: привет". Если отправлять маленькими кусками по мере прихода данных от клиента, то все равно нужно сначала написать полный размер сообщения, потом вставить "отправить сообщение пользова" и ждать остальных данных, при этом данное соединение, пока не дождёмся конца сообщения, нельзя использовать для передачи данных других пользователей.


То есть отличие в том, что, используя простую схему с одним исходящим соединением на каждого клиента, прокси может просто брать байты от клиента и передавать их на сервера телеграм вообще не думая не про какие границы сообщений и rpc-вызовы — сервера телеграма на той стороне сами разберутся. А в случае с мультиплексированными соединениеми появляются некоторые сложности.


Видяшка полетит не одним куском, сервер телеграма сам разобьёт её на rpc-сообщения килобайт по 100.


P.S. тут ещё наверно возникнет вопрос почему официальный прокси не может разбить один 100КБ запрос от клиента на два запроса по 50КБ по разным соединениям. Ответ — потому что запрос от клиента зашифрован и прокси не знает каким ключём.

Я так смотрю звонить через этот прокси я пока не могу?!

И не сможете. MTProxy не поддерживает (и не будет поддерживать) звонки через себя. Они пойдут через обычные (возможно, P2P, см. настройки) соединения.

По всем инструкциям завел сервер MTProto, добавил 4 ключа. Звонки, текст, отправка файлов идет. Столкнулся с проблемой отправки файлов с использованием мобильной сети Yota. Не уходят. При подключении к wifi — тут же уходят неотправленные сообщения. Проверить удалось на билайне — отправляются. Знания в linux — минимальные. Аренда сервера, установка docker сделана по инструкциям с habr и интернета. Если есть какие-то идеи сообщите, пожалуйста. Можно в ЛС, дабы не засорять.
Спасибо!
Значит Йота заворачивает трафик определённого вида, лечится только сменой оператора или установкой впн.
Сейчас на сервере настроен sock5 и mtproto, IP один и тот же. С sock5 yota отправляет а с нового — нет. Я не особо разбираюсь, но на сколько читал MTProto и был создан для того чтобы еще лучше обходить блокировки. Для меня у yota лучшие условия, да и другие операторы скорее всего тоже заблокируют.
У меня стоит такой сервер и с йотой вообще нет проблем, отправляет файлы по всем направлениям (чаты, боты, лс).
upd: йота действительно не дает отправить файлы более 100-128кб, с чем это связано, пока не ясно.
Да, всё так. Для них это нормально. У меня, например, WireGuard не работает, видимо потому, что udp. Обращался в тп, обещали мой ip разрешить. Уже почти две недели прошло, всё ещё не заработало. Обращайтесь в тп, меняйте опсоса или подключайте vpn.
Если звонки и текст пропускает — скорее всего IP не заблокирован? Именно файлы не проходят. Подскажите как правильно запрос подать? Думаю как только я упомяну что сервер для telegram — ответ будет очевиден.
Блокируется в данном случае не ip, а их DPI блокирует определённый тип трафика. Как подать не подскажу, в моём случае это просто vpn на рабочем сервере, поэтому я просто описал сложившуюся ситуацию.
Конечно. Для себя, на личном сервере.
schors в новых версиях телеграма была убрана опция в настройках прокси «звонить через прокси», получается звонки всегда безусловно идут через прокси или наоборот никогда не идут?
Эта опция работает только для socks5. Для MTProto-прокси звонки никогда не идут в прокси, а всегда пытаются сами
Установил Docker, настроил его по гайдам (в том числе чтобы к нему был доступ и у другого пользователя, а не только у root). Сгенерировал secret, однако при записи IP+Port+Secret в телеграмме подключения не идёт. Если вызвать systemctl status docker.service, то пишет следующее:
Вывод команды status
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2018-06-01 03:50:01 EDT; 1h 2min ago
Docs: docs.docker.com
Main PID: 28482 (dockerd)
Tasks: 31
Memory: 351.3M
CGroup: /system.slice/docker.service
├─28482 /usr/bin/dockerd
├─28486 docker-containerd —config /var/run/docker/containerd/containerd.toml
├─35276 docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.conta…
└─35282 docker-runc —root /var/run/docker/runtime-runc/moby —log /run/docker/containerd/daemon/i...

В гайде по настройке самого Docker-а значение Vendor preset: enabled. При этом к серверу по SSH подключится можно, вроде дело не в закрытых портах(отключал фаервол на сервере, но ничего не менялось)
Пробовал проверить подключение при помощи команды винды Telnet с портом 443, но выдавало только следующую ошибку:
Ошибка Telnet
Подключение к (мой IP-адрес сервера)… Не удалось открыть подключение к этому узлу, на порт 443: Сбой подключения


Подскажите, как решить проблему с подключением? Или обязательно сервер регистрировать ботом телеграмма, чтобы всё заработало?
Что такое «в том числе чтобы к нему был доступ у другого пользователя»?
Я на сервере создал ещё одного пользователя, чтобы подключаться по SSH не через root. И выдал нужные права новому пользователю, чтобы не нужно было каждый раз прописывать sudo
docker run hello-world запускается, а sudo docker run hello-world ?
запуск не из под sudo случаем не этой командой делали sudo usermod -aG docker $(whoami)?
Оба варианта hello-world работают запуски делал именно под этой командой. Но по совету, данному ниже, полностью пересобрал сервер, оставив только рут, и попытался запустить прокси через другой порт… однако сам Docker игнорирует то, что я явно указываю порт(либо в гайде что-то не так), и оставляет всё на 443 порту (как минимум лог в ссылке так пишет)
Через sudo пускай systemctl, чтобы кусок лога был. Или «journalctl -u юнит», чтобы больше логов было.
Ну и не забывай, что открыть на прослушку порты ниже 1024 может только рут.
Итак все команды совершаю с sudo systemctl. Ну и да, порт сменить как-то не удалось
А «netstat -lnp|grep 443» что говорит про процессы?

Я пробовал вешать прокси на уже занятый порт, он падает при запуске. Хз как докер на падение реагирует.
Видать как и писалось в статье — порт поменялся, но в ссылке нет(хотя ссылка создаётся внутри Докера, что казалось бы должно решать такую проблему)
Вывел следующий текст
tcp6 0 0 :::8443 :::* LISTEN 18038/docker-proxy

Однако даже при смене порта на 8443 в телеграмме он всё равно не может к нему подключится

Есть предположение, что это по вине представителя услуги по облачному серверу(Aruba cloud), ибо в столбце Public IP под самим IP пишет: Bandwidth info not available. Хотя у другого сервера(на Соксе) пишет сколько процентов трафика используется…
А grep по имени бинарника («mtp» или «proxy») что-нибудь выдаёт? Может там и слушать некому?
Извини, не особо знаком ни с линуксом, ни с centos, на котором и сделан сервер. Поэтому не понимаю, что ты спрашиваешь
Есть ответ и от той, и от той функции
Ответ
MTP
unix 2 [ ACC ] STREAM LISTENING 16156 1079/master private/lmtp
unix 2 [ ACC ] STREAM LISTENING 16132 1079/master private/smtp

PROXY
tcp6 0 0 :::8443 :::* LISTEN 28336/docker-proxy
unix 2 [ ACC ] STREAM LISTENING 16126 1079/master private/proxymap
unix 2 [ ACC ] STREAM LISTENING 16129 1079/master private/proxywrite
Тогда еще список процессов смотри, потому что прокси должен минимум два порту слушать — прокси и статистика.
Зря вы вообще в этот sudo полезли. Для начало надо бы все из под рута настроить и проверить что работает. Извращения типа sudo — это точно не для одного сервера с одним сервисом который и даром никому ненужен кроме вас.
Посмотрите, не занят ли порт (команда ss -lt покажет)
Покажите нормальные логи вашего контейнера (команда docker logs -f container)
Еще можно общисистемные логи посмотреть ( journalctl -b )
Несколько вопросов по прокси и вообще.

Вот создал я контейнер, получил у бота рекламный тег, перезапустил с тегом и ботом прикрепил канал. Все работает, в Телеге первый чат — это канал из настроек прокси (поскольку в каналах не ориентируюсь — прицепил РосКомСводобу).

Но.
Как этот прокси будет распространяться? В статистике ready_targets — 18, это значит 18 разных клиентов подключены к прокси? Или он посчитал только мои подключения/отключения? Бот просто работает с моим сервером, или он вносит его в какой-то список прокси, из которого они потом выбираются пользователями или ботом? Или распространять настройки прокси надо через всякие личные блоги и подобные источники? Но это же бред, наши доблестные стражи психического здоровья детей — просто нагуглят их и однойкопипастой заблочат сразу тонну.

Навскидку ничего толкового не нагуглилось, на официальном сайте чисто технические вопросы реализации протокола. Нашлось несколько каналов типа MTProxy, но, насколько я понял — это все неофициальное. Тупо содержит список серверов, которые элементарно парсятся и банятся.
Добавлю.
По видимому — никакого распространения нет, робот обновил статистику — там только одно подключение. И какой смысл во всем этом? Зачем я буду поднимать прокси, а потом публиковать его адрес публично? Чтобы его потом забанили, а я лишился прямого доступа к своему VPS?..
Думаю самое правильное распространение — по знакомым и цепочкам их знакомых. Так прокси дольше всего не попадёт в блокировку. А любая публикация или распространение по случайным людям действительно не приведёт ни к чему хорошему.
Лучшее распространение — через официальный бот или вообще настройки в клиенте. Чтобы бот предлагал выбор тематики канала или поиск по его названию, а потом уже список проксей с каналами на выбор или с конкретным каналом. Тогда список не будет тупо копипаститься любым эникейщиком.

По моему — это в первую очередь рассчитано на админов каналов, которые будут делать прокси и предлагать его тем, кто на них и так уже подписан. Тогда, когда человек подписывается на канал — он получает еще и прокси в придачу. А частное создание таких прокси на добровольных началах — не имеет смысла без централизованного распространения через официальный бот.

Вот поднял я прокси, выложил его в паблик — и автоматом засветил айпишник своего сервера. Что за фигня чессслово? На меня настучит первый же Павлик Морозов, нагугливший прокси поиском по характерным словам: t.me/proxy?server= &port=443&secret= и губай моя виртуалка.

Они бы хотя бы добавляли хеширование адреса для подключения. Заводит админ сервис, а тот ему выдает как сам адрес, так и его хеш, и тот уже сам решает что ему публиковать. Вводит пользователь в настройки копипасту из двух-трех десятков гексовых цифр и клиент ее расшифровывает уже внутри. Так хоть не спарсят в два клика несколько тысяч айпишнков для базы блокировки.
Распространение конечно же нецентрализованное. Да через бота тоже будут банить. Так что тут разницы нет
Через бота, да еще и официального, если он не будет светить в чате адреса серверов, а только менять настройки — банить будет на порядок сложнее, чем открытые списки, которые толко и ждут, что их скопипастят и засунут в БД.

Идея с зашифрованным адресом совсем гиблая? Или имеет право на жизнь?
Поставил со стандартным конфигом на ubuntu server 16.04.
docker run -d -p 443:443 --name=mtproto-proxy --restart=always -v proxy-config:/data telegrammessenger/proxy

Открыл порт 443 в ufw.
С мобильного интернета — все работает отлично, подключаюсь через домашний wi-fi — не пашет, причем сервер пингуется, socks5 на этом сервере пашет нормально. В чем может быть проблема, подскажите, пожалуйста? Смена порта не помогает.
Добрый день. Уважаемые, я случайно удалил прокси из бота.
Теперь при добавлении он не появляется. Сталкивался кто?
Уже писал выше, но так адекватного ответа не получил. Пытался настроить сервер на Aruba Cloud по данному гайду, но увы, ничего не вышло — в статистике самого docker-а так и пишет vender: disabled, подключение в телеграмме к серверу не происходит. А при попытке вывести мониторинг сервера по данному гайду пишет: curl: (7) Failed connect to localhost:2398; Connection refused
Сколько раз ни пробовал переустановить ось на сервере или сделать другие манипуляции — итог один и тот же
Фаервол на сервере есть? Он настроен? Я с Арубой не работал, просто предполагаю по опыту других хостеров. Где-то без принудительного открытия порта в настройках сервера или системы — вообще все закрыто по дефолту, где-то даже ufw надо самому ставить.
Фаервол есть, так же думали, что дело в нём, отключали… и в итоге то ник чему не приводило. Сейчас проверил статус — он так же был отключен, разве что в статусе пишет Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) (то есть значение vendor-а совершенно противоположное, чем у Docker-а).
Включил и явно прописал порты — в итоге всё равно связи нет
Ubuntu 16.04 с установленным по официальному гайду докеру.
Аруба CZ1
Повесил на порт 444, потому что 443 занят проксями. Все завелось с пол тычка.
docker run --rm -p444:443 --name=mtproto-proxy -v proxy-config:/data telegrammessenger/proxy:latest

Правда у меня на арубе четыре сервера socks5 и иногда возникают непонятные залипания когда телега не может подключиться, грешу на дешманство самой арубы или на проблемы в логике выбора сервера когда есть несколько А-записей в DNS
Кто-нибудь смог повесить оное на стандартный 443 порт вместе с другими сервисами через реверс-прокси используя docker-compose? У меня заводится только на незанятом порту, но надеялся, что Traefik умеет это разруливать
Sign up to leave a comment.

Articles