| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 |
MToolbox.WebServer
MToolbox 插件发布中心,提供插件清单 API、文件下载服务和可视化管理页面。
快速启动
# 1. 先在项目根目录执行构建(WebServer 交叉编译为 linux-x64)
build.bat
# 2. 将 build\WebServer\ 上传到 Linux 服务器
# 3. 在 Linux 上启动
chmod +x MToolbox.WebServer
./MToolbox.WebServer
# 默认访问: http://<server-ip>:5000
构建脚本通过
dotnet publish -r linux-x64交叉编译,在 Windows 上产出 Linux 自包含二进制文件。
环境变量
| 变量名 | 说明 | 默认值 |
|---|---|---|
MT_WEB_URL |
监听地址(最高优先级) | — |
ASPNETCORE_URLS |
ASP.NET Core 标准监听地址 | — |
MT_SERVER_ROOT |
插件文件根目录 | ../../build/Server |
优先级:
MT_WEB_URL>ASPNETCORE_URLS>http://localhost:5000
使用示例
# Linux / macOS
export MT_WEB_URL=http://0.0.0.0:8080
export MT_SERVER_ROOT=/opt/mtoolbox/build/Server
dotnet run --project src/MToolbox.WebServer
# Windows PowerShell
$env:MT_WEB_URL="http://0.0.0.0:8080"
$env:MT_SERVER_ROOT="D:\MToolbox\build\Server"
dotnet run --project src/MToolbox.WebServer
# Windows CMD
set MT_WEB_URL=http://0.0.0.0:8080
dotnet run --project src/MToolbox.WebServer
API 端点
插件 & 版本
| 方法 | 路由 | 说明 |
|---|---|---|
GET |
/api/plugins/manifest |
返回插件版本清单(manifest.json 原文) |
GET |
/api/shell/version |
返回主程序版本(shell-version.json 原文) |
GET |
/api/health |
健康检查 + 目录状态 |
文件下载
| 方法 | 路由 | 说明 |
|---|---|---|
GET |
/plugins/{filename} |
下载插件 DLL 文件 |
GET |
/shell/{filename} |
下载主程序文件 |
页面
| 路由 | 说明 |
|---|---|
GET |
/ |
客户端对接
客户端 UpdateService.cs 默认连接 http://localhost:5000,读取 /api/plugins/manifest 获取插件清单:
{
"plugins": [
{
"id": "MToolbox.Plugin.Sample",
"version": "1.0.0",
"downloadUrl": "http://localhost:5000/plugins/MToolbox.Plugin.Sample.dll"
}
]
}
如需修改服务端地址,调整客户端中的 UpdateService 构造函数参数。
项目结构
src/MToolbox.WebServer/
├── Program.cs # 入口:URL 配置 + API 路由
├── appsettings.json # 日志、主机配置
├── Properties/
│ └── launchSettings.json # IDE 开发启动配置
├── Pages/
│ ├── Index.cshtml # 管理页面(纯 HTML/CSS,无前端框架依赖)
│ └── Index.cshtml.cs # 页面模型:读取 manifest 渲染数据
└── README.md
build/WebServer/ # 构建产物(linux-x64,自包含)
├── MToolbox.WebServer # Linux 可执行文件
├── appsettings.json # 自动注入 ServerRoot = "../Server"
└── ...
部署到 Linux
- Windows 上执行
build.bat,自动交叉编译产出build\WebServer\ - 将整个
build\WebServer\目录上传到 Linux 服务器 - 将
build\Server\放在build\WebServer\的同级目录下 - 给可执行文件添加权限并启动:
chmod +x MToolbox.WebServer
./MToolbox.WebServer
通过环境变量控制监听地址:
MT_WEB_URL=http://0.0.0.0:5000 ./MToolbox.WebServer
文件目录
服务从 MT_SERVER_ROOT(默认 build/Server/)读取以下文件:
build/Server/
├── manifest.json # 插件版本清单
├── shell-version.json # 主程序版本
├── plugins/
│ ├── MToolbox.Plugin.Sample.dll
│ ├── MToolbox.Plugin.QuickActions.dll
│ └── MToolbox.Plugin.SystemInfo.dll
└── shell/
└── MToolbox.exe
文件由 build.bat 或 dotnet publish 生成。