Android para telonas

Eu não gosto muito de televisão.

Para deixar claro, nada tenho contra televisores. Isto é, embora eu aprecie telas grandes, especialmente por causa da minha miopia, a programação dos canais de TV aberta no Brasil (e boa parte dos canais pagos também) não costuma despertar meu interesse.

A programação aberta no Brasil, assim como em outras partes do mundo, é focada no entretenimento. Entretanto, desde pequeno, eu nunca senti a necessidade de ser entretido (perdoe-me a aliteração, não pude resistir). Daí, as programações que despertam meu interesse costumam ser noticiários, documentários, reportagens. Enfim, algo que me informe, me faça pensar ou que tenha algum apelo cultural ou estético, como dramas ou filmes, caso tenham algum valor artístico.

Na minha infância e adolescência, o uso do televisor estava limitado pela programação aberta no Brasil. Isto, juntamente com a competição dos livros, fez do televisor um passatempo meio entediante para mim. Na infância, quando ainda morava no interior, assistia bastante televisão. Nada de melhor pra fazer no interior, muitas vezes. Na adolescência, ao me mudar pra capital (viva as bibliotecas públicas!), deixei a televisão de lado. Ainda usava o televisor eventualmente para assistir a filmes alugados em cassete, mas não mais me submetia à programação aberta.

Muitos anos depois, morando na Alemanha, a programação aberta servia como uma maneira de aprender um pouco sobre o país e sua cultura, manter o contato com o idioma quando em casa e também extrair algum benefício de uma certa taxa. A programação aberta naquele país me agradou bem mais. É mais variada, menos concentrada em entretenimento. De lá pra cá, desenvolvi um certo interesse em ter contato com outros países e culturas por meio das suas programações de televisão.

Recentemente, após mais de dez anos sem televisor em casa, adquiri um. Ciente de que isto ofereceria uma oportunidade ímpar para futricar no que não devia, escolhi uma TCL com sistema operacional Android (versão 9).

Depois de manusear um pouco e instalar alguns aplicativos, habilitei as opções de desenvolvedor e ativei a depuração USB. Sentei na frente do computador e fui me divertir.

$ nmap -sT espectro
Starting Nmap 7.92 ( https://nmap.org ) at 2021-11-12 17:47 -03
Nmap scan report for espectro (192.168.1.5)
Host is up (0.014s latency).
rDNS record for 192.168.1.5: espectro.lan
Not shown: 995 closed tcp ports (conn-refused)
PORT     STATE SERVICE
5555/tcp open  freeciv
8008/tcp open  http
8009/tcp open  ajp13
8443/tcp open  https-alt
9000/tcp open  cslistener

Nmap done: 1 IP address (1 host up) scanned in 0.20 seconds

O DNS aqui em casa já resolve o nome da TV, “espectro”, pro respectivo IP.

Bem, a porta 5555 é para ADB. Kodi, um dos aplicativos que instalei antes, está escutando na 8008. Quanto às demais portas, não faço ideia.

$ adb connect espectro:5555
* daemon not running; starting now at tcp:5037
* daemon started successfully
connected to espectro:5555

Maravilha!

Não gostei da tela inicial, principalmente por causa da propaganda de programação da Globo e Disney. Instalei o FLauncher.

No caso deste aparelho, o pacote que responde pela tela inicial é com.google.android.tvlauncher (sem “x” no final). Portanto, é necessário adaptar as instruções no repositório do FLauncher:

$ adb shell
BeyondTV:/ $ pm disable-user --user 0 com.google.android.tvlauncher 

Aproveitei para desabilitar outros aplicativos incorporados pelo fabricante que estavam estorvando.

Para ter acesso a alguns aplicativos melhores e úteis, instalei o F-Droid, uma versão clássica, melhor de manusear com o controle remoto.

$ adb install eu.bubu1.fdroidclassic_xxxx.apk

A maioria dos aplicativos disponíveis nos repositórios do F-Droid não são calibrados para funcionar em televisores, salvo algumas notáveis exceções.

Instalei o Termux, o qual funciona surpreendentemente bem no televisor. O único problema é que usar terminal sem teclado físico é uma tortura. Depois de algumas semanas de sofrimento, comprei um teclado sem fio (Bluetooth), o mais barato que encontrei. Infelizmente, as teclas estavam inserindo conforme o mapeamento americano, mas o teclado é brasileiro. Por alguma razão, dentre as alterações feitas pela fabricante, estava o desativamento da configuração do idioma para teclados físicos que costuma estar disponível no Android.

Sem muita paciência para perseguir uma solução adequada, lancei mão de uma gambiarra. Instalei Key Mapper e remapeei as teclas de modo a simular o teclado brasileiro. Para minha surpresa, esta gambiarra funciona perfeitamente. Foi um tanto custosa para implantar, pois são muitas teclas a serem remapeadas e o aplicativo não responde bem ao controle remoto. A minha sorte foi que me lembrei de uma ferramenta excelente disponível no Debian.

$ adb connect espectro:5555
* daemon not running; starting now at tcp:5037
* daemon started successfully
connected to espectro:5555
$ scrcpy

A tela do televisor apareceu numa janela e eu consegui controlar tudo usando o cursor e o teclado do meu computador. Perfeito!

No Termux, adicionei o seguinte no arquivo de configuração ~/.termux/termux.properties:

extra-keys = []
ctrl-space-workaround = true
fullscreen = true

Com o teclado, ajustei o tamanho da fonte, e obtive um excelente terminal na telona. Em poucos minutos, sentado no sofá com o teclado no colo, escrevia satisfeito usando minhas ferramentas prediletas: Emacs + Magit.

Usando o esquema de roteamento transparente conjugado a um serviço de VPN com suporte a Wireguard (existem muitos por aí, custam por volta de cinco euros por mês), foi possível obter uma boa variedade de canais abertos ao redor do mundo, conforme mostra a captura da telona.

Televisor

Alguns aplicativos na figura acima são por assinatura ou não tem acesso restrito por bloqueios geográficos. Mas temos aplicativos de canais abertos no Canadá, Reino Unido, Austrália, Alemanha, Suíça, Áustria, Estados Unidos, Portugal, Espanha, França, Suécia e Nova Zelândia. Estes necessitam de algum roteamento pelo respectivo país.

Mesmo a disponibilidade de alguns destes aplicativos na Google Play está limitado a algumas regiões. Contudo é possível obtê-los em portais como APKMirror e instalar via ADB. Melhor ainda é instalar Aurora Store e simular a localização com a ajuda de Sagernet + SOCKS5. Assim é possível também obter atualizações com mais facilidade.

Seria cruel e inútil fornecer um passo-a-passo para cada um destes canais. Seria cruel por estragar a diversão e o aprendizado. Seria inútil porque os roteamento de domínios necessários hoje, podem muito bem não ser os mesmos de amanhã, embora costumem permanecer estáveis por muito tempo. Talvez convenha apenas alertar que uma ferramenta recomendada na receita sobre roteamento transparente, o sniproxy, parece estar negligenciada. Sugiro substituir por outra ferramenta capaz de fazer fachada ao TLS, tais como Nginx, HAProxy ou mesmo Apache.

CC-BY-SA 4.0