4.6 KiB
4.6 KiB
Guia da Interface de Administração
Visão Geral
A interface de administração do YASUC permite gerenciar todos os pastes criados através de uma interface web simples e intuitiva.
Acesso
URL de Acesso
http://localhost:8080/admin/login
Autenticação
- Senha: Definida pela variável de ambiente
YASUC_ADMIN_PASSWORD - Sessão: 1 hora de duração
- Padrão:
admin123(se não configurada)
Configuração da Senha
Docker Compose
version: "3.4"
services:
paste:
environment:
- YASUC_ADMIN_PASSWORD=minhasenha123
Execução Local
# Linux/Mac
YASUC_ADMIN_PASSWORD=minhasenha123 ./yasuc -db data/yasuc.sqlite3 -port 8080
# Windows PowerShell
$env:YASUC_ADMIN_PASSWORD="minhasenha123"; ./yasuc.exe -db data/yasuc.sqlite3 -port 8080
Docker Run
docker run -d -p 8080:8080 -v /path/to/data:/data -e YASUC_ADMIN_PASSWORD=minhasenha123 yasuc
Funcionalidades
1. Dashboard Principal
O dashboard exibe:
- Estatísticas: Total de pastes e tamanho total em bytes
- Lista de Pastes: Todos os pastes ordenados por data de criação (mais recentes primeiro)
- Ações: Botões para visualizar e remover pastes
2. Informações dos Pastes
Para cada paste, são exibidas:
- ID: O ID curto do paste (ex:
Ly34kx3) - URL: Link direto para acessar o paste
- Conteúdo: Preview dos primeiros 50 caracteres
- Tamanho: Tamanho em bytes
- Data de Criação: Data e hora formatadas
3. Ações Disponíveis
Visualizar Paste
- Botão: "Ver" (azul)
- Ação: Abre o paste em nova aba
- URL:
http://localhost:8080/[ID]
Remover Paste
- Botão: "Remover" (vermelho)
- Ação: Deleta permanentemente o paste
- Confirmação: Dialog de confirmação antes da remoção
4. Navegação
- Logout: Botão "Sair" no canto superior direito
- Sessão: Expira automaticamente após 1 hora
- Redirecionamento: Para login se não autenticado
Interface Web
Design
- Responsivo: Interface limpa e moderna
- Cores: Azul para ações principais, vermelho para remoção
- Tabela: Lista organizada com informações claras
- Preview: Conteúdo truncado para melhor visualização
Segurança
- Autenticação: Protegido por senha
- Sessão: Cookie HttpOnly com expiração
- CSRF: Proteção básica contra ataques
- Validação: Verificação de autenticação em todas as rotas
Rotas da API
Autenticação
GET /admin/login- Página de loginPOST /admin/login- AutenticaçãoGET /admin/logout- Logout
Administração
GET /admin/dashboard- Dashboard principalPOST /admin/delete/[ID]- Remover paste
Exemplos de Uso
1. Acessar Administração
# Abrir no navegador
open http://localhost:8080/admin/login
2. Login via Curl
# Fazer login e salvar cookies
curl -c cookies.txt -b cookies.txt -d "password=admin123" -X POST http://localhost:8080/admin/login
# Acessar dashboard
curl -b cookies.txt http://localhost:8080/admin/dashboard
3. Remover Paste via API
# Remover paste específico
curl -b cookies.txt -X POST http://localhost:8080/admin/delete/Ly34kx3
Troubleshooting
Problemas Comuns
Senha Incorreta
- Sintoma: Mensagem "Senha incorreta"
- Solução: Verificar variável de ambiente
YASUC_ADMIN_PASSWORD
Sessão Expirada
- Sintoma: Redirecionamento para login
- Solução: Fazer login novamente
Erro ao Remover Paste
- Sintoma: Mensagem de erro no JavaScript
- Solução: Verificar se o paste ainda existe
Acesso Negado
- Sintoma: Redirecionamento para login
- Solução: Verificar autenticação e cookies
Logs
# Verificar logs do servidor
docker logs paste
# Ou no terminal local
./yasuc -db data/yasuc.sqlite3 -port 8080
Segurança
Recomendações
- Senha Forte: Use senhas complexas
- HTTPS: Configure SSL em produção
- Firewall: Restrinja acesso à porta 8080
- Backup: Faça backup regular do banco
- Monitoramento: Monitore logs de acesso
Variáveis de Ambiente
# Produção
YASUC_ADMIN_PASSWORD=senha_muito_forte_123!
# Desenvolvimento
YASUC_ADMIN_PASSWORD=dev123
Personalização
Modificar Interface
Para personalizar a interface, edite as constantes HTML no arquivo yasuc.go:
adminLoginHTML- Página de loginadminDashboardHTML- Dashboard principal
Adicionar Funcionalidades
Exemplos de extensões possíveis:
- Filtros por data
- Busca por conteúdo
- Exportação de dados
- Estatísticas avançadas
- Backup automático