Як створити пул проксі з автоматичною перевіркою
Вступ
Пул проксі з автоматичною перевіркою — це система, яка зберігає список проксі, регулярно перевіряє їх доступність та надає робочі проксі через API.
Базове налаштування
Архітектура
Компоненти пулу проксі:
1. База даних — зберігання проксі (PostgreSQL, Redis)
2. Перевіряльник (Checker) — перевірка доступності проксі
3. API — надання робочих проксі
4. Планувальник (Scheduler) — періодичний запуск перевірок
5. Веб-інтерфейс (Web UI) — моніторинг (опціонально)
Модель даних
Для кожного проксі зберігати:
- ip, port, type (http/socks5)
- username, password
- status (alive/dead)
- latency (ms)
- country, city
- last_checked, last_alive
- fail_count
Python-перевіряльник
Використовуйте aiohttp для асинхронної перевірки сотень проксі одночасно. Для кожного проксі:
1. Надішліть запит через проксі на httpbin.org/ip
2. Виміряйте час відповіді
3. Перевірте, чи IP відповідає очікуваному
4. Оновіть статус у базі даних
Розширене налаштування
Змінні середовища
Більшість інструментів підтримують стандартні змінні середовища для проксі:
- HTTP_PROXY / http_proxy — проксі для HTTP-запитів
- HTTPS_PROXY / https_proxy — проксі для HTTPS-запитів
- NO_PROXY / no_proxy — список винятків (адреси, що обходять проксі)
- ALL_PROXY / all_proxy — проксі для всіх протоколів
SSL та самопідписані сертифікати
Корпоративні проксі часто використовують власні SSL-сертифікати. Щоб працювати через них, потрібно:
1. Отримати CA-сертифікат проксі від адміністратора
2. Додати його до системного сховища сертифікатів
3. Або вимкнути перевірку SSL (лише для тестування)
Автентифікація
Підтримуються два основні методи автентифікації:
За іменем користувача та паролем — стандартна HTTP Basic автентифікація. Облікові дані надсилаються з кожним запитом. Формат URL: http://user:pass@proxy_ip:port
За IP-адресою (білий список) — ваша IP-адреса додається до білого списку. Облікові дані надсилати не потрібно.
Перевірка роботи
Після налаштування перевірте:
1. Виконайте тестовий запит через проксі
2. Переконайтеся, що IP-адреса змінилася
3. Перевірте швидкість з'єднання
4. Переконайтеся у відсутності витоків DNS
Усунення несправностей
Проксі не підключається
- Перевірте правильність адреси та порту
- Переконайтеся, що брандмауер не блокує з'єднання
- Перевірте доступність проксі з вашої мережі
Помилки SSL
- Для корпоративних проксі додайте CA-сертифікат
- Для тестування — тимчасово вимкніть перевірку SSL
- Оновіть бібліотеки SSL до останньої версії
Помилки автентифікації
- Перевірте ім'я користувача та пароль
- Переконайтеся, що формат облікових даних правильний
- Спробуйте URL-кодування спеціальних символів у паролі
Найкращі практики
- Використовуйте змінні середовища — для гнучкості та безпеки
- Не жорстко кодуйте облікові дані — використовуйте змінні середовища або файли конфігурації
- Налаштуйте винятки — не проксуйте localhost та внутрішні адреси
- Документуйте налаштування — у README проекту або вікі команди
- Тестуйте після змін — будь-яка зміна конфігурації вимагає перевірки
Висновок
Правильна конфігурація проксі забезпечує стабільну роботу інструментів та безпеку з'єднання. Дотримуйтесь рекомендацій цього посібника та завжди перевіряйте функціональність після налаштування.