Прокси, который работает стабильно и быстро, позволяет настроить, какие сайты открывать напрямую, а какие — через шифрование. Нужно чтобы ускорять загрузку сайтов, экономить трафик, проверять, как работают сайты в разных странах, и просто управлять соединением под свои задачи.
В статье Как легко создать свой VPN для YouTube в 4K мы разобрали, как быстро установить VPN на свой сервер. Теперь добавим к нему HTTP и/или SOCKS5-прокси на том же сервере. Это удобно, если вы хотите использовать разные типы подключения и ускорить доступ к нужным ресурсам без необходимости переключения на ВПН.
В период массовых ограничений ip вашего сервера может попасть под запрет без причины и сервис работать не будет. Настройка защиты данных через тоннель является сложной операцией, особенно для новичка и может потребовать аренды домена. Простейшим способом решения проблемы будет аренда прокси (140р)
Что такое прокси и зачем он нужен?
Прокси-сервер — это посредник между вами и интернетом. Он принимает ваши запросы, отправляет их от своего имени и возвращает вам ответ. Это позволяет:
– сохранять анонимность,
– управлять доступом к разным ресурсам,
– фильтровать и направлять трафик по заданным правилам,
– в некоторых случаях ускорять загрузку за счёт кеша.
HTTP-прокси работает с веб-трафиком (браузеры, программы), а SOCKS5 более универсален и подходит даже для торрентов или игр.
Что потребуется для настройки
- Следовать подробной и простой инструкции
Аренда сервера
Если сервер уже арендован и даже если на нем уже настроен ВПН пропускаем шаг с арендой и переходим сразу к подключению.
Для своего скоростного VPN и Proxy соединения потребуется арендовать сервер. Я буду показывать на примере Aeza, потому что там есть возможность оплаты через СБП не привязывая карты.
Регистрируемся на сайте через почту и подтверждаем аккаунт.
После регистрации и подтверждения почты можно приступить к аренде сервера. Нажимаем "Виртуальный сервер" (первый пункт меню слева), здесь нужно выбрать необходимые параметры.
Название: роли не играет и генерируется автоматически
Выбор локации: чем ближе находится сервер, тем быстрее будет скорость, за исключением серверов, находящихся в России, по понятным причинам. Хорошо подойдут Франкфурт, Париж, Амстердам. Скорость должна быть не менее, чем (до 1 Гбит/с)
Выбор тарифа: для наших целей не требуется большой вычислительной мощности и большого объема памяти, поэтому выбираем самый простой доступный сервер, который подходит по минимальным требованиям, 2 гигабайта оперативной памяти и 30 постоянной. Скорость соединения в данном случае играет важную роль, необходимо брать не менее 1Гбит/с, здесь подходят практически все, кроме Стокгольма.
Выбор операционной системы: выбираем Ubuntu 24.04, именно на ней и буду показывать
Выбор периода оплаты: для теста можно взять даже на 1 час или оплатить на месяц, 3, 6 и год, чем дольше, тем выгоднее.
Бэкапы: они на впн и прокси сервере не нужны, убираем галочку
Защита от DDoS-атак: тоже не потребуется
Параметры выбраны, теперь убираем галочку с автопродления и нажимаем "оплатить". Здесь можно выбрать удобный способ оплаты, в том числе СБП по QR коду.
После оплаты в течении некоторого времени сервер запустится и на почту придут данные для авторизации на сервере, так же они будут продублированы во вкладке "мои услуги" (в меню слева), где и можно будет проверить статус сервера.
Подключение к серверу
Чтобы настроить сервер и установить на него все необходимые библиотеки необходимо подключиться к нему через терминал (командную строку). На macOS есть встроенный, который можно найти по названию "терминал", а для windows будем использовать программу Putty.
Скачиваем putty с официального сайта и устанавливаем. После установки переходим в папку с установленной программой. Среди файлов будет нужный нам PuTTY — его и запускаем. В открывшемся окне вводим IP-адрес сервера.
Открываем вкладку Connection в левом меню и в поле Seconds between keepalives указываем значение от 20 до 50 - это поможет поддерживать стабильное соединение с сервером, предотвращая обрыв по таймауту.
Запускаем терминал кнопкой open
Откроется командная строка, которая запросит логин и пароль СЕРВЕРА, которые можно найти в письме на почте или в личном кабинете Aeza во вкладке "мои услуги", нажав на свой сервер.
Копируем логин и вставляем в командную строку правой кнопкой мыши, жмем enter. Так же копируем пароль и тоже вставляем его правой кнопкой мыши, но он не будет отображаться, однако пароль вставится, жмем enter.
Если авторизация прошла успешно, то в командной строке мы увидим следующее:
Это значит что можно переходить к настройке прокси.
Шаг 1. Обновление системы и установка инструментов
Используя готовые команды, которые нужно скопировать и вставить в командную строку правой кнопкой мыши обновим систему и установим нужные утилиты:
Обновляет систему до последних версий (флаг -y автоматически подтверждает установку).
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential wget tar make gcc libssl-dev
Это займет некоторое время, дождитесь полной установки, пока сервер не будет готов принимать запросы.
Устанавливает нужные утилиты:
- build-essential — набор инструментов для компиляции C/C++ программ,
- wget — загрузка файлов по URL,
- tar, unzip — распаковка архивов,
- make — сборка программ из исходников.
Эти пакеты нужны для скачивания, распаковки и компиляции программы 3proxy.
Шаг 2. Скачивание и установка 3proxy
3proxy — лёгкий и быстрый прокси-сервер с поддержкой HTTP, SOCKS5 и авторизации, поддерживающий несколько пользователей, поэтому будем использовать его. Мы используем установку из исходников, потому что в официальных репозиториях Ubuntu 24.04 3proxy может отсутствовать или быть устаревшим, а так же работать нестабильно.
Сервер дает возможность выполнять сразу несколько команд, поэтому можно скопировать целиком и вставить в консоль, после чего 3proxy установится.
cd /opt
sudo wget https://github.com/3proxy/3proxy/archive/refs/tags/0.8.13.tar.gz
sudo tar -xvzf 0.8.13.tar.gz
cd 3proxy-0.8.13
sudo make -f Makefile.Linux
sudo cp src/3proxy /usr/bin/
Здесь сервер:
- Переходит в рабочую директорию, где будут храниться файлы программы.
- Скачивает стабильную версию 3proxy с GitHub.
- Распаковывает архив с исходным кодом.
- Переходит в директорию с распакованными исходниками.
- Собирает 3proxy с помощью Makefile для Linux.
- Копирует скомпилированный бинарный файл 3proxy в каталог /usr/bin/, чтобы он был доступен для запуска с командной строки.
Шаг 3. Создание конфигурации прокси-сервера
Создаём папку для конфигураций 3proxy с правами суперпользователя, создаем/открываем и редактируем конфигурационный файл 3proxy.cfg
sudo mkdir /etc/3proxy
sudo nano /etc/3proxy/3proxy.cfg
В открывшемся редакторе вставляем код конфигурации правой кнопкой мыши, предварительно изменив myproxy на придуманный логин, а password на придуманный пароль. Если нужно добавить еще пользователей, то это делается на данном этапе.
maxconn 100
auth strong
users myproxy:CL:password
allow myproxy
# HTTP-прокси (3128)
proxy -p3128 -a
# SOCKS5 (1080)
socks -p1080 -a
flush
Вставляем конфигурацию в файл
Чтобы сохранить изменения в файле:
Ctrl + O – появится строка File Name to Write.
Enter – файл сохранится.
Ctrl + X, чтобы выйти из редактора.
Что здесь происходит:
- maxconn 100 — ограничение до 100 одновременных соединений
- auth strong — включена авторизация по имени и паролю
- users myproxy:CL:password — создаёт пользователя myproxy с паролем password (
можнонужно поменять) - allow myproxy — разрешает доступ только этому пользователю, если меняете имя пользователя в users, то и здесь нужно поменять на соответствующее.
- proxy -p3128 — запускает HTTP-прокси на порту 3128
- socks -p1080 — запускает SOCKS5-прокси на порту 1080
- flush — завершает конфигурацию и применяет правила
Чтобы добавить еще пользователя нужно прописать его в файле конфигурации, а именно в строке users и allow. Например добавим второго и третьего пользователя и эти строки будут выглядеть так:
users myproxy:CL:password, user2:CL:parol, tretiy:CL:pass
allow myproxy, user2, tretiy
Если у вас уже настроен Outline VPN на этом сервере (на базе Shadowsocks) конфликтов не будет, по умолчанию он использует порт 8388, но если порты заняты используйте другие, изменив их в файле конфигурации.
Если нужно проверить занятые порты, вводим команду "sudo ss -tuln", она покажет все порты, которые используются в данный момент и на которых есть активность сейчас. 1024–49151 — пользовательские (подходят для прокси). Чтобы проверить конкретный порт можно использовать следующую команду "sudo lsof -i :3128", если он свободен, то сервер не даст ответа.
Шаг 4. Настройка автозапуска
Чтобы ваш прокси-сервер запускался автоматически после перезагрузки, создадим для него отдельный systemd-сервис.
Создаём/открываем сервисный файл
sudo nano /etc/systemd/system/3proxy.service
В открывшемся редакторе вставьте следующий код:
[Unit]
Description=3Proxy Proxy Server
After=network.target
StartLimitIntervalSec=30
[Service]
Type=simple
ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg
Restart=on-failure
RestartSec=5
User=root
PIDFile=/var/run/3proxy.pid
TimeoutStartSec=10
[Install]
WantedBy=multi-user.target
Чтобы сохранить изменения в файле:
- Ctrl + O – появится строка File Name to Write.
- Enter – файл сохранится.
- Ctrl + X, чтобы выйти из редактора.
Что делает этот файл:
- Description — краткое описание сервиса
- After=network.target — запускается только после включения сети
- ExecStart — команда запуска прокси с конфигурацией
- Restart=on-failure — перезапуск при ошибках
- WantedBy=multi-user.target — запускается на этапе многопользовательской загрузки
Далее необходимо запустить прокси и установить автозапуск
sudo systemctl daemon-reload
sudo systemctl enable 3proxy
sudo systemctl start 3proxy
- обновляем конфигурации systemd
- включаем автозапуск
- запускаем прокси
Теперь он будет работать постоянно, даже если сервер перезагрузится
Проверяем статус
systemctl status 3proxy
Если всё настроено правильно — увидите статус active (running).
Чтобы сервер снова начал принимать команды нажмите CTRL+C
Шаг 6. Открытие портов
Чтобы внешние устройства могли подключиться к нашему прокси откроем порты файрвола.
sudo ufw allow 3128/tcp
sudo ufw allow 1080/tcp
sudo ufw allow 22/tcp
При необходимости можно включить файрвол, он повысит безопасность сервера, но необходимо сразу открыть 22 порт, который дает доступ к серверу посредством командной строки чтобы не потерять связь. Если случайно закрыли порт можно подключиться через сайт на странице информации о сервере, выбрав в меню сверху вкладку VNC.
sudo ufw enable
Шаг 7. Проверка работы прокси
Чтобы убедиться в работоспособности сервера выполните:
curl -x http://myproxy:password@(ip сервера):3128 http://example.com
Где нужно подставить свой логин (myproxy), пароль (password), ip адрес сервера (ip сервера) и порт как в файле конфигурации. (@ оставить)
Для SOCKS5:
curl --socks5 myproxy:password@(ip сервера):1080 http://example.com
Если вы видите содержимое сайта — всё работает!
Отлично! сервер настроен и готов работать, но как подключиться по свои данным? Есть множество программ и расширений как для компьютера, так и для смартфона, которые позволят использовать новый прокси на 100 процентов. Для использования прокси на каждой вкладке отдельно я использую Proxy SwitchyOmega для хрома
Заключение
Теперь у вас есть и VPN, и собственный прокси на одном сервере. Это даёт гибкость, приватность и контроль. Можно использовать их по отдельности или вместе — всё зависит от ваших задач.
Не забудьте записать пароль и логин.