Как создать собственный пул прокси-серверов с помощью Python и Bash

Как создать собственный пул прокси-серверов с помощью Python и Bash

“Как Нил течет спокойно, но несет с собой тайны земли, так и наши данные должны путешествовать по сети, защищенные течением анонимности”.”


Цель и возможности пулов прокси-серверов

В песках древнего мира торговцы использовали скрытые маршруты, чтобы защитить свои караваны от любопытных глаз. Сегодня прокси-серверы выполняют схожую функцию: скрывают ваши цифровые следы, распределяют запросы и уклоняются от неусыпного внимания ограничителей скорости и брандмауэров.

Пул прокси-серверов — это набор прокси-серверов. Чередуя запросы через несколько прокси-серверов, вы избегаете обнаружения, блокировок и узких мест. Создание собственного пула прокси-серверов с помощью Python и Bash даёт вам независимость, гибкость и разумный контроль — в отличие от дорогостоящих сторонних решений.


Таблица: Подходы к пулу прокси

Подход Плюсы Минусы Примеры использования
Сторонние API Простая настройка, управляемое обслуживание Дорого, меньше контроля, черный список Быстрое прототипирование
Сделай сам с помощью Python Полный контроль, экономичность Требует обслуживания, надежности Веб-скрапинг, автоматизация
Bash-скриптинг Легкая и простая интеграция Менее масштабируемое, ручное управление Быстрые задачи, проверки здоровья

Сбор прокси-источников

“Не пей из колодца, которого ты не знаешь”, — сказал мне однажды старейшина, — выбирай источники воды с умом.

Бесплатные публичные прокси

Bash: выборка и анализ списка прокси-серверов

curl -s https://www.sslproxies.org/ | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]+' > proxies.txt

Платные прокси-сервисы

Для критически важных задач рассмотрите таких поставщиков, как https://brightdata.com/ или https://www.oxylabs.io/. Они обеспечивают более высокую надежность и лучшую анонимность.


Проверка прокси

Древняя мудрость: “Прежде чем строить, испытайте камень”.”

Python: проверка доступности прокси

импорт запросов def is_proxy_working(proxy): try: response = requests.get('https://httpbin.org/ip', proxies={'http': proxy, 'https': proxy}, timeout=5) return response.status_code == 200 except: return False # Чтение прокси из файла with open('proxies.txt') as f: proxies = [line.strip() for line in f] working_proxies = [p for p in proxies if is_proxy_working(p)] with open('working_proxies.txt', 'w') as f: for p in working_proxies: f.write(f"{p}\n")

Ротация прокси с помощью Python

Секрет каравана: никогда не ходить по одному и тому же маршруту дважды.

Простой ротатор прокси

импорт случайных запросов на импорт с открытым('working_proxies.txt') как f: proxies = [line.strip() for line in f] def get_random_proxy(): return random.choice(proxies) def fetch_with_proxy(url): proxy = get_random_proxy() try: resp = requests.get(url, proxies={'http': proxy, 'https': proxy}, timeout=10) print(f"Использование {proxy}: {resp.status_code}") return resp.text except Exception as e: print(f"Ошибка прокси {proxy}: {e}") return None # Пример использования html = fetch_with_proxy('https://httpbin.org/ip')

Bash: быстрая проверка работоспособности прокси-сервера

Для тех, кто предпочитает командную строку, как ремесленники прошлого предпочитали свои инструменты:

при чтении прокси; сделать таймаут 5 curl -s --proxy $proxy https://httpbin.org/ip >/dev/null && echo "$proxy is alive" done < proxies.txt

Автоматизация обновлений пула прокси

Как и ежегодные разливы Нила, прокси-серверы появляются и исчезают — автоматизация играет ключевую роль.

Bash: запланированная выборка и проверка

#!/bin/bash # Ежедневная загрузка новых прокси curl -s https://free-proxy-list.net/ | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]+' > proxies.txt # Проверка прокси > working_proxies.txt при чтении прокси; сделать тайм-аут 5 curl -s --proxy $proxy https://httpbin.org/ip >/dev/null && echo "$proxy" >> working_proxies.txt выполнено < proxies.txt

Расписание с хрон:

0 2 * * * /путь/к/вашему/скрипту.sh

Дополнительно: Обслуживание прокси через API с Flask

При дворе фараона доступ к ресурсам предоставлялся одним словом. Предоставьте API для вашего пула:

из flask импорт Flask, jsonify импорт случайный app = Flask(__name__) def get_proxies(): с открытым('working_proxies.txt') как f: вернуть [line.strip() для строки в f] @app.route('/get_proxy') def get_proxy(): proxies = get_proxies() вернуть jsonify({'proxy': random.choice(proxies)}) если __name__ == '__main__': app.run(port=5000)

Безопасность, этика и передовой опыт

  • Никогда не используйте прокси-серверы в незаконных или неэтичных целях.
  • Ротация пользовательских агентов, а также прокси-серверов (поддельный пользовательский агент).
  • Следите за запретами по IP-адресам и регулярно обновляйте свой пул.
  • Уважать robots.txt и целевые термины сайта.

Ключевые ресурсы


Как древние охраняли свои профессиональные секреты, так и вы должны охранять свой пул прокси-серверов — поддерживать его в рабочем состоянии, чередовать и использовать его с мудростью.

Анвар Эль-Махди

Анвар Эль-Махди

Старший аналитик по доверенностям

Анвар Эль-Махди — опытный профессионал с более чем 30-летним опытом работы в области вычислительной техники и сетевой безопасности. Родившийся и выросший в Каире, Египет, Анвар в молодом возрасте увлекся технологиями, что позволило ему стать заметной фигурой в сфере цифровой безопасности. Как старший аналитик прокси-серверов в ProxyMist, он отвечает за курирование и обновление полного списка прокси-серверов, гарантируя, что они соответствуют разнообразным потребностям пользователей, ищущих конфиденциальности и анонимности в сети. Его опыт в SOCKS, HTTP и элитных прокси-серверах делает его бесценным активом для команды.

Комментарии (0)

Здесь пока нет комментариев, вы можете стать первым!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *