Behnam-RK/dezhban
GitHub: Behnam-RK/dezhban
Go 编写的跨平台网络阻断开关,在全隧道 VPN 断开或出口国家被禁时以零泄漏窗口切断出站流量。
Stars: 4 | Forks: 0
# dezhban
一个用 Go 编写的独立、跨平台的**网络阻断开关**,专为在全隧道 VPN 后运行而设计。它的主要模式是**常驻接口守卫**:它只允许流量通过 VPN 隧道传出,因此一旦隧道断开,它就会以**零泄漏窗口**切断出站流量,并且当 VPN 出口切换到禁用国家时会进行完全阻断。
作为*未*使用 VPN 的主机的**后备方案**,它可以轮询机器的公网 IP,解析其所在国家,并在该国家与黑名单匹配时按目标切断流量——这是一种尽力而为的方案,因为轮询器只能在下一次轮询后做出反应。这两种模式以及如何选择它们都在 [docs/modes.md](docs/modes.md) 中。
## 快速开始
需要 Go 1.26+。
```
make build # host build → ./dezhban
sudo dezhban setup # interactive wizard — build the config, no JSON by hand
dezhban validate # confirm it (--config is optional; see docs/config.md)
dezhban monitor # live IP/country/tunnel/verdict, no firewall touched
sudo dezhban run # run the daemon (root; drives the firewall)
sudo dezhban panic # always-available teardown, no daemon needed
```
`--config` 是可选的 —— dezhban 会从 `$DEZHBAN_CONFIG` 或系统路径(`dezhban config path`)中解析它。Tab 补全:`source <(dezhban completion zsh)`。
该二进制文件还可以将自身安装为开机持久化服务,并附带一个可选的 macOS 菜单栏应用。完整的命令参考:[docs/usage.md](docs/usage.md)。
## 模式一览
- **VPN 守卫**(`vpn.enabled: true`)—— **主要/推荐。** 具备接口感知能力,常驻开启,零泄漏窗口。只要您在全隧道 VPN 后面就可以使用它。
- **国家黑名单**(`vpn.enabled: false`)—— **后备方案。** 具备目标感知能力,反应式;仅在您未使用隧道时才有意义。默认关闭 —— 配置错误的守卫可能会将主机锁定,因此 VPN 模式是特意选择启用的。
详情、规则集以及决定性问题:[docs/modes.md](docs/modes.md)。
## 配置
采用 JSON 格式,持续时间使用字符串表示(例如 `"30s"`)。示例配置位于 `configs/` 目录(`dezhban.vpn-guard.json` 用于守卫模式,`dezhban.example.json` 用于后备模式)。
完整的字段参考、`vpn` 块以及验证规则:
[docs/config.md](docs/config.md)。
## 文档
| 文档 | 包含内容 |
|---|---|
| [docs/modes.md](docs/modes.md) | 两种执行模式以及您需要哪一种。 |
| [docs/config.md](docs/config.md) | 配置字段参考和示例配置。 |
| [docs/usage.md](docs/usage.md) | CLI 命令、标志、服务安装、菜单栏应用。 |
| [docs/architecture.md](docs/architecture.md) | 三层设计及其所依赖的不变量。 |
| [docs/safety.md](docs/safety.md) | 阻断开关安全原则和卸载机制。 |
| [docs/troubleshooting.md](docs/troubleshooting.md) | 锁定恢复和 VPN 守卫故障处理手册。 |
| [docs/development.md](docs/development.md) | 构建、交叉编译、开发循环、CI、钩子。 |
| [docs/state.md](docs/state.md) | `state.json` 状态文件。 |
| [docs/plans/readme.md](docs/plans/readme.md) | 分阶段计划和已锁定决策。 |
## 许可证
[MIT](LICENSE) © 2026 Behnam RK
标签:EVTX分析, Go, Homebrew安装, Ruby工具, VPN, WSL, 日志审计, 网络流量控制, 运维工具, 防火墙