update md files
This commit is contained in:
55
README.md
55
README.md
@@ -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>/` 目录。
|
||||
|
||||
## 架构时序图
|
||||
|
||||
Reference in New Issue
Block a user