Um computador estilizado com cinco etapas de configuração concluídas, a enviar ondas de sinal para um telemóvel com uma mensagem e quatro botões de código, em verde-escuro.

Estudo de caso Personal project

Um computador que se consulta, e se desliga, a partir de um chat.

Cliente
Personal project
Tipo
Aplicação desktop & agente remoto
Papel
Design & desenvolvimento full-stack
Ano
2026

Uma aplicação desktop e um agente local que põem o computador ao alcance de um chat do Telegram: um painel em Electron que trata de toda a configuração e um agente em Node.js que responde a 37 comandos vindos de um único chat autorizado.

Verificar uma máquina à distância costuma obrigar a software de ambiente de trabalho remoto, portas abertas ou VPN. E um bot capaz de executar comandos no computador é tão seguro quanto a pior mensagem que aceitar.

Usar uma aplicação de mensagens que o dono já traz consigo e deixar o computador no controlo. O agente consulta o Telegram de dentro para fora, pelo que nada fica à escuta na rede; responde a um único chat configurado e ignora todos os outros; e tudo o que altera a máquina tem de ser confirmado primeiro.

O que foi de facto construído

  1. 01

    Um painel de configuração em Electron: basta colar o token do bot e o chat ID, e o painel valida-os junto do Telegram (getMe e uma mensagem de teste), instala o agente, põe-no a arrancar com o sistema e mostra cada etapa à medida que é concluída.

  2. 02

    Um agente em Node.js sem dependências em runtime: long polling com offset persistido, para nunca voltar a processar mensagens antigas, e 37 comandos de sistema, rede, processos, ficheiros, multimédia e energia, cada um implementado por plataforma, com um simples “ainda não disponível” onde não existe implementação segura.

  3. 03

    Proteções em todos os caminhos sensíveis: desligar, reiniciar, suspender, bloquear, limpeza e upgrade exigem um código de seis dígitos em 30 segundos, escolhido entre quatro botões; o sudo genérico é bloqueado no /cmd, padrões destrutivos são recusados e as ações privilegiadas só correm através de scripts wrapper fixos, autorizados num sudoers restrito, nunca NOPASSWD: ALL.

  4. 04

    Instaladores para um serviço systemd no Linux, uma tarefa agendada no Windows e um LaunchAgent no macOS. A configuração é guardada com permissões 600, e o token surge mascarado na interface e é retirado das mensagens de erro.

Tecnologia

  • Electron
  • Node.js
  • JavaScript
  • Telegram Bot API
  • systemd
  • Bash
  • PowerShell

Um protótipo funcional (v0.1.0), desenvolvido em Linux, onde o suporte é mais completo. Windows e macOS são parciais, e o próprio README ainda refere problemas por resolver. Gerir vários PCs a partir de um só painel está no roadmap, mas ainda não foi construído.

Projeto seguinteRoomFlowGrupo Transire · Reserva de salas de reunião