Skip to content

luizhanauer/splash.sh

Repository files navigation

Splash.sh Logo

Splash.sh 💦

O Construtor Visual Definitivo para Terminal MOTD e BashBoards.

Vue.js TypeScript Tailwind CSS Vitest

Demonstração Ao VivoReportar BugContribuir


🚀 Sobre o Projeto

O Splash.sh é uma ferramenta web desenhada para Administradores de Sistemas, Engenheiros DevOps e entusiastas do Linux. Ele permite desenhar telas de boas-vindas épicas (Message of the Day) para servidores SSH diretamente no navegador, exportando um script .sh puro, limpo e sem dependências.

O que você vê na interface visual é exatamente o que será renderizado no terminal nativo.

✨ Principais Funcionalidades

  • 🎨 Customização de Cores ANSI: Defina cores granulares para títulos, bordas, chaves e valores.
  • 📊 Tabelas Dinâmicas Inteligentes: O motor de renderização usa printf no Bash para garantir que comandos dinâmicos (como $(uptime)) não quebrem o layout das bordas.
  • 🖼️ Conversor de Imagem para ANSI Art: Faça upload de qualquer imagem e converta-a instantaneamente para blocos True Color Half-Block () renderizáveis no terminal.
  • ✨ Paleta de Símbolos Unicode: Um modal rápido para copiar ícones, blocos de sombreamento e caracteres geométricos com um clique.
  • 🔗 Compartilhamento via URL (State Sync): Toda a arquitetura do seu painel é codificada em Base64 na URL. Partilhe seus templates de servidor com a sua equipa apenas copiando o link!
  • 🔄 Reordenação (Drag & Drop): Suba, desça e exclua painéis facilmente.

🛠️ Como usar o Script Gerado no Servidor

Após criar o seu layout e clicar em "Baixar .sh", você obterá o ficheiro splash.sh. Como ele executa comandos Bash em tempo real, não o coloque no ficheiro estático /etc/motd.

Em vez disso, use uma das abordagens abaixo:

Opção 1: Saudação Global (Para todos os utilizadores)

Coloque o script no diretório profile.d. Ele será executado toda vez que alguém fizer login.

# Copie o ficheiro para o servidor
scp splash.sh usuario@seu-servidor:/tmp/

# No servidor, mova para profile.d e dê permissão de execução
sudo mv /tmp/splash.sh /etc/profile.d/
sudo chmod +x /etc/profile.d/splash.sh

Opção 2: Saudação Pessoal (Apenas para o seu utilizador)

Chame o script a partir do seu .bashrc ou .zshrc.

# Dê permissão de execução
chmod +x splash.sh

# Mova para uma pasta oculta
mv splash.sh ~/.splash.sh

# Adicione no final do seu bashrc
echo "~/.splash.sh" >> ~/.bashrc
source ~/.bashrc

💻 Desenvolvimento Local

O projeto foi construído seguindo rigorosos padrões de Clean Code, Domain-Driven Design (DDD) focado no Frontend, e Object Calisthenics (eliminação de else, encapsulamento de primitivos e uso de Strategy Patterns para os geradores Bash).

Pré-requisitos

  • Node.js (v18+)
  • NPM ou Yarn

Instalação

  1. Clone o repositório:
git clone https://github.com/luizhanauer/splash.sh.git

cd splash.sh
  1. Instale as dependências:
npm install
  1. Inicie o servidor de desenvolvimento:
npm run dev

Executando os Testes Automatizados

O projeto utiliza Vitest para garantir a estabilidade do motor de geração Bash (Domain Logic) e gerenciamento de estado.

# Rodar os testes em modo Watch
npm run test

Build para Produção

npm run build

📂 Arquitetura do Projeto

  • /src/composables/useMotd.ts: O coração da aplicação. Contém a lógica de domínio, o padrão Strategy para conversão de componentes em Bash/HTML, e o State Sync da URL.
  • /src/components/: Componentes Vue isolados, incluindo o construtor principal, o editor individual de itens e o modal de Unicode.
  • /src/types/motd.ts: Contratos de tipagem estrita do TypeScript.

🤝 Contribuição

Contribuições são bem-vindas! Se você encontrar algum problema ou tiver sugestões para melhorar a aplicação, sinta-se à vontade para abrir uma issue ou enviar um pull request.

Se você gostou do meu trabalho e quer me agradecer, você pode me pagar um café :)

Buy Me A Coffee

Licença

Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter mais informações.


Feito com 💻 e ☕ por Luiz Hanauer.

About

✨ O construtor visual definitivo para telas de login no terminal Linux (MOTD). Desenhe painéis, tabelas dinâmicas e converta imagens para ANSI Art direto no navegador. Exporte um script .sh puro e sem dependências! 💻🐧

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors