
Imgur bloqueou usuários do Reino Unido, mas a repercussão não parece ser tão grande para muitos, incluindo aqueles que, como eu, não visitam o site há anos. Antigamente, quando o Reddit utilizava o Imgur para hospedar imagens, a plataforma era bastante popular e útil. Com o tempo, no entanto, o Reddit criou seu próprio sistema de hospedagem de imagens, e o Discord fez o mesmo, fazendo com que o Imgur perdesse espaço.
Apesar de ter diminuído sua presença, o Imgur nunca desapareceu totalmente. Com o bloqueio recente, tenho encontrado links do Imgur que agora mostram a mensagem "indisponível", o que é irritante. Um exemplo claro disso ocorreu enquanto jogava Minecraft com colegas de trabalho. Ao tentar experimentar diferentes shaders, me deparei com páginas que mostravam previews hospedados no Imgur, mas todas as imagens estavam ausentes.
Essa situação se repete em várias partes da internet: publicações antigas em fóruns, discussões no Reddit e páginas de documentação. Os links do Imgur ainda estão por toda a web, mas agora estão quebrados para os usuários do Reino Unido.
A solução mais óbvia seria usar um VPN para contornar o bloqueio. No entanto, essa abordagem tem suas desvantagens. Recentemente, fiz um upgrade para uma conexão de 2.5 Gbps e não quero comprometer essa velocidade ao redirecionar todo o meu tráfego por meio de um VPN. Além disso, cada dispositivo em minha casa precisaria estar configurado para usar o VPN, o que tornaria a situação ainda mais complicada.
Decidi, então, criar uma solução mais limpa e automatizada. Já possuo um homelab configurado com Traefik como proxy reverso e Pi-hole para DNS. A ideia era interceptar todas as solicitações para i.imgur.com no nível DNS e redirecioná-las através de um container conectado a um VPN.
O fluxo funciona da seguinte maneira: um dispositivo solicita i.imgur.com, o Pi-hole retorna o IP da minha instância do Traefik, que então direciona a solicitação para o Gluetun, o qual a envia através do VPN. O Nginx, que está conectado à rede do Gluetun, faz a proxy para o Imgur, e a imagem volta pelo túnel para o dispositivo.
Utilizei o Nginx para essa configuração, pois o Gluetun não é um proxy reverso. A configuração do Nginx é simples, apenas realizando o passthrough de TCP com SNI. O arquivo de composição do Docker executa dois containers: o Gluetun, que gerencia a conexão VPN, e o Nginx, que se conecta à rede do Gluetun.
Além disso, fiz a integração com o NixOS, criando um serviço systemd que executa a pilha do compose com segredos gerenciados pelo Agenix. Os dados do VPN estão criptografados, garantindo que meu repositório de dotfiles permaneça público e seguro.
Agora, qualquer dispositivo na minha rede que solicitar uma imagem do Imgur consegue acessar normalmente. Não precisei instalar aplicativos de VPN, extensões de navegador ou realizar configurações manuais. O Pi-hole intercepta o DNS, o Traefik gerencia a conexão, e o Gluetun realiza o túnel através de um ponto de saída fora do Reino Unido. O aumento de latência é mínimo e afeta apenas o tráfego do Imgur. Embora essa solução possa ser considerada um exagero para acessar imagens ocasionais, ela é eficiente, requer manutenção mínima e ainda me permite visualizar os shaders do Minecraft.
Confira os últimos vídeos publicados no canal