pi-hole-blocklist
pi-hole-blocklist copied to clipboard
Desbloqueio de Domínios Essenciais para Smart TVs, Roteadores Xiaomi, Youtube e Amazon
Este pull request acompanha meu issue #22. Ele corrige o issue adicionando linhas de comentários que não estavam marcadas como tal e corrigindo um problema crítico em que domínios essenciais para o funcionamento de Smart TVs de diversas marcas (Samsung, Sony, LG, Philips, Vizio) e roteadores Xiaomi estavam sendo bloqueados. O bloqueio impedia o acesso a diversos serviços, como:
-
Smart TVs:
- Atualizações de firmware e software
- Acesso a lojas de aplicativos
- Reprodução de conteúdo em plataformas como YouTube, Netflix, Amazon Video, etc.
- Funcionalidades de Smart TV (teste de conexão, etc.)
-
Roteadores Xiaomi:
- Comunicação com a API da Xiaomi, essencial para gerenciamento e atualizações
Domínios Desbloqueados:
A lista completa de domínios desbloqueados por este pull request está detalhada na issue #22. Alguns dos domínios mais importantes incluem:
-
amzn.to
(encurtador de URL da Amazon) -
ytimg.com
(servidor de miniaturas do YouTube) -
mhc*.myhomescreen.tv
(conectividade e aplicativos em Smart TVs) -
*.samsungcloudsolution.*
(atualizações e serviços Samsung) -
api.miwifi.com
(API dos roteadores Xiaomi) - Muitos outros domínios essenciais para diversas marcas e modelos de Smart TVs
As remoções foram feitas através deste script em Python:
import re
def update_dns_blocklist(source_file, removal_file):
# Lendo os URLs a serem removidos
with open(removal_file, "r") as f:
remove_set = set(url.strip() for url in f)
# Processando o arquivo fonte
updated_lines = []
with open(source_file, "r") as f:
for line in f:
stripped_line = line.strip()
# Verificando se a linha é um comentário com uma URL http/https
if line.startswith(" ") and ("http://" in line or "https://" in line):
updated_lines.append("# " + line.lstrip())
# Verificando se a linha é uma URL a ser bloqueada pelo DNS que está començando com espaço
elif line.startswith(" ") and re.search(r'\b(?:[a-z0-9-]+\.){1,}[a-z]{2,}\b', stripped_line) and not stripped_line.startswith("#"):
updated_lines.append(line.lstrip())
# Verificando se a linha é um comentário simples sem URL
elif line.startswith(" ") and stripped_line not in remove_set and not any(prefix in stripped_line for prefix in ["http://", "https://"]):
updated_lines.append("# " + line.lstrip())
# Adicionando linhas que não são URLs a serem removidos ou comentários
elif stripped_line not in remove_set and not line.startswith(" "):
updated_lines.append(line)
# Escrevendo as alterações de volta ao arquivo fonte
with open(source_file, "w") as f:
for line in updated_lines:
f.write(line)
source_file = "x.txt"
removal_file = "y.txt"
update_dns_blocklist(source_file, removal_file)
Motivação:
O bloqueio desses domínios estava causando diversos problemas para os usuários, como:
- Impossibilidade de atualizar o firmware/software das Smart TVs
- Erros de "sem conexão com a internet" em aplicativos
- Falha na reprodução de conteúdo em plataformas de streaming
- Problemas de login em contas Samsung
- Inacessibilidade à loja de aplicativos
- Spam de requisições em roteadores Xiaomi
Testes:
Após aplicar este pull request, os seguintes testes foram realizados com sucesso:
-
Smart TVs:
- Verificação de atualizações de firmware/software
- Instalação de aplicativos
- Reprodução de vídeos no YouTube, Netflix, etc.
- Conexão com a internet foi realizada com sucesso
-
Roteadores Xiaomi:
- Acesso ao painel de administração
- Verificação de atualizações
Considerações Adicionais:
- A lista de domínios foi cuidadosamente revisada e inclui apenas aqueles estritamente necessários para o funcionamento adequado das Smart TVs e roteadores Xiaomi.
- Este pull request não afeta o bloqueio de anúncios ou rastreadores, mantendo a privacidade e segurança dos usuários.