-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Documentação técnica completa da arquitetura, sistemas internos e funcionamento do código do TermHacker OS.
- Introdução
- Arquitetura Geral
- Interface Gráfica
- Engine do Terminal
- Sistema de Arquivos Virtual
- Simulação SSH
- Sandbox Engine
- Sistema de Temas
- Internacionalização
- Sistema de Missões
- Gerenciamento de Janelas
- Boot Sequence
- Estrutura do Código
- Fluxo de Execução
- Segurança do Sandbox
- Melhorias Futuras
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.
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]
Cada módulo possui responsabilidade isolada.
Isso facilita:
- manutenção
- escalabilidade
- futuras expansões
- novos comandos Linux
- novos ambientes
A interface é inspirada em:
- GNOME
- KDE Plasma
- Kali Linux
- Hyprland
- desktops cyberpunk
Responsável por:
- renderizar ícones
- gerenciar wallpapers
- armazenar estado visual
Sistema lateral de aplicações.
Funções:
- abrir janelas
- alternar apps
- exibir status
Barra superior contendo:
- relógio
- status de rede
- indicadores do sistema
- menu rápido
O terminal é o núcleo principal do sistema.
- interpretar comandos
- manter histórico
- simular filesystem
- processar pipes
- executar aliases
- controlar sandbox
O parser funciona dividindo a entrada do usuário.
Exemplo:
cd database && cat users.dbFluxo 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
O filesystem é armazenado em memória usando objetos JavaScript.
const fs = {
home: {
root: {
documents: {},
projects: {}
}
}
}Cada diretório contém:
- arquivos
- subdiretórios
- permissões
- metadata
Os arquivos possuem:
- conteúdo
- tamanho
- permissões
- tipo
- timestamps
O sistema possui hosts remotos fictícios.
Ensinar:
- SSH
- redes
- navegação remota
- administração Linux
flowchart LR
LOCAL[Local Machine]
SCAN[Network Scanner]
TARGET[Remote Host]
SHELL[Remote Shell]
LOCAL --> SCAN
SCAN --> TARGET
TARGET --> SHELL
O Sandbox é um dos sistemas mais importantes.
- impedir progresso permanente
- desativar aprendizado
- permitir testes livres
- isolar alterações
Quando ativado:
sandbox onO sistema altera flags globais:
sandboxMode = true
learningEnabled = falseNo sandbox:
- missões não avançam
- progresso não é salvo
- alterações podem ser resetadas
- comandos perigosos são interceptados
O sistema utiliza CSS variables.
:root {
--accent: #22d3ee;
--bg: #0f172a;
--text: #e5e7eb;
}Os temas alteram:
- desktop
- janelas
- terminal
- dock
- glow effects
- botões
- notificações
O sistema suporta múltiplos idiomas.
const i18n = {
pt: {
settings: "Configurações"
},
en: {
settings: "Settings"
}
}As missões funcionam como um tutorial gamificado.
- ensinar Linux
- ensinar comandos
- ensinar filesystem
- ensinar SSH
- ensinar permissões
Cada missão contém:
{
title,
description,
validation,
reward
}As janelas são elementos HTML manipulados dinamicamente.
- drag & drop
- foco automático
- z-index dinâmico
- minimizar
- fechar
- maximizar
O boot simula inicialização Linux.
- kernel
- módulos
- serviços
- pacotes
- desktop
- terminal
flowchart TD
BIOS --> Kernel
Kernel --> Services
Services --> Packages
Packages --> Desktop
Desktop --> User
Responsável pela estrutura:
- desktop
- janelas
- dock
- terminal
- menus
Responsável por:
- temas
- animações
- responsividade
- efeitos neon
- aparência Linux
Responsável por:
- terminal
- filesystem
- parser
- missões
- sandbox
- SSH
- janelas
- eventos
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
O sandbox impede:
- persistência real
- execução externa
- acesso ao sistema real
- alterações permanentes
Tudo ocorre apenas em memória do navegador.
O projeto segue princípios:
- modularidade
- isolamento
- UX moderna
- gamificação
- acessibilidade
- aprendizado progressivo
- multiusuário
- filesystem persistente
- shell scripting
- Docker fake
- editor de código
- navegador Linux
- processos reais simulados
- systemctl fake
- apt install fake
- IA integrada
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.