RuProxy — Инструкция пользователя
Версия документа: 1.2
Актуальная версия ПО: 1.7.1
Официальный сайт: https://ru-proxy.ru
Поддержка: support@ru-proxy.ru · Telegram
Оглавление
- Описание продукта
- Системные требования
- Установка
- Первоначальная настройка
- Конфигурация (config.yaml)
- 5.1 Лицензия
- 5.2 Сетевые параметры
- 5.3 Маскировка ОС (OS Fingerprinting)
- 5.4 IPv6 подсети и ротация
- 5.5 API и управление пользователями
- 5.6 DNS-резолвер
- 5.7 Ограничение скорости (Traffic Shaping)
- 5.8 Тайм-ауты
- 5.9 Сервисный аккаунт
- 5.10 Чёрный список (Blacklist)
- 5.11 Логирование - HTTP API
- Web-Дашборд
- Управление службой
- Логирование и мониторинг
- Командная строка (CLI)
- Диагностика и устранение неполадок
- FAQ
- История изменений
1. Описание продукта
RuProxy — высокопроизводительный SOCKS5(h) / HTTP CONNECT IPv6 прокси-сервер, написанный на Rust. Предназначен для развёртывания на собственном выделенном или виртуальном сервере (VPS) и выступает в роли шлюза: принимает входящие подключения по IPv4, авторизует их и маршрутизирует трафик через настроенные IPv6 подсети.
Ключевые возможности
| Функция | Описание |
|---|---|
| SOCKS5 / SOCKS5h | Полная поддержка протокола, включая Remote DNS (предотвращение DNS-утечек) |
| HTTP CONNECT | Поддержка HTTP(S) прокси-режима через метод CONNECT (для браузеров, curl, системных настроек) |
| Hybrid Mode | Автоматическое определение протокола (SOCKS5/HTTP) на одном порту |
| UDP / QUIC | Полноценное проксирование UDP-трафика, включая протокол QUIC (HTTP/3) |
| Мультисеть | Подключение нескольких IPv6 подсетей с балансировкой по весам |
| Ленивая ротация | Смена IP только при новой авторизации — активные сессии не разрываются |
| Smart DNS Failover | Встроенный резолвер с балансировкой и автопереключением на резервные DNS |
| OS Fingerprinting (p0f) | Маскировка TCP/IP отпечатка под различные ОС (Linux, Android, Windows, iOS, macOS) |
| Traffic Shaping | Ограничение общей пропускной способности с поддержкой burst |
| HTTP(S) API | Мгновенная генерация учётных записей, статистика, управление через REST API |
| IP Whitelist | Управление списком разрешённых IP и подсетей прямо из дашборда, с защитой системных записей |
| Web-Дашборд | Встроенная панель мониторинга с графиками трафика, аналитикой соединений и поддержкой тем оформления |
| Чёрный список | Блокировка доменов и IP-адресов через файл blacklist.txt |
| Сервисный аккаунт | Специальный аккаунт для чекеров/мониторинга с ограниченным доступом |
Как это работает
Ваше ПО RuProxy Server IPv6 подсети Интернет
(SOCKS5h/HTTP) → Auth • DNS • Shaping → Subnet A (w:100) → Target
Subnet B (w:50)
2. Системные требования
| Параметр | Минимум | Рекомендуется |
|---|---|---|
| ОС | Debian 12 (Bookworm) x64 | Debian 12 (Bookworm) x64 |
| CPU | 1 ядро | 2+ ядра |
| RAM | 512 МБ | 1+ ГБ (зависит от max_accounts) |
| IPv6 | /64 подсеть | /48 или /32 подсеть |
| Права | root (для установки) | Служба запускается от пользователя ruproxy |
6.1.162-ruproxy-p0f. Без него все остальные функции будут работать в обычном режиме.3. Установка
3.1. Автоматическая установка (рекомендуется)
Запустите от имени root:
curl -fsSL https://ru-proxy.ru/downloads/install.sh | bash
Скрипт автоматически:
1. Скачает и установит кастомное ядро Linux с патчем p0f
2. Настроит загрузчик GRUB на приоритетную загрузку нового ядра
3. Скачает и установит пакет RuProxy
4. Создаст системного пользователя ruproxy
5. Настроит systemd-сервис
6. Предложит перезагрузить сервер
3.2. Ручная установка
- Скачайте .deb-пакет со страницы загрузки
- Установите пакет:
dpkg -i ruproxy_*.deb
# При ошибках зависимостей:
apt-get install -f -y
- (Опционально) Установите кастомное ядро для p0f:
dpkg -i linux-image-6.1.162-ruproxy-p0f_amd64.deb
update-grub
3.3. Что создаётся при установке
| Путь | Назначение |
|---|---|
/usr/bin/ruproxy |
Исполняемый файл |
/etc/ruproxy/config.yaml |
Основной конфигурационный файл |
/etc/ruproxy/blacklist.txt |
Список заблокированных доменов/IP |
/etc/ruproxy/whitelist.txt |
Белый список разрешённых IP и подсетей |
/etc/rc.local |
Правила маршрутизации IPv6 (создаётся при установке, если отсутствует) |
/etc/sysctl.d/90-ruproxy.conf |
Настройки ядра (sysctl) |
/usr/lib/systemd/system/ruproxy.service |
Файл службы systemd |
/etc/logrotate.d/ruproxy |
Конфигурация ротации логов |
/var/log/ruproxy/ |
Каталог логов |
/var/lib/ruproxy/ |
Каталог данных (экспорт аккаунтов) |
4. Первоначальная настройка
После установки сервис не запускается автоматически. Необходимо выполнить следующие шаги:
Шаг 1. Отредактируйте конфигурацию
nano /etc/ruproxy/config.yaml
Обязательно заполните:
- license_key — ваш лицензионный ключ (получить в Telegram)
- public_ip — внешний IPv4 адрес вашего сервера
- ipv6_subnets — ваши IPv6 подсети
- master_token — секретный токен для API (замените на свой!)
Шаг 2. Настройте маршрутизацию IPv6
Отредактируйте файл /etc/rc.local и раскомментируйте строку маршрута:
nano /etc/rc.local
Замените шаблон на вашу реальную подсеть:
ip -6 route add local 2a01:xxxx::/32 dev lo
Шаг 3. Проверьте конфигурацию
ruproxy -t /etc/ruproxy/config.yaml
Должно вывести ✅ Syntax OK. с перечислением основных параметров.
Шаг 4. Перезагрузите сервер
reboot
Это необходимо для применения кастомного ядра и правил маршрутизации.
Шаг 5. Запустите сервис
systemctl start ruproxy
systemctl status ruproxy
5. Конфигурация (config.yaml)
Все настройки находятся в файле /etc/ruproxy/config.yaml. Для применения изменений необходимо перезапустить службу.
ruproxy -t.5.1. Лицензия
license_key: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
license_servers:
- "L1.license-server.ru:8000"
- "L2.license-server.ru:8000"
| Параметр | Описание |
|---|---|
license_key |
Обязательный. Лицензионный ключ, полученный при покупке |
license_servers |
Список серверов лицензирования. При недоступности одного — используется следующий |
ruproxy --ping [address:port], где address:port — значение из параметра license_servers в конфигурации.5.2. Сетевые параметры
listen_ip: "0.0.0.0"
public_ip: "123.45.67.89"
# ext_iface: "eth0" # Опционально
| Параметр | Описание | По умолчанию |
|---|---|---|
listen_ip |
Интерфейс для приёма входящих подключений | 0.0.0.0 (все интерфейсы) |
public_ip |
Обязательный. Публичный IPv4 адрес сервера (используется в API и генерации ссылок) | — |
ext_iface |
Внешний сетевой интерфейс для QoS. Если не указан — определяется автоматически | auto |
5.3. Маскировка ОС (OS Fingerprinting)
Секция listeners позволяет создать несколько портов, каждый с собственным профилем маскировки TCP/IP отпечатка. Антифрод-системы, анализирующие трафик утилитами типа p0f, увидят характерные для указанной ОС параметры.
Каждый listener поддерживает поле mode, определяющее протокол:
| Режим | Описание |
|---|---|
socks |
SOCKS5/SOCKS5h (по умолчанию) |
http |
HTTP CONNECT прокси (метод CONNECT с авторизацией Proxy-Authorization: Basic) |
hybrid |
Автодетект: SOCKS5 и HTTP на одном порту. Сервер определяет протокол по первому байту |
listeners:
- port: 1080
os_preset: "linux"
# mode: "socks" # По умолчанию, можно не указывать
- port: 1081
os_preset: "android"
mode: "hybrid" # Принимает и SOCKS5, и HTTP CONNECT
- port: 1082
os_preset: "windows"
mode: "http"
- port: 1083
os_preset: "ios"
mode: "socks"
- port: 1084
os_preset: "macos"
mode: "http"
hybrid — рекомендуемый. Один порт обслуживает оба протокола, не нужно открывать дополнительные порты. Определение протокола происходит мгновенно по первому байту.Доступные профили:
| Профиль | TTL | TCP MSS | Congestion Control | Описание |
|---|---|---|---|---|
linux |
64 | 1440 | cubic | Стандартный Linux сервер |
android |
64 | 1380 | bbr | Мобильный Android-клиент |
windows |
128 | 1440 | cubic | Windows-устройство |
ios |
64 | 1326 | cubic | iPhone / iPad |
macos |
64 | 1440 | cubic | macOS десктоп |
Тонкая настройка (только для опытных пользователей):
Каждый listener поддерживает ручную настройку сетевых параметров:
- port: 1081
os_preset: "android"
tcp_congestion: "bbr" # Алгоритм контроля перегрузок
tcp_window_size: 1048576 # Размер TCP окна (байт)
latency_base_ms: 60 # Базовая задержка (мс)
jitter_ms: 30 # Джиттер (разброс задержки, мс)
tos: 10 # Traffic Class (QoS-маркер)
5.4. IPv6 подсети и ротация
ipv6_subnets:
- cidr: "2a01:xxxx::/32"
weight: 427
- cidr: "2a02:yyyy:yyyy:yyyy::/64"
weight: 16
rotation_interval: 10
| Параметр | Описание |
|---|---|
cidr |
IPv6 подсеть в CIDR-нотации. Поддерживаются подсети любого размера (/29, /32, /48, /64 и т.д.) |
weight |
Вес подсети. Чем больше значение, тем чаще подсеть используется при генерации исходящих адресов |
rotation_interval |
Интервал ротации IP в минутах. 0 — ротация отключена (IP сохраняется до перезагрузки) |
Как работает ротация:
- IP-адрес привязан к паре логин/пароль (Sticky Session)
- При каждой авторизации проверяется, не истёк ли rotation_interval
- Если истёк — генерируется новый IPv6 из подсети (с учётом весов)
- Активные соединения НЕ разрываются — смена IP происходит только при новом подключении
- При простое сессии более 5 минут (настраиваемо через timeouts.idle) она закрывается
5.5. API и управление пользователями
api_port: 8080
api_port_https: 8443 # Опционально — HTTPS с самоподписным сертификатом
master_token: "my-secret-token"
max_accounts: 100000
accounts_file: "/var/lib/ruproxy/accounts_[port]_[os]_[mode].txt"
# account_seed: 123456789
| Параметр | Описание | По умолчанию |
|---|---|---|
api_port |
Порт HTTP API | 8080 |
api_port_https |
Порт HTTPS API (самоподписной сертификат, опционально) | — |
master_token |
Обязательный. Секретный токен для аутентификации запросов к API | — |
max_accounts |
Максимум генерируемых уникальных аккаунтов (каждый со своим IPv6) | 100000 |
accounts_file |
Путь для экспорта аккаунтов. Поддерживает шаблоны [port], [os] и [mode] |
accounts.txt |
account_seed |
Зерно генерации. При одинаковом seed логины/пароли будут идентичны после перезагрузки | случайный |
account_seed, если хотите, чтобы аккаунты оставались неизменными между перезапусками. Это полезно для интеграции с внешними системами — не нужно обновлять учётные данные.5.6. DNS-резолвер
dns:
timeout: 2
cache_size: 8000
suppress_aaaa_not_found: true
servers:
# Основные (с балансировкой)
- address: "[2001:4860:4860::8888]:53"
weight: 53
- address: "1.1.1.1:53"
weight: 7
# Резервные (failover)
- address: "[2001:4860:4860::8844]:53"
- address: "9.9.9.9:53"
| Параметр | Описание | По умолчанию |
|---|---|---|
timeout |
Тайм-аут DNS-запроса (секунд) | 2 |
cache_size |
Количество закешированных DNS-записей | 1024 |
suppress_aaaa_not_found |
Подавлять предупреждения о доменах без AAAA-записи | false |
Логика работы:
1. Запрос отправляется на один из основных серверов с весом (выбирается по weight — чем больше вес, тем чаще сервер используется). Основных серверов может быть несколько.
2. Если основной сервер не ответил (таймаут/ошибка) — запрос идёт в резервный пул. Резервных серверов также может быть несколько (указываются без параметра weight).
3. Если домен существует, но не имеет AAAA-записи — это не ошибка соединения, бэкап не используется
/etc/resolv.conf или их можно узнать в отделе поддержки провайдера. Провайдерские DNS обычно отвечают за 1–2 мс (против 10–50 мс у Google/Cloudflare).5.7. Ограничение скорости (Traffic Shaping)
shaping:
rate: 12500000 # 100 Мбит/с
burst: 25000000 # 200 Мбит/с (burst)
| Параметр | Описание |
|---|---|
rate |
Максимальная скорость в байтах/сек. 0 = без ограничения |
burst |
Размер «взрывного» буфера в байтах. Позволяет кратковременно превысить rate |
Шпаргалка:
| Скорость | Значение rate |
|---|---|
| 1 Мбит/с | 125 000 |
| 10 Мбит/с | 1 250 000 |
| 100 Мбит/с | 12 500 000 |
| 1 Гбит/с | 125 000 000 |
5.8. Тайм-ауты
timeouts:
shutdown: 10 # Ожидание завершения сессий при остановке (сек)
idle: 300 # Максимальное бездействие сессии (сек)
| Параметр | Описание | По умолчанию |
|---|---|---|
shutdown |
Время ожидания (сек) для завершения активных соединений при остановке/перезапуске сервиса | 15 |
idle |
Максимальное время неактивности TCP/UDP сессии, после которого она разрывается | 300 (5 мин) |
5.9. Сервисный аккаунт
service_account:
enabled: true
login: "checker"
password: "strong_password"
allowed_domain: "ifconfig.me"
Сервисный аккаунт предназначен для мониторинга и проверки работоспособности прокси. Особенности:
- Статический логин/пароль (не генерируется, не ротируется)
- Имеет доступ только к одному домену (allowed_domain)
- Не расходует лимиты ротации
- Не сменяет IP
allowed_domain: "ifconfig.me" и проверяйте исходящий IP командой curl --proxy socks5://checker:password@IP:PORT ifconfig.me.5.10. Чёрный список (Blacklist)
blocked_file: "/etc/ruproxy/blacklist.txt"
Файл содержит список заблокированных доменов и IP-адресов (по одному на строку). Комментарии начинаются с #.
# Блокировка рекламных доменов
doubleclick.net
ads.google.com
# Блокировка приватных IPv6 сетей
fc00::/7
fe80::/10
google.com, то mail.google.com и ads.google.com тоже будут недоступны.5.11. Логирование
log:
dir: "/var/log/ruproxy"
level: "info"
| Уровень | Описание |
|---|---|
error |
Только критические ошибки |
warn |
Ошибки и предупреждения |
info |
Основные события (подключения, DNS, ротация) — рекомендуется |
debug |
Детальная отладка (каждая сессия, каждый запрос DNS) |
Создаются два файла логов:
- ruproxy.log — полный лог (уровень задаётся параметром level)
- error.log — только ошибки (всегда)
6. HTTP API
API доступен по адресу http://YOUR_IP:PORT или https://YOUR_IP:PORT, где PORT задаётся параметрами api_port и api_port_https в конфигурации (8080 и 8443 по умолчанию).
Для аутентификации используется параметр token (значение из master_token).
6.1. Получение нового прокси — GET /allocate
Возвращает строку подключения с новой парой логин/пароль.
curl "http://YOUR_IP:8080/allocate?token=YOUR_TOKEN"
Ответ:
socks5://user_AbCdEfGh:KlMnOpQrSt@YOUR_IP:1080
Параметры запроса:
| Параметр | Описание | По умолчанию |
|---|---|---|
token |
Обязательный. Секретный master_token | — |
os |
Профиль маскировки ОС (linux, android, windows, ios, macos) |
linux |
mode |
Протокол: socks5 или http |
socks5 |
Примеры:
# SOCKS5 прокси с профилем Android
curl "http://YOUR_IP:8080/allocate?token=YOUR_TOKEN&os=android"
# Ответ: socks5://user_xxx:pass_xxx@YOUR_IP:1081
# HTTP прокси с профилем Android
curl "http://YOUR_IP:8080/allocate?token=YOUR_TOKEN&os=android&mode=http"
# Ответ: http://user_xxx:pass_xxx@YOUR_IP:1081
mode=http для listener'а с mode: socks API вернёт ошибку:
Error: http mode is not enabled for 'linux' profile (port 1080). Listener mode: sockshybrid оба варианта (mode=socks5 и mode=http) работают на одном порту.6.2. Статистика — GET /stats
Возвращает полную статистику сервера в JSON.
curl "http://YOUR_IP:8080/stats?token=YOUR_TOKEN"
Пример ответа:
{
"version": "1.7.1",
"uptime_seconds": 9980,
"active_connections": { "tcp": 56, "udp": 4 },
"traffic": {
"ingress_bytes": 264074969,
"egress_bytes": 35524983
},
"dns": { "total_queries": 18905 },
"events": {
"total_connections": 18963,
"connection_errors": 12,
"access_denied": 0,
"blocked_domains": 0
},
"license": {
"expires_at_unix": 1770484105,
"days_left": 29,
"servers": {
"L1": "online",
"L2": "online"
}
}
}
7. Web-Дашборд
Встроенный дашборд доступен по адресу:
http://YOUR_IP:8080/dashboard?token=YOUR_TOKEN
7.1. Мониторинг в реальном времени
Дашборд доступен по адресу http://YOUR_IP:PORT/dashboard?token=YOUR_TOKEN, где PORT задаётся параметром api_port в конфигурации. Поддерживается также HTTPS-режим через api_port_https.
Дашборд обновляется каждые 10 секунд и отображает:
- Аппаратные ресурсы — загрузка CPU (с указанием числа ядер) и использование RAM с прогресс-барами
- Сетевой трафик — суммарный Ingress/Egress в удобочитаемом формате (КБ/МБ/ГБ), количество всех и активных TCP/UDP соединений
- Лицензия и статус — оставшиеся дни и статус каждого сервера лицензирования (online/offline) в режиме реального времени
- Версия и аптайм — в шапке дашборда
7.2. Графики трафика
Два графика скорости (Rx/Tx в Мбит/с) с подписями средних значений:
- Почасовой — последние 60 минут с шагом 1 минута
- Суточный — последние 24 часа с шагом 1 час
7.3. Connection Analytics
Круговая диаграмма показывает разбивку всех соединений по категориям:
| Категория | Цвет | Описание |
|---|---|---|
| Success | зелёный | Успешно проксированные соединения |
| Auth Denied | жёлтый | Отклонённые по причине неверной авторизации |
| Conn Errors | фиолетовый | Сетевые ошибки при установке соединения |
| Blocked (DPI) | серый | Заблокированные по чёрному списку доменов |
| No IPv6 | синий | Домены без AAAA-записи (не поддерживают IPv6) |
| Firewall Blocks | красный | Отклонённые IP Whitelist'ом |
7.4. Управление IP Whitelist
Панель «IP Whitelist» позволяет управлять списком разрешённых IP-адресов и подсетей прямо из браузера, без перезапуска сервиса:
- Просмотр — отображает все записи с индикатором защищённости (🔒 — системная запись, недоступная для удаления)
- Добавление — поле ввода принимает отдельный IP или подсеть в CIDR-нотации (например, 192.168.1.0/24). Нажмите + Add Entry или Enter
- Удаление — кнопка «×» напротив каждой записи. Удаление 0.0.0.0/0 требует подтверждения во избежание случайной блокировки доступа
- Импорт из файла — кнопка «📁 Import» позволяет загрузить .txt-файл с перечнем IP/CIDR (по одному на строку, поддерживаются комментарии через #)
Список автоматически обновляется каждые 10 секунд — изменения, внесённые с другого устройства или администратором, отразятся без перезагрузки страницы.
0.0.0.0/0 разрешает подключения со всех IP-адресов. Если вы её удалите, доступ к прокси получат только адреса, явно перечисленные в списке. Убедитесь, что ваш IP добавлен, прежде чем это делать.7.5. Recent Blocks
Панель «🚨 Recent Blocks» отображает последние заблокированные соединения (до 10 записей) с IP-адресом и временем блокировки. Счётчик Total показывает суммарное число блокировок с момента последнего запуска сервиса.
7.6. AUTO-ROTATION API LINKS
В верхней части дашборда автоматически генерируются кнопки быстрого копирования прокси-ссылок, сгруппированные по профилям ОС (Linux, Android, Windows, iOS, macOS). Кнопки SOCKS5 и HTTP неактивны, если соответствующий протокол не включён для данного профиля.
При нажатии на кнопку в буфер обмена копируется ссылка для получения нового прокси (запрос GET /allocate?os=...&mode=...), а в нижнем правом углу появляется уведомление.
7.7. Темы оформления
Дашборд поддерживает пять визуальных тем, переключаемых без перезагрузки страницы. Выбранная тема сохраняется в браузере:
| Тема | Описание |
|---|---|
| RuProxy Dark | Фирменная тёмная тема (по умолчанию) |
| Light Classic | Светлая классическая |
| Dracula | Фиолетово-розовая тёмная |
| Deep Ocean | Тёмно-синяя морская |
| Hacker | Монохромная зелёная на чёрном |
8. Управление службой
RuProxy устанавливается как systemd-сервис и запускается от пользователя ruproxy.
# Запуск
systemctl start ruproxy
# Остановка (graceful — ждёт завершения активных сессий)
systemctl stop ruproxy
# Перезапуск
systemctl restart ruproxy
# Статус
systemctl status ruproxy
# Включить автозапуск
systemctl enable ruproxy
# Просмотр логов в реальном времени
journalctl -u ruproxy -f
systemctl start ruproxy: systemd автоматически переключается на пользователя ruproxy, прописанного в юнит-файле службы.9. Логирование и мониторинг
Файлы логов
| Файл | Описание |
|---|---|
/var/log/ruproxy/ruproxy.log |
Основной лог (уровень задаётся в конфиге) |
/var/log/ruproxy/error.log |
Только ошибки |
Ротация логов
Логи ротируются автоматически через logrotate:
- Ежедневно или при достижении 100 МБ
- Хранится 10 предыдущих версий
- Сжатие gzip
Системная телеметрия
Каждые 10 секунд в лог выводится строка [SYS_STATS]:
[SYS_STATS] System Mem: 524/2048 MB | App Mem: 85 MB | CPU: 12.3% | Conns: 42 / 4096
10. Командная строка (CLI)
ruproxy [OPTIONS]
Опции:
-c, --config <PATH> Путь к файлу конфигурации (по умолчанию: config.yaml)
-t, --test [<PATH>] Проверить синтаксис конфигурации
-g, --generate Сгенерировать пример config.yaml.example
-b, --blacklist Сгенерировать пример blacklist.txt.example
-H, --hwid Показать HWID сервера
-p, --ping <HOST:PORT> Проверить доступность лицензионного сервера
-V, --version Показать версию
-h, --help Показать справку
Примеры:
# Запуск с конфигом по умолчанию
ruproxy
# Запуск с указанием конкретного конфига
ruproxy -c /etc/ruproxy/config.yaml
# Проверка конфига перед деплоем
ruproxy -t /etc/ruproxy/config.yaml
# Генерация примера конфигурации
ruproxy -g
# Проверка доступности сервера лицензий
ruproxy --ping L1.license-server.ru:8000
# Получение HWID
ruproxy -H
11. Диагностика и устранение неполадок
Сервис не запускается
-
Проверьте конфигурацию:
ruproxy -t /etc/ruproxy/config.yaml -
Проверьте логи:
journalctl -u ruproxy --no-pager -n 50 -
Проверьте лицензионный сервер:
ruproxy --ping <HOST:PORT>
АдресHOST:PORTберётся из параметраlicense_serversв конфигурации.
Нет подключения через прокси
- Убедитесь, что клиент использует правильный протокол — SOCKS5, SOCKS5h или HTTP CONNECT (все поддерживаются). Для максимальной анонимности рекомендуется SOCKS5h (DNS-запросы разрешаются на стороне сервера).
- Проверьте маршрутизацию IPv6 — осмотрите содержимое файла
/etc/rc.localи вывод команды:
ip -6 route show - Проверьте, что порт доступен извне:
ss -tlnp | grep ruproxy - Проверьте файрвол (iptables/nftables)
Не открываются некоторые сайты
RuProxy работает только через IPv6. Если целевой сайт не имеет AAAA-записи (IPv6), подключение невозможно.
Проверить наличие AAAA:
dig AAAA example.com
IP не меняется
RuProxy использует Sticky Sessions. IP привязан к паре логин/пароль. Для смены IP:
- Запросите нового пользователя через GET /allocate
- Или дождитесь истечения rotation_interval и переподключитесь
12. FAQ
В: Что такое SOCKS5h и чем отличается от SOCKS5?
О: В режиме SOCKS5h DNS-запросы выполняются на стороне прокси-сервера (Remote DNS). В обычном SOCKS5 DNS разрешается на стороне клиента — это может привести к DNS-утечкам и раскрыть реальный IP. Всегда используйте SOCKS5h.
В: Почему при каждом перезапуске генерируются новые логины/пароли?
О: По умолчанию аккаунты генерируются из случайного энтропийного зерна. Раскомментируйте и задайте account_seed в конфиге — логины/пароли станут постоянными между перезапусками.
В: Можно ли использовать несколько IPv6 подсетей?
О: Да, добавьте их в секцию ipv6_subnets с разными весами. Трафик будет распределяться пропорционально весам.
В: Как узнать HWID моего сервера?
О: Выполните ruproxy -H. HWID нужен для привязки лицензии к серверу.
В: Сколько ресурсов потребляет RuProxy?
О: При 100 000 аккаунтов и ~50 активных соединениях — около 80–120 МБ RAM и ~5% CPU на 1 ядре. Сервер написан на Rust — это обеспечивает высокую производительность и предсказуемое потребление памяти.
В: Безопасен ли API?
О: При включённом api_port_https API работает через HTTPS с самоподписным сертификатом. Для cURL используйте флаг -k. Доступ к API защищён master_token. Статистика (/stats) доступна без токена только с localhost.
В: Что такое HTTP CONNECT режим?
О: HTTP CONNECT — стандартный метод проксирования HTTPS-трафика. Клиент отправляет CONNECT host:443 HTTP/1.1 с заголовком Proxy-Authorization: Basic, после чего устанавливается зашифрованный туннель. Поддерживается всеми браузерами, curl, системными настройками прокси и большинством ПО.
Пример использования через curl:
curl -x http://user_xxx:pass_xxx@YOUR_IP:1081 https://ifconfig.me
В: Чем hybrid отличается от отдельных socks/http портов?
О: В режиме hybrid сервер принимает оба протокола на одном порту. Протокол определяется автоматически по первому байту соединения (0x05 = SOCKS5, иначе HTTP). Это удобнее — не нужно открывать дополнительные порты. Все фишки (p0f, shaping, DNS, лимиты) работают одинаково для обоих протоколов.
В: Что делает переменная [mode] в accounts_file?
О: При экспорте аккаунтов [mode] заменяется на протокол (socks5 или http). Для hybrid-листенеров создаются два файла — один с socks5:// ссылками, другой с http://. Пример: accounts_1081_android_socks5.txt и accounts_1081_android_http.txt.
13. История изменений
v1.7.1 — апрель 2026
- Web-Дашборд — IP Whitelist — полноценное управление белым списком прямо из браузера: добавление, удаление, импорт из файла. Изменения вступают в силу немедленно, без перезапуска сервиса.
- Автообновление дашборда — данные IP Whitelist и Recent Blocks теперь обновляются автоматически каждые 10 секунд вместе с остальной статистикой.
- Connection Analytics — новая круговая диаграмма с разбивкой соединений по категориям (успешные, заблокированные, ошибки, IPv4-only домены).
- Recent Blocks — панель последних заблокированных соединений с отметками времени и суммарным счётчиком.
- Темы оформления — добавлены пять визуальных тем дашборда с сохранением выбора в браузере.
- Поддержка HTTP CONNECT — полноценный HTTP-прокси режим с авторизацией
Proxy-Authorization: Basic, корректной обработкой всех вариантов заголовка. - Улучшена устойчивость сервиса — порт API-дашборда больше не вызывает бесшумное падение при занятом порту; ошибка явно указывается в журнале.
- Исправлен макет дашборда — устранена проблема несовпадения границ колонок между виджетами при различных разрешениях экрана.
v1.7.0 — март 2026
- Hybrid Mode — автоматическое определение протокола (SOCKS5 / HTTP CONNECT) на одном порту по первому байту соединения.
- HTTP прокси — добавлена поддержка режима
httpв секцииlisteners. - Поле
[mode]вaccounts_file— для hybrid-листенеров экспортируются два файла аккаунтов: с SOCKS5 и HTTP ссылками.
v1.6.0 — январь 2026
- HTTPS API — опциональный порт
api_port_httpsс самоподписным сертификатом. - Smart DNS Failover — резервный пул DNS-серверов с автопереключением при недоступности основного.
- Сервисный аккаунт — статическая учётная запись с ограничением доступа одним доменом для чекеров и мониторинга.