pi-hole-blocklist icon indicating copy to clipboard operation
pi-hole-blocklist copied to clipboard

Desbloqueio de Domínios Essenciais para Smart TVs, Roteadores Xiaomi, Youtube e Amazon

Open koobzaar opened this issue 7 months ago • 0 comments

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.

koobzaar avatar Jul 07 '24 13:07 koobzaar