15

Свой прокси для Telegram

Давно Telegram запустил свой протокол для прокси MTPROTO, благодаря которому любой желающий может создать свой прокси и монетизировать его используя функцию Promoted Channel.

Вот так выглядит настройки прокси в специальном боте MTProxy Admin Bot

Теперь давайте приступим к создание прокси. Первым делом необходимо минимум как VDS/VPS особой разницы нет в аббревиатуре, но все же.

VDS можно купить у hetzner cloud, так как у них имеется аппаратная DDoS защита да и цены низкие.

Инструкция специально под ОС: Debian. Скачиваем putty и вводим IP адрес от сервера и жмем Open.

Далее вводим логин: root и вставляем пароль которую вы получили после заказа и жмём Enter.

И вводим следующий команды:

apt-get install git build-essential libssl-dev zlib1g-dev curl

wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz

tar -zxf openssl-1.1.0h.tar.gz

cd openssl-1.1.0h

./config

make

make install

ldconfing /usr/local/lib

echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf


Теперь собираем сам mtproto proxy

git clone https://github.com/TelegramMessenger/MTProxy

cd MTProxy

make

cp objs/bin/mtproto-proxy /usr/local/bin

Теперь создадим пользователя, каталог для конфигов и логов

adduser --system --no-create-home --disabled-login --group mtproxy

mkdir /etc/mtproxy

mkdir /var/log/mtproxy

chown mtproxy:mtproxy /var/log/mtproxy/

cd /etc/mtproxy

wget https://core.telegram.org/getProxySecret -O proxy-secret

wget https://core.telegram.org/getProxyConfig -O proxy-multi.conf


Генерируем  16-ричный secret-key

head -c 16 /dev/urandom | xxd -ps

И далее:

nano /etc/init.d/mtproxy

#!/bin/sh
### BEGIN INIT INFO
# Provides: mtproto-proxy
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: MTProxy service
### END INIT INFO
set -e
# Must be a valid filename
NAME=mtproto-proxy
PIDFILE=/var/run/$NAME.pid
#This is the command to be run, give the full pathname
DAEMON=/usr/local/bin/mtproto-proxy
DIR=/etc/mtproxy
DAEMON_OPTS="-u mtproxy -p 8888 -6 -H 443 -l /var/log/mtproxy/mtproxy.log -d -S <secret> -P <proxy-tag> --aes-pwd /etc/mtproxy/proxy-secret /etc/mtproxy/proxy-multi.conf -M 1"
USER=mtproxy
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
case "$1" in
start)
echo -n "Starting daemon: "$NAME
start-stop-daemon --start --background --pidfile $PIDFILE -d $DIR -m --exec $DAEMON -- $DAEMON_OPTS
echo "."
;;
stop)
echo -n "Stopping daemon: "$NAME
start-stop-daemon --stop --signal TERM --quiet --oknodo --pidfile $PIDFILE
echo "."
sleep 3
;;
restart)
echo -n "Restarting daemon: "$NAME
start-stop-daemon --stop --signal TERM --quiet --oknodo --retry 30 --pidfile $PIDFILE
start-stop-daemon --start --background --pidfile $PIDFILE -d $DIR -m --exec $DAEMON -- $DAEMON_OPTS
echo "."
;;
*)
echo "Usage: "$1" {start|stop|restart}"
exit 1
esac
exit 0

Расшифровка параметров:

-u mtproxy — процесс запускается от пользователя mtproxy

-p 8888 — локальный порт, можно использовать для получения статистики

-6 — включает ipv6

-H 443 — на каком порту ожидать подключение клиентов, 443 подходит идеально, провайдеры и прочие будут думать что это обычный https траффик

-l /var/log/mtproxy/mtproxy.log — лог файл, но как я писал выше, логи почему то не пишутся, может нужно включить verbose или еще чего, разберусь потом

-S <secret-key> — секретный ключ который мы сгенерировали(надеюсь вы поняли что <secret-key>, нужно заменить на сгенерированную строку, например на 575b04f4b28f72263965d1d371707c06)

--aes-pwd /etc/mtproxy/proxy-secret — конфиг с секретом, что там в нем, черт его знает

/etc/mtproxy/proxy-multi.conf — конфиг файл с ip адресами серверов

-M 1 — количество главных процессов, пишут что хватает одного, если у вас там не супер-пупер нагруженный сервер.

Даем права на запуск скрипта chmod +x /etc/init.d/mtproxy

Активируем автозапуск update-rc.d mtproxy defaults

Запускаем службу /etc/init.d/mtproxy start

1. Пишем @MTProxybot /start1.1 Он запросит адрес нашего прокси в формате host:port

1.2 Потом запросит secret, отправляем ему

1.3 Если все окей выведет сообщение об успехе Success и proxy tag его надо прописать в ExecStart сервиса -P <proxy-tag>, описывал выше.

2. Добавим канал, пользователи которые будут пользоваться вашим прокси автоматически будут «подписаны» на Promoted канал.

2.1 Командой /myproxies запросим список наших прокси(их может быть несколько)

2.2 Выберем необходимый

2.3 И нажмем кнопку Set promotion

2.4 Введем название канала в формате @имя_канала

2.5 Все, примерно через час данные promotion применяться и у пользователей использующих ваши прокси появится ваш канал.

Ну собственно и все, все легко и просто.

Вот статистика моего MTPROTO proxy. Правда я его не монетизировал,да и не вижу смысла.

P.S. Баянометр ругался на картинки.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества