BlackWarrior

 
<<< Back

И вновь о прокси

Личный прокси с пионерками и пятнашками. Заметка основана на разных руководствах из инета и личном опыте

Озадачился я созданием личного прокси с пионерками и пятнашками. Решил строить его на зарубежном хостинге и после некоторого времени наткнулся на украинский HyperHost (вот реферальная ссылка: https://hyperhost.ua/client/aff.php?aff=1045). Условия мне показались довольно приятными и вкусными: чуть меньше 300р в месяц. К тому же контора даёт 7 бесплатных дней на тестирование.
2019-10-11_175620
Регистрируюсь. Через некоторое время звонят на указанный при регистрации телефон, задают пару вопросов (зачем мне хостинг и нужна-ли помощь) и высылают на мыло данные для доступа к личному кабинету.
VPS я выбрал с предустановленным Ubuntu16. Подключаюсь к серверу по SSH (логин: root) и начинаю таинство созидания.

Danted

Установка

Для начала качаем исходники и собираем:

apt update
apt upgrade
apt install nano git wget curl autoconf automake libtool pkg-config checkinstall libwrap0 libwrap0-dev libpam0g-dev
mkdir dante && cd ~/dante
wget https://www.inet.no/dante/files/dante-1.4.2.tar.gz
tar -zxvf dante-1.4.2.tar.gz
cd dante-1.4.2
./configure --prefix=/etc/dante
make
checkinstall

Отвечаем yes на все вопросы.
Устанавливаем:

dpkg -i /root/dante/dante-1.4.2/dante_1.4.2-1_amd64.deb

Настройка

Создаем конфигурационный файл:

nano /etc/sockd.conf

И вписываем туда это:

internal: venet0:0 port = 2013
external: venet0:0
user.privileged: root
user.notprivileged: nobody
socksmethod: username

client pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
}

socks pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        command: bind connect udpassociate
}

Создаем пользователя и задаем ему пароль (это будет логин/пароль для нашего прокси):

useradd -s /usr/sbin/nologin username
passwd username

Автозапуск

Для запуска нашего прокси будем использовать rc.local:

nano /etc/rc.local

Перед строкой exit 0 вписываем такую строчку:

/etc/dante/sbin/sockd -f /etc/sockd.conf -D

Вот и всё! Перезагружаем наш сервер и у нас работает свой личный SOCKS5 прокси. Но использовать его для телеги мы не будем. Для телеграм мы поднимем другой сервис!

MTProxy

Для начала, узнаем, что такое MTProxy:

MTProto Proxy или MTProxy — это сетевой протокол семейства MTProto нового поколения, разработанный командой Telegram. Трафик шифруется по криптографическому протоколу MTProto (Telegram Messaging Protocol), на основе которого шифруются все данные в инфраструктуре Telegram. Данный протокол используется только внутри Telegram и трафик извне по нему не проходит. Для подключения вместо логина и пароля, как в SOCKS, достаточно только пароля. Трафик зашифрован секретным ключом и почти не отличается от обычного HTTPS или TLS. Для подключения к MTProxy достаточно кликнуть по ссылке с ним. Работает на всех десктопных и мобильных версиях Telegram.

Ставить будем Async MTProto Proxy от alexbers. Спросите меня "почему не из официальных репозиториев?". Отвечаю "эта версия ставится всего несколькими командами".
Итак, начинаем:

Установка

apt install git nano python3
git clone -b stable https://github.com/alexbers/mtprotoproxy.git; cd mtprotoproxy

Настройка

Создаём секретный ключ:

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

Запоминаем полученные буковки-циферки.
Открываем конфиг:

nano /root/mtprotoproxy/config.py

И приводим к такому виду:

PORT = 443

# name -> secret (32 hex chars)
USERS = {
    "tg":  "СЕКРЕТНЫЙКЛЮЧ" # тут в кавычки вставляем результат команды "head -c 16 /dev/urandom | xxd -ps"
}

# Makes the proxy harder to detect
# Can be incompatible with very old clients
SECURE_ONLY = True

# Makes the proxy even more hard to detect
# Compatible only with the recent clients
TLS_ONLY = True

# The domain for TLS, bad clients are proxied there
# Use random existing domain, proxy checks it on start
TLS_DOMAIN = "www.yandex.ru"

# Tag for advertising, obtainable from @MTProxybot
# AD_TAG = "3c09c680b76ee91a4c25ad51f742267d"

Автозапуск

Тут всё просто до полного безобразия. Открываем crontab:

crontab -e

И вставляем туда такую строку:

@reboot /usr/bin/python3 /root/mtprotoproxy/mtprotoproxy.py

Как использовать?

Ссылку для распространения между друзьями узнаем запустив установленный сервер:

 /usr/bin/python3 /root/mtprotoproxy/mtprotoproxy.py

Если всё хорошо, то увидим подобное:
1
Вот то что после первого tg: и есть наша ссылка для автоматической настройки мессенджера телеграм

Discuss (8) (5)

See also:
2020-02-18 Вновь про PING
2019-10-14 Резервное копирование MajorDoMo на Яндекс.Диск
2019-10-14 TORифицируем Алису
2019-09-16 Подключение погодных станций WS1080 к MajorDoMo Linux
2019-09-15 Учим Mikrotik перезагружать USB-модем
2019-04-19 Узнаем свои интернет-данные

Нижняя Тура, Россия

На форуме: Amarok