Skip to content

mswell/dotfiles

Repository files navigation

Dotfiles - Sistema de Gerenciamento de Ambiente de Desenvolvimento

Um sistema abrangente e modular para configuraΓ§Γ£o automatizada de ambientes de desenvolvimento Linux, com suporte a mΓΊltiplas distribuiΓ§Γ΅es e window managers.

Dotfiles Management System

πŸ“‹ VisΓ£o Geral

Este projeto oferece uma soluΓ§Γ£o completa para setup de ambientes de desenvolvimento, incluindo:

  • MΓΊltiplas distribuiΓ§Γ΅es Linux (Ubuntu, Arch Linux)
  • VΓ‘rios window managers (Hyprland, i3wm, Qtile)
  • Ferramentas de desenvolvimento (Python, Go, Neovim)
  • Ferramentas de seguranΓ§a (pentest/hacking tools)
  • ConfiguraΓ§Γ΅es otimizadas para terminal e editores
  • Templates customizados para reconnaissance e security testing

πŸš€ InstalaΓ§Γ£o

PrΓ©-requisitos

  • Sistema Linux (Ubuntu 20.04+, Arch Linux)
  • Git
  • curl
  • sudo (para instalaΓ§Γ£o de pacotes do sistema)

InstalaΓ§Γ£o RΓ‘pida

git clone https://github.com/mswell/dotfiles.git
cd dotfiles
./install.sh

πŸ“Š Menu de InstalaΓ§Γ£o

O script install.sh oferece 7 opΓ§Γ΅es principais:

OpΓ§Γ£o DescriΓ§Γ£o Destino
[1] Ubuntu VPS Setup completo para Ubuntu Server Servidores, desenvolvimento web
[2] Archlinux com Hyprland Arch Linux + Wayland + Hyprland Desktop moderno, Wayland
[3] Install Hacktools Ferramentas de pentest/seguranΓ§a Security testing, CTF
[4] Install Pyenv Ambiente Python com pyenv Desenvolvimento Python
[5] Archlinux com i3wm Arch Linux + i3 Window Manager Desktop tiling, X11
[6] Archlinux WSL Arch Linux no Windows Subsystem WSL, desenvolvimento cruzado
[7] Archlinux DE Arch Linux + Desktop Environment Ambiente desktop tradicional

πŸ—οΈ Arquitetura do Sistema

Estrutura Modular

Cada distribuiΓ§Γ£o tem seu prΓ³prio diretΓ³rio de setup com scripts especializados:

setup/
β”œβ”€β”€ ubuntu/          # Scripts Ubuntu (base.sh, devel.sh, apps.sh, terminal.sh)
β”œβ”€β”€ ArchHypr/        # Arch + Hyprland (base.sh, apps.sh, fonts.sh, terminal.sh)
β”œβ”€β”€ ArchI3wm/        # Arch + i3wm (base.sh, apps.sh, fonts.sh, terminal.sh)
β”œβ”€β”€ ArchWSL/         # Arch WSL (base.sh, apps.sh, terminal.sh)
└── ArchDE/          # Arch Desktop Environment (base.sh, apps.sh, fonts.sh, terminal.sh)

Scripts Especializados

  • pyenv_install.sh: Gerenciamento de versΓ΅es Python
  • install_golang.sh: InstalaΓ§Γ£o do Go
  • install_hacktools.sh: Ferramentas de seguranΓ§a
  • terminal.sh: ConfiguraΓ§Γ£o de terminal
  • copy_dots.sh: CΓ³pia de arquivos de configuraΓ§Γ£o

πŸ› οΈ Funcionalidades IncluΓ­das

Desenvolvimento

  • Python: pyenv para mΓΊltiplas versΓ΅es
  • Go: InstalaΓ§Γ£o e configuraΓ§Γ£o
  • Neovim: Editor moderno com Lua
  • Git: ConfiguraΓ§Γ΅es otimizadas
  • Tmux: Multiplexador de terminal

Terminal & Shell

  • ZSH: Shell com Powerlevel10k
  • Kitty: Terminal GPU-accelerated
  • WezTerm: Terminal moderno
  • Ghostty: Terminal Wayland-native
  • Fish: Shell alternativa

Window Managers

  • Hyprland: Wayland compositor
  • i3wm: Tiling window manager
  • Qtile: Window manager Python
  • Waybar: Status bar para Wayland

Ferramentas de SeguranΓ§a

  • Nuclei: Scanner de vulnerabilidades
  • Custom templates: Templates personalizados
  • Recon tools: Ferramentas de reconnaissance
  • MongoDB integration: Database para resultados

Temas & AparΓͺncia

  • Catppuccin: Tema moderno
  • Tokyo Night: Tema dark
  • Cyberdream: Tema cyberpunk
  • Oxocarbon: Tema minimalista

πŸ“ Estrutura de ConfiguraΓ§Γ£o

config/
β”œβ”€β”€ zsh/              # ConfiguraΓ§Γ΅es ZSH
β”‚   β”œβ”€β”€ functions.zsh    # FunΓ§Γ΅es personalizadas
β”‚   β”œβ”€β”€ alias.zsh        # Aliases
β”‚   β”œβ”€β”€ custom.zsh       # ConfiguraΓ§Γ΅es customizadas
β”‚   └── .zshrc           # Arquivo principal
β”œβ”€β”€ kitty/            # Temas Kitty
β”œβ”€β”€ wezterm/          # ConfiguraΓ§Γ΅es WezTerm
β”œβ”€β”€ hypr/             # ConfiguraΓ§Γ£o Hyprland
β”œβ”€β”€ i3/               # ConfiguraΓ§Γ£o i3wm
β”œβ”€β”€ nvim/             # ConfiguraΓ§Γ£o Neovim
└── themes/           # Temas adicionais

πŸ”§ ConfiguraΓ§Γ΅es ZSH

Arquivos de FunΓ§Γ£o

πŸ“– Guia de Uso

Setup Ubuntu VPS (OpΓ§Γ£o 1)

Ideal para servidores e desenvolvimento web:

./install.sh # Escolher opΓ§Γ£o 1

Setup Arch Linux com Hyprland (OpΓ§Γ£o 2)

Desktop moderno com Wayland:

./install.sh # Escolher opΓ§Γ£o 2

InstalaΓ§Γ£o de Ferramentas de SeguranΓ§a (OpΓ§Γ£o 3)

./install.sh # Escolher opΓ§Γ£o 3

Ambiente Python (OpΓ§Γ£o 4)

./install.sh # Escolher opΓ§Γ£o 4

🎯 Bug Bounty Recon Toolkit

Este dotfiles inclui um toolkit completo de reconhecimento para bug bounty hunters, com funΓ§Γ΅es ZSH modulares que automatizam o fluxo de recon.

Fluxo de Reconhecimento

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                           RECON WORKFLOW                                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                          β”‚
β”‚  workspaceRecon "target.com"   ← Cria workspace: target.com/YYYY-MM-DD/  β”‚
β”‚         β”‚                                                                β”‚
β”‚         β–Ό                                                                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚                    SUBDOMAIN ENUMERATION                           β”‚  β”‚
β”‚  β”‚  subdomainenum     β†’ subfinder, amass, crt.sh β†’ dnsx resolve       β”‚  β”‚
β”‚  β”‚  subPermutation    β†’ alterx + puredns (permutations)               β”‚  β”‚
β”‚  β”‚  Output: clean.subdomains                                          β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚         β”‚                                                                β”‚
β”‚         β–Ό                                                                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚                        PORT SCANNING                               β”‚  β”‚
β”‚  β”‚  naabuRecon        β†’ Top 100 ports scan                            β”‚  β”‚
β”‚  β”‚  naabuFullPorts    β†’ Full port range (excl. common)                β”‚  β”‚
β”‚  β”‚  Output: naabuScan                                                 β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚         β”‚                                                                β”‚
β”‚         β–Ό                                                                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚                        HTTP PROBING                                β”‚  β”‚
β”‚  β”‚  getalive          β†’ httpx probe, categoriza por status code       β”‚  β”‚
β”‚  β”‚  Output: ALLHTTP, 200HTTP, 403HTTP, Without404                     β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚         β”‚                                                                β”‚
β”‚         β–Ό                                                                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚                       CRAWLING & DATA                              β”‚  β”‚
β”‚  β”‚  crawler           β†’ gospider, waybackurls, gau, katana            β”‚  β”‚
β”‚  β”‚  JScrawler         β†’ JavaScript file discovery                     β”‚  β”‚
β”‚  β”‚  getjsurls         β†’ JS URL extraction + validation                β”‚  β”‚
β”‚  β”‚  secretfinder      β†’ Secrets in JS files                           β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚         β”‚                                                                β”‚
β”‚         β–Ό                                                                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚                    VULNERABILITY SCANNING                          β”‚  β”‚
β”‚  β”‚  Nuclei Scans      β†’ exposureNuc, GitScan, XssScan, nucTakeover    β”‚  β”‚
β”‚  β”‚  xsshunter         β†’ Multi-tool XSS detection                      β”‚  β”‚
β”‚  β”‚  bypass4xx         β†’ 403/401 bypass attempts                       β”‚  β”‚
β”‚  β”‚  prototypefuzz     β†’ Prototype pollution testing                   β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

FunΓ§Γ΅es DisponΓ­veis

πŸ” Subdomain Enumeration (functions/recon.zsh)

FunΓ§Γ£o DescriΓ§Γ£o Input Output
workspaceRecon <domain> Cria workspace organizado por data domain domain/YYYY-MM-DD/
wellSubRecon Pipeline completo de subdomain enum domains clean.subdomains
subdomainenum Enum passivo (subfinder, amass, crt.sh) domains all.subdomains, clean.subdomains
subPermutation Gera permutaΓ§Γ΅es com alterx + puredns clean.subdomains permutations.txt
subtakeover Detecta subdomain takeover clean.subdomains subtakeover.txt

🌐 Port Scanning & HTTP Probing (functions/scanning.zsh)

FunΓ§Γ£o DescriΓ§Γ£o Input Output
naabuRecon Port scan top 100 portas clean.subdomains naabuScan
naabuFullPorts Port scan completo clean.subdomains full_ports.txt
getalive HTTP probe + categorizaΓ§Γ£o naabuScan ALLHTTP, 200HTTP, 403HTTP
screenshot Screenshots com aquatone ALLHTTP aqua_out/

πŸ•·οΈ Crawling & Data Collection (functions/crawling.zsh)

FunΓ§Γ£o DescriΓ§Γ£o Input Output
crawler Multi-tool crawler Without404 crawlerResults.txt
JScrawler Descobre arquivos JS 200HTTP crawlJS, JSroot/
getjsurls Extrai e valida URLs JS crawlerResults.txt js_livelinks.txt
secretfinder Busca secrets em JS js_livelinks.txt js_secrets_result
getdata Salva todas as responses ALLHTTP AllHttpData/

⚑ Nuclei Workflows (functions/nuclei.zsh)

FunΓ§Γ£o DescriΓ§Γ£o Tags/Template
exposureNuc Detecta exposiΓ§Γ΅es exposure
GitScan Detecta .git exposto git
XssScan Scan XSS xss
nucTakeover Subdomain takeover takeover
graphqldetect Detecta endpoints GraphQL graphql-detect
swaggerUIdetect Detecta Swagger UI swagger
APIRecon Recon de APIs custom workflow
OpenRedirectScan Open redirect redirect
lfiScan LFI vulnerabilities lfi

πŸ”“ Vulnerability Scanning (functions/vulns.zsh)

FunΓ§Γ£o DescriΓ§Γ£o Input Output
xsshunter XSS multi-scanner (airixss, freq, xsstrike) domains airixss.txt, FreqXSS.txt
bypass4xx Bypass 403/401 403HTTP 4xxbypass.txt
prototypefuzz Prototype pollution ALLHTTP notifications
Corstest CORS misconfiguration roots CORSHTTP
smuggling HTTP Request Smuggling hosts smuggler_op.txt
fufdir <url> Directory fuzzing URL stdout
fufapi <url> API endpoint fuzzing URL stdout

πŸ› οΈ Utilities (functions/utils.zsh)

FunΓ§Γ£o DescriΓ§Γ£o
getfreshresolvers Baixa lista atualizada de resolvers DNS
getalltxt Baixa wordlist all.txt do jhaddix
certspotter <domain> Busca subdomains via CertSpotter
crtsh <domain> Busca subdomains via crt.sh
ipinfo <ip> InformaΓ§Γ΅es de IP via ipinfo.io

Workflows Prontos (custom.zsh)

# Recon completo automatizado
wellRecon

# Recon com foco em APIs
newRecon

# Apenas Nuclei scans
wellNuclei

Exemplo de Uso

# 1. Setup workspace
workspaceRecon example.com

# 2. Subdomain enumeration completo (inclui permutations)
wellSubRecon

# 3. Port scan + HTTP probe
naabuRecon
getalive

# 4. Crawling e coleta de JS
crawler
getjsurls
secretfinder

# 5. Vulnerability scanning
exposureNuc
XssScan
nucTakeover
bypass4xx

πŸ”’ SeguranΓ§a e Hacking Tools

O sistema inclui uma vasta coleΓ§Γ£o de ferramentas para:

  • Web Application Security
  • Network Reconnaissance
  • Vulnerability Assessment
  • Penetration Testing
  • Custom Nuclei Templates

πŸ› οΈ PersonalizaΓ§Γ£o

Adicionando Novas DistribuiΓ§Γ΅es

  1. Criar diretΓ³rio em setup/
  2. Adicionar scripts base.sh, apps.sh, terminal.sh
  3. Atualizar menu em install.sh
  4. Documentar mudanΓ§as

Modificando ConfiguraΓ§Γ΅es

  • Editar arquivos em config/
  • Scripts de setup copiam automaticamente
  • Testar mudanΓ§as antes de commitar

🌐 Idiomas / Languages

🀝 Contribuição / Contributing

  1. Fork o projeto / Fork the project
  2. Criar branch para feature (git checkout -b feature/AmazingFeature) / Create a feature branch
  3. Commit mudanΓ§as (git commit -m 'Add some AmazingFeature') / Commit your changes
  4. Push branch (git push origin feature/AmazingFeature) / Push to the branch
  5. Abrir Pull Request / Open a Pull Request

πŸ“ LicenΓ§a

Este projeto estΓ‘ sob licenΓ§a MIT. Veja o arquivo LICENSE para mais detalhes.

πŸ‘€ Autor

Wellington Moraes


MIT Β© 2024 Wellington Moraes