
Como todo mundo, eu uso uma das maneiras
simples de contornar as fechaduras, das quais o mar está agora. Todos os sites são abertos sem problemas e freios. Mas recentemente (duas semanas atrás) eu tive uma pergunta: quais sites estão realmente bloqueados daqueles que abrem e quais não? Verificar cada site manualmente no
site oficial da ILV não é uma opção, embora seja a maneira mais confiável. Naturalmente, procurei no Google ferramentas adequadas, mas, para minha grande surpresa, não encontrei nada.
Idéia

Assim, surgiu a ideia de fazer uma
extensão (
código aberto ), que verificará cada site quanto à conformidade com as entradas no banco de dados ILV. No começo, era simples, verificando apenas o domínio. Agora, ele até mostra se o site foi
bloqueado ilegalmente (ficou em distribuição). Por exemplo,
reactos.org ou
7-zip.org (no momento da leitura do artigo, eles já podem estar desbloqueados). Em geral, desde o início da guerra com o Telegram, muitas redes ainda estão em constante bloqueio, periodicamente essa lista
muda de acordo com leis desconhecidas.
Como a extensão funciona
- Faça o download do banco de dados ILV e armazene-o localmente.
- Na guia atual, verifica o URL (se estiver no banco de dados).
- Corta um domínio de uma URL e verifica se há um domínio no banco de dados.
- Verifica o endereço IP atual no banco de dados no qual o site atual está carregado.
- Verifica se o endereço IP pertence a sub-redes bloqueadas.
- Mostra um relatório na forma de um ícone. Se você clicar nele, informações um pouco mais detalhadas.
Isso é tudo, sem mágica. A verificação de domínio está sempre disponível, mesmo que o site não seja carregado, bloqueado, substituído etc. - porque a barra de endereços é analisada, ou seja, o URL digitado na barra de endereços ou que aparece lá. Todos os problemas estão conectados apenas com a verificação de IP.
Mas e se o proxy estiver no navegador?

Se o proxy estiver configurado no navegador, a extensão funcionará em toda a extensão, porque tendo problemas com a determinação do site IP
atual . Em vez disso, o IP do servidor proxy é determinado. É apenas sobre o proxy no próprio navegador, e não sobre a VPN e outras soluções alternativas. A propósito, para determinar o IP, precisávamos dos direitos do webRequest (acesso aos dados). Também o ip não é detectado no navegador Tor (infelizmente).
E se o site estiver bloqueado pelo provedor?
Outra dificuldade técnica é determinar o IP atual quando o
site não está disponível (presumivelmente bloqueado, mas o desvio dos bloqueios não está configurado). Nesse caso, o navegador não fornece informações sobre o endereço IP. E precisamos exatamente do ip no qual o navegador está tentando estabelecer uma conexão - e é impossível determinar isso, infelizmente. Mas a verificação por URL e domínio funciona corretamente.
Mas e se o site simplesmente mentir?

Nesse caso, existe uma função para
verificar a disponibilidade do site - ele funciona independentemente do DNS e do bloqueio (enquanto o
serviço de hospedagem correspondente funciona sem surpresas). Depois de instalar a extensão, você precisa habilitá-la nas configurações.
Mas a definição de IP falha pelo mesmo motivo que no parágrafo anterior. Existe uma idéia para obter informações de IP a partir daí, mas pode ser diferente da sua.
E se o provedor redirecionar o DNS?
Se o provedor tiver um bloqueio no nível do DNS, a extensão receberá um IP falso atual do site e não o saberá. E vice-versa, se você escrever o ip necessário no arquivo hosts (ou mesmo se tiver seu próprio servidor DNS), eles estarão no relatório pop-up. Ao mesmo tempo, a verificação por URL e domínio funciona corretamente, porque eles são retirados da barra de endereço no navegador.
Tentando resolver problemas de ip
Como uma meia medida para solucionar esses problemas, a extensão realiza uma consulta DNS e determina todos os endereços IP do site, bem como seu status no banco de dados ILV. Ao mesmo tempo, a extensão não sabe exatamente qual dos vários ip está sendo usado atualmente para acessar o site que está sendo verificado. Portanto, se pelo menos um ip estiver bloqueado, o ramal tocará o alarme e mudará a cor do ícone para vermelho.
Para obter registros DNS, você deve usar um serviço externo via
HTTP-DNS , porque o próprio navegador não permite a resolução de endereços. Mas isso é bom, porque Os provedores não bloqueiam ou redirecionam essas solicitações. A confiabilidade das informações é alta. Você pode usar o DNS do
Google ou
Cloudflare , e também o usuário
brzsmg hospedou o eterno DNS gratuito, pelo qual ele agradece.
Onde obter uma nova base de ILV?
Obviamente, uma busca separada era encontrar a base de ILV mais adequada. O fato é que o próprio ILV não mantém a base em domínio público. Em vez disso, ele
sugere que os provedores usem uma assinatura digital para acessar o banco de dados. Eu não tinha um EDS extra em mãos. Enquanto isso, a ILV recomenda que os provedores atualizem o banco de dados
uma vez por hora . E algumas atualizações "urgentes" do banco de dados ocorrem com
mais frequência . Ou seja, uma trava de carpete pode tocar nos principais recursos (ou nos seus) por apenas algumas horas e depois desaparecer, como se nada tivesse acontecido. O mais aceitável foi o arquivo atualizado com freqüência
no github . Graças às boas pessoas!
Esboço do provedor
Situações em que o stub do provedor é exibido, a extensão reconhece. Ele lembra as informações sobre a página da qual houve um redirecionamento para o stub e mostra informações sobre o site, não o stub. Agora suportado: Rostelecom, MTS, Beeline, Iota, TTK, Dom.ru. Se você tiver um stub especial do provedor, poderá especificá-lo nas configurações e ele será reconhecido (não será considerado como um site).
Conclusão
Que outra lista de desejos adicionar? Escreva. Quanto a mim, a extensão tem uma aparência finalizada. Depois, há a correção de pequenos erros uma vez por ano (
se você encontrar ).
Não posso dizer nada sobre o futuro do RKN Alert, porque ele está vinculado ao trabalho de serviços externos e também depende da disponibilidade do banco de dados em domínio público. Mas enquanto estou vivo, monitorei a situação. Sempre há uma saída, eu acho.
Obrigado a todos que ajudam! Bom para todos!
