Zephyruso/zashboard
Zephyruso/zashboard has 3,680 GitHub stars and 419 forks. GitHot measured +2 stars in 24 hours. Last checked 2026-11-06 18:23 UTC. Last push 2026-10-29.
[!WARNING] Support for sing-box has been removed. Learn more about this decision.
Measured star growth
- in 24h
- +2
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalzashboard
Requirement
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.
Online
You can access the online zashboard at the following link:
Download
You can download the zashboard files here:
[!WARNING] Support for sing-box has been removed. Learn more about this decision.
release:
- dist.zip (7.81 MB) – Includes better font-loading experience.
- dist-no-fonts.zip (1.44 MB) – No fonts included, uses system fonts only.
- dist-cdn-fonts.zip (1.44 MB) – Fonts loaded from unpkg.com, If you have trouble connecting to unpkg.com, you may experience slow page loading.
- dist-firasans-only.zip (1.67 MB) – Only with FiraSans Font
- dist-misans-only.zip (3.54 MB) – Only with MiSans Font
- dist-pingfang-only.zip (3.25 MB) – Only with PingFang Font
- dist-sarasa-only.zip (3.67 MB) – Only with Sarasa Font
dev:
- gh-pages.zip (7.81 MB)
- gh-pages-no-fonts.zip (1.44 MB)
- gh-pages-cdn-fonts.zip (1.44 MB)
- gh-pages-firasans-only.zip (1.67 MB)
- gh-pages-misans-only.zip (3.54 MB)
- gh-pages-pingfang-only.zip (3.25 MB)
- gh-pages-sarasa-only.zip (3.67 MB)
Docker Setup
To run zashboard via Docker, use the following command:
docker run -d -p 80:80 ghcr.io/zephyruso/zashboard:latest
Tips
- 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, which follows 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), otherwise clicking update may result in updating to the core's default panel.
提示
- 连接表格可被鼠标左键拖动,右键可复制单元格内容。
- 右键点击节点/节点组卡片可对节点/节点组进行测速。
- 面板的节点组排序是根据GLOBAL组中的节点顺序排序的,即按配置文件的顺序,如果你需要自定义顺序,可通过覆盖GLOBAL组指定顺序
- 面板支持PWA(Progressive Web App),可以在移动设备上通过"添加到主屏幕"获得类原生app的体验
- 面板的更新按钮和自动更新功能需要正确的配置核心的ui下载路径 (mihomo), 否则可能会在点击更新后更新为核心默认面板
URL params format
basic example
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
Automatic backend connection
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.
I code just for fun, not for money. If you really want to donate, please consider donating to UNICEF to help hungry children.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,390 starspublic-apis/public-apis
A collective list of free APIs
496,693 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
437,566 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,059 stars