Files
multi-simadmin/README.md
T
2026-07-07 21:26:43 +08:00

2.3 KiB
Raw Blame History

Multi SimAdmin

一个用于聚合管理多个 SimAdmin 实例的轻量本地运维面板。

功能

  • 只需要在 config.json 配置多个 SimAdmin 地址。
  • 深色专业 Dashboard:实例舰队列表、状态筛选、搜索、当前设备摘要。
  • 支持无密码实例状态读取;有密码实例可通过本地服务代登录并保持会话。
  • 统一代理 SimAdmin API,内置 API 工作台,便于读取/调试设备、SIM、网络、短信、eSIM、OTA 等接口。
  • 保留原始 SimAdmin 页面 iframe 嵌入;若目标站禁止 iframe,可一键在原站打开。
  • 敏感配置留在本地 config.json,仓库只提交 config.example.json

快速开始

cp config.example.json config.json
npm install
npm start

默认访问:http://localhost:8788

配置

编辑 config.json

{
  "server": { "host": "0.0.0.0", "port": 8788 },
  "instances": [
    {
      "id": "simadmin-open",
      "name": "无密码 SimAdmin",
      "url": "http://192.168.68.1:3000",
      "description": "密码保护关闭或尚未配置密码的实例",
      "auth": { "mode": "none" },
      "tags": ["open"]
    },
    {
      "id": "simadmin-password",
      "name": "有密码 SimAdmin",
      "url": "http://192.168.68.2:3000",
      "description": "服务端代登录并保存会话 Cookie;密码只保存在本地 config.json",
      "auth": {
        "mode": "password",
        "password": "CHANGE_ME"
      },
      "tags": ["password"]
    }
  ]
}

字段说明:

  • id:唯一标识,只能包含字母、数字、下划线、短横线、点号。
  • name:页面显示名称。
  • urlSimAdmin 原始访问地址。
  • description:可选描述。
  • auth.modenone 表示无密码;password 表示由本地聚合服务代登录。
  • auth.password:可选。本地保存后可自动刷新会话;不要提交真实密码。

常用命令

npm test
npm start

注意

  • 当前项目是本地管理面板,不修改 SimAdmin 本体。
  • config.json 可能包含真实设备地址和密码,已在 .gitignore 中排除。
  • 部分写操作接口(短信发送、网络模式、频段/小区锁定等)会改变设备状态,执行前请确认目标实例。