3proxy – лёгкий прокси-сервер, который умеет работать как HTTP(S)-прокси и как SOCKS5-прокси. На своём VPS вы получаете прокси, которыми пользуетесь только вы, с выходом в интернет через IP-адрес сервера.
Ниже два способа.
Первый – готовый скрипт 3proxy Manager, который всё ставит и настраивает сам.
Второй – ручная установка, если хотите разобраться в настройках.
Способ 1. Установка скриптом 3proxy Manager
Скрипт поддерживает Debian 11 и новее, Ubuntu 20.04 и новее, AlmaLinux, Rocky Linux и CentOS Stream 8 и новее. Его исходный код открыт и лежит на GitHub.
Шаг 1. Установите 3proxy
Подключитесь к серверу по SSH под пользователем root, скачайте скрипт и запустите его.
cd /root && curl -fsSL -o 3proxy.sh https://raw.githubusercontent.com/f3cloud-host/3Proxy/main/3proxy.sh && chmod +x 3proxy.sh
/root/3proxy.shВведите 1 и нажмите Enter. Скрипт задаст четыре вопроса:
- Включить HTTP/S-прокси? Ответьте
y, если он нужен, илиn, если нет. - Порт HTTP/S-прокси, по умолчанию 3128.
- Включить SOCKS5-прокси? Так же ответьте
yилиn. - Порт SOCKS5-прокси, по умолчанию 1080.
Чтобы оставить настройки по умолчанию, просто четыре раза нажмите Enter. Дальше скрипт сам скачает и соберёт 3proxy, на это уходит около полуминуты.
Порты у HTTP(S) и SOCKS5 должны быть разными
Скрипт не даст выбрать один порт для обоих прокси, а также порт, который уже занят другой программой. Если на сервере включён брандмауэр ufw или firewalld, выбранные порты откроются в нём автоматически.
Сразу после установки скрипт попросит создать первого пользователя. Введите логин, затем пароль. Если вместо пароля нажать Enter, скрипт придумает надёжный пароль сам.

3proxy установлен, первый пользователь создан
В конце появятся готовые данные для подключения, по строке на каждый прокси. Прокси начинают работать сразу.
Шаг 2. Добавьте пользователей
Каждому, кому вы даёте доступ, лучше завести своего пользователя. Так любого из них можно отключить, не трогая остальных.
Запустите скрипт ещё раз командой /root/3proxy.sh. Теперь он покажет меню управления.
| Пункт | Что делает |
|---|---|
1 Добавить пользователя | Создаёт нового пользователя прокси |
2 Удалить пользователя | Удаляет пользователя, его доступ пропадает сразу |
3 Список пользователей | Показывает всех пользователей и их пароли |
4 Удалить 3proxy | Полностью удаляет 3proxy с сервера |
5 Выход | Закрывает меню |
Введите 1, затем логин и пароль нового пользователя.

Новый пользователь с паролем, который придумал скрипт
Шаг 3. Посмотрите список пользователей
Если забыли логин или пароль, запустите /root/3proxy.sh и введите 3.

Список пользователей с паролями
Как подключиться к прокси
Данные для подключения выглядят так:
http://IP:порт:логин:парольдля HTTP(S)-прокси;socks5://IP:порт:логин:парольдля SOCKS5-прокси.
В строке по порядку указаны тип прокси, IP-адрес сервера, порт, логин и пароль. Если программа просит заполнить поля по отдельности, перенесите их из этой строки.
Проверить, что прокси работает, можно прямо с домашнего компьютера. Команда должна вывести IP-адрес вашего сервера.
# Подставьте IP-адрес сервера, логин и пароль
curl -x http://IP-сервера:3128 --proxy-user логин:пароль https://api.ipify.orgПрокси не подключается
Проверьте, что служба запущена, командой systemctl status 3proxy, в строке Active должно быть active (running). Если вы включали брандмауэр уже после установки 3proxy, откройте в нём порты прокси, например ufw allow 3128/tcp.
Ошибка 407 или неверный логин и пароль
Прокси отвечает, но не принимает логин или пароль. Сверьте их со списком пользователей в пункте 3 меню скрипта. Логин и пароль чувствительны к регистру.
Как сменить порт
Проще всего удалить 3proxy пунктом 4 меню и установить заново с новыми портами. Пользователей после этого нужно будет создать заново.
Способ 2. Ручная установка и настройка 3proxy
Этот способ повторяет то, что делает скрипт, только каждый шаг вы выполняете сами. Команды ниже для Debian и Ubuntu.
Шаг 1. Соберите 3proxy
# Устанавливаем инструменты для сборки
apt update && apt install -y build-essential curl
# Скачиваем исходники 3proxy и проверяем контрольную сумму архива
cd /root
curl -fsSL -o 3proxy-0.9.9.1.tar.gz https://github.com/3proxy/3proxy/releases/download/0.9.9.1/3proxy-0.9.9.1.tar.gz
echo "13711040af096f09d5202b0cb516ec08db7c08130ed21719063d2e570215fb34 3proxy-0.9.9.1.tar.gz" | sha256sum -c
# Собираем и устанавливаем программу
tar xzf 3proxy-0.9.9.1.tar.gz
cd 3proxy-0.9.9.1
make -f Makefile.Linux
install -m 755 bin/3proxy /usr/local/bin/3proxyЕсли проверка суммы вывела 3proxy-0.9.9.1.tar.gz: OK, архив скачался без повреждений. Сборка занимает меньше минуты.
На AlmaLinux и CentOS другая первая команда
На AlmaLinux и CentOS вместо apt установите инструменты командой dnf install -y gcc make tar curl. Остальные шаги такие же.
Мы используем версию 0.9.9.1 из ветки LTS, в которую выходят только исправления ошибок. Посмотреть, не вышло ли обновление, можно на странице релизов 3proxy.
Шаг 2. Создайте пользователя для прокси
Чтобы прокси не работал с правами root, заведите для него отдельного системного пользователя без возможности входа.
useradd --system --no-create-home --shell /usr/sbin/nologin proxy3Шаг 3. Создайте файл настроек
Скопируйте команду целиком и выполните её. Она сама подставит номер пользователя proxy3 в настройки.
mkdir -p /etc/3proxy
cat > /etc/3proxy/3proxy.cfg <<EOF
nserver 1.1.1.1
nserver 8.8.8.8
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
users \$/etc/3proxy/passwd
setgid $(id -g proxy3)
setuid $(id -u proxy3)
auth strong
allow *
proxy -n -a -p3128
socks -p1080
EOFЧто означают строки:
| Строка | Что делает |
|---|---|
nserver | DNS-серверы, через которые прокси находит адреса сайтов |
users $/etc/3proxy/passwd | Берёт логины и пароли из файла /etc/3proxy/passwd |
setgid и setuid | После запуска прокси работает от пользователя proxy3 |
auth strong | Пускает только по логину и паролю |
proxy -n -a -p3128 | HTTP(S)-прокси на порту 3128 |
socks -p1080 | SOCKS5-прокси на порту 1080 |
Если один из прокси не нужен, удалите его строку перед выполнением команды. Порты можно заменить на любые свободные, но у двух прокси они должны быть разными.
Шаг 4. Добавьте пользователей
Каждый пользователь записывается отдельной строкой в формате логин:CL:пароль. Замените puser1 и p@ssw0rd на свои значения.
cat > /etc/3proxy/passwd <<'EOF'
puser1:CL:p@ssw0rd
EOF
# Закрываем файлы с паролями от других пользователей сервера
chmod 600 /etc/3proxy/passwd /etc/3proxy/3proxy.cfgЧтобы добавить пользователей позже, откройте файл командой nano /etc/3proxy/passwd, допишите строки, сохраните сочетанием Ctrl + O, выйдите через Ctrl + X и перезапустите прокси командой systemctl restart 3proxy.
Файл с пользователями не должен быть пустым
Если в /etc/3proxy/passwd нет ни одной строки, 3proxy не запустится. Оставьте в нём хотя бы одного пользователя.
Шаг 5. Запустите прокси как службу
Служба нужна, чтобы прокси работал в фоне и сам запускался после перезагрузки сервера.
cat > /etc/systemd/system/3proxy.service <<'EOF'
[Unit]
Description=3proxy proxy server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/local/bin/3proxy /etc/3proxy/3proxy.cfg
Restart=on-failure
RestartSec=3
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now 3proxyПроверьте, что служба работает, командой systemctl status 3proxy. В строке Active должно быть active (running). Если на сервере включён брандмауэр, откройте в нём порты прокси, например ufw allow 3128/tcp и ufw allow 1080/tcp.
Шаг 6. Подключитесь и уберите установочные файлы
Данные для подключения складываются из IP-адреса сервера, порта, логина и пароля.
http://IP-сервера:3128:puser1:p@ssw0rd
socks5://IP-сервера:1080:puser1:p@ssw0rdПроверить прокси можно той же командой curl, что и в первом способе. Когда всё работает, удалите исходники, они больше не нужны.
rm -rf /root/3proxy-0.9.9.1 /root/3proxy-0.9.9.1.tar.gzНаши ресурсы
Telegram-канал: https://t.me/f3cloud_news
F3 Cloud: https://f3cloud.com