Tatu Tunnels
Informações sobre como testar no final do texto.
Imagine a seguinte situação
Você acabou de instalar o home assistant e agora quer configurar um solução de acesso remoto. O nabu casa é interessante, fácil de usar e ajuda os devs do HA. Mas é um pouco caro e não muito útil se você pretende hospedar outros serviços além do HA. Você pesquisa um pouco e decide testar duckdns, a principio parece fácil, mas a interface do seu roteador não tem nada a ver com a do vídeo! Você finalmente configura o redirecionamento de porta mas nada funciona! Será que sua operadora está bloqueando portas? Você está em CGNAT ou seu roteador não tem nat loopback? Se sentindo perdido você pesquisa novamente, VPNs como tailscale parecem ser uma boa solução, mas você teria que abrir mão da possibilidade de integrar alexa e/ou google home, sobrou cloudflare tunnels. Mas o domínio fica resetando, para ter um domínio fixo é necessário comprar seu próprio domínio e configurar DNS. Finalmente tudo funciona mas precisava ser tão complicado? Ou seria possível uma solução fácil de usar, que funcione em todos casos sem necessidade de alterar configurações do roteador nem comprar e configurar um domínio, e tudo isso por um valor acessível? Sim, é possível, e se chama Tatu tunnels.
Quem somos nós?
Antes de continuar apresentando nosso novo produto, gostaria de me apresentar melhor. Me chamo Ariel, os que ja frequentam o forum a mais tempo certamente ja me conhecem daqui, eu participo da equipe que mantém o fórum a uns 2-3 anos.
Mas poucos devem saber que sou CTO e co-founder de uma empresa de desenvolvimento de software sob encomenda chamada A2C Solutions.
Nossa empresa está quase fazendo um ano, estamos já com alguns projetos entregues e mais alguns sendo finalizados, e começamos a pensar em explorar também a ideia de criar nossos próprios produtos. Uma das maiores que dores que sempre tive desde que entrei no mundo de softwares self hosted como HA sempre foi o acesso remoto, e é uma dor que também experimentamos muitas vezes como empresa, e tivemos que criar diversas maneiras de solucionar. E pensamos porque não trazer essa nossa experiência aqui para o mundo dos home labs?
O Tatu Tunnels
A solução será inicialmente totalmente focada em HA mas funcionando para outros serviços na mesma máquina. O software será disponibilizado como um ADDON e funcionará através de um serviço de assinatura. Durante o período de testes iniciais os testes terão acesso gratuito ao serviço. Em um segundo momento será lançado uma versão não dedicada ao HA.
Features do Tatu:
- Conexão fácil com home assistant através de ADDON
- Acesse remoto de múltiplos serviços
- Acesso remoto para qualquer porta interna
- Subdomínios Tatu fixos para cada usuário
- Possibilidade de trazer seu próprio domínio, usando qualquer DNS da sua escolha
- Funciona com Alexa e Google Home
Como Funciona
O funcionamento do acesso remoto em si será (inicialmente) baseada em ferramentas open source e para aqueles com conhecimento avançado em linux e redes é possível replicar um sistema funcionalmente parecido com nosso tendo um servidor com IP público e um domínio. Nosso grande diferencial é nosso software proprietário que gerencia todos essas ferramentas permitindo uma ótima experiência e facilidade de uso para usuários de todos níveis de conhecimento.
Para entender nossa solução primeiro precisamos responder: o que é um tunnel? Tunnel é um nome usado para qualquer tecnologia (mas geralmente involve VPNs) que permita uma comunicação entre duas redes que de outra maneira seria impossível. Nossos computadores não tem IP público, eles conseguem enviar pedidos para outros computadores na internet mas não conseguem recebê-los. Mas se estabelecermos um tunnel entre o nosso computador e um computador que possa receber pedidos, esse computador pode então redirecionar os pedidos através do tunnel.
O Tatu funciona da seguinte maneira:
- Você loga na sua conta usando O client no seu PC do HA
- Através da nossa API seu PC é alocado para um de nossos Relay Nodes
- Você recebe um subdomínio que aponta para esse relay node
- A proxy reversa no Relay node repassa pedidos para o PC correto baseado no dominio
Para os tunnels nós inicialmente usaremos ferramentas open source de redes mesh wireguard, como netbird, headscale …
Em uma VPN tradicional os clients se conectam a um servidor vpn. Comunicação entre clients precisam passar pelo servidor. Em uma rede mesh um grupo de técnicas magias avançadas chamadas de NAT Traversal são usadas para permitir comunicação direta entre dois clients sem IP público necessitando de um servidor Coordenador apenas para iniciar a conexão.
Esse tipo de conexão não é tecnicamente necessário para nosso sistema, cada relay node poderia ser um servidor VPN (com a rede mesh eles são apenas mais um client), porem o uso de softwares de rede mesh tem duas vantagens:
- Facilitam a implementação futura de funcionalidades avançadas com rede mesh. Permitindo configurações como por exemplo liberar sua dashboard lovelace em um domínio mas permitir acesso a telas de administrativas do HA apenas através de dispositivos na rede mesh (um hibrido entre cloudflare tunnels e tailscale).
- Essas ferramentas tem funcionalidades como gerenciamento por API e integração com provedores de autenticação que facilitam a implementação de uma versão inicial.
Quero testar
No momento estamos finalizando um primeiro MVP, tendo uma infra funcional com 1 relay node, mas sem o addon e sem API para gerenciamento, a configuração sendo feita para cada usuário manualmente por nós por enquanto. Se nosso cronograma correr como esperado semana que vem começaremos o período de Alpha test.
Precisamos de testers que tenham conhecimento essencial de linux, e que tenham seu home assistant instalado em linux (não será possível instalação do Alpha no haOS) ou que tenham um servidor linux na mesma rede local que o HA.
Não há custos para ser um tester.
Caso tenha interesse em ser um tester por favor entre em contato através de mensagem privada aqui no fórum ou através de uma das formas de contato abaixo:
email: arielleventhal@gmail.com
discord: @arieltl
Dúvidas
Postem qualquer duvidas que tiverem como resposta a este post, ou entrem em contato através dos métodos acima.