Чекер прокси для Linux и macOS на bash с проверкой RBL и сайтов

remcheck.sh проверяет список прокси в сотни потоков прямо на сервере: кто отвечает, как быстро и с какого IP выходит. Ещё два режима сверяют выходные IP с 17 спам-списками и считают, сколько прокси пускают Google, LinkedIn, Avito и другие сайты.

  • bash и curl, без установки
  • до 1000 потоков
  • режимы connect, rbl и target
  • бесплатно

Версия 1.3 · 39.8 КБSHA-256 dfb2def4382911ca54702a96d0601d8ffee84dfe23e2b89d81911a8d6778210c

Терминал проверяет сотни прокси: зелёные и красные индикаторы связаны с узлами сети

Запуск за минуту

Ставить ничего не нужно: bash, curl и стандартные утилиты уже есть в macOS и в большинстве Linux-серверов. Скрипт проверит их при запуске и подскажет команду установки, если чего-то не хватит.

  1. Скачайте скрипт

    Прямо на сервер, где будут работать прокси.

    curl -fsSLO https://remproxy.com/files/remcheck.sh
  2. Разрешите запуск

    Один раз после скачивания.

    chmod +x remcheck.sh
  3. Проверьте список

    Дайте ID подписки из панели, your_proxy_id у каждой подписки свой. Результаты появятся в новой папке рядом со скриптом.

    ./remcheck.sh -P socks5 -f your_proxy_id
Если скрипт пишет missing tools

Так бывает на минимальных образах Debian и Alpine и в Docker-контейнерах. Установите недостающее одной командой для вашей системы:

Debian / Ubuntu
sudo apt-get update && sudo apt-get install -y curl gawk coreutils grep sed
CentOS / Rocky / Alma / Fedora
sudo dnf install -y curl gawk coreutils grep sed
Alpine
apk add bash curl coreutils gawk grep sed

macOS: всё уже есть, ставить ничего не нужно.

Три режима

connect: живые и быстрые

Скрипт открывает через каждый прокси страницу, которая возвращает IP, и записывает время ответа. Живые прокси попадают в alive.txt, самые быстрые сверху.

./remcheck.sh -n 200 -T 8 -f your_proxy_id

rbl: живые и чистые

Каждый выходной IP сверяется с 17 спам-списками через DNS over HTTPS. Для подписки RemProxy скрипт берёт адреса из колонки real_ip, поэтому проверка идёт сразу, без соединений через прокси. Другие списки сначала проходят connect. Чистые прокси идут в clean.txt, найденные в списках в listed.txt.

./remcheck.sh -m rbl -n 100 -f your_proxy_id

target: сколько прокси пускает сайт

Скрипт открывает через каждый прокси Google, LinkedIn, Avito и ещё 13 сервисов или ваш адрес с заголовками браузера. Ответы делятся на рабочие, капчу, антибот, блокировки и лимиты. Сначала каждый сайт открывается с самой машины без прокси: если сайт режет и её, он проверяет программу, а не IP. Рабочие прокси для каждого сайта попадают в ok-сайт.txt.

./remcheck.sh -m target -t google,linkedin,avito -S 300 -f your_proxy_id

Параметры

-f LIST
Список прокси: ID подписки RemProxy или ссылка на список. Подойдёт и файл. Чтобы передать список через конвейер, укажите -f -, например: cat list.txt | ./remcheck.sh -f -
-m MODE
Режим: connect (по умолчанию), rbl или target.
-t LIST
Режим target: сервисы и адреса через запятую, например -t google,linkedin,shop=https://site.ru/, или -t all для всех 16.
-k TEXT
Режим target: страница вашего адреса считается рабочей, только если в ней есть этот текст.
-S NUM
Режимы connect и target: проверить случайную выборку из NUM прокси.
-n NUM
Сколько прокси проверять одновременно, по умолчанию 64, максимум 1000. В режиме rbl то же число задаёт, сколько IP одновременно уходит в спам-списки: без -n это 128, максимум 256.
-T SEC-Timeout SEC
Тайм-аут на прокси в секундах, по умолчанию 10. Ключ -Timeout SEC тоже работает, как в версии для Windows.
-r NUM
Попытки на прокси в режиме connect, по умолчанию 2, максимум 5. Следующая попытка идёт на другую страницу проверки.
-P PROTO
Протокол для строк без схемы: http (по умолчанию), socks5 или socks4.
-e URLS
Страницы, которые возвращают IP, через запятую. По умолчанию пять: icanhazip, ipify, Amazon checkip, ifconfig.me и ipinfo.
-d DIR
Папка для результатов, по умолчанию remcheck-ДАТА-ВРЕМЯ.
-C
Режим rbl с подпиской RemProxy: всё равно подключаться через каждый прокси, а не брать IP из колонки real_ip.
-q
Без строки прогресса. Под cron она выключается сама.

Форматы списка

Скрипт понимает разные записи в одном файле, повторы и пустые строки пропускает. CSV из панели RemProxy тоже подходит.

host:port
host:port:user:pass
user:pass@host:port
socks5://user:pass@host:port
ip;port;country;speed;uptime;real_ip

Что появится в папке

  • alive.txtРабочие прокси, самые быстрые сверху.
  • dead.txtПрокси, которые не ответили.
  • results.tsvТаблица: по строке на прокси, в режиме target на прокси и сервис, с причиной каждого ответа.
  • clean.txtРежим rbl: живые прокси с чистым выходным IP.
  • listed.txtРежим rbl: живые прокси, чей IP найден в спам-списках.
  • ok-NAME.txtРежим target: прокси, которые открыли сервис, самые быстрые сверху.
  • summary.txtРежим target: итоговая таблица по сервисам.

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

Достаточно ID подписки, CSV-список скрипт скачает сам. В режиме rbl скрипт берёт выходные IP из колонки real_ip и не подключается через прокси. Каждая строка списка проверяется отдельно, по 128 сразу, 1000 прокси занимают меньше минуты. В итоге видно число и процент чистых и найденных в списках прокси.

./remcheck.sh -m rbl -f your_proxy_id

Держите -n не выше числа потоков в вашем пакете, иначе часть проверок упрётся в лимит и попадёт в мёртвые.

Если IP нет в белом списке

Список отдаётся только на IP из белого списка подписки. Если этой машины там нет, скрипт остановится и покажет её IP: откройте panel.remproxy.com/subscriptions, выберите подписку, в разделе «Доступ» добавьте этот IP в «Разрешённые IP» и повторите проверку. В журнале cron этот случай виден по коду выхода 3.

remcheck: the list server rejected this machine, its IP is not in the subscription whitelist.
  IP of this machine:        203.0.113.7
  Allowed IPs of the plan:   198.51.100.20
Узнать IP этой машины

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

Периодического режима в скрипте нет: расписание ведёт cron. Проверка запускается сама, а свежий результат всегда лежит в одной папке.

  • Откройте расписание командой crontab -e.
  • Добавьте строку ниже: проверка каждые 30 минут, результаты в папку remcheck-latest, журнал в remcheck.log.
  • Сохраните файл. Посмотреть расписание можно командой crontab -l.
crontab -e
*/30 * * * * $HOME/remcheck.sh -P socks5 -f your_proxy_id -d $HOME/remcheck-latest -q >> $HOME/remcheck.log 2>&1

В macOS cron работает так же, но к папкам Документы и Рабочий стол ему нужен полный доступ к диску. Проще держать скрипт и список в домашней папке.

Что нужно: bash 3.2 или новее, curl, awk, sed, grep, sort.

Запуск в Windows

Для Windows есть отдельная версия на PowerShell: те же режимы и параметры, без Git Bash и WSL, расписание через Планировщик заданий.

Чекер прокси для Windows

Вопросы и ответы

01Сколько потоков ставить?
Серверу с каналом 100 Мбит/с хватает 100–300. Каждая проверка это один короткий запрос, поэтому темп чаще ограничивают тайм-ауты, а не канал. Для списка RemProxy не превышайте число потоков пакета.
02Почему все прокси из списка RemProxy мёртвые?
Если список скачивается по ID подписки, скрипт сам распознает отказ и покажет IP машины: добавьте его в «Разрешённые IP» подписки. Если вы проверяете файл, запустите скрипт на машине из белого списка. Её IP видно на странице «Мой IP» или по команде curl -4 ifconfig.me.
03Зачем режим rbl, если прокси и так работают?
Почтовые серверы и часть сайтов отказывают адресам из спам-списков. Режим rbl отделяет такие выходы, чтобы задачи, где важна репутация, шли только через чистые IP.
04Скрипт куда-то отправляет мои прокси?
Нет. В режиме connect через каждый прокси уходит запрос к одной из пяти страниц, которые возвращают IP: icanhazip, ipify, Amazon checkip, ifconfig.me или ipinfo. В режиме rbl скрипт спрашивает о выходных IP DNS Google и Cloudflare, в режиме target открывает только сайты из -t. Результаты остаются в папке на вашей машине.
05Как проверить SOCKS5?
Укажите схему в строке, например socks5://host:port, или добавьте -P socks5 для всего списка. Порты RemProxy принимают и HTTP, и SOCKS5.
06Почему Ozon, Wildberries и Яндекс в режиме target дают 0%?
Эти сайты проверяют, что запрос пришёл из настоящего браузера, и отвечают проверкой или капчей любой программе, даже с чистого IP. Скрипт видит это по контрольному запросу без прокси в колонке direct и пишет примечание под таблицей. Такие сайты проверяйте в браузере или антидетекте.

Нужен пул для массовых проверок?

Пулы МИКС до 25 000 IP, безлимитный трафик, HTTP и SOCKS5 на одном порту, доступ по IP. Тестовый час стоит $1.

Смотреть пакеты
ВХОД/РЕГИСТРАЦИЯ