Так-с, всем привет! Сейчас я попробую рассказать и показать способ создания своего MTProxy. Теория MTProto Proxy или MTProxy — это сетевой протокол семейства MTProto нового поколения, разработанный командой Telegram. Трафик шифруется по криптографическому протоколу MTProto, на основе которого шифруются все данные в инфраструктуре Telegram Что понадобится 1) Виртуальная машина. Я пользуюсь Google Cloud Platform. Т.к. создавал там аккаунт ещё давно, у меня не было проблем с добавлением карты(Сейчас вроде есть, хз). Если на этом моменте возникают проблемы, то можно купить готовые аккаунты на форуме. Гугл дают бесплатные 300$, так что того должно хватить на длительный период. 2) Минимальные знания в работе с линуксом, т.к. собираюсь рассказать достаточно подробно. Создание машины Для начала нам нужно создать саму виртуальную машину. Т.к. делал я ****** для себя, мне хватит и минимальной мощности. В поле "Name" пиши любое название, которое тебе нравится Регион я ставлю Нидерланды, т.к. они меня ещё не подводили(Что нельзя сказать о Токио) f1 micro достаточно для меня одного(я уже говорил), так что не вижу причины использовать более мощные машины. Тут мы выбираем ОС, т.к. я половину моей "программистской" жизни пользуюсь Debian'ом, то и статью напишу про работу с ним. Размер диска ставлю на 10 ГБ, стандарт у меня такой. Стоят эти 10 ГБ всего 1$, но позволяют поставить на машину ещё что-нибудь. Две нижние галочки я поставил прикола ради, т.к. пока разбирался с проблемами перепробовал много чего. Лучше поставить, хуже они не делают. С созданием, вроде, всё, можно переходить к работе в самом линуксе. Основная работа в линуксе - 1 Подключившись к линуксу через SSH(там есть кнопка) Кнопка Нас встречает такое чудо: Первое, что мы делаем - это устанавливаем нужные пакеты: sudo apt install git curl build-essential libssl-dev zlib1g-dev Потом нужно скопировать сам репозиторий: sudo git clone https://github.com/krepver/MTProxy.git -b gcc10 Основная работа в линуксе - 2 Почему не master ветка Так-с, думаю стоит объяснить, почему именно "-b gcc10". В начале пути я пытался с master веткой, но в последствии выдавало ошибку при выполнении команды "make"(О ней дальше). Ошибка была вызвана тем, что компилятор не подходил. Именно для этого и сделали вторую ветку, с которой всё заработало. Это достаточно важный момент, т.к. без него работать вряд ли будет! Теперь переходим в нужный каталог: cd MTProxy Перейдя в каталог нужно выполнить команду sudo make && cd objs/bin Если после выполнения команды в последних строчка нет ничего напоминающего "Error" и выполнен переход в каталог "objs/bin", то всё прекрасно. Однако, если что-то пошло не так, то перед новой компиляцией нужно выполнить команду: sudo make clean Следующие две команды, которые нужно выполнить: sudo curl -s https://core.telegram.org/getProxySecret -o proxy-secret И sudo curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf Дальше нам понадобится сгенерировать ключ, который будет использоваться для подключения к ******: sudo head -c 16 /dev/urandom | xxd -ps После выполнения этой команды появится набор букв и цифр, который надо куда-нибудь сохранить и не потерять! Если не ошибаюсь, то следующая команда нужна для теста работы ******. Если запустилось и начался так называемый "loop", то всё хорошо! sudo ./mtproto-proxy -u nobody -p 8888 -H 443 -S <secret> --aes-pwd proxy-secret proxy-multi.conf -M 1 Пояснение 8888 - Это локальный порт(Можно поменять, но я не проверял) 443 - Это порт, который будет использоваться для подключения(т.е внешний)(Можно поменять, но я не проверял) <secret> - Это тот самый ключ, который мы генерировали(Который не потерять и сохранить) proxy-secret proxy-multi.conf - это то, что мы копировали теми двумя командами(Менять не надо) -M 1 - Это количество "Работников", для теста и 1 хватит, но можно поменять количество. Дальше нам понадобятся Локальный и Внешний ip адрес машины. Локальный - Internal Внешний - External Добавление своего ****** в бота телеграм 1)Ключ 2)Порт 3)Ip То, что мы получили сверху Перед следующим пунктом надо "зарегистрировать" свой ******. Для этого пишем Боту @MTProxybot Думаю, что с этим разобраться не сложно. После начала бот напишет так: Нужно будет отправить external ip:внешний порт(В моём случае 443) Дальше бот напишет: Нужно отправить тот самый сгенерированный ключ. Если всё сделано правильно, то первое слово его следующего сообщения будет "Success". И будет содержать tag, две ссылки На этом работа с ботом заканчивается. Возвращение к Linux - 1 Теперь нам нужно, чтобы ****** работал постоянно. Для этого нам нужно выполнить ряд команд и поработать головой) Первой командой будет: sudo nano /etc/systemd/system/MTProxy.service Она создаёт нужный нам файл, в который нужно будет вписать следующий текст, заменив некоторые его части: Возвращение к Linux - 2 [Unit] Description=MTProxy After=network.target [Service] Type=simple WorkingDirectory=/home/<your username>/MTProxy/objs/bin ExecStart=/home/<your username>/MTProxy/objs/bin/mtproto-proxy -u nobody -p 8888 -H 443 --nat-info <Internal_IP>:<External_IP> -S <secret key> -P <Tag> --aes-pwd proxy-secret proxy-multi.conf -M 1 Restart=on-failure [Install] WantedBy=multi-user.target Code [Unit] Description=MTProxy After=network.target [Service] Type=simple WorkingDirectory=/home/<your username>/MTProxy/objs/bin ExecStart=/home/<your username>/MTProxy/objs/bin/mtproto-proxy -u nobody -p 8888 -H 443 --nat-info <Internal_IP>:<External_IP> -S <secret key> -P <Tag> --aes-pwd proxy-secret proxy-multi.conf -M 1 Restart=on-failure [Install] WantedBy=multi-user.target Снова уточнение 1)<your username> - То, что пишется вот тут: username 2)<Internal_IP>:<External_IP> надеюсь понятно(ip виртуальной машины) 3)<secret key> - Сгенерированный ключ 4)<Tag> - Тот тэг, который отправил бот при регистрации 5)Про -M 1 я уже говорил выше Осталось сохранить файл. Это делается так: 1) ctrl+x 2)Y 3)Enter И вот мы на финишной прямой осталось выполнить несколько команд sudo systemctl daemon-reload sudo systemctl enable MTProxy.service sudo systemctl restart MTProxy.service sudo systemctl status MTProxy.service Если после выполнения последней команды получается такое, то мои поздравления: Приятный бонус Приятный бонус заключается в том, что можно добавить свой канал в promotion. Критерии для добавления: 1) Открытый канал 2) Канал без ограничений(Никакой порнографии и т.д.) Чтобы добавить канал нужно после регистрации ****** у бота нажать на эту кнопку: После этого отправляем ссылку на канал и ждём около часа. Примерно так и будет выглядеть реклама у пользователей Источники https://github.com/krepver/MTProxy/tree/gcc10 https://ru.wikipedia.org/wiki/MTProxy