API и Документация
Интегрируйте прокси в свои парсеры и скрипты за минуты. Без регистрации и API-ключей.
stormsia/proxy-list — это полностью открытый проект, который запускает асинхронный Python-демон каждые 15 минут для сбора, проверки и публикации бесплатных прокси-серверов. Каждый прокси проверяется validator на доступность и время ответа — в список попадают только рабочие прокси.
Все данные свободно доступны без аутентификации: скачайте текстовый файл с помощью curl, получите JSON или используйте GitHub REST API. Эта страница документирует все доступные методы интеграции.
Доступные Endpoints
Все конечные точки ниже публично доступны без аутентификации. CDN GitHub также поддерживает HTTP range requests для частичной загрузки.
Схема JSON
Каждая запись в proxies.json имеет следующую структуру:
{
"protocol": "socks5", // "socks5" | "socks4" | "http" | "https"
"host": "1.2.3.4", // Proxy IP address
"port": 1080, // Proxy port number
"timeout": 0.312, // Response time in seconds
"exit_ip": "1.2.3.4", // External IP seen through the proxy
"asn": {
"autonomous_system_number": 12345,
"autonomous_system_organization": "Example ISP"
},
"geolocation": {
"city": { "names": { "en": "Frankfurt" } },
"continent": { "code": "EU", "names": { "en": "Europe" } },
"country": {
"iso_code": "DE",
"names": { "en": "Germany" }
},
"location": { "latitude": 50.11, "longitude": 8.68 },
"registered_country": {
"iso_code": "DE",
"names": { "en": "Germany" }
}
}
}Python — Автообновление и Использование
Получите и сразу используйте свежие прокси в сессии requests:
import requests
import random
SOCKS5_URL = "https://raw.githubusercontent.com/stormsia/proxy-list/main/socks5.txt"
HTTP_URL = "https://raw.githubusercontent.com/stormsia/proxy-list/main/http.txt"
def fetch_proxies(url: str) -> list[str]:
"""Download a plain-text proxy list and return as a list of host:port strings."""
response = requests.get(url, timeout=15)
response.raise_for_status()
return [line.strip() for line in response.text.splitlines() if line.strip()]
if __name__ == "__main__":
proxies = fetch_proxies(SOCKS5_URL)
print(f"Loaded {len(proxies)} SOCKS5 proxies")
proxy = random.choice(proxies)
print("Using proxy:", proxy)Заявление об анонимности
Прокси в этом списке имеют разные уровни анонимности — прозрачные, анонимные и элитные. Проект не гарантирует анонимность для любого конкретного прокси. Всегда проверяйте уровень анонимности прокси с помощью инструментов вроде httpbin.org/ip перед использованием в продакшене.