Загрузка...

Как поднять свой MTProxy для телеграм.

Тема в разделе Безопасность создана пользователем miffle1337 3 май 2022. (поднята 6 янв 2024) 4507 просмотров

Загрузка...
Опрос

Было ли полезно?

  1. Да

    14
    93,3%
  2. Нет

    1
    6,7%
  1. miffle1337
    miffle1337 Автор темы 3 май 2022 94 5 янв 2021
    Так-с, всем привет! Сейчас я попробую рассказать и показать способ создания своего MTProxy.
    MTProto Proxy или MTProxyэто сетевой протокол семейства MTProto нового поколения, разработанный командой Telegram. Трафик шифруется по криптографическому протоколу MTProto, на основе которого шифруются все данные в инфраструктуре Telegram
    1) Виртуальная машина. Я пользуюсь Google Cloud Platform. Т.к. создавал там аккаунт ещё давно, у меня не было проблем с добавлением карты(Сейчас вроде есть, хз). Если на этом моменте возникают проблемы, то можно купить готовые аккаунты на форуме. Гугл дают бесплатные 300$, так что того должно хватить на длительный период.
    2) Минимальные знания в работе с линуксом, т.к. собираюсь рассказать достаточно подробно.
    Для начала нам нужно создать саму виртуальную машину.
    Т.к. делал я ****** для себя, мне хватит и минимальной мощности.
    [IMG]
    В поле "Name" пиши любое название, которое тебе нравится
    Регион я ставлю Нидерланды, т.к. они меня ещё не подводили(Что нельзя сказать о Токио)
    f1 micro достаточно для меня одного(я уже говорил), так что не вижу причины использовать более мощные машины.
    [IMG]
    Тут мы выбираем ОС, т.к. я половину моей "программистской" жизни пользуюсь Debian'ом, то и статью напишу про работу с ним.
    Размер диска ставлю на 10 ГБ, стандарт у меня такой. Стоят эти 10 ГБ всего 1$, но позволяют поставить на машину ещё что-нибудь.
    Две нижние галочки я поставил прикола ради, т.к. пока разбирался с проблемами перепробовал много чего. Лучше поставить, хуже они не делают.
    С созданием, вроде, всё, можно переходить к работе в самом линуксе.
    Подключившись к линуксу через SSH(там есть кнопка)
    [IMG]
    Нас встречает такое чудо:
    [IMG]
    Первое, что мы делаем - это устанавливаем нужные пакеты:
    sudo apt install git curl build-essential libssl-dev zlib1g-dev

    Потом нужно скопировать сам репозиторий:
    sudo git clone https://github.com/krepver/MTProxy.git -b gcc10
    Так-с, думаю стоит объяснить, почему именно "-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 адрес машины.
    [IMG]
    Локальный - Internal
    Внешний - External
    1)Ключ
    2)Порт
    3)Ip
    То, что мы получили сверху
    Перед следующим пунктом надо "зарегистрировать" свой ******. Для этого пишем Боту @MTProxybot
    Думаю, что с этим разобраться не сложно.
    После начала бот напишет так:​

    Нужно будет отправить external ip:внешний порт(В моём случае 443)
    Дальше бот напишет:

    Нужно отправить тот самый сгенерированный ключ.
    Если всё сделано правильно, то первое слово его следующего сообщения будет "Success".
    И будет содержать tag, две ссылки
    На этом работа с ботом заканчивается.
    Теперь нам нужно, чтобы ****** работал постоянно. Для этого нам нужно выполнить ряд команд и поработать головой)
    Первой командой будет:
    sudo nano /etc/systemd/system/MTProxy.service

    Она создаёт нужный нам файл, в который нужно будет вписать следующий текст, заменив некоторые его части:
    Код
    [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> - То, что пишется вот тут:
    [IMG]
    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

    Если после выполнения последней команды получается такое, то мои поздравления:
    [IMG]
    Приятный бонус заключается в том, что можно добавить свой канал в promotion.
    Критерии для добавления:
    1) Открытый канал
    2) Канал без ограничений(Никакой порнографии и т.д.)
    Чтобы добавить канал нужно после регистрации ****** у бота нажать на эту кнопку:
    [IMG]

    После этого отправляем ссылку на канал и ждём около часа.
    Примерно так и будет выглядеть реклама у пользователей
    [IMG]

     
    3 май 2022 Изменено
  2. noer_inactive3207491
    noer_inactive3207491 26 июн 2022 Заблокирован(а) 11 23 апр 2020
    Хорошая статья ,неплохо обьяснил
     
    26 июн 2022 Изменено
Top