update md files

This commit is contained in:
2026-01-03 13:36:07 +08:00
parent 46f912423e
commit 6de57a284d
4 changed files with 131 additions and 377 deletions

View File

@@ -50,6 +50,7 @@ GoTunnel 是一个类似 frp 的内网穿透解决方案,核心特点是**服
- **多客户端支持** - 支持多个客户端同时连接,每个客户端独立的映射规则
- **端口冲突检测** - 自动检测系统端口占用和客户端间端口冲突
- **SOCKS5/HTTP 代理** - 支持通过客户端网络访问任意网站
- **自动更新** - 服务端和客户端支持从 Web 界面一键更新
### 安全性
@@ -192,11 +193,7 @@ web:
| `http` | HTTP 代理 | 通过客户端网络访问 HTTP/HTTPS |
| `https` | HTTPS 代理 | 同 HTTP支持 CONNECT 方法 |
### 插件类型
| 类型 | 说明 | 示例用途 |
|------|------|----------|
| `socks5` | SOCKS5 代理(官方插件) | 通过客户端网络访问任意地址 |
| `socks5` | SOCKS5 代理 | 通过客户端网络访问任意地址 |
**规则配置示例(通过 Web API**
@@ -226,9 +223,11 @@ GoTunnel/
│ │ ├── config/ # 配置管理
│ │ ├── db/ # 数据库存储
│ │ ├── app/ # Web 服务
│ │ ── router/ # API 路由
│ │ ── router/ # API 路由
│ │ └── plugin/ # 服务端插件管理
│ └── client/
── tunnel/ # 客户端隧道
── tunnel/ # 客户端隧道
│ └── plugin/ # 客户端插件管理和缓存
├── pkg/
│ ├── protocol/ # 通信协议
│ ├── crypto/ # TLS 加密
@@ -236,32 +235,31 @@ GoTunnel/
│ ├── relay/ # 数据转发
│ ├── auth/ # JWT 认证
│ ├── utils/ # 工具函数
── plugin/ # 插件系统核心
├── builtin/ # 内置插件 (socks5)
├── wasm/ # WASM 运行时 (wazero)
── version/ # 版本信息和更新检查
├── update/ # 共享更新逻辑 (下载、解压)
└── plugin/ # JS 插件系统核心 (goja)
│ └── store/ # 插件持久化 (SQLite)
├── web/ # Vue 3 + naive-ui 前端
├── scripts/ # 构建脚本
── build.sh # 跨平台构建脚本
── build.sh # Linux/macOS 构建脚本
│ └── build.ps1 # Windows 构建脚本
└── go.mod
```
## 插件系统
GoTunnel 支持灵活的插件系统,可扩展代理协议和应用功能。
GoTunnel 支持灵活的 JS 插件系统,可扩展代理协议和应用功能。
### 插件类型
| 类型 | 说明 | 运行位置 |
|------|------|----------|
| `proxy` | 代理协议插件 (如 SOCKS5) | 服务端 |
| `app` | 应用插件 (如 HTTP 文件服务) | 客户端 |
| `app` | 应用插件 (如 HTTP 文件服务、Echo 服务) | 客户端 |
### 插件来源
- **内置插件**: 编译在二进制中,离线可用
- **JS 插件**: 基于 goja 运行时,支持动态加载和热更新
- **扩展商店**: 从官方商店浏览和安装插件
- **插件商店**: 从服务端管理的插件商店浏览和安装
### 开发 JS 插件
@@ -423,10 +421,16 @@ A: 服务端会自动检测端口冲突,请检查日志并更换端口。
A: 如果客户端未指定 `-id` 参数,服务端会自动生成 16 位随机 ID。
**Q: 如何更新服务端/客户端?**
A: 在 Web 控制台的"更新"页面,可以检查并应用更新。服务端/客户端会自动从 Release 下载压缩包、解压并重启。
## 构建
使用构建脚本可以一键构建前后端:
**Linux/macOS:**
```bash
# 构建当前平台
./scripts/build.sh current
@@ -444,6 +448,25 @@ A: 如果客户端未指定 `-id` 参数,服务端会自动生成 16 位随机
VERSION=1.0.0 ./scripts/build.sh all
```
**Windows (PowerShell):**
```powershell
# 构建当前平台
.\scripts\build.ps1 current
# 构建所有平台
.\scripts\build.ps1 all
# 仅构建 Web UI
.\scripts\build.ps1 web
# 清理构建产物
.\scripts\build.ps1 clean
# 指定版本号
$env:VERSION="1.0.0"; .\scripts\build.ps1 all
```
构建产物输出到 `build/<os>_<arch>/` 目录。
## 架构时序图