all repos — zion-terminal @ main

dotfiles

bin/zion (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
#!/usr/bin/env bash
# =====================================================================
# ZION TERMINAL - Comando principal (dispatcher)
# Cyberdeck criado por Pablo Murad em 2026
# ---------------------------------------------------------------------
# Uso: zion [subcomando] [opcoes]
#   sem argumentos -> abre o painel (dashboard)
# =====================================================================
export LC_ALL=C
ZION_DIR="/opt/zion-terminal"
BIN="$ZION_DIR/bin"
. "$BIN/zion-lib.sh" 2>/dev/null

_ajuda() {
  cat <<AJUDA
$(zc "$ZP" "ZION TERMINAL") — Cyberdeck criado por Pablo Murad em 2026

Uso: zion [subcomando]

  (vazio)        Abre o painel interativo (dashboard)
  status         Resumo rapido do sistema
  saude          Saude: temperatura, carga, RAM, disco, servicos
  rede           Diagnostico de rede
  tailscale      Estado e diagnostico do Tailscale
  ssh            Menu de servidores SSH
  logs           Logs recentes (boot, ssh, tailscale, kernel, zion)
  atualizar      Atualiza o sistema com confirmacao
  backup         Backup das configuracoes do ZION
  info           Informacoes do ZION TERMINAL
  tmux           Cria ou anexa a sessao 'zion'

  -- Extras --
  doctor         Autoteste completo (POST) verde/vermelho
  radar          Latencia dos peers Tailscale
  mapa           Topologia do tailnet em ASCII
  panico         War-room: paineis tmux de monitoramento
  qr             QR code do acesso (para o celular)
  manual         Manual de campo offline
  anotar "nota"  Adiciona nota ao logbook
  servir [dir]   Compartilha arquivos so no Tailscale
  travar         Trava o terminal (vlock)
  observar HOST  Monitora um host remoto via SSH
  tema [ice|amber|green]   Troca o tema de cores
  matrix         Chuva digital (Matrix)

  -- Energia --
  desligar       Desliga o sistema (com confirmacao)
  reiniciar      Reinicia o sistema (com confirmacao)

  --help         Esta ajuda
AJUDA
}

_confirmar() { local p="$1"; read -r -p "$(printf '%b%s [s/N]:%b ' "$ZWARN" "$p" "$ZR")" r; [ "$r" = "s" ] || [ "$r" = "S" ]; }

cmd="${1:-}"; [ $# -gt 0 ] && shift
case "$cmd" in
  ""|painel|dashboard) exec "$BIN/zion-dashboard" ;;
  status)              exec "$BIN/zion-status" "$@" ;;
  saude|health)        exec "$BIN/zion-health" "$@" ;;
  rede|net)            exec "$BIN/zion-net" "$@" ;;
  tailscale|ts)        exec "$BIN/zion-tailscale" "$@" ;;
  ssh)                 exec "$BIN/zion-ssh" "$@" ;;
  logs)                exec "$BIN/zion-logs" "$@" ;;
  atualizar|update)    exec "$BIN/zion-update" "$@" ;;
  backup)              exec "$BIN/zion-backup" "$@" ;;
  info)                exec "$BIN/zion-info" "$@" ;;
  link)                exec "$BIN/zion-link" "$@" ;;
  modo)                exec "$BIN/zion-modo" "$@" ;;
  doctor)              exec "$BIN/zion-doctor" "$@" ;;
  radar)               exec "$BIN/zion-radar" "$@" ;;
  mapa|map)            exec "$BIN/zion-map" "$@" ;;
  panico|panic)        exec "$BIN/zion-panic" "$@" ;;
  qr)                  exec "$BIN/zion-qr" "$@" ;;
  manual|book)         exec "$BIN/zion-book" "$@" ;;
  anotar|log)          exec "$BIN/zion-log" "$@" ;;
  servir|serve)        exec "$BIN/zion-serve" "$@" ;;
  travar|lock)         exec "$BIN/zion-lock" "$@" ;;
  observar|watch)      exec "$BIN/zion-watch" "$@" ;;
  tema|theme)          exec "$BIN/zion-theme" "$@" ;;
  matrix)              exec "$BIN/zion-matrix" "$@" ;;
  tmux)
    if tmux has-session -t zion 2>/dev/null; then exec tmux attach -t zion
    else exec tmux new-session -s zion; fi ;;
  desligar)
    _confirmar "Desligar o ZION TERMINAL agora?" && { echo "Sincronizando discos..."; sync; sudo systemctl poweroff; } || echo "Cancelado." ;;
  reiniciar)
    _confirmar "Reiniciar o ZION TERMINAL agora?" && { echo "Sincronizando discos..."; sync; sudo systemctl reboot; } || echo "Cancelado." ;;
  -h|--help|ajuda) _ajuda ;;
  *) printf '%bSubcomando desconhecido:%b %s\n\n' "$ZCRIT" "$ZR" "$cmd"; _ajuda; exit 2 ;;
esac