← Все статьи
Полезные статьи

Свой прокси-сервер на VPS

Как поднять личный HTTP и SOCKS5 прокси на своём сервере через 3proxy: авторизация по логину, несколько пользователей, логи и отличие прокси от VPN.

Готовые прокси продают пачками, но у них общая беда: один и тот же адрес используют десятки людей одновременно. Его успели засветить где угодно, и сервисы относятся к нему соответственно — капчи, блокировки, отказы в доступе.

Свой прокси на своём сервере решает это тем, что адресом пользуетесь только вы. Плюс вы точно знаете, что происходит с трафиком — никто его не логирует и не перепродаёт.

Настройка занимает пятнадцать минут.

Зачем нужен личный прокси

Статический IP для работы с API. Многие сервисы привязывают ключи к конкретному адресу. Домашний интернет с динамическим IP для этого не годится, а адрес сервера не меняется.

Парсинг и автоматизация. Скрипт, ходящий с постоянного «чистого» адреса, вызывает куда меньше подозрений, чем запросы с общих прокси.

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

Проверка геозависимой выдачи. Посмотреть, как сайт, реклама или цены выглядят из другой страны.

Работа в публичных сетях. В кафе или аэропорту трафик до прокси идёт по защищённому каналу, а не открытым текстом.

Прокси или VPN — что выбрать

Их часто путают, хотя задачи разные.

Прокси VPN
Что перенаправляет конкретное приложение весь трафик устройства
Настройка в браузере или скрипте на уровне системы
Шифрование зависит от протокола всегда
Расход ресурсов минимальный выше
Удобно для скриптов, отдельных программ всего устройства целиком

Прокси удобнее, когда через него должно ходить одно приложение: браузер, парсер, конкретный скрипт. Остальной трафик идёт напрямую.

VPN удобнее, когда нужно перенаправить всё устройство разом. Как его поднять — разбирали отдельно: Как поднять свой VPN на VPS.

Ничто не мешает держать на одном сервере и то, и другое.

Что понадобится

Прокси почти не потребляет ресурсов — тарифа «Старт» (1 ядро, 2 ГБ, 5 €) хватает с большим запасом даже на несколько пользователей. Основной расход — трафик.

Перед настройкой пройдите базовую защиту сервера: 7 шагов безопасности.

Шаг 1. Установить 3proxy

3proxy — лёгкий сервер, умеющий сразу HTTP и SOCKS5, с авторизацией и ограничениями доступа. Занимает считанные мегабайты памяти.

apt update && apt install build-essential git -y
cd /opt
git clone https://github.com/z3APA3A/3proxy.git
cd 3proxy
make -f Makefile.Linux

Сборка занимает пару минут. Установим бинарные файлы:

mkdir -p /usr/local/3proxy/bin /usr/local/3proxy/logs
cp bin/3proxy /usr/local/3proxy/bin/
chmod +x /usr/local/3proxy/bin/3proxy

Шаг 2. Настроить

nano /usr/local/3proxy/3proxy.cfg
# служебные настройки
nserver 1.1.1.1
nserver 8.8.8.8
nscache 65536
timeouts 1 5 30 60 180 1800 15 60

# не работать от root после запуска
setgid 65534
setuid 65534

# логи с ежедневной ротацией, хранить 30 дней
log /usr/local/3proxy/logs/3proxy.log D
rotate 30

# пользователи: логин:CL:пароль
users user1:CL:длинный_пароль_1
users user2:CL:длинный_пароль_2

# только авторизованным
auth strong

# HTTP-прокси на порту 3128
proxy -n -a -p3128

# SOCKS5-прокси на порту 1080
socks -p1080

Ключевые строки:

  • auth strong — без логина и пароля никто не подключится. Это обязательно. Прокси без авторизации находят сканерами за несколько часов, и дальше через него пойдёт чужой трафик — от спама до вещей похуже, а отвечать за адрес будете вы.
  • setuid 65534 — после запуска процесс сбрасывает права root
  • rotate 30 — логи не разрастутся бесконечно

Закройте файл от посторонних: в нём пароли.

chmod 600 /usr/local/3proxy/3proxy.cfg

Шаг 3. Автозапуск через systemd

nano /etc/systemd/system/3proxy.service
[Unit]
Description=3proxy Proxy Server
After=network.target

[Service]
ExecStart=/usr/local/3proxy/bin/3proxy /usr/local/3proxy/3proxy.cfg
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now 3proxy
systemctl status 3proxy

Строка active (running) означает, что прокси работает и поднимется после перезагрузки сервера.

Шаг 4. Открыть порты

ufw allow 3128/tcp
ufw allow 1080/tcp

Если работаете с одного постоянного адреса — надёжнее открыть порты только для него:

ufw allow from ВАШ_ДОМАШНИЙ_IP to any port 3128
ufw allow from ВАШ_ДОМАШНИЙ_IP to any port 1080

Тогда даже подобранный пароль не даст доступа с чужого адреса.

Шаг 5. Проверить

С вашего компьютера:

curl -x http://user1:пароль@IP_СЕРВЕРА:3128 https://api.ipify.org

В ответе должен быть IP вашего сервера, а не ваш домашний. Проверка SOCKS5:

curl -x socks5://user1:пароль@IP_СЕРВЕРА:1080 https://api.ipify.org

Как подключаться

В браузере. Штатные настройки прокси в Windows и macOS применяются ко всей системе. Удобнее поставить расширение вроде FoxyProxy — оно позволяет включать прокси только для нужных сайтов и переключать профили в один клик.

В Python:

import requests

proxies = {
    "http": "http://user1:пароль@IP:3128",
    "https": "http://user1:пароль@IP:3128",
}
r = requests.get("https://api.ipify.org", proxies=proxies)
print(r.text)

В Node.js — через https-proxy-agent, в остальных языках есть аналогичные библиотеки.

На телефоне. Android и iOS поддерживают прокси в настройках Wi-Fi, но только для конкретной сети. Для мобильного интернета прокси в настройках нет — там удобнее VPN.

В консоли:

export http_proxy="http://user1:пароль@IP:3128"
export https_proxy="$http_proxy"

Несколько пользователей

Каждому — свой логин, это позволяет разграничить доступ и видеть в логах, кто что делал:

users ivan:CL:пароль1
users maria:CL:пароль2
users script:CL:пароль3

Можно ограничить конкретного пользователя списком разрешённых сайтов:

allow script * * *.example.com
deny script

Первая строка разрешает пользователю script ходить только на example.com, вторая запрещает всё остальное. Порядок правил важен: они применяются сверху вниз, и первое подошедшее выигрывает.

Скрыть пароли в открытом виде можно, заменив CL на хеш:

/usr/local/3proxy/bin/3proxy -c

Что смотреть в логах

tail -f /usr/local/3proxy/logs/3proxy.log

Каждая строка — время, пользователь, адрес назначения и объём переданных данных. Это полезно в двух случаях: понять, кто расходует трафик, и заметить чужие попытки подключения.

Если в логах появились неизвестные логины или подключения с незнакомых адресов — меняйте пароли и закрывайте порты по IP.

Про трафик

Прокси пропускает через сервер весь ваш трафик, и при активном использовании это сотни гигабайт в месяц. На наших тарифах канал 2.5 Гбит/с, так что упор будет не в скорость, а в объём — следите за расходом, если гоняете через прокси видео или большие файлы.

Частые вопросы

Насколько упадёт скорость? Трафик идёт через сервер, поэтому добавляется задержка до него. При европейском размещении это обычно 20–40 мс — для работы незаметно.

Можно ли поднять прокси и VPN на одном сервере? Да, они не конфликтуют: разные порты, разные службы. Ресурсов тоже хватает с избытком.

Чем HTTP отличается от SOCKS5? HTTP-прокси понимает только веб-трафик. SOCKS5 работает на уровне соединений и пропускает любой протокол — почту, игры, торренты. Для браузера разницы почти нет, для остального лучше SOCKS5.

Как часто менять пароли? Разумно — раз в несколько месяцев, и обязательно сразу, если пароль куда-то передавался или мог утечь.

Прокси подходит для парсинга? Для аккуратного — да, у вас постоянный «чистый» адрес. Для массового — нужен пул адресов, один прокси быстро упрётся в лимиты сервиса.

Сколько человек потянет один сервер? На тарифе «Старт» — небольшая команда. Упираться будете не в процессор, а в канал и объём трафика.

Итог

Свой прокси — это пятнадцать минут настройки и 5 € в месяц за адрес, которым пользуетесь только вы. Он решает вопрос статического IP для API, даёт команде единую точку выхода и не оставляет ваш трафик в чужих логах.

Одно правило, которое не стоит нарушать: auth strong и никаких открытых портов без авторизации. Прокси без пароля находят за считанные часы, и последствия будут вашими.

Взять сервер под прокси за 5 € →

Команда Puws.Cloud
Puws.Cloud
Начать

СЕРВЕР ДЛЯ ВАШЕГО ПРОЕКТА

Начните
с тарифа.

ПОЛЕЗНОЕ О СЕРВЕРАХИнструкции
и советы.
Открыть блог
Наш Аптайм