Checker de proxies para Linux e macOS em bash com RBL

O remcheck.sh checa uma lista de proxies em centenas de threads direto no seu servidor: quais respondem, com que velocidade e por qual IP saem. O segundo modo ainda procura cada IP de saída em 17 listas de spam.

  • bash e curl, sem instalar nada
  • até 1000 threads
  • modos connect e RBL
  • grátis

Versão 1.2 · 17.7 KBSHA-256 cfad8abe4c98e914f58f34eec7acc50ed1c821c830a6c3b300cbcba0bf6298ce

Um terminal checa centenas de proxies: luzes verdes e vermelhas ligadas a nós da rede

Rodando em um minuto

Não precisa instalar nada: bash, curl e as ferramentas padrão já vêm no macOS e na maioria dos servidores Linux. O script confere tudo ao iniciar e mostra o comando de instalação se faltar algo.

  1. Baixe o script

    Direto no servidor onde os proxies vão trabalhar.

    curl -fsSLO https://remproxy.com/files/remcheck.sh
  2. Permita a execução

    Uma vez, logo depois de baixar.

    chmod +x remcheck.sh
  3. Cheque sua lista

    Passe o link da lista do painel: cada assinatura tem o seu your_proxy_id. Um arquivo no disco também serve: ./remcheck.sh -f proxies.txt. Os resultados aparecem numa pasta nova ao lado do script.

    ./remcheck.sh -P socks5 -f https://proxy.remproxy.com/your_proxy_id.csv
Se o script disser missing tools

Acontece em imagens mínimas de Debian e Alpine e em containers Docker. Instale o que falta com um comando para o seu sistema:

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: já tem tudo, não precisa instalar nada.

Dois modos

connect: vivos e rápidos

O script abre por cada proxy uma página que devolve o IP e anota o tempo de resposta. Os vivos vão para alive.txt, os mais rápidos no topo.

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

rbl: vivos e limpos

Cada IP de saída é procurado em 17 listas de spam via DNS over HTTPS. Com um CSV do painel da RemProxy o script pega os endereços da coluna real_ip, então a consulta começa na hora, sem conectar pelos proxies. As outras listas passam antes pelo connect. Os limpos vão para clean.txt e os listados para listed.txt.

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

Opções

-f LIST
Lista de proxies: um arquivo, um link http(s) ou - para ler o stdin.
-m MODE
Modo: connect (padrão) ou rbl.
-n NUM
Quantos proxies checar ao mesmo tempo, 64 por padrão, no máximo 1000. No modo rbl também define quantos IPs vão às listas de spam ao mesmo tempo: 128 sem -n, no máximo 256.
-T SEC
Tempo limite por proxy em segundos, 10 por padrão.
-P PROTO
Protocolo para linhas sem esquema: http (padrão), socks5 ou socks4.
-e URL
Página que o script abre por cada proxy. Ela deve responder com um IP, ipv4.icanhazip.com por padrão.
-d DIR
Pasta dos resultados, remcheck-DATA-HORA por padrão.
-C
Modo rbl com um CSV da RemProxy: conectar mesmo assim por cada proxy em vez de pegar os IPs da coluna real_ip.
-q
Sem linha de progresso. No cron ela se desliga sozinha.

Formatos da lista

O script lê notações diferentes no mesmo arquivo e pula repetições e linhas vazias. O CSV do painel da RemProxy também serve.

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

O que aparece na pasta

  • alive.txtProxies que funcionam, os mais rápidos no topo.
  • dead.txtProxies que não responderam.
  • results.tsvUma tabela: proxy, status, IP de saída, tempo em ms e, no modo rbl, as listas.
  • clean.txtModo rbl: proxies vivos com IP de saída limpo.
  • listed.txtModo rbl: proxies vivos cujo IP está em listas de spam.

Checando uma lista da RemProxy

O link do CSV do painel funciona direto. No modo rbl o script pega os IPs de saída da coluna real_ip, checa cada endereço uma vez só e não conecta pelos proxies. Ele trabalha com 128 endereços ao mesmo tempo, então 1000 IPs levam menos de um minuto. O resumo mostra a quantidade e a porcentagem de proxies e endereços limpos e listados.

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

Mantenha o -n igual ou abaixo das threads do seu pacote, senão parte das checagens bate no limite e vai para os mortos.

Se o IP não está na lista branca

A lista só é entregue para IPs da lista branca da assinatura. Se esta máquina não estiver lá, o script para e mostra o IP dela: abra panel.remproxy.com/subscriptions, escolha a assinatura, adicione esse IP em IPs permitidos na seção Acesso e rode a checagem de novo. Nos logs do cron esse caso aparece com o código de saída 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
Descobrir o IP desta máquina

Checagens agendadas

O script não tem modo periódico: quem cuida do horário é o cron. A checagem começa sozinha, e o resultado mais recente fica sempre na mesma pasta.

  • Abra o agendamento com crontab -e.
  • Adicione a linha abaixo: uma checagem a cada 30 minutos, resultados em remcheck-latest e log em remcheck.log.
  • Salve o arquivo. crontab -l mostra o agendamento.
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

No macOS o cron funciona igual, mas precisa de acesso total ao disco para entrar em Documentos e Mesa. É mais fácil deixar o script e a lista na sua pasta pessoal.

Requisitos: bash 3.2 ou mais novo, curl, awk, sed, grep, sort. No Windows o script roda no Git Bash ou no WSL, veja abaixo.

Rodando no Windows

O Windows não tem bash próprio, mas o Git for Windows traz: o Git Bash vem com bash, curl e as ferramentas que o script usa. O script roda nele sem mudanças.

  1. Instale o Git for Windows pelo site git-scm.com, as opções padrão do instalador servem.
  2. Abra o Git Bash pelo menu Iniciar.
  3. Crie uma pasta e baixe o script nela:
    mkdir -p /c/remcheck && cd /c/remcheck && curl -fsSLO https://remproxy.com/files/remcheck.sh
  4. Rode a checagem. O prefixo bash substitui o chmod:
    bash remcheck.sh -P socks5 -f https://proxy.remproxy.com/your_proxy_id.csv -n 100
  5. Os resultados ficam em C:\remcheck\remcheck-DATA-HORA. No Windows os processos iniciam mais devagar que no Linux, então comece com -n 100.

Agendamento no Windows

  • Abra o Agendador de Tarefas e escolha Criar Tarefa Básica.
  • Disparador: Diariamente. Depois, nas propriedades da tarefa, aba Disparadores, ative a repetição a cada 30 minutos.
  • Ação: Iniciar um programa. O programa e os argumentos estão abaixo.
    Programa
    C:\Program Files\Git\bin\bash.exe
    Argumentos
    -lc "/c/remcheck/remcheck.sh -P socks5 -f https://proxy.remproxy.com/your_proxy_id.csv -d /c/remcheck/latest -q"
  • Salve a tarefa. Os resultados recentes ficarão em C:\remcheck\latest.

Se o servidor tiver WSL, rode o script no Ubuntu dele do mesmo jeito que no Linux.

Perguntas e respostas

01Quantas threads eu coloco?
Um servidor com canal de 100 Mbit/s aguenta de 100 a 300. Cada checagem é uma requisição curta, então o ritmo é limitado mais pelos tempos limite do que pela banda. Com uma lista da RemProxy, não passe das threads do seu pacote.
02Por que todos os proxies da minha lista da RemProxy saem mortos?
Se a lista vem por link, o script reconhece a recusa e mostra o IP da máquina: adicione-o em IPs permitidos da assinatura. Se você checa um arquivo, rode o script numa máquina da lista branca. O IP dela aparece na página Meu IP ou com curl -4 ifconfig.me.
03Para que o modo rbl se os proxies já funcionam?
Servidores de e-mail e alguns sites recusam endereços de listas de spam. O modo rbl separa essas saídas, para que tarefas que dependem de reputação passem só por IPs limpos.
04O script manda meus proxies para algum lugar?
Não. No modo connect cada proxy faz uma requisição para ipv4.icanhazip.com, e no modo rbl o script consulta o DNS do Google e da Cloudflare sobre os IPs de saída. Os resultados ficam numa pasta na sua máquina.
05Como checo SOCKS5?
Coloque o esquema na linha, por exemplo socks5://host:port, ou adicione -P socks5 para a lista toda. As portas da RemProxy aceitam HTTP e SOCKS5.

Precisa de um pool para checagens em massa?

Pools MIX de até 25.000 IPs, tráfego ilimitado, HTTP e SOCKS5 na mesma porta, acesso por IP. Uma hora de teste custa US$ 1.

Ver pacotes
ENTRAR/REGISTRAR-SE