I made a Mihomo client for macOS called ClashMax.
Project page:
Download:
It’s not a cross-platform web wrapper and I don’t want to turn it into a heavy bloated app either. My approach is simple: focus on macOS only, and turn Mihomo’s day-to-day operations into a console that feels like a built-in tool.
Currently, it mainly offers:
- Dashboard / Profiles / Proxies / Connections / Rules / Logs / Settings
- Local YAML and subscription config management
- Generates a runtime YAML managed by ClashMax before startup, leaving the original config unchanged
- Mihomo controller is bound to
127.0.0.1by default - Controller secret is generated each launch, using Bearer auth for API access
- Supports system proxy mode and privileged helper-driven TUN mode
- Proxy group switching, latency testing, provider health check
- View/close connections, view rules, monitor logs
- Lightweight controls in the menu bar
A few technical choices that matter to me:
Original YAML stays untouched
Runtime YAML is generated separately
Controller is never exposed to the internet
Secret is regenerated on every launch
User-mode core handles regular system proxies
Privileged helper is only for TUN and privileged paths
macOS TUN config doesn’t include Linux-only auto-redirect
This project is still in its early stages, so there are definitely some rough edges.
If you also use macOS + Mihomo, feel free to give it a try. If you run into any issues, just open an Issue here:
It’s best to include your macOS version, config type, steps to reproduce, as well as any relevant logs or screenshots. That’ll make it much easier for me to help.
If you think this direction is interesting, feel free to leave a Star — it’ll keep me motivated to keep refining ClashMax.
