Checker de proxies para Linux e macOS em bash com RBL e checagem de sites

O remcheck.sh checa uma lista de proxies em centenas de threads direto no seu servidor: quais respondem, com que velocidade e com qual IP saem. Outros dois modos cruzam os IPs de saída com 17 listas de spam e contam quantos proxies o Google, o LinkedIn, o Avito e outros sites deixam passar.

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

Versão 1.3 · 39.8 KBSHA-256 dfb2def4382911ca54702a96d0601d8ffee84dfe23e2b89d81911a8d6778210c

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 ID da assinatura do painel; your_proxy_id é diferente em cada assinatura. Os resultados aparecem numa pasta nova ao lado do script.

    ./remcheck.sh -P socks5 -f your_proxy_id
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.

Três 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 -n 200 -T 8 -f your_proxy_id

rbl: vivos e limpos

Cada IP de saída é procurado em 17 listas de spam via DNS over HTTPS. Com uma assinatura 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 -m rbl -n 100 -f your_proxy_id

target: quantos proxies um site deixa entrar

O script abre o Google, o LinkedIn, o Avito e mais 13 serviços, ou o seu próprio endereço, por cada proxy com cabeçalhos de navegador. As respostas se dividem em funcionando, captcha, antibot, bloqueios e limites. Antes, cada site é aberto da própria máquina sem proxy: se o site recusa também ela, ele checa o programa e não o IP. Os proxies que funcionam em cada site vão para ok-site.txt.

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

Opções

-f LIST
Lista de proxies: ID da assinatura RemProxy ou link da lista. Um arquivo também serve. Para passar a lista por um pipe, use -f -, por exemplo: cat list.txt | ./remcheck.sh -f -
-m MODE
Modo: connect (padrão), rbl ou target.
-t LIST
Modo target: serviços e endereços separados por vírgula, por exemplo -t google,linkedin,shop=https://example.com/, ou -t all para os 16.
-k TEXT
Modo target: uma página do seu endereço conta como funcionando só se tiver este texto.
-S NUM
Modos connect e target: checar uma amostra aleatória de NUM proxies.
-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-Timeout SEC
Tempo limite por proxy em segundos, 10 por padrão. -Timeout SEC também funciona, a mesma chave da versão para Windows.
-r NUM
Tentativas por proxy no modo connect, 2 por padrão, no máximo 5. Cada nova tentativa vai para outra página de eco.
-P PROTO
Protocolo para linhas sem esquema: http (padrão), socks5 ou socks4.
-e URLS
Páginas que respondem com o IP, separadas por vírgula. Cinco por padrão: icanhazip, ipify, Amazon checkip, ifconfig.me e ipinfo.
-d DIR
Pasta dos resultados, remcheck-DATA-HORA por padrão.
-C
Modo rbl com uma assinatura 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.tsvTabela: uma linha por proxy, no modo target por proxy e serviço, com o motivo de cada resposta.
  • clean.txtModo rbl: proxies vivos com IP de saída limpo.
  • listed.txtModo rbl: proxies vivos cujo IP está em listas de spam.
  • ok-NAME.txtModo target: proxies que abriram o serviço, os mais rápidos no topo.
  • summary.txtModo target: a tabela final por serviço.

Checando uma lista da RemProxy

Basta o ID da assinatura, o script baixa a lista CSV sozinho. No modo rbl o script pega os IPs de saída da coluna real_ip e não conecta pelos proxies. Cada linha da lista é checada separadamente, 128 ao mesmo tempo, então 1000 proxies levam menos de um minuto. O resumo mostra a quantidade e a porcentagem de proxies limpos e listados.

./remcheck.sh -m rbl -f your_proxy_id

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 your_proxy_id -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.

Rodando no Windows

Para Windows existe uma versão própria em PowerShell: os mesmos modos e opções, sem Git Bash nem WSL, com agendamento pelo Agendador de Tarefas.

Checker de proxies para Windows

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 pelo ID da assinatura, 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 envia uma requisição para uma de cinco páginas que retornam o IP: icanhazip, ipify, Amazon checkip, ifconfig.me ou ipinfo. No modo rbl o script consulta os IPs de saída nos DNS do Google e da Cloudflare; no modo target abre só os sites de -t. 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.
06Por que Ozon, Wildberries e Yandex dão 0% no modo target?
Esses sites verificam se a requisição vem de um navegador de verdade e respondem a qualquer programa com uma verificação ou captcha, mesmo de um IP limpo. O script percebe isso na requisição de controle sem proxy, a coluna direct, e deixa uma nota abaixo da tabela. Cheque esses sites num navegador ou num antidetect.

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