Browser support
- Chrome 111 (released March 2023)
- Firefox 128 (released July 2024)
- Safari 16.4 (released March 2023)
- Not supported on iOS 16.4 jailbroken version.
You can access the online zashboard at the following link:
You can download the zashboard files here:
All builds include sing-box native API support.
- The connection table can be dragged with the left mouse button, and right-clicking can copy cell content.
- Right-clicking on a node / node group card will perform a speedtest for the node / node group.
- The proxy group sorting is based on the node order in the GLOBAL group. In Mihomo, it follows the configuration file order, while in sing-box, route.final is placed first, with the rest following the configuration file order. If you need custom ordering, you can specify the order by overriding the GLOBAL group.
- The dashboard supports PWA (Progressive Web App), which can provide a native app-like experience on mobile devices through "Add to Home Screen".
- The dashboard's upgrade button and auto-upgrade functionality require proper configuration of the core's UI download path (mihomo | sing-box), otherwise clicking update may result in updating to the core's default panel.
- 连接表格可被鼠标左键拖动,右键可复制单元格内容。
- 右键点击节点/节点组卡片可对节点/节点组进行测速。
- 面板的节点组排序是根据GLOBAL组中的节点顺序排序的,在Mihomo中会是按配置文件的顺序,在sing-box中会把route.final放到第一位,其余按照配置文件顺序,如果你需要自定义顺序,可通过覆盖GLOBAL组指定顺序
- 面板支持PWA(Progressive Web App),可以在移动设备上通过"添加到主屏幕"获得类原生app的体验
- 面板的更新按钮和自动更新功能需要正确的配置核心的ui下载路径 (mihomo | sing-box), 否则可能会在点击更新后更新为核心默认面板
http://host:port/#/setup?hostname=ipordomain&port=9090&secret=123456
-
protocol- Determines the protocol,
httporhttps. - Default: current page protocol
- The legacy
http/httpsflag params (e.g.?http=1) are still supported for backward compatibility, butprotocoltakes precedence when both are present.
- Determines the protocol,
-
hostname- The Clash API's IP or domain.
-
port- The Clash API port.
-
secondaryPath- Optional path appended to the base URL.
- Default: An empty string.
-
secret- Password for authentication.
-
disableUpgradeCore- Set '1' to hide upgrade core button
-
disableTunMode- Set '1' to hide tun switch
-
type- Selects the backend API:
clash(Clash REST/WS),dae(dae native API) orsingbox(sing-box native). - Default:
clash
- Selects the backend API:
When no backends have been saved and hostname is not specified in the URL query, zashboard tries to connect to the Clash API at the page's origin (the same protocol, hostname, and port). This applies to pages served over HTTP or HTTPS. The protocol and port URL parameters do not change this address. URL parameters such as secret, label, type, disableUpgradeCore, and disableTunMode also apply to the detected backend.
For example, with this mihomo configuration on remote server 192.168.1.1:
external-ui: ui
external-ui-url: https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip
external-controller: 0.0.0.0:9090
secret: ''Opening http://192.168.1.1:9090/ui automatically connects to http://192.168.1.1:9090 and saves the backend if the API probe succeeds. If mihomo requires authentication, pass its secret using http://192.168.1.1:9090/ui?secret=your-secret.
http://127.0.0.1:9090 with an empty secret is probed at the same time as a fallback, and the same-origin backend takes priority. If a candidate rejects the secret, the form keeps that address so you only need to enter the secret. If no candidate responds, the form shows http://127.0.0.1:9090 for manual configuration. Editing or submitting the form during detection cancels automatic connection.
Saved backends and explicit URL backend parameters retain their existing behavior. Automatic same-origin detection does not override them.

