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.
- 🎨 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
printfno 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.
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:
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
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
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).
- Node.js (v18+)
- NPM ou Yarn
- Clone o repositório:
git clone https://github.com/luizhanauer/splash.sh.git
cd splash.sh- Instale as dependências:
npm install- Inicie o servidor de desenvolvimento:
npm run devO 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 testnpm run build/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çõ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é :)
Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter mais informações.
