Criei um DNS para bloquear bets
Isso não é um pitch
No Brasil, as bets tem sido cada vez mais um problema para a população no geral, com notícias de pessoas perdendo tudo, se endividando, utilizando de programas do governo para alimentar do vício em casas de apostas online.
A solução
Infelizmente não há solução adequada para este problema. E é provável que a solução nunca seja criada, mas, e se nós desenvolvedores tentarmos um cadinho?
Ao navegar pelo LinkedIn nos últimos dias vi algumas postagens de pessoas que criaram API, aplicativos, soluções a nível de rede complexas e extensões do navegador, e enquanto todas essas soluções são ótimas em algum nível, todas elas caem no mesmo problema: "o método costuma ser um pouco complexo ou não universal".
💡 Daí me veio a ideia: E se houvesse um servidor DNS para filtrar bets? Isso seria simples de utilizar!
Como usar em seu Android
🚨 É extremamente importante dizer aqui que o futuro deste projeto é incerto devido aos custos de implementação ainda não sabidos (que saem de meu bolso), assim sendo, ele provavelmente poderá ser descontinuado ao início de Janeiro. Tenha isso em mente caso vá utilizá-lo, e sempre adicione um DNS secundário.
Para usar em um Android é bem simples, basta abrir as configurações e buscar por "priv", você provavelmente irá encontrar entre os primeiros resultados algo como "private DNS"/"DNS privado", selecione o modo "private DNS provider hostname" e nele digite "betblock.andrealtoe.me". E está pronto, seu dispositivo já estará bloqueando domínios conhecidos de bet que estão em meu repositório. :)
Como usar em seu Windows
🚨 É extremamente importante dizer aqui que o futuro deste projeto é incerto devido aos custos de implementação ainda não sabidos (que saem de meu bolso), assim sendo, ele provavelmente poderá ser descontinuado ao início de Janeiro. Tenha isso em mente caso vá utilizá-lo, e sempre adicione um DNS secundário.
Para utilizar em seu Windows, é possível colocar o DNS primário com os seguintes valores:
Preferred DNS: 174.138.124.37
Um tutorial de como alterar esses valores pode ser encontrado Aqui
Como foi feita a solução
Todo o código pode ser visto em meu Github através do link: https://github.com/faakit/bet-blocker-dns
Entre as tecnologias utilizadas estão:
- Docker: Para facilitar a criação e o deploy do serviço de forma automatizada
- Unbound: Servidor DNS recursivo
- Python: Para transformar o arquivo blocks.txt em um arquivo de configuração do Unbound
- Certbot: Para geração de certificados TLS utilizando a Let's Encrypt
E agora?
Bom, essa foi uma diversão que tomei como desafio por algumas horas. O deploy desse serviço ainda possui um futuro incerto. Mas sem dúvidas, vos deixo aqui com mais uma possibilidade na luta contra as bets.
E é claro, caso estejam curiosos com o que não está visível:
O deploy foi feito na DigitalOcean utilizando um droplet do mais barato (afinal, vamos ver até onde ele pode ir). Por ora, isso custa ao meu bolso 6 dólares por mês fora o meu domínio, porém, com o crescimento da utilização pode ser necessário medidas como a utilização de um load balancer, ou aumentar a potência da instância. Ainda são questões nas quais não possuo resposta, e por isso esse é um teste!
E embora eu não tenha problemas com bets, estou utilizando deste DNS para ver até onde sua estabilidade se prova viável.
Fonte: https://www.andrealtoe.me/