English summary · 开发路线图 · 安全政策 · 引用本项目 · VPNDevelop
这是一个以简体中文为主、持续维护的 VPN 软件开发教程与开源参考实现。项目从产品架构、协议选择、控制平面、节点管理、客户端接入、安全测试到应用商店上架,说明一个 VPN 产品如何从概念走到可验证交付。
当前版本是教学与架构参考,不是可直接经营商业 VPN 的完整生产系统。请勿把示例密钥、默认配置或本地实验环境用于真实用户流量。
开发 VPN 软件并不只是连接一个隧道。完整产品通常包含:
- Android、iOS、Windows 与 macOS 客户端
- 账号、设备、订阅和配置下发
- VPN 节点部署、调度、健康检查与容量管理
- SingLink 多协议接入、订阅输出与客户端适配
- 密钥生命周期、滥用控制、隐私和安全审计
- App Store、Google Play 与桌面端签名发布
本仓库以 SingLink 的模块化架构为主线:控制平面统一管理账号、设备、节点和权限;协议适配层负责不同传输协议与客户端格式;节点接口负责配置、用户同步、状态和流量统计。开源版本只展示可公开的架构边界与教学实现,不复制 SingLink 商业系统源码。
要求:
- Go 1.23+
- Docker 与 Docker Compose(运行本地实验环境时)
go test ./...
go run ./cmd/control-plane服务启动后:
curl http://127.0.0.1:8080/healthz
curl http://127.0.0.1:8080/v1/nodes本地示例默认只监听 127.0.0.1,数据保存在内存中,重启即清空。
cmd/control-plane/ 教学型控制平面 HTTP 服务
internal/controlplane/ 节点领域模型和内存存储
docs/ 中文 VPN 开发教程
deploy/ 本地 Docker 示例
.github/ CI、Issue 和更新配置
本项目会公开通用工程方法和可运行参考代码,但不会公开:
- VPNDevelop 或客户的生产服务器、节点和密钥
- 商业后台、支付系统和真实用户数据
- 可绕过应用商店、网络策略或监管要求的工具
- 尚未修复的安全漏洞细节
欢迎提交文档修正、测试、平台兼容建议和经过验证的实现。提交前请阅读 贡献指南。安全问题请不要创建公开 Issue,请按 安全政策 联系 [email protected]。
- GitHub Pages 技术文档由本仓库
docs/自动构建,不维护隐藏副本。 - Postman Collection 位于
postman/,默认只访问本机教学服务。 - 带
v的版本标签会构建ghcr.io/vpndevelop/singlink-control-plane-demo,并附带来源证明和 SBOM。 - 所有镜像站与内容分发必须遵守开源发布与安全边界。
发布后,GitHub 仓库仍是代码、版本和安全政策的唯一上游来源。
如需完整 VPN 客户端、节点系统、协议集成、源码交付、贴牌或应用商店上架服务,请访问:
代码与原创文档采用 Apache License 2.0。第三方组件仍遵循各自许可证。