Skip to content
Heloisa Pereira Garcia edited this page May 18, 2026 · 1 revision

🐧 TermHacker OS — Wiki Técnica

Documentação técnica completa da arquitetura, sistemas internos e funcionamento do código do TermHacker OS.


📚 Índice

  1. Introdução
  2. Arquitetura Geral
  3. Interface Gráfica
  4. Engine do Terminal
  5. Sistema de Arquivos Virtual
  6. Simulação SSH
  7. Sandbox Engine
  8. Sistema de Temas
  9. Internacionalização
  10. Sistema de Missões
  11. Gerenciamento de Janelas
  12. Boot Sequence
  13. Estrutura do Código
  14. Fluxo de Execução
  15. Segurança do Sandbox
  16. Melhorias Futuras

🚀 Introdução

O TermHacker OS é um sistema operacional Linux fictício construído inteiramente em HTML, CSS e JavaScript.

O projeto foi desenvolvido para simular:

  • ambientes Linux modernos
  • terminais hacker
  • sistemas de arquivos
  • conexões SSH
  • missões educativas
  • ambientes sandbox

A ideia principal é fornecer uma experiência próxima de um desktop Linux real diretamente no navegador.


🧠 Arquitetura Geral

A aplicação é dividida em módulos independentes.

flowchart TD

APP[TermHacker OS]

APP --> UI[Desktop Interface]
APP --> TERM[Terminal Engine]
APP --> FS[Filesystem Engine]
APP --> SSH[SSH Simulator]
APP --> MISSIONS[Mission Engine]
APP --> SANDBOX[Sandbox System]
APP --> SETTINGS[Settings Manager]
APP --> I18N[Translation Engine]
Loading

Cada módulo possui responsabilidade isolada.

Isso facilita:

  • manutenção
  • escalabilidade
  • futuras expansões
  • novos comandos Linux
  • novos ambientes

🖥️ Interface Gráfica

A interface é inspirada em:

  • GNOME
  • KDE Plasma
  • Kali Linux
  • Hyprland
  • desktops cyberpunk

Componentes principais

Desktop

Responsável por:

  • renderizar ícones
  • gerenciar wallpapers
  • armazenar estado visual

Dock

Sistema lateral de aplicações.

Funções:

  • abrir janelas
  • alternar apps
  • exibir status

Topbar

Barra superior contendo:

  • relógio
  • status de rede
  • indicadores do sistema
  • menu rápido

💻 Engine do Terminal

O terminal é o núcleo principal do sistema.

Responsabilidades

  • interpretar comandos
  • manter histórico
  • simular filesystem
  • processar pipes
  • executar aliases
  • controlar sandbox

⚙️ Parser de Comandos

O parser funciona dividindo a entrada do usuário.

Exemplo:

cd database && cat users.db

Fluxo interno:

sequenceDiagram
    participant User
    participant Parser
    participant CommandEngine
    participant Filesystem

    User->>Parser: cd database && cat users.db
    Parser->>CommandEngine: cd database
    CommandEngine->>Filesystem: change directory

    Parser->>CommandEngine: cat users.db
    CommandEngine->>Filesystem: read file
Loading

📁 Sistema de Arquivos Virtual

O filesystem é armazenado em memória usando objetos JavaScript.

Estrutura simplificada

const fs = {
  home: {
    root: {
      documents: {},
      projects: {}
    }
  }
}

📂 Diretórios

Cada diretório contém:

  • arquivos
  • subdiretórios
  • permissões
  • metadata

📄 Arquivos

Os arquivos possuem:

  • conteúdo
  • tamanho
  • permissões
  • tipo
  • timestamps

🌐 Simulação SSH

O sistema possui hosts remotos fictícios.

Objetivo

Ensinar:

  • SSH
  • redes
  • navegação remota
  • administração Linux

🔌 Fluxo SSH

flowchart LR
    LOCAL[Local Machine]
    SCAN[Network Scanner]
    TARGET[Remote Host]
    SHELL[Remote Shell]

    LOCAL --> SCAN
    SCAN --> TARGET
    TARGET --> SHELL
Loading

🛡️ Sandbox Engine

O Sandbox é um dos sistemas mais importantes.

Objetivos

  • impedir progresso permanente
  • desativar aprendizado
  • permitir testes livres
  • isolar alterações

🔥 Funcionamento Interno

Quando ativado:

sandbox on

O sistema altera flags globais:

sandboxMode = true
learningEnabled = false

🧪 Isolamento

No sandbox:

  • missões não avançam
  • progresso não é salvo
  • alterações podem ser resetadas
  • comandos perigosos são interceptados

🎨 Sistema de Temas

O sistema utiliza CSS variables.

Variáveis principais

:root {
  --accent: #22d3ee;
  --bg: #0f172a;
  --text: #e5e7eb;
}

🌈 Aplicação Global

Os temas alteram:

  • desktop
  • janelas
  • terminal
  • dock
  • glow effects
  • botões
  • notificações

🌎 Internacionalização (i18n)

O sistema suporta múltiplos idiomas.

Estrutura

const i18n = {
  pt: {
    settings: "Configurações"
  },
  en: {
    settings: "Settings"
  }
}

📜 Sistema de Missões

As missões funcionam como um tutorial gamificado.

Objetivos

  • ensinar Linux
  • ensinar comandos
  • ensinar filesystem
  • ensinar SSH
  • ensinar permissões

🧩 Estrutura

Cada missão contém:

{
  title,
  description,
  validation,
  reward
}

🪟 Gerenciamento de Janelas

As janelas são elementos HTML manipulados dinamicamente.

Recursos

  • drag & drop
  • foco automático
  • z-index dinâmico
  • minimizar
  • fechar
  • maximizar

🚀 Boot Sequence

O boot simula inicialização Linux.

Etapas

  1. kernel
  2. módulos
  3. serviços
  4. pacotes
  5. desktop
  6. terminal

⚡ Fluxo do Boot

flowchart TD
    BIOS --> Kernel
    Kernel --> Services
    Services --> Packages
    Packages --> Desktop
    Desktop --> User
Loading

🧱 Estrutura do Código

HTML

Responsável pela estrutura:

  • desktop
  • janelas
  • dock
  • terminal
  • menus

CSS

Responsável por:

  • temas
  • animações
  • responsividade
  • efeitos neon
  • aparência Linux

JavaScript

Responsável por:

  • terminal
  • filesystem
  • parser
  • missões
  • sandbox
  • SSH
  • janelas
  • eventos

🔄 Fluxo Geral de Execução

sequenceDiagram
    participant User
    participant UI
    participant Terminal
    participant CommandEngine
    participant Filesystem

    User->>UI: Input
    UI->>Terminal: command
    Terminal->>CommandEngine: parse
    CommandEngine->>Filesystem: execute
    Filesystem-->>Terminal: result
    Terminal-->>UI: render output
Loading

🔐 Segurança do Sandbox

O sandbox impede:

  • persistência real
  • execução externa
  • acesso ao sistema real
  • alterações permanentes

Tudo ocorre apenas em memória do navegador.


🧠 Filosofia Técnica

O projeto segue princípios:

  • modularidade
  • isolamento
  • UX moderna
  • gamificação
  • acessibilidade
  • aprendizado progressivo

🔮 Melhorias Futuras

Planejadas

  • multiusuário
  • filesystem persistente
  • shell scripting
  • Docker fake
  • editor de código
  • navegador Linux
  • processos reais simulados
  • systemctl fake
  • apt install fake
  • IA integrada

🏁 Conclusão

O TermHacker OS evoluiu de um terminal simples para uma plataforma Linux educacional completa.

Hoje o projeto combina:

  • interface Linux moderna
  • terminal funcional
  • arquitetura modular
  • sandbox seguro
  • sistema educacional
  • estética cyberpunk

Tudo rodando inteiramente no navegador.


🐧 Final