Если вы работаете с тг-ботами, то, скорее всего, замечали проблемы с таймаутами и нестабильным подключением к боту. Или, например, вам захотелось использовать недоступные API на инфраструктуре в RU-регионе, и для этого не обязательно использовать три интересные буквы. Для таких задач подходит и простой прокси. Этот способ не починит звонки, но базовые запросы будут работать. Да и задержка будет поменьше. Но это не точно.

Существуют 2 варианта:

  • купить готовый прокси

  • поднять собственный сервер

Чтобы поднять собственный прокси-сервер за пару минут и не напрягаться с конфигурацией, я сделал маленький CLI, который поднимает прокси-стек на VPS за несколько команд: HTTP, SOCKS5 и MTProto для Telegram. Все обновления будут в моем Telegram-канале @kotelnikoff_dev. Там же будет список провайдеров, на которых я тестировал свой CLI.
Гит

В статье покажу:

  • чем прокси отличается от “трех букв”

  • пару слов о прокси-протоколах

  • как быстро развернуть собственный прокси-сервер

  • как управлять доступом через CLI proxyctl

Почему не “три буквы”

Идея решения с “тремя буквами” состоит в том, что оно уводит трафик сервера целиком. Это рабочий вариант, но для прикладных задач он часто избыточен.

Прокси работает точечно:

  • отправляет только нужные запросы;

  • разделяет трафик по приложениям и пользователям.

Какие протоколы используются

HTTP proxy

Подходит для:

  • curl;

  • браузеров;

  • fetch, axios и других HTTP-клиентов;

  • любых случаев, когда нужен обычный HTTP/HTTPS-трафик.

Такой прокси понимает HTTP-протокол и умеет делать CONNECT для HTTPS.

SOCKS5 proxy

Подходит для:

  • приложений, которые умеют работать через SOCKS;

  • нестандартных клиентов;

  • случаев, где нужен универсальный TCP-прокси.

MTProto proxy

Подходит только для Telegram-клиентов.

Прокси сам по себе не шифрует данные на уровне “замены HTTPS”. Это всего лишь посредник. Безопасность веб-запросов по-прежнему обеспечивает HTTPS между клиентом и сайтом.

Что такое proxyctl

proxyctl — это CLI для развертывания и управления proxy-стеком:

  • 3proxy для HTTP и SOCKS5;

  • mtg для MTProto.

proxyctl нужен для:

  • установки зависимостей;

  • скачивания или сборки нужных бинарников;

  • генерации конфигов;

  • создания и запуска сервисов;

  • управления пользователями;

  • базовой диагностики после установки.

Поддерживаются два режима запуска:

  • systemd для обычных VPS/VM;

  • process для окружений без systemd, например некоторых контейнеров.

Быстрый старт

Нужен сервер на Ubuntu или Debian.

Установка:

curl -fsSL "https://raw.githubusercontent.com/Kotelnikovekb/proxyctl/main/install.sh" | sudo bash

Диагностика и проверка работоспособности сервисов

После установки полезно выполнить:

proxyctl status
proxyctl diagnose

diagnose проверяет:

  • запущен ли 3proxy;

  • слушаются ли нужные порты;

  • проходят ли локальные HTTP/HTTPS/SOCKS-запросы через 127.0.0.1;

  • нет ли проблем с базой пользователей.

Если локально все ок, а извне не подключается, проблема обычно не в самом прокси, а в firewall/security groups провайдера.

После установки можно либо пройти мастер:

proxyctl wizard

Либо сразу поставить готовый набор:

proxyctl install full

full поднимет:

  • HTTP proxy;

  • SOCKS5 proxy;

  • MTProto proxy.

Если нужен только Telegram:

proxyctl install mtproto

Если нужен только HTTP/SOCKS для API и приложений:

proxyctl install api

Пресеты

CLI поддерживает пять сценариев:

  • api — HTTP + SOCKS5;

  • universal — HTTP + SOCKS5;

  • mtproto — только MTProto;

  • telegram-mobile — HTTP + SOCKS5 + MTProto;

  • full — полный набор.

Можно указывать сразу несколько:

proxyctl install a

Управление доступом

Для работы 3proxy необходимо добавить пользователя и пароль.

Добавить пользователя:

proxyctl add-user alice

Посмотреть пользователей:

proxyctl list-users

Сменить пароль:

proxyctl change-password alice new-pass

Удалить пользователя:

proxyctl remove-user alice

CLI выполнит команды и перезапустит сервис после изменений.

Как получить данные для подключения

CLI умеет сразу вывести параметры подключения.

Для HTTP и SOCKS5:

proxyctl show-connect

На выходе будут:

  • host;

  • port;

  • username.

Для Telegram:

proxyctl show-telegram-link

Команда выводит готовую tg:// ссылку, которую можно сразу открыть в Telegram-клиенте.

Отдельно про firewall

Во время тестов были сложности с портами на серверах google cloud. Для проверки нужно проверить, что открыты входящие TCP-порты:

  • 3128 для HTTP proxy;

  • 1080 для SOCKS5;

  • 443 для MTProto, если он включен.

Для Google Cloud CLI умеет даже подсказать готовые команды:

proxyctl print-gcp-firewall

Это не открывает firewall автоматически, а выводит готовые gcloud команды, которые необходимо выполнить в проекте.

Ограничения

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

  • проект ориентирован на Ubuntu/Debian. Если нужно, то появятся и другие платформы;

  • установка завязана на apt;

  • это не замена полноценной сетевой архитектуре;

  • cloud firewall все равно настраивается отдельно;

Если что-то не получилось, то задавайте вопросы в комментариях тут или в группе @kotelnikoff_dev.

Подкиньте программисту на кофе, ему еще песика кормить :-)

Комментарии (42)


  1. K0Jlya9
    29.03.2026 14:10

    Идея решения с “тремя буквами” состоит в том, что оно уводит трафик сервера целиком. Это рабочий вариант, но для прикладных задач он часто избыточен.

    Ничего подобного. ВПН используется для создания частных виртуальных сетей а не для раздачи интернетов. Туда обычно заворачивают что то типа 192.168.100.0/24 а не всё подряд.


    1. pewpew
      29.03.2026 14:10

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


  1. TigerClaw
    29.03.2026 14:10

    socks5 уже блокируется в РФ для конечного пользователя с четверга и судя по всему намертво. Где он не блокируется я знаю, можно не писать. MTProto proxy в ряде вариантов тоже блокируется. Как я понимаю сейчас работает в связке FakeTLS. Но без FakeTLS у меня не взлетал.
    Сейчас вроде нормально, но неделю назад через раз приходили запросы tg сюда на вебхук из-за чего требовались дополнительные решения. Но на этой недели вроде нормально стало.


    1. trankov
      29.03.2026 14:10

      Ну без FakeTLS он в принципе смысл теряет, нам китайский фаерволл подключили, если кто-то ещё не понял.


      1. ngektor666
        29.03.2026 14:10

        В Китае практически любой впн отлично работает. У нас все серьёзнее


        1. remzalp
          29.03.2026 14:10

          Судя по косвенной информации - любой только у лаоваев, а вот для местных всё хуже.


        1. ColorPrint
          29.03.2026 14:10

          Да нет, также пачками отваливаются


        1. Zachelovek
          29.03.2026 14:10

          В Китае практически любой впн отлично работает.

          Настолько любой и настолько отлично, что уже даже зарубежные хостеры стонут: китайцы мало того, что скупают все ВПСки на распродажах и акциях, так ещё и потом их перепродают друг другу, в результате чего задалбывают поддержку переоформлениями и сменами IP.

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


    1. Palesandr
      29.03.2026 14:10

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

      http лагает жестко, но работает. но только для десктоп

      MTProto замедляют на уровне мобильного оператора. но домашнем (по проводу) работает отлично.

      это я всё про телеграмм.

      у меня на VPS все три протокола крутятся )


    1. lehshik
      29.03.2026 14:10

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


  1. LiquidBlasted
    29.03.2026 14:10

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


    1. nexa0984
      29.03.2026 14:10

      Пиара телеги? Ты шизофреник что ли?


      1. 0x200AC
        29.03.2026 14:10

        Пиара своего тг канала он имел в виду


  1. CTpaHHoe
    29.03.2026 14:10

    спасибо. было интересно почитать про полезную утилиту proxyctl. про "чиним доступ" - куда менее интересно


  1. VADemon
    29.03.2026 14:10

    Команда выводит готовую tg:// ссылку, которую можно сразу открыть в Telegram-клиенте.

    Нужно также выводить через qrencode. У нее имеются несколько текстовых режимов.


  1. SonOfRageAndLove
    29.03.2026 14:10

    Быстрый старт

    Нужен сервер на Ubuntu или Debian.

    "Узок круг этих революционеров. Страшно далеки они от народа" ©

    Больше чем уверен, что всё то же самое можно адаптировать для работы на роутере под OpenWRT. Но нет. "Нужен сервер на Убунте"


    1. K0Jlya9
      29.03.2026 14:10

      Сервер нужен по ту сторону железного занавеса а не с этой стороны, в домашнем роутере.


      1. ColorPrint
        29.03.2026 14:10

        До той стороны через сокс? Ну-ну


        1. fututu
          29.03.2026 14:10

          До API можно ходить через шлюз на той стороне, типа такого


    1. Cataclismo
      29.03.2026 14:10

      Ну, сервер на Ubuntu и Debian можно получить просто сделав пару кликов у хостинг-провайдера и оплатив по QR-коду сумму за минуту и вот уже логин-пароль к серверу лежит на почте.

      А понять, что роутер на OpenWRT и уже тем более лезть в него, мало кто будет. В 95% случаев его просто привозит интернет-провайдер и настраивает 1 раз на всю жизнь, люди от него даже пароля не знают и не знают, что в него можно входить и что-то настраивать.


  1. Gotek
    29.03.2026 14:10

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


    1. Zachelovek
      29.03.2026 14:10

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

      Колесо сансары должно вращаться.


  1. QuickPower
    29.03.2026 14:10

    Всё это практически бесполезно при "белых списках".


    1. tairsu
      29.03.2026 14:10

      По идее нужен шлюз на зарубежной машине аля Макс <-> Телега.
      Возможно Openclaw агент вывезет такое.


      1. v_chaser
        29.03.2026 14:10

        А как это решит проблему белых списков?


  1. obvinitelb
    29.03.2026 14:10

    *delete*


  1. rendov
    29.03.2026 14:10

    Опять статья, где автор любезно просит сделать sudo внешнего скрипта (который может измениться в любой момент), с кучей вложенных подскриптов. Прям повеяло духом нулевых, со всякими ЗверьCD и кряками фотошопа со вшитыми троянами, ну а чё, золотая пора для создания личных ботнетов в самом разгаре.

    А поглядев мельком исходники, я чет не понял, зачем допустим функция "require_systemd" в core.sh, если она ни разу нигде не вызывается? А может там еще куча лишнего мусора? И что это за любовь к функциям, просто блин функция на функции, хотя можно просто монолит было набросать, который можно просмотреть глазами сверху донизу, а не прыгать смотреть как вынесено создание папок в отдельный блок. Жесть.


    1. Driver86
      29.03.2026 14:10

      ЗверьCD и кряками фотошопа со вшитыми троянами

      Эх, были времена... сколько на самом деле свободы тогда было


    1. AChevozerov
      29.03.2026 14:10

      Это просто вайбкодинг, бессмысленный и беспощадный, его сразу видно если разработчик не озаботился тем чтобы пояснить за код-стайл роботу-дебилу и не провёл нормального ревью.


    1. ThingCrimson
      29.03.2026 14:10

      Вот да, зашёл написать именно это — глаз дёргается, когда вижу очередное curl ... | sudo bash. Это насколько же нужно доверять автору (публикатору? промпт-инженеру?) чтобы запускать не глядя развесистый скрипт с EUID=0…


      1. LanMaster
        29.03.2026 14:10

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


  1. Yuusenka
    29.03.2026 14:10

    Ну нормас че прям нормас че


  1. alepron
    29.03.2026 14:10

    Только вчера вечер убил, разбирался с чат-ботом телеги, пустил его через прокси, ночью отработал, утром уже забанили. Фуфел это все, тспу-шки не дремлют, их надо какими-то другими способами объ**ть.


  1. SaintMortum
    29.03.2026 14:10

    После любого упоминания HTTP, SOCKS5 и MTProto прокси можно не читать, ибо не статья а мусор.


    1. dekeyro
      29.03.2026 14:10

      Простите, а почему? их все-все банят ?


      1. SaintMortum
        29.03.2026 14:10

        Блокируют. Если и не "все-все", но это не наша заслуга, а их недоработка. У меня и стандартный wireguard на роутере до сих пор чудом работает, но советовать то что отвалится в любой момент не стал бы.

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


  1. Mad_gulls
    29.03.2026 14:10

    А сейчас мы разберем как успеть забронировать слот на вечер пятницы и минимизировать непрятные ощущения от черенка.


  1. larkess
    29.03.2026 14:10

    Опять ни слова не понятно, кроме слова "чиним". Дальше начались неведомые слова и строчки, которые не понятно, куда писать нужно.

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

    КАкието убунты, соксы, боже. Не все в этом мире айтишники.

    есть и другие профессии..


    1. FirExpl
      29.03.2026 14:10

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

      Можно, гуглите "Амнезия КВН". Правда про убунты и там немного придётся почитать


      1. v_chaser
        29.03.2026 14:10

        Так не работает же уже. Vless наше всё


    1. Devastator82
      29.03.2026 14:10

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


  1. Anton_lah
    29.03.2026 14:10

    Это все круто и долгосрочно - да, но я использовал старый добрый stunnel, когда мне быстро надо было пробросить openai порт
    [https]
    accept  = <port_number>
    connect = api.openai.com:443
    TIMEOUTclose = 0