文件最后提交记录最后更新时间
1 个月前
2 个月前
1 个月前
2 个月前
2 个月前
2 个月前
README

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

  1. Windows 上执行 build.bat,自动交叉编译产出 build\WebServer\
  2. 将整个 build\WebServer\ 目录上传到 Linux 服务器
  3. 将 build\Server\ 放在 build\WebServer\ 的同级目录下
  4. 给可执行文件添加权限并启动:
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 生成。