Как собрать свой прокси-чекер за вечер

Как собрать свой прокси-чекер за вечер

Ты копируешь блоки по очереди, вставляешь в Claude Code, запускаешь пару команд - и получаешь рабочий инструмент, который проверяет прокси глубже, чем большинство публичных сервисов.

Не нужно уметь программировать. Нужны Python, Claude Code и 40 минут. Дальше - по шагам: каждый этап это один промт, который ты целиком вставляешь в агента, ждёшь, запускаешь и проверяешь результат.

Что мы построим #

Веб-приложение - прокси-чекер (он же IP-чекер). Вставляешь список прокси в любом формате, а оно по каждой показывает: гео, живая или нет, датацентр или жилой IP, в чёрных списках или нет, Tor / VPN / прокси, и сводный риск-score.

Таблица результатов прокси-чекера
Результат: таблица со статусом, протоколом, гео, типом адреса и риском по каждой прокси. Строки заполняются сразу, а не после полного прогона.

Как это работает под капотом #

Каждая прокси проходит 6 этапов, и результат каждого прилетает в таблицу сразу.

01
Протоколы
HTTP / HTTPS / SOCKS5 параллельно
02
Гео
4 источника одновременно
03
Репутация
DNSBL / AbuseIPDB
04
Пробив
Tor · VPN · порты
05
Анонимность
elite / anon / transparent
06
Риск
сводный score 0-100

Этап 0. Подготовка #

1. Поставь Python 3. Скачай с python.org/downloads. На Windows в установщике обязательно галочка «Add Python to PATH». Проверь в терминале:

python3 --version

Должно ответить Python 3.x.x (на Windows - python --version).

2. Поставь Claude Code - агент, который будет писать код за тебя. Инструкция: claude.com/claude-code. Открой терминал, перейди в новую пустую папку и запусти claude:

mkdir proxy-checker && cd proxy-checker
claude

Дальше ты просто пишешь Claude текст из блоков ниже. Он сам создаёт и правит файлы.

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

Этап 1. Скелет, который уже работает #

Вставь этот промт в Claude Code целиком:

Собери минимальное веб-приложение «прокси-чекер» на Python.

ТРЕБОВАНИЯ:
- Стек: Python 3 + FastAPI + uvicorn (бэкенд) и один index.html с чистым
  JavaScript (без React, без сборки, без npm).
- Запуск двумя командами: pip install -r requirements.txt, затем python app.py,
  открывается на http://localhost:8000
- Работает БЕЗ единого API-ключа.

ЧТО ДОЛЖНО УМЕТЬ ПОКА (MVP):
- Большое поле ввода: вставляю список прокси, по одному на строку.
- Форматы host:port и host:port:user:pass - распознавай оба, битую строку
  показывай отдельной записью с текстом ошибки, а не роняй весь прогон.
- Кнопка «Проверить»: по каждой прокси проверить живость по HTTP через httpx
  (запрос к http://checkip.amazonaws.com через прокси, таймаут 5с).
- Таблица со столбцами: Статус (живо/мертво/ошибка цветным бейджем), Прокси,
  Задержка (мс). Строки появляются сразу, статус обновляется по мере проверки.

Выдай ВСЕ файлы целиком и короткий README с командами запуска.

Когда Claude допишет файлы:

pip install -r requirements.txt
python app.py

Открой http://localhost:8000, вставь для теста:

8.8.8.8:3128
1.1.1.1:8080
это-битая-строка

Ты увидишь таблицу с проверкой прокси. Произвольный текст (битая строка) не ломает прогон.

Экран ввода списка прокси
Экран ввода: вставляешь список (форматы можно мешать), жмёшь «Проверить» - таблица начинает заполняться сразу.
Если порт занят - запусти PORT=8010 python app.py и открой :8010. Больше граблей - в конце статьи.

Готово. У тебя уже построен скелет чекера. Дальше наращиваем «мясо».

Этап 2. Три протокола вместо одного #

Добавь в проект проверку не только HTTP, но и HTTPS и SOCKS5.

- Три протокола проверяй ПАРАЛЛЕЛЬНО. Первый ответивший протокол отменяет два
  остальных (они помечаются «не проверялось»).
- Для SOCKS5 нужен httpx[socks] - добавь в requirements.
- ВАЖНО: оберни каждую проверку в asyncio.wait_for с жёстким таймаутом. SOCKS-
  транспорт иногда игнорирует таймаут httpx и висит до 60 секунд к мёртвому хосту.
- В таблицу добавь столбец «Протокол» - какой протокол ответил у живой прокси.
- Замеряй задержку по живому протоколу.
- Детект IP-leak: реальный IP сервера снимай один раз в начале; если через прокси
  вернулся именно он - прокси не проксирует, помечай отдельным статусом.

Перезапусти python app.py, проверь ещё раз. Теперь чекер ловит SOCKS5 и видит утечки.

Почему это важно: та самая ловушка с 60-секундным зависанием SOCKS реальная. Если её не обойти, чекер «умирает» на первой же мёртвой SOCKS-прокси.

Этап 3. Геолокация из четырёх источников #

Добавь геолокацию каждой живой прокси (для мёртвых - по её host-IP, если это IPv4).

- Опрашивай ЧЕТЫРЕ источника ОДНОВРЕМЕННО: ipwho.is, ip-api.com, ipinfo.io
  (все три работают без ключа) и офлайн-базу MaxMind GeoLite2 - ОПЦИОНАЛЬНО,
  только если указан путь к .mmdb; без неё просто показывай три остальных.
- Показывай результаты ВСЕХ источников, а не один «правильный».
- В таблице - флаг страны эмодзи + код. Если источники назвали РАЗНЫЕ страны,
  ставь значок расхождения с подсказкой, кто что сказал.
- Сделай раскрывающуюся строку (стрелка справа): там детали - гео по каждому
  источнику отдельными карточками, разбивка по протоколам, исходная строка.

Проверь на реальном IP (8.8.8.8 это Google, США). В раскрытой строке увидишь все источники сразу - и сразу поймаешь, если они расходятся.

Раскрытая строка с деталями прокси
Раскрытая строка: сеть и ASN, из чего сложился риск, пробив (Tor/VPN/порты), гео по всем 4 источникам, протоколы, репутация - всё в одном столбце.

Этап 4. Репутация и анонимность (без ключей) #

Добавь два сигнала.

1) Abuse-репутация IP:
   - Если задан ключ AbuseIPDB (через .env) - используй его.
   - Если ключа НЕТ - фолбэк на публичные DNSBL-зоны без ключа: zen.spamhaus.org,
     b.barracudacentral.org, dnsbl.dronebl.org, bl.spamcop.net и др. Показывай
     «в скольких списках из N». Нужен dnspython.
   - Результаты кэшируй на диске 7 дней, чтобы не жечь лимиты.

2) Уровень анонимности elite / anonymous / transparent:
   - Через прокси запроси echo-сервис, возвращающий заголовки запроса
     (postman-echo.com/headers). Смотри, какие заголовки долетели:
   - реальный IP виден в заголовках -> transparent;
   - есть Via / X-Forwarded-For / X-Real-IP и подобные, но реального IP нет ->
     anonymous; ничего не выдаёт -> elite.

Добавь столбцы «Abuse» и «Аноним» в таблицу.

Теперь .env.example с опциональным ключом, а без него всё равно всё работает.

Этап 5. Тип адреса и сводный риск #

Это сердце «пробива». Именно по типу адреса антифрод видит подмену в первую очередь.

Добавь классификацию адреса и сводный риск.

- Тип IP: datacenter / hosting / residential / mobile. Бери БЕСПЛАТНЫЕ поля ip-api
  (hosting, proxy, mobile - они есть в бесплатном ответе) + эвристику по rDNS/ASN
  (ключевые слова amazon/ovh/hetzner/cloud/vps/server -> датацентр).
- Столбец «Тип» с бейджем (датацентр = красный, жилой = зелёный, моб. = жёлтый)
  и фильтр по типу.
- Сводный риск-score 0-100 и вердикт чисто / подозрительно / рискованно. Считай
  ЛОКАЛЬНО по модели «сигналы -> сумма -> вердикт»: датацентр +40, proxy-флаг +25,
  Tor +40, в чёрных списках +, transparent +30, IP-leak +50. Каждый сработавший
  сигнал показывай списком - как «коды» в антифрод-системах.
- Добавь фильтры (страна/протокол/тип/анонимность), сортировку по клику на
  заголовок (3 состояния), чекбоксы и копирование выбранных прокси.
0 · чисто 25 · подозрительно 60 · рискованно · 100

Датацентр-прокси набирает риск самим фактом серверного адреса - даже с чистой историей. Это нормально: антифрод отбраковывает такие в первую очередь.

Фильтры и сортировка
Фильтры (страна / протокол / тип / анонимность), сортировка кликом по заголовку и копирование выбранных прокси чекбоксами.

Этап 6. Глубокий пробив (Tor · порты · VPN) #

Добавь углублённый пробив - всё бесплатно и без ключей.

- Детект Tor: сверяй IP с публичным списком exit-нод
  check.torproject.org/torbulkexitlist. Список кэшируй на диск, обновляй раз в 6ч.
- Открытые порты и теги через Shodan InternetDB: GET https://internetdb.shodan.io/{ip}
  (без ключа). Флажь proxy-порты (3128/8080/1080) и теги vpn/proxy/tor.
- Обогащение через ipapi.is: GET https://api.ipapi.is/?q={ip} (без ключа) - булевы
  is_vpn / is_proxy / is_tor / is_datacenter / is_abuser + netname + abuse-контакт.
- Датацентр по ASN из списка X4BNet/lists_vpn (офлайн, кэш).
- Ротация exit-IP: сделай несколько запросов через живой прокси, посчитай уникальные
  выходные IP (ротация residential vs sticky-сессия).
- Все результаты по IP кэшируй 7 дней; каждый источник fail-soft (ошибка не роняет
  прогон). Новые сигналы (Tor/VPN/proxy/датацентр/abuser/порты) влей в риск-score.
- В раскрытой строке добавь карточку «Пробив» со всеми этими полями.

Теперь чекер видит то, что видит настоящий антифрод: серверный IP, VPN, Tor, открытые порты - и складывает это в честный риск.

7 дней · без программирования

Собери своего бота сам

На курсе за 7 дней ты создашь рабочего бота: парсер, стратегию, серверную часть и исполнителя. С AI-агентом, а не в одиночку.

Занять место Старт потока 01.08.2026 · всего 30 мест

Этап 7. Красивый вид (по желанию) #

Приведи внешний вид к тёмному неон-киберпанк стилю: фон #08060c с лёгким
радиальным градиентом и сеткой, шрифты Russo One (заголовки) + Inter (текст) +
JetBrains Mono (цифры/чипы), неон-акценты розовый #ff2a6d и циан #05d9e8,
кнопки с неон-бордером и свечением на hover, бейджи прямоугольные. Карточки
деталей - в один вертикальный столбец. Без эмодзи, только символы.

Если что-то пошло не так #

СимптомПричинаЧто делать
python3: command not foundPython не в PATHПереустанови с галочкой «Add to PATH»
Address already in useпорт 8000 занятPORT=8010 python app.py, открой :8010
pip: command not found-python3 -m pip install -r requirements.txt
SOCKS-прокси «висит»забыт жёсткий таймаутВернись к Этапу 2 - asyncio.wait_for

Итог #

За 7 коротких шагов ты собрал прокси-чекер с 5-этапным пайплайном, гео из 4 источников, детектом Tor / VPN / датацентра и сводным риском. И главное: ты не писал код руками, ты ставил задачу. Разница между кривым результатом и хорошим не в Claude, а в том, как сформулирована задача.

← ко всем запискам