3Proxy — це легкий кросплатформний пакет проксі-серверів, розроблений для високої продуктивності та мінімального споживання ресурсів, що підтримує такі протоколи, як HTTP/HTTPS, SOCKS4/5 та POP3. Він є ідеальним рішенням для персонального використання, коли користувачеві потрібно керувати локальним трафіком, створювати ланцюжки з кількох провайдерів або розгорнути безпечний шлюз із обсягом оперативної пам'яті часто менше 5 МБ.
Архітектура та філософія 3Proxy
На відміну від монолітних проксі-серверів, таких як Squid, які розроблені для масивного корпоративного кешування та складної фільтрації контенту, 3Proxy дотримується філософії Unix: робити одну справу, але робити її добре. Він написаний на C і поширюється як невеликий набір виконуваних файлів. Така конструкція робить його унікально придатним для середовищ із низькими ресурсами, таких як VPS за $5/місяць або Raspberry Pi, де кожен мегабайт оперативної пам'яті є критично важливим.
Пакет є модульним. Хоча більшість користувачів запускають його як єдиний виконуваний файл "3proxy", який зчитує файл конфігурації, він також включає окремі міні-сервери, такі як proxy (HTTP), socks (SOCKS4/5) та ftppr (FTP). Ця модульність дозволяє детально контролювати, які сервіси є активними, зменшуючи поверхню атаки та накладні витрати. Для звичайних користувачів це означає, що ви можете розгорнути SOCKS5-шлюз для свого браузера або скрипта для парсингу за лічені секунди без зайвого функціоналу корпоративного веб-кешу.
Однією з визначних особливостей 3Proxy є його портативність. Він працює на Windows, Linux та різних версіях BSD. Для розробників, які працюють у різних середовищах, наявність узгодженого синтаксису конфігурації незалежно від ОС спрощує розгортання локальних проксі для розробки або тестових середовищ.

Встановлення та початкове налаштування
Встановлення 3Proxy на дистрибутивах Linux (таких як Ubuntu або Debian) зазвичай виконується шляхом компіляції з вихідного коду, щоб гарантувати наявність останніх функцій та патчів безпеки. Процес є простим і не потребує великої кількості залежностей.
- Оновіть систему:
sudo apt update && sudo apt install build-essential git -y - Клонуйте репозиторій:
git clone https://github.com/3proxy/3proxy.git - Скомпілюйте код: Перейдіть до каталогу та виконайте
make -f Makefile.Linux. - Встановіть:
sudo make -f Makefile.Linux install.
На Windows процес передбачає завантаження попередньо скомпільованих бінарних файлів та їх запуск як служби. Незалежно від ОС, основою роботи є файл 3proxy.cfg. Цей файл визначає, як сервер очікує підключення, хто має до нього доступ і куди спрямовується трафік.
Базова структура конфігурації
Мінімальний файл конфігурації потребує кількох глобальних директив, за якими слідують визначення конкретних проксі-сервісів. Нижче наведено приклад базової конфігурації SOCKS5 та HTTP проксі з простою автентифікацією.
# Global settings
daemon
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
# Authentication
users gproxy_user:CL:my_secure_password
auth strong
# Service definitions
proxy -p8080 -n -a
socks -p1080 -n -a
У цьому прикладі команда daemon вказує 3Proxy працювати у фоновому режимі. Рядок users визначає ім'я користувача та пароль, використовуючи зберігання у відкритому тексті (CL). Команди proxy та socks запускають HTTP-проксі на порту 8080 та SOCKS5-проксі на порту 1080 відповідно. Прапор -n вимикає внутрішнє розпізнавання імен хостів 3Proxy (використовуючи замість цього ОС), а -a вмикає анонімний режим, щоб приховати оригінальну IP-адресу клієнта від цільового сервера.
Розширена маршрутизація та батьківські проксі
Для персональних користувачів, які використовують високоякісні резидентні проксі від таких сервісів, як GProxy, директива "parent" у 3Proxy є справжньою знахідкою. Ця функція дозволяє використовувати 3Proxy як локальну точку входу, яка перенаправляє всі запити віддаленому провайдеру. Це особливо корисно для програм, які нативно не підтримують автентифікацію SOCKS5, або для користувачів, які хочуть централізувати керування своїми проксі.
Коли ви об'єднуєте 3Proxy з GProxy, ви отримуєте можливість застосовувати локальні списки контролю доступу (ACL) та логування ще до того, як трафік покине вашу мережу. Це додає рівень безпеки та прозорості вашій діяльності з веб-скрапінгу або перегляду сайтів.
Налаштування ланцюжка проксі (Upstream Chaining)
Щоб перенаправити трафік зовнішньому провайдеру, використовується команда parent. Ця команда визначає вагу (для балансування навантаження), протокол, віддалену IP-адресу, порт та облікові дані.
# Define the parent proxy (e.g., GProxy residential endpoint)
# Format: parent [weight] [type] [ip] [port] [user] [password]
parent 1000 socks5 1.2.3.4 5678 gproxy_id gproxy_pass
# Start the local SOCKS5 server that uses the parent
socks -p1080
З таким налаштуванням будь-яка програма, що підключається до localhost:1080, буде спрямовувати свій трафік через резидентну мережу GProxy. Це значно ефективніше, ніж налаштовувати кожну окрему програму з віддаленими обліковими даними, особливо коли ці дані або кінцеві точки часто змінюються.
Порівняння 3Proxy з альтернативами
Щоб зрозуміти місце 3Proxy в екосистемі, корисно порівняти його з іншими популярними проксі-рішеннями, такими як Squid та Dante. У той час як Squid є галузевим стандартом для кешування, а Dante відомий своєю надійною реалізацією SOCKS, 3Proxy займає унікальну нішу "мінімалістичної гнучкості".
| Функція | 3Proxy | Squid | Dante |
|---|---|---|---|
| Використання пам'яті | < 5MB | 100MB+ | 20MB - 50MB |
| Протоколи | HTTP, SOCKS4/5, POP3, FTP | HTTP, HTTPS, FTP | SOCKS4/5 |
| Простота налаштування | Висока (Один файл конфігурації) | Низька (Складний синтаксис) | Середня |
| Ланцюжки (Chaining) | Відмінно (Parent proxies) | Помірно (Cache peers) | Обмежено |
| Підтримка ОС | Windows, Linux, BSD | Переважно Linux/Unix | Linux/Unix |

Контроль доступу та безпека
Безпека є головним пріоритетом для будь-якого користувача, який відкриває проксі-сервер в інтернеті. 3Proxy надає надійний набір ACL, які дозволяють обмежити доступ на основі вихідної IP-адреси, цільової IP-адреси або часу доби. Це життєво важливо, якщо ви запускаєте 3Proxy на публічному VPS для віддаленого доступу до вашої підписки GProxy.
Директиви allow та deny обробляються послідовно. Це означає, що порядок ваших правил є критичним. Поширеною помилкою є розміщення загального правила "allow" перед специфічним правилом "deny", що робить обмеження марним.
Приклад фільтрації на основі IP
Якщо ви хочете переконатися, що тільки ваша домашня IP-адреса може використовувати ваш екземпляр 3Proxy, ви можете структурувати конфігурацію наступним чином:
# Define users
users admin:CL:secret123
# Access Control List
auth strong
allow admin 1.2.3.4 * * *
deny * * * * *
# Launch proxy
proxy -p8888
У цьому сценарії лише користувачеві "admin", який підключається з IP 1.2.3.4, дозволено доступ до будь-якого пункту призначення (*) на будь-якому порту (*) у будь-який час (*). Усі інші спроби підключення явно відхиляються. Така стратегія "заборони за замовчуванням" є золотим стандартом безпеки персональних проксі-серверів.
Практичний приклад: Тестування налаштувань за допомогою Python
Після того, як ваш сервер 3Proxy запущено, особливо якщо він підключений до провайдера, як-от GProxy, варто перевірити, чи правильно він маскує вашу IP-адресу та обробляє автентифікацію. Бібліотека requests у Python є ідеальним інструментом для такої перевірки.
import requests
# Define your local 3Proxy address
proxy_url = "http://admin:[email protected]:8888"
proxies = {
"http": proxy_url,
"https": proxy_url,
}
try:
# Check the IP as seen by the destination
response = requests.get("https://api.ipify.org?format=json", proxies=proxies, timeout=10)
data = response.json()
print(f"Proxy Connection Successful!")
print(f"Detected IP: {data['ip']}")
except Exception as e:
print(f"Connection Failed: {e}")
Цей скрипт намагається підключитися до публічного API виявлення IP через ваш екземпляр 3Proxy. Якщо ви налаштували резидентний батьківський проксі GProxy, "Detected IP" має відображати резидентну адресу, а не вашу локальну або IP вашого VPS. Це підтверджує, що весь ланцюжок — від вашого скрипта до 3Proxy і, нарешті, через GProxy — функціонує правильно.
Логування та моніторинг трафіку
Для тривалого персонального використання моніторинг трафіку є важливим для усунення несправностей та виявлення спроб несанкціонованого доступу. 3Proxy пропонує гнучку систему логування, яка може виводити дані у файли або на сервер системного журналу (syslog). Ви можете налаштувати формат логів, щоб включити конкретні дані, такі як кількість байтів, тривалість з'єднання та цільові хости.
Типова конфігурація логування може виглядати так:
log /var/log/3proxy/3proxy.log D
logformat "L%Y-%m-%d %H:%M:%S %U %C:%c %R:%r %O %I %h %T"
Прапор D вказує 3Proxy ротувати логи щодня, запобігаючи заповненню всього дискового простору одним файлом. Рядок logformat використовує плейсхолдери для запису мітки часу, імені користувача (%U), IP/порту клієнта (%C:%c), віддаленого IP/порту (%R:%r) та обсягу трафіку (%O для вихідного, %I для вхідного). Аналіз цих логів допоможе вам оптимізувати використання GProxy, ідентифікуючи програми, які споживають найбільше даних.
Ключові висновки
- 3Proxy — король ефективності: Це найкращий вибір для користувачів, яким потрібен функціональний проксі-сервер без великих витрат системних ресурсів. Його споживання пам'яті менше 5 МБ є недосяжним для Squid або Dante.
- Ланцюжки — це сила: Використовуйте 3Proxy як локальний шлюз для резидентних проксі GProxy. Це дозволяє централізувати автентифікацію та застосовувати локальні правила безпеки до того, як трафік потрапить у резидентну мережу.
- Порядок в ACL має значення: Завжди дотримуйтесь стратегії "заборони за замовчуванням". Розміщуйте правила
allowдля конкретних IP та користувачів зверху, а закінчуйте правиломdeny * * * * *, щоб заблокувати сервер. - Кросплатформна стабільність: Оскільки синтаксис конфігурації ідентичний на Windows та Linux, ви можете розробляти свої скрипти локально на Windows і розгортати їх на Linux VPS без жодних змін у налаштуваннях 3Proxy.
Практична порада 1: При запуску 3Proxy на Linux завжди використовуйте директиву nserver, щоб вказати швидкого DNS-провайдера (наприклад, 1.1.1.1 або 8.8.8.8). Це запобігає затримкам DNS, які можуть сповільнювати ваші проксі-запити.
Практична порада 2: Використовуйте команду stacksize у вашій конфігурації, якщо ви запускаєте 3Proxy в надзвичайно обмеженому середовищі (наприклад, VPS зі 128 МБ оперативної пам'яті), щоб додатково обмежити витрати пам'яті на кожен потік.
Читайте також
Проксі для A-Parser: Налаштування парсингу пошукових систем
Проксі для Xrumer: які вибрати та як налаштувати
Проксі для Key Collector: налаштування та ротація
Binom Tracker: Налаштування проксі для арбітражу трафіку
VKDog Pro: Автопостинг та граббінг контенту ВК
