Чекер проксі для Linux і macOS на bash з перевіркою RBL

remcheck.sh перевіряє список проксі в сотні потоків просто на сервері: хто відповідає, як швидко і з якого IP виходить. У другому режимі скрипт ще й звіряє вихідні IP із 17 спам-списками.

  • bash і curl, без встановлення
  • до 1000 потоків
  • режими connect і RBL
  • безкоштовно

Версія 1.2 · 17.7 КБSHA-256 cfad8abe4c98e914f58f34eec7acc50ed1c821c830a6c3b300cbcba0bf6298ce

Термінал перевіряє сотні проксі: зелені й червоні індикатори пов’язані з вузлами мережі

Запуск за хвилину

Встановлювати нічого не потрібно: bash, curl і стандартні утиліти вже є в macOS і в більшості Linux-серверів. Скрипт перевірить їх під час запуску й підкаже команду встановлення, якщо чогось бракуватиме.

  1. Завантажте скрипт

    Просто на сервер, де працюватимуть проксі.

    curl -fsSLO https://remproxy.com/files/remcheck.sh
  2. Дозвольте запуск

    Один раз після завантаження.

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

    Передайте посилання на список із панелі: your_proxy_id у кожної підписки свій. Файл на диску теж підійде: ./remcheck.sh -f proxies.txt. Результати з’являться в новій папці поруч зі скриптом.

    ./remcheck.sh -P socks5 -f https://proxy.remproxy.com/your_proxy_id.csv
Якщо скрипт пише 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 -f proxies.txt -n 200 -T 8

rbl: живі та чисті

Кожен вихідний IP звіряється з 17 спам-списками через DNS over HTTPS. Для CSV з панелі RemProxy скрипт бере адреси з колонки real_ip, тож перевірка йде одразу, без з’єднань через проксі. Інші списки спершу проходять connect. Чисті проксі йдуть у clean.txt, знайдені в списках у listed.txt.

./remcheck.sh -f proxies.txt -m rbl -n 100

Параметри

-f LIST
Список проксі: файл, посилання http(s) або - для читання зі stdin.
-m MODE
Режим: connect (за замовчуванням) або rbl.
-n NUM
Скільки проксі перевіряти одночасно, за замовчуванням 64, максимум 1000. У режимі rbl те саме число задає, скільки IP одночасно йде в спам-списки: без -n це 128, максимум 256.
-T SEC
Тайм-аут на проксі в секундах, за замовчуванням 10.
-P PROTO
Протокол для рядків без схеми: http (за замовчуванням), socks5 або socks4.
-e URL
Сторінка, яку скрипт відкриває через проксі. Вона має відповідати IP-адресою, за замовчуванням ipv4.icanhazip.com.
-d DIR
Папка для результатів, за замовчуванням remcheck-ДАТА-ЧАС.
-C
Режим rbl з CSV 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Таблиця: проксі, статус, вихідний IP, час у мс, у режимі rbl ще й списки.
  • clean.txtРежим rbl: живі проксі з чистим вихідним IP.
  • listed.txtРежим rbl: живі проксі, чий IP знайдено в спам-списках.

Перевірка списку RemProxy

Посилання на CSV з панелі працює напряму. У режимі rbl скрипт бере вихідні IP з колонки real_ip, перевіряє кожну адресу один раз і не підключається через проксі. У роботі одразу 128 адрес, 1000 IP займають менше хвилини. У підсумку видно кількість і відсоток чистих і знайдених у списках проксі та адрес.

./remcheck.sh -f https://proxy.remproxy.com/your_proxy_id.csv -m rbl

Тримайте -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 https://proxy.remproxy.com/your_proxy_id.csv -d $HOME/remcheck-latest -q >> $HOME/remcheck.log 2>&1

У macOS cron працює так само, але до папок Документи й Робочий стіл йому потрібен повний доступ до диска. Простіше тримати скрипт і список у домашній папці.

Що потрібно: bash 3.2 або новіший, curl, awk, sed, grep, sort. У Windows скрипт працює в Git Bash або WSL, інструкція нижче.

Запуск у Windows

Власного bash у Windows немає, його приносить Git for Windows: у Git Bash є bash, curl і потрібні скрипту утиліти. Скрипт працює там без змін.

  1. Встановіть Git for Windows із сайту git-scm.com, налаштування інсталятора можна не змінювати.
  2. Відкрийте Git Bash з меню «Пуск».
  3. Створіть папку й завантажте в неї скрипт:
    mkdir -p /c/remcheck && cd /c/remcheck && curl -fsSLO https://remproxy.com/files/remcheck.sh
  4. Запустіть перевірку. Префікс bash замінює chmod:
    bash remcheck.sh -P socks5 -f https://proxy.remproxy.com/your_proxy_id.csv -n 100
  5. Результати лежать у C:\remcheck\remcheck-ДАТА-ЧАС. У Windows процеси запускаються повільніше, ніж у Linux, тому почніть з -n 100.

Розклад у Windows

  • Відкрийте «Планувальник завдань» і виберіть «Створити просте завдання».
  • Тригер «Щодня». Потім у властивостях завдання на вкладці «Тригери» увімкніть повтор кожні 30 хвилин.
  • Дія «Запустити програму». Програма й аргументи нижче.
    Програма
    C:\Program Files\Git\bin\bash.exe
    Аргументи
    -lc "/c/remcheck/remcheck.sh -P socks5 -f https://proxy.remproxy.com/your_proxy_id.csv -d /c/remcheck/latest -q"
  • Збережіть завдання. Свіжі результати будуть у C:\remcheck\latest.

Якщо на сервері ввімкнено WSL, запускайте скрипт у його Ubuntu так само, як у Linux.

Питання та відповіді

01Скільки потоків ставити?
Серверу з каналом 100 Мбіт/с вистачає 100–300. Кожна перевірка це один короткий запит, тому темп частіше обмежують тайм-аути, а не канал. Для списку RemProxy не перевищуйте кількість потоків пакета.
02Чому всі проксі зі списку RemProxy мертві?
Якщо список завантажується за посиланням, скрипт сам розпізнає відмову й покаже IP машини: додайте його до «Дозволені IP» підписки. Якщо ви перевіряєте файл, запустіть скрипт на машині з білого списку. Її IP видно на сторінці «Мій IP» або за командою curl -4 ifconfig.me.
03Навіщо режим rbl, якщо проксі й так працюють?
Поштові сервери й частина сайтів відмовляють адресам зі спам-списків. Режим rbl відокремлює такі виходи, щоб задачі, де важлива репутація, йшли тільки через чисті IP.
04Скрипт кудись надсилає мої проксі?
Ні. У режимі connect через кожен проксі йде один запит до ipv4.icanhazip.com, у режимі rbl скрипт питає про вихідні IP DNS Google і Cloudflare. Результати лишаються в папці на вашій машині.
05Як перевірити SOCKS5?
Вкажіть схему в рядку, наприклад socks5://host:port, або додайте -P socks5 для всього списку. Порти RemProxy приймають і HTTP, і SOCKS5.

Потрібен пул для масових перевірок?

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

Дивитися пакети
ВХІД/РЕЄСТРАЦІЯ