zkcoi e9ca2f7d70 fix: rename manager module to git.zkcoi.com/zkcoi/Meshray-Manager
- go.mod module path matches repo zkcoi/Meshray-Manager (case-distinct from zkcoi/Meshray/core)
- rewrite internal imports meshray/{internal,web,pkg} -> Meshray-Manager/... (core refs kept)
- sync README.md / install.sh repo URLs; add CHANGELOG entry
2026-07-15 16:25:46 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00
2026-06-30 15:14:37 +08:00

MeshRay

去中心化 P2P 组网平台

💤 项目状态:个人练手的 Vibecoding 项目,目前已暂时搁置,后续有时间再继续完善。

Version Status Go Version License


🌟 核心特性

  • 去中心化架构 — 无中心服务器,设备间直接 P2P 通信
  • 智能穿透 — STUN + TURN 自动打洞,支持多种 NAT 类型
  • 9 层降级传输 — 从 Direct-UDP 到 WS/WSS,链路不通自动切换
  • Mesh 中继 — 设备间中继转发,突破网络限制
  • 安全加密 — WireGuard 官方库 + Ed25519 签名 + AES-256-GCM
  • DDNS 动态域名 — Cloudflare / 腾讯云 DNS 自动同步
  • Web 管理面板 — Go embed 内嵌静态资源,单文件部署
  • 完整通知系统 — WebSocket 实时推送 + 持久化存储

🚀 快速开始

Windows:

start.bat

Linux/Mac:

chmod +x start.sh
./start.sh

手动编译运行:

go build -o meshray.exe ./cmd/meshray
./meshray.exe

访问:http://localhost:9531

前端已内嵌到 Go 二进制中,无需安装 Node.js 或单独编译前端。


📋 功能清单

已实现

功能模块 说明
设备管理 WG 设备增删改查、配置生成
组网管理 组网创建/加入/启停、MeshSeed 凭证
传输策略 9 层降级策略、自动/自定义/手动三种模式
DDNS Cloudflare + 腾讯云、IP 自动检测、TXT 记录
通知推送 WebSocket 实时推送 + SQLite 持久化
备份恢复 创建/列表/恢复/删除/下载
系统设置 修改密码、重启核心、版本更新
仪表盘 网络状态、链路分布、系统信息

待完善

功能模块 说明
阿里云 DNS Provider 依赖 libdns/aliyun 安装
备份恢复(完整实现) 数据库导出 + 文件打包
WebSocket 中间件 已有轮询,可增加实时推送

🛠️ 技术栈

后端

组件 技术 用途
语言 Go 1.21+ 主要编程语言
Web 框架 Gin HTTP 服务器和路由
ORM GORM 数据库操作
数据库 SQLite (glebarez) 嵌入式数据库
日志 Zap 结构化日志
配置 Viper 配置管理
WireGuard golang.zx2c4.com/wireguard 用户态 WG 实现
认证 bcrypt + golang-jwt 密码加密 + JWT
NAT 穿透 pion/turn, pion/webrtc STUN/TURN/ICE

前端

组件 技术 用途
UI 纯 JavaScript (ES6+) 管理面板
静态资源 Go embed 内嵌到二进制

📖 文档


🎯 使用场景

家庭组网

  • 远程访问家中 NAS
  • 搭建私有云服务
  • 连接多个智能设备

企业办公

  • 分支机构互联
  • 远程办公接入
  • 安全数据传输

开发测试

  • 本地环境暴露公网
  • 多设备联调测试
  • Demo 演示环境

📊 项目结构

meshray/
├── cmd/                      # 可执行文件入口
├── core/                     # MeshRay-Core 建连层(9 层传输策略)
│   ├── connect/              # Direct-UDP / FakeTCP / TURN / STUN / ICE / WS
│   ├── transport/            # ConnManager + Relay 转发
│   └── plugins/wg/           # WireGuard 插件
├── internal/                 # 内部实现
│   ├── api/                  # REST APIGin Handler + Middleware
│   ├── ctr/                  # 调度中心(WG 设备管理)
│   ├── dnsprovider/          # DNS Provider 抽象层
│   ├── service/              # 业务逻辑层
│   └── store/sqlite/         # 数据库访问层
├── pkg/                      # 公共工具库
├── web/                      # 前端静态资源(Go embed 内嵌)
├── deploy/                   # Docker / Systemd 部署
├── docs/                     # 技术文档
└── config.yaml               # 运行配置

🔒 安全性

  • bcrypt 密码加密 — DefaultCost 强度
  • JWT 身份验证 — Token 过期机制
  • CORS 跨域控制 — 仅允许特定来源
  • SQL 参数化查询 — GORM 防注入
  • 操作日志记录 — AuditLog 审计追踪

📈 性能指标

  • 启动时间: < 2 秒
  • API 响应: < 100ms (本地)
  • 数据库查询: < 50ms
  • 并发连接: 支持 100+ 客户端
  • 二进制体积: 前端内嵌,单文件部署

🤝 开发

# 克隆项目
git clone https://git.zkcoi.com/zkcoi/Meshray-Manager.git
cd meshray

# 安装依赖
go mod download

# 运行
go run cmd/meshray/main.go
# 访问 http://localhost:9531

📄 许可证

MIT License


🙏 致谢

  • WireGuard — 安全的 VPN 技术
  • Gin — Go Web 框架
  • libdns — DNS Provider 库
  • pion — WebRTC / TURN / STUN 实现
S
Description
No description provided
Readme MIT
2.6 MiB
Languages
Go 83.8%
HTML 6%
JavaScript 5.4%
Shell 2.9%
Batchfile 1%
Other 0.9%