Vérificateur de proxys pour Linux et macOS en bash avec RBL

remcheck.sh vérifie une liste de proxys sur des centaines de threads directement sur votre serveur : lesquels répondent, à quelle vitesse et avec quelle IP ils sortent. Le second mode cherche en plus chaque IP de sortie dans 17 listes anti-spam.

  • bash et curl, rien à installer
  • jusqu’à 1000 threads
  • modes connect et RBL
  • gratuit

Version 1.2 · 17.7 KoSHA-256 cfad8abe4c98e914f58f34eec7acc50ed1c821c830a6c3b300cbcba0bf6298ce

Un terminal vérifie des centaines de proxys : voyants verts et rouges reliés aux nœuds du réseau

Prêt en une minute

Rien à installer : bash, curl et les outils standard sont déjà fournis avec macOS et la plupart des serveurs Linux. Le script les vérifie au démarrage et affiche la commande d’installation s’il manque quelque chose.

  1. Téléchargez le script

    Directement sur le serveur où travailleront les proxys.

    curl -fsSLO https://remproxy.com/files/remcheck.sh
  2. Autorisez l’exécution

    Une fois, juste après le téléchargement.

    chmod +x remcheck.sh
  3. Vérifiez votre liste

    Passez le lien de la liste depuis le panneau : chaque abonnement a son propre your_proxy_id. Un fichier sur le disque marche aussi : ./remcheck.sh -f proxies.txt. Les résultats arrivent dans un nouveau dossier à côté du script.

    ./remcheck.sh -P socks5 -f https://proxy.remproxy.com/your_proxy_id.csv
Si le script affiche missing tools

Cela arrive sur les images minimales Debian et Alpine et dans les conteneurs Docker. Installez ce qui manque avec une commande pour votre système :

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 : tout est déjà là, rien à installer.

Deux modes

connect : vivants et rapides

Le script ouvre via chaque proxy une page qui renvoie l’IP et note le temps de réponse. Les proxys vivants vont dans alive.txt, les plus rapides en haut.

./remcheck.sh -f proxies.txt -n 200 -T 8

rbl : vivants et propres

Chaque IP de sortie est cherchée dans 17 listes anti-spam via DNS over HTTPS. Avec un CSV du panneau RemProxy, le script prend les adresses dans la colonne real_ip, la recherche démarre donc tout de suite, sans connexion via les proxys. Les autres listes passent d’abord par connect. Les propres vont dans clean.txt, les listés dans listed.txt.

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

Options

-f LIST
Liste de proxys : un fichier, un lien http(s) ou - pour lire stdin.
-m MODE
Mode : connect (par défaut) ou rbl.
-n NUM
Nombre de proxys vérifiés en même temps, 64 par défaut, 1000 au maximum. En mode rbl il fixe aussi le nombre d’IP interrogées en même temps dans les listes anti-spam : 128 sans -n, 256 au maximum.
-T SEC
Délai par proxy en secondes, 10 par défaut.
-P PROTO
Protocole pour les lignes sans schéma : http (par défaut), socks5 ou socks4.
-e URL
Page ouverte via chaque proxy. Elle doit répondre par une adresse IP, ipv4.icanhazip.com par défaut.
-d DIR
Dossier des résultats, remcheck-DATE-HEURE par défaut.
-C
Mode rbl avec un CSV RemProxy : se connecter quand même via chaque proxy au lieu de prendre les IP dans la colonne real_ip.
-q
Sans ligne de progression. Sous cron elle se coupe toute seule.

Formats de liste

Le script lit plusieurs notations dans un même fichier et ignore les doublons et les lignes vides. Le CSV du panneau RemProxy convient aussi.

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

Ce qui apparaît dans le dossier

  • alive.txtProxys qui fonctionnent, les plus rapides en haut.
  • dead.txtProxys qui n’ont pas répondu.
  • results.tsvUn tableau : proxy, état, IP de sortie, temps en ms et, en mode rbl, les listes.
  • clean.txtMode rbl : proxys vivants avec une IP de sortie propre.
  • listed.txtMode rbl : proxys vivants dont l’IP figure dans des listes anti-spam.

Vérifier une liste RemProxy

Le lien vers le CSV du panneau fonctionne directement. En mode rbl le script prend les IP de sortie dans la colonne real_ip, vérifie chaque adresse une seule fois et ne se connecte pas via les proxys. Il traite 128 adresses à la fois, 1000 IP prennent moins d’une minute. Le résumé donne le nombre et le pourcentage de proxys et d’adresses propres ou listés.

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

Gardez -n au plus égal au nombre de threads de votre forfait, sinon une partie des vérifications bute sur la limite et finit parmi les morts.

Si l’IP n’est pas dans la liste blanche

La liste n’est servie qu’aux IP de la liste blanche de l’abonnement. Si cette machine n’y figure pas, le script s’arrête et affiche son IP : ouvrez panel.remproxy.com/subscriptions, choisissez l’abonnement, ajoutez cette IP aux IP autorisées dans la section Accès et relancez la vérification. Dans les journaux cron ce cas se repère au code de sortie 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
Connaître l’IP de cette machine

Vérifications planifiées

Le script n’a pas de mode périodique : c’est cron qui tient l’horaire. La vérification démarre seule et le dernier résultat se trouve toujours dans le même dossier.

  • Ouvrez la planification avec crontab -e.
  • Ajoutez la ligne ci-dessous : une vérification toutes les 30 minutes, résultats dans remcheck-latest, journal dans remcheck.log.
  • Enregistrez le fichier. crontab -l affiche la planification.
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

Sous macOS cron fonctionne de la même façon, mais il lui faut l’accès complet au disque pour atteindre Documents et Bureau. Le plus simple est de garder le script et la liste dans votre dossier personnel.

Prérequis : bash 3.2 ou plus récent, curl, awk, sed, grep, sort. Sous Windows le script tourne dans Git Bash ou WSL, voir plus bas.

Lancement sous Windows

Windows n’a pas de bash à lui, mais Git for Windows en apporte un : Git Bash contient bash, curl et les outils dont le script a besoin. Le script y tourne sans modification.

  1. Installez Git for Windows depuis git-scm.com, les options par défaut de l’installateur conviennent.
  2. Ouvrez Git Bash depuis le menu Démarrer.
  3. Créez un dossier et téléchargez-y le script :
    mkdir -p /c/remcheck && cd /c/remcheck && curl -fsSLO https://remproxy.com/files/remcheck.sh
  4. Lancez la vérification. Le préfixe bash remplace chmod :
    bash remcheck.sh -P socks5 -f https://proxy.remproxy.com/your_proxy_id.csv -n 100
  5. Les résultats sont dans C:\remcheck\remcheck-DATE-HEURE. Sous Windows les processus démarrent plus lentement que sous Linux, commencez donc avec -n 100.

Planification sous Windows

  • Ouvrez le Planificateur de tâches et choisissez Créer une tâche de base.
  • Déclencheur : Tous les jours. Ensuite, dans les propriétés de la tâche, onglet Déclencheurs, activez la répétition toutes les 30 minutes.
  • Action : Démarrer un programme. Le programme et les arguments sont ci-dessous.
    Programme
    C:\Program Files\Git\bin\bash.exe
    Arguments
    -lc "/c/remcheck/remcheck.sh -P socks5 -f https://proxy.remproxy.com/your_proxy_id.csv -d /c/remcheck/latest -q"
  • Enregistrez la tâche. Les résultats récents seront dans C:\remcheck\latest.

Si le serveur a WSL, lancez le script dans son Ubuntu comme sous Linux.

Questions et réponses

01Combien de threads régler ?
Un serveur avec un canal de 100 Mbit/s en supporte de 100 à 300. Chaque vérification est une requête courte, donc ce sont surtout les délais qui limitent le rythme, pas la bande passante. Pour une liste RemProxy, restez sous le nombre de threads de votre forfait.
02Pourquoi tous les proxys de ma liste RemProxy sont-ils morts ?
Si la liste vient d’un lien, le script reconnaît le refus et affiche l’IP de la machine : ajoutez-la aux IP autorisées de l’abonnement. Si vous vérifiez un fichier, lancez le script sur une machine de la liste blanche. Son IP figure sur la page Mon IP ou dans la sortie de curl -4 ifconfig.me.
03Pourquoi le mode rbl si les proxys fonctionnent déjà ?
Les serveurs de messagerie et certains sites refusent les adresses des listes anti-spam. Le mode rbl écarte ces sorties pour que les tâches qui dépendent de la réputation passent seulement par des IP propres.
04Le script envoie-t-il mes proxys quelque part ?
Non. En mode connect chaque proxy fait une requête vers ipv4.icanhazip.com, et en mode rbl le script interroge le DNS de Google et de Cloudflare sur les IP de sortie. Les résultats restent dans un dossier sur votre machine.
05Comment vérifier du SOCKS5 ?
Indiquez le schéma dans la ligne, par exemple socks5://host:port, ou ajoutez -P socks5 pour toute la liste. Les ports RemProxy acceptent HTTP et SOCKS5.

Besoin d’un pool pour des vérifications de masse ?

Pools MIX jusqu’à 25 000 IP, trafic illimité, HTTP et SOCKS5 sur un même port, accès par IP. Une heure de test coûte 1 $.

Voir les forfaits
CONNEXION/INSCRIPTION