██████╗ ██████╗ ████████╗███████╗██╗██╗ ███████╗███████╗
██╔══██╗██╔═══██╗╚══██╔══╝██╔════╝██║██║ ██╔════╝██╔════╝
██║ ██║██║ ██║ ██║ █████╗ ██║██║ █████╗ ███████╗
██║ ██║██║ ██║ ██║ ██╔══╝ ██║██║ ██╔══╝ ╚════██║
██████╔╝╚██████╔╝ ██║ ██║ ██║███████╗███████╗███████║
╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
┌──────────────────────────────────────────────────────────────┐
│ "The quieter you become, the more you are able to hear." │
│ — Kali Linux │
└──────────────────────────────────────────────────────────────┘
50+ scripts to turn any Linux box into a productivity machine. 🇬🇧
50+ scripts para transformar qualquer Linux numa máquina de guerra. 🇧🇷
Scripts independentes para montar, configurar e manter ambientes de desenvolvimento e administração em Linux/WSL. Escolha os módulos conforme seu uso: terminal, linguagens, containers, rede ou servidor.
Tested on Ubuntu 22.04+ / 24.04+, Kali Linux & WSL2.
╔═══════════════════════════════════════════════════════╗
║ T A B L E ║
║ O F C O N T E N T S ║
╠═══════════════════════════════════════════════════════╣
║ ║
║ [0x01] .... Quick Install ║
║ [0x02] .... Estrutura do projeto ║
║ [0x03] .... Shell & Terminal ║
║ [0x04] .... Editor & Multiplexer ║
║ [0x05] .... Linguagens & Runtime ║
║ [0x06] .... DevOps & Containers ║
║ [0x07] .... Segurança & Hardening ║
║ [0x08] .... Rede & Pentest ║
║ [0x09] .... Utilitários ║
║ [0x0A] .... Compatibilidade ║
║ [0x0B] .... Contribuindo ║
║ ║
╚═══════════════════════════════════════════════════════╝
Cada script roda direto via curl — instale só o que precisar:
URL="https://raw.githubusercontent.com/vynazevedo/dotfiles/main" ┌─ SHELL & TERMINAL ───────────────────────────────────────────────────────┐
│ │
│ bash <(curl -fsSL $URL/scripts/git-boost.sh) # git aliases │
│ bash <(curl -fsSL $URL/scripts/github-keys.sh) # gh + chave SSH │
│ bash <(curl -fsSL $URL/scripts/lazygit.sh) # lazygit TUI │
│ bash <(curl -fsSL $URL/scripts/zsh.sh) # zsh + p10k + tools │
│ bash <(curl -fsSL $URL/scripts/aliases-extra.sh) # aliases produtivos │
│ bash <(curl -fsSL $URL/scripts/fzf.sh) # fzf + integrações │
│ │
├─ EDITOR & MULTIPLEXER ──────────────────────────────────────────────────┤
│ │
│ bash <(curl -fsSL $URL/scripts/neovim.sh) # neovim + plugins │
│ bash <(curl -fsSL $URL/scripts/tmux.sh) # tmux + config │
│ │
├─ LINGUAGENS ─────────────────────────────────────────────────────────────┤
│ │
│ bash <(curl -fsSL $URL/scripts/mise.sh) # version manager universal│
│ bash <(curl -fsSL $URL/scripts/direnv.sh) # env por diretório │
│ bash <(curl -fsSL $URL/scripts/node.sh) # NVM + Node LTS │
│ bash <(curl -fsSL $URL/scripts/bun-deno.sh) # Bun + Deno │
│ bash <(curl -fsSL $URL/scripts/golang.sh) # Go + tools │
│ bash <(curl -fsSL $URL/scripts/rust.sh) # Rust + cargo tools │
│ bash <(curl -fsSL $URL/scripts/python.sh) # pyenv + Python │
│ bash <(curl -fsSL $URL/scripts/uv.sh) # projetos Python + uv│
│ bash <(curl -fsSL $URL/scripts/android-dev.sh) # Android SDK + Expo │
│ │
├─ DEVOPS & CLOUD ─────────────────────────────────────────────────────────┤
│ │
│ bash <(curl -fsSL $URL/scripts/docker.sh) # Docker CE + aliases│
│ bash <(curl -fsSL $URL/scripts/podman.sh) # Podman (rootless) │
│ bash <(curl -fsSL $URL/scripts/lazydocker.sh) # lazydocker TUI │
│ bash <(curl -fsSL $URL/scripts/k8s.sh) # kubectl + helm + k9s│
│ bash <(curl -fsSL $URL/scripts/terraform.sh) # Terraform + tflint │
│ bash <(curl -fsSL $URL/scripts/ansible.sh) # Ansible + lint │
│ bash <(curl -fsSL $URL/scripts/cloud-cli.sh) # AWS + GCP + Azure │
│ bash <(curl -fsSL $URL/scripts/caddy.sh) # Caddy + HTTPS auto │
│ bash <(curl -fsSL $URL/scripts/nginx.sh) # Nginx + certbot │
│ bash <(curl -fsSL $URL/scripts/network-tools.sh) # ferramentas rede │
│ │
├─ DADOS & IA ─────────────────────────────────────────────────────────────┤
│ │
│ bash <(curl -fsSL $URL/scripts/databases.sh) # pgcli mycli redis │
│ bash <(curl -fsSL $URL/scripts/miller.sh) # mlr CSV/JSON/TSV │
│ bash <(curl -fsSL $URL/scripts/ollama.sh) # LLM local (ollama) │
│ │
├─ SEGURANÇA ──────────────────────────────────────────────────────────────┤
│ │
│ bash <(curl -fsSL $URL/scripts/security-doctor.sh) # diagnóstico │
│ bash <(curl -fsSL $URL/scripts/gitleaks.sh) # segredos em Git │
│ bash <(curl -fsSL $URL/scripts/supply-chain.sh) # Cosign + Syft │
│ bash <(curl -fsSL $URL/scripts/falco.sh) # sensor eBPF │
│ bash <(curl -fsSL $URL/scripts/ssh-hardening.sh) # SSH hardening │
│ bash <(curl -fsSL $URL/scripts/firewall.sh) # UFW setup │
│ bash <(curl -fsSL $URL/scripts/fail2ban.sh) # anti brute force │
│ bash <(curl -fsSL $URL/scripts/sysctl.sh) # kernel tuning │
│ bash <(curl -fsSL $URL/scripts/pentest.sh) # toolkit pentest │
│ bash <(curl -fsSL $URL/scripts/gpg-yubikey.sh) # GPG + YubiKey │
│ bash <(curl -fsSL $URL/scripts/secrets.sh) # age + sops + pass │
│ bash <(curl -fsSL $URL/scripts/wazuh.sh) # Wazuh SIEM agent │
│ bash <(curl -fsSL $URL/scripts/yara.sh) # YARA + rule sets │
│ bash <(curl -fsSL $URL/scripts/unattended-upgrades.sh) # auto security updates│
│ bash <(curl -fsSL $URL/scripts/wireguard.sh) # WireGuard VPN │
│ │
├─ PRIVACIDADE & REDE ─────────────────────────────────────────────────────┤
│ │
│ bash <(curl -fsSL $URL/scripts/tor.sh) # Tor + obfs4 │
│ bash <(curl -fsSL $URL/scripts/pi-hole.sh) # Pi-hole + unbound │
│ bash <(curl -fsSL $URL/scripts/tailscale.sh) # Tailscale mesh VPN │
│ bash <(curl -fsSL $URL/scripts/atuin.sh) # shell history sync │
│ bash <(curl -fsSL $URL/scripts/restic.sh) # backup criptografado│
│ bash <(curl -fsSL $URL/scripts/modern-cli.sh) # eza zoxide delta...│
│ │
├─ UTILITÁRIOS ────────────────────────────────────────────────────────────┤
│ │
│ bash <(curl -fsSL $URL/scripts/security-audit.sh) # audit de segurança │
│ bash <(curl -fsSL $URL/scripts/system-info.sh) # dashboard sistema │
│ bash <(curl -fsSL $URL/scripts/miller.sh) # mlr — CSV/JSON/TSV │
│ bash <(curl -fsSL $URL/scripts/cleanup.sh) # limpeza sistema │
│ bash <(curl -fsSL $URL/scripts/backup.sh) # backup configs │
│ bash <(curl -fsSL $URL/scripts/wsl.sh) # otimizações WSL2 │
│ │
└───────────────────────────────────────────────────────────────────────────┘
Ou clone o repo:
git clone https://github.com/vynazevedo/dotfiles.gitdotfiles/
└── scripts/
├── git-boost.sh # git aliases & config
├── github-keys.sh # gh CLI + chave SSH + cadastro no GitHub
├── lazygit.sh # lazygit TUI moderna pra git
├── fzf.sh # fzf + integrações shell (Ctrl+R, Ctrl+T)
├── unattended-upgrades.sh # auto security updates
├── zsh.sh # zsh + oh-my-zsh + p10k
├── neovim.sh # neovim + lazy.nvim + LSP
├── tmux.sh # tmux + TPM + tema hacker
├── mise.sh # version manager universal
├── direnv.sh # variáveis de ambiente por diretório
├── node.sh # NVM + Node.js LTS + tools
├── bun-deno.sh # Bun + Deno (runtimes JS modernos)
├── golang.sh # Go + ferramentas
├── rust.sh # Rust + cargo tools
├── python.sh # pyenv + Python + tools
├── uv.sh # projetos Python, lockfiles e ferramentas isoladas
├── security-doctor.sh # diagnóstico de pré-requisitos e sensores
├── gitleaks.sh # segredos no histórico Git + SARIF redigido
├── supply-chain.sh # Cosign + Syft: assinaturas e SBOM
├── falco.sh # runtime eBPF + teste de entrega de alerta
├── android-dev.sh # Android SDK + emulador + Expo
├── docker.sh # docker CE + aliases
├── podman.sh # podman rootless containers
├── lazydocker.sh # lazydocker TUI (Docker/Podman)
├── k8s.sh # kubectl + helm + k9s + kubectx
├── terraform.sh # Terraform + tflint + trivy
├── ansible.sh # Ansible + lint + skeleton
├── cloud-cli.sh # AWS + GCP + Azure CLIs
├── caddy.sh # Caddy web server (HTTPS automático)
├── nginx.sh # Nginx + vhost template + certbot
├── databases.sh # pgcli + mycli + litecli + redis-cli + usql
├── ollama.sh # LLM local (llama, mistral, qwen)
├── wireguard.sh # WireGuard VPN (server + client QR)
├── tailscale.sh # Tailscale mesh VPN
├── restic.sh # backup deduplicado + criptografado
├── secrets.sh # age + sops + pass
├── modern-cli.sh # eza, zoxide, dust, delta, bottom...
├── atuin.sh # shell history searchable + sync E2E
├── ssh-hardening.sh # hardening do SSH server
├── firewall.sh # UFW com profiles
├── fail2ban.sh # proteção brute force
├── sysctl.sh # kernel tuning
├── network-tools.sh # ferramentas de rede
├── pentest.sh # toolkit de pentest
├── aliases-extra.sh # aliases de produtividade
├── wsl.sh # otimizações WSL2
├── security-audit.sh # auditoria de segurança
├── gpg-yubikey.sh # GPG + YubiKey + signed commits
├── wazuh.sh # Wazuh SIEM agent
├── yara.sh # YARA + rule sets curados
├── tor.sh # Tor + torsocks + obfs4
├── pi-hole.sh # Pi-hole + unbound DNS
├── system-info.sh # dashboard do sistema
├── miller.sh # Miller (mlr) — CSV/TSV/JSON
├── cleanup.sh # limpeza do sistema
└── backup.sh # backup de configs
Git aliases para quem não tem tempo a perder.
┌─ COMMIT ──────────────────────────────────────────────┐
│ git c "msg" commit -m │
│ git ca "msg" add . + commit -m │
│ git amend adiciona ao último commit │
│ git reword edita mensagem do último commit │
│ git squash N squash dos últimos N commits │
├─ PUSH / PULL ─────────────────────────────────────────┤
│ git p push │
│ git pf push --force-with-lease │
│ git pu push -u origin <branch atual> │
│ git up pull --rebase --autostash │
├─ BRANCH ──────────────────────────────────────────────┤
│ git b / recent branch / ordenar por data │
│ git co / cob checkout / checkout -b │
│ git sw / swc switch / switch -c │
│ git cleanup remove branches mergeadas │
├─ STATUS / LOG ────────────────────────────────────────┤
│ git s status resumido │
│ git l / ll log graph (20 / all) │
├─ OUTROS ──────────────────────────────────────────────┤
│ git ss / sp stash / stash pop │
│ git d / ds diff / diff --staged │
│ git undo desfaz último commit │
│ git blame blame detalhado (-w -C -C -C) │
└────────────────────────────────────────────────────────┘
De terminal padrão pra cockpit de nave em um comando.
Instala Zsh + Oh My Zsh + Powerlevel10k (tema hacker) + plugins (syntax-highlighting, autosuggestions, completions) + ferramentas CLI (lsd, bat, btop, fastfetch) + JetBrainsMono Nerd Font.
Usa bloco gerenciado no .zshrc — suas customizações são preservadas.
40+ atalhos e funções para o dia a dia.
┌─ DESTAQUES ───────────────────────────────────────────┐
│ extract <file> extrair qualquer formato │
│ compress <dir> comprimir diretório │
│ mkcd <dir> criar e entrar no diretório │
│ genpass [len] gerar senha segura │
│ cheat <cmd> cheat sheet do comando │
│ weather [city] previsão do tempo │
│ serve [port] HTTP server rápido │
│ calc <expr> calculadora │
│ note <texto> notas rápidas │
│ jwt <token> decodificar JWT │
│ b64encode/decode Base64 │
│ urlencode/decode URL encoding │
│ psmem / pscpu top processos por mem/CPU │
│ hg <text> buscar no histórico │
└────────────────────────────────────────────────────────┘
IDE no terminal com um único script.
┌─ O QUE INSTALA ───────────────────────────────────────┐
│ │
│ Plugin Manager ... lazy.nvim │
│ Tema ............ tokyonight (transparente) │
│ Fuzzy finder .... telescope │
│ Syntax .......... treesitter (17 linguagens) │
│ LSP ............. mason + lspconfig │
│ Autocomplete .... nvim-cmp + luasnip │
│ Git ............. gitsigns │
│ Extras .......... autopairs, comment, surround, │
│ which-key, indent-blankline │
│ │
├─ KEYBINDINGS (leader = Space) ────────────────────────┤
│ │
│ <leader>ff buscar arquivos │
│ <leader>fg buscar texto (grep) │
│ <leader>fb listar buffers │
│ <leader>e file explorer │
│ <leader>w salvar │
│ gd / gr go to definition / references │
│ K hover docs │
│ <leader>rn rename │
│ <leader>ca code action │
│ │
└────────────────────────────────────────────────────────┘
Múltiplos terminais, uma tela.
┌─ KEYBINDINGS (prefix = Ctrl+A) ──────────────────────┐
│ │
│ | split horizontal │
│ - split vertical │
│ h/j/k/l navegar panes (vim-style) │
│ H/J/K/L resize panes │
│ Shift+←/→ navegar janelas │
│ Enter copy mode (vi) │
│ r reload config │
│ S nova session │
│ │
│ Plugins: sensible, resurrect, continuum, yank │
│ │
└────────────────────────────────────────────────────────┘
┌─ NODE.JS ─────────────────────────────────────────────┐
│ NVM + Node LTS + typescript, tsx, eslint, prettier, │
│ nodemon, pm2, http-server, tldr │
├─ GO ──────────────────────────────────────────────────┤
│ Última versão estável + gopls, dlv, golangci-lint, │
│ air (live reload), swag, gotestsum │
├─ RUST ────────────────────────────────────────────────┤
│ rustup + stable + rustfmt, clippy, rust-analyzer │
│ cargo-watch, cargo-edit, cargo-audit, cargo-nextest, │
│ bacon, tokei, hyperfine, zoxide, du-dust, procs │
├─ PYTHON ──────────────────────────────────────────────┤
│ pyenv + latest Python 3 + ruff, black, mypy, poetry, │
│ httpie, ipython, pre-commit, cookiecutter │
└────────────────────────────────────────────────────────┘
bash <(curl -fsSL $URL/scripts/node.sh)
bash <(curl -fsSL $URL/scripts/golang.sh)
bash <(curl -fsSL $URL/scripts/rust.sh)
bash <(curl -fsSL $URL/scripts/python.sh)
bash <(curl -fsSL $URL/scripts/uv.sh)Instala uv para gerenciar projetos Python com
pyproject.toml, uv.lock e ambientes isolados. É uma opção ao fluxo com
python.sh/pyenv; pode coexistir com mise ou pyenv. O script preserva uma instalação
existente, faz backup dos arquivos de shell antes de alterá-los e não duplica o PATH
ao executar novamente. Não instala Python nem ferramentas extras automaticamente.
bash scripts/uv.sh
uv init meu-projeto
cd meu-projeto
uv add requests
uv run python -c 'import requests; print(requests.__version__)'
uv sync --locked
uvx ruff check .Requer curl e certificados CA para a primeira instalação. Usa o
instalador oficial em
~/.local/bin; reabra o terminal após executar.
Docker CE + o melhor set de aliases que existe.
┌─ ALIASES DOCKER ──────────────────────────────────────┐
│ │
│ CONTAINERS COMPOSE CLEANUP │
│ dps (running) dc (compose) dprune (tudo) │
│ dpsa (all) dcu (up -d) drmi (images) │
│ dex (exec -it) dcd (down) drm (stopped) │
│ dsh (shell) dcr (restart) dvol (volumes) │
│ dl (logs) dcl (logs -f) │
│ dip (IP) dcp (pull) │
│ dtop (stats) dcb (build) │
│ dstopall dce (exec) │
│ │
└────────────────────────────────────────────────────────┘
Comece pelo diagnóstico: ele é somente leitura, sem sudo ou rede. Identifica
arquitetura, WSL, BTF, systemd, dependências e possíveis conflitos entre sensores.
--strict retorna 1 se houver avisos/falhas; ferramentas opcionais ausentes são
informativas. Serviço ativo não comprova entrega de eventos.
bash scripts/security-doctor.sh
bash scripts/security-doctor.sh --json
bash scripts/security-doctor.sh --strictGitleaks — prevenção de vazamento de segredos
bash scripts/gitleaks.sh install
bash scripts/gitleaks.sh self-test
bash scripts/gitleaks.sh scan /caminho/do/repo # histórico Git
bash scripts/gitleaks.sh dir /caminho/projeto # arquivos locaisOs scans geram SARIF com valores de segredos ocultados em diretórios privados em
${XDG_STATE_HOME:-$HOME/.local/state}/dotfiles/security. Saídas: 0 sem achados,
10 com achados, outros códigos indicam erro. Configurações/allowlists do
Gitleaks influenciam o resultado; revise exceções antes de confiar em um scan.
O self-test usa regra própria e dado sintético para validar detecção positiva,
negativa e redação. O workflow Security também analisa o histórico Git.
Referência do Gitleaks.
Supply chain — assinatura e inventário de componentes
bash scripts/supply-chain.sh install
bash scripts/supply-chain.sh self-test
bash scripts/supply-chain.sh sbom /caminho/projeto
bash scripts/supply-chain.sh verify-blob artefato.tar.gz artefato.sigstore.json \
'IDENTIDADE_EXATA_DO_PUBLICADOR' 'https://token.actions.githubusercontent.com'
bash scripts/supply-chain.sh verify-image 'registry/projeto/imagem@sha256:DIGEST' \
'IDENTIDADE_EXATA_DO_PUBLICADOR' 'https://token.actions.githubusercontent.com'Substitua os exemplos pela identidade, emissor OIDC e digest reais. Obtenha a identidade esperada da política/documentação do publicador, independentemente do artefato recebido. O wrapper exige identidade exata, verifica imagens por digest e mantém as verificações de transparência do Cosign. A verificação pode acessar Sigstore/registro de imagens. Não executa nem implanta o artefato verificado.
O SBOM CycloneDX JSON descreve componentes identificados pelo Syft; não é uma
análise de vulnerabilidades nem garante cobertura de todos os componentes.
O self-test valida o conteúdo de um SBOM sintético e a execução do Cosign;
assinaturas reais são verificadas com verify-blob ou verify-image.
Cosign,
Syft.
Falco — detecção durante a execução
bash scripts/falco.sh check
bash scripts/falco.sh install
bash scripts/falco.sh enable
bash scripts/falco.sh self-test
sudo journalctl -u dotfiles-falco -fRequer Linux amd64/arm64, systemd e recursos de kernel para modern eBPF (BTF e ring buffer). A presença de BTF é um pré-requisito; suporte efetivo e permissões só são confirmados na ativação. Em WSL, o sensor observa o ambiente Linux.
install usa o repositório APT assinado oficial e prepara um serviço separado,
sem ativar o sensor. Recusa outros serviços Falco ativos/habilitados e
preserva configurações existentes. enable valida as regras, inicia o serviço
e exige um alerta JSON correspondente a um processo inofensivo; só então habilita
no boot. Se o teste falhar, interrompe o serviço que acabou de iniciar.
Inclui regras distribuídas com o pacote, uma regra de teste e uma regra local para
escritas em /etc/cron.d e /etc/systemd/system. Essa regra local observa aberturas
para escrita, não todas as formas possíveis de persistência; alterações legítimas
também geram alertas e exigem ajuste. Há métricas periódicas e alertas de perda de
eventos no journal. Configure retenção no journald conforme o volume de eventos.
O módulo não bloqueia processos nem configura encaminhamento para Wazuh.
Configuração: /etc/falco/dotfiles.yaml, /etc/falco/dotfiles-rules.yaml e
/etc/systemd/system/dotfiles-falco.service. Para revisar antes da instalação:
bash scripts/falco.sh render /tmp/falco-preview (diretório novo).
Para desativar: sudo systemctl disable --now dotfiles-falco.
Instalação oficial,
requisitos do sensor.
Versões e confiança dos downloads
| Ferramenta | Versão fixada | Verificação |
|---|---|---|
| Gitleaks | 8.30.1 | SHA-256 do binário compactado, fixado no script |
| Cosign | 3.1.3 | SHA-256 do binário, fixado no script |
| Syft | 1.52.0 | SHA-256 do binário compactado, fixado no script |
| Falco | 0.45.0 | APT assinado com chave cujo SHA-256 está fixado no script |
Os instaladores CLI suportam amd64/arm64, não usam sudo e preservam ferramentas
já instaladas (sem atestar sua origem ou substituir sua versão). Requerem curl,
certificados CA, sha256sum, tar e install. Usam ~/.local/bin; os wrappers
já incluem esse diretório no PATH da sessão. Os self-tests CLI exigem Python 3;
Falco também usa Python 3 para validar a entrega do alerta.
O bootstrap dos binários depende da confiança nesta revisão do repo e nos hashes
revisados das releases oficiais; checksum não é uma assinatura independente.
Atualizações são deliberadas: revise release, hashes de ambas as arquiteturas,
compatibilidade e testes antes de mudar as versões. O pacote/regras Falco pode
receber atualizações por APT administrado fora destes scripts; falcoctl automático
não é habilitado pelo módulo. Ao alterar a versão Falco, atualize também o pacote
e hash usados no workflow Security.
┌─ O QUE FAZ ───────────────────────────────────────────┐
│ │
│ ✗ Root login via SSH │
│ ✗ Password authentication │
│ ✗ X11 / TCP forwarding │
│ ✓ Apenas chaves ED25519 │
│ ✓ Ciphers modernos (chacha20, aes-gcm) │
│ ✓ Max 3 tentativas │
│ ✓ Timeout 5 min │
│ ✓ Gera chave ED25519 + config do cliente │
│ │
└────────────────────────────────────────────────────────┘
┌─ PROFILES ────────────────────────────────────────────┐
│ │
│ 1) minimal SSH only (rate-limited) │
│ 2) webserver SSH + HTTP + HTTPS │
│ 3) dev + portas dev (3000,5173,8080,5432,6379) │
│ 4) custom escolha manual │
│ │
└────────────────────────────────────────────────────────┘
Proteção automática contra brute force no SSH (e nginx/apache opcionais). Ban progressivo: 3h no SSH, 24h para DDoS.
┌─ PROFILES ────────────────────────────────────────────┐
│ │
│ 1) desktop swap=10, BBR, inotify alto, Docker ok │
│ 2) server + mais conexões, port range, ARP cache │
│ 3) hardened ASLR=2, no forwarding, dmesg restrito, │
│ ptrace restrito, no core dumps │
│ │
└────────────────────────────────────────────────────────┘
Scan completo de segurança do sistema com score.
Verifica: usuários, SSH, firewall, portas abertas, filesystem (SUID, permissões), kernel (ASLR, syncookies), serviços desnecessários. Output colorido com PASS/WARN/FAIL e score percentual.
bash <(curl -fsSL $URL/scripts/security-audit.sh) ┌─ FERRAMENTAS ─────────────────────────────────────────┐
│ nmap, netcat, tcpdump, tshark, masscan, mtr, │
│ traceroute, iperf3, socat, jq, httpie │
├─ ALIASES ─────────────────────────────────────────────┤
│ myip / localip / ips info de IP │
│ ports / listening portas abertas │
│ quickscan <subnet> host discovery │
│ portscan <host> scan + versão │
│ scanlocal scan rede local │
│ certinfo <host> info SSL cert │
│ dnsall <host> todos registros DNS │
│ whichip <ip> info do IP (ipinfo.io) │
│ trace <host> traceroute visual │
│ sniff / sniffhttp tcpdump rápido │
└────────────────────────────────────────────────────────┘
As ferramentas do Kali em qualquer Ubuntu.
┌─ TOOLKIT ─────────────────────────────────────────────┐
│ │
│ RECON ......... nmap, gobuster, nikto, enum4linux │
│ EXPLOIT ....... sqlmap, hydra, john, hashcat │
│ WIRELESS ...... aircrack-ng │
│ AD ............ bloodhound, crackmapexec, responder, │
│ impacket, evil-winrm │
│ POST-EXPLOIT .. linpeas, pspy │
│ WORDLISTS ..... rockyou, seclists │
│ │
├─ ALIASES ─────────────────────────────────────────────┤
│ nmapfull <ip> scan completo │
│ nmapvuln <ip> scan de vulns │
│ dirscan <url> directory bruteforce │
│ webscan <url> nikto scan │
│ listener <port> nc listener │
│ tun0 IP da VPN (HTB/THM) │
│ │
└────────────────────────────────────────────────────────┘
┌─ SCRIPTS ─────────────────────────────────────────────┐
│ │
│ --info Dashboard do sistema (CPU, RAM, disco, │
│ rede, serviços, toolchain, segurança) │
│ com barras de progresso coloridas │
│ │
│ --cleanup Limpa APT cache, kernels antigos, logs, │
│ thumbnails, snaps e temporários │
│ lixeira e Docker via flags explícitas │
│ │
│ --backup Backup de dotfiles, configs do sistema, │
│ lista de pacotes (apt/pip/npm/cargo), │
│ crontab. Restore extrai para revisão. │
│ Uso: bash scripts/backup.sh │
│ Ou: bash scripts/backup.sh [dotfiles| │
│ full|configs|custom|restore] │
│ │
│ --wsl Otimizações para WSL2: wsl.conf, │
│ .wslconfig, DNS fix, aliases (clipboard, │
│ explorer, VS Code) │
│ │
└────────────────────────────────────────────────────────┘
bash scripts/cleanup.sh --dry-run # visualizar comandos
bash scripts/cleanup.sh # manutenção padrão
bash scripts/cleanup.sh --trash --docker # incluir lixeira e Docker
bash scripts/cleanup.sh --docker-volumes --dry-run # visualizar remoção de volumesKernels são tratados pelo apt-get autoremove, respeitando a política da
distribuição. Temporários seguem as regras do systemd-tmpfiles, quando disponível.
Lixeira e Docker são preservados por padrão. Volumes anônimos Docker sem uso só
são removidos com --docker-volumes; isso pode apagar dados persistentes.
O modo --dry-run mostra os comandos, sem executar remoções; não calcula o espaço
que será recuperado nem enumera os pacotes que o APT removeria.
bash scripts/backup.sh dotfiles
BACKUP_DIR="$HOME/backups" bash scripts/backup.sh restoreNovos backups de dotfiles usam caminhos relativos ao diretório pessoal e incluem
os arquivos .*_aliases. Arquivos de backup novos são privados (umask 077)
e só recebem o nome final após a conclusão do tar. Falhas na criação dos
arquivos compactados interrompem o script com erro.
restore exige terminal interativo e extrai todos os tipos para um diretório
temporário, informado na saída. Revise e copie os arquivos desejados manualmente;
suas configurações atuais não são sobrescritas. Backups antigos continuam
extraíveis, mas mantêm o prefixo original (por exemplo, home/usuario/.bashrc).
Os arquivos .tar.gz não são criptografados; para backups criptografados,
consulte restic.sh.
DISTRO VERSÃO STATUS
────── ────── ──────
Ubuntu 22.04 LTS ✔ testado
Ubuntu 24.04 LTS ✔ testado
Kali Linux 2024.x+ ✔ testado
Debian 12+ ✔ compatível
WSL2 (Ubuntu) qualquer ✔ testado
ARCH STATUS
──── ──────
amd64 (x86_64) ✔ testado
arm64 (aarch64) ✔ suportado
1. Fork o repo
2. Crie uma branch (git swc minha-feature)
3. Commit (git c "add: minha feature")
4. Push (git pu)
5. Abre um PR
PRs com novos scripts, fixes ou melhorias são bem-vindos.
Validação local (Bash, ShellCheck e Python 3):
for script in scripts/*.sh; do bash -n "$script" || exit; done
shellcheck --severity=warning scripts/*.sh
python3 -m unittest discover -s tests -vOs testes usam diretórios temporários e comandos simulados, sem instalar pacotes ou executar operações administrativas. O CI executa os testes de comportamento em Ubuntu 22.04 e 24.04; isso não substitui testes completos de instalação em cada distribuição e arquitetura.
┌──────────────────────────────────────────────────────────────┐
│ │
│ "Talk is cheap. Show me the code." — Linus Torvalds │
│ │
└──────────────────────────────────────────────────────────────┘