iOS native Mihomo proxy dashboard (Clash-compatible API), inspired by zashboard
- Overview - Real-time upload/download speed chart, memory usage, active connections
- Proxy - Proxy group management, node switching, per-group latency testing
- Connections - Live connection list with speed calculation, swipe to close
- Rules - View and manage routing rules
- Logs - Real-time log stream with level filtering and search
- Settings - Live Mihomo config sync (mode, allow-lan, IPv6, TUN, DNS, log-level)
- DNS Query - Domain resolution testing
- Multi-backend - Manage multiple Mihomo backends
- Dark Mode - System / Light / Dark theme
ClashBoard/
├── App/ # App entry & coordinator
├── Core/
│ ├── Network/API/ # REST API client
│ ├── Network/WebSocket/ # WebSocket manager
│ ├── Storage/ # UserDefaults & Keychain
│ ├── DependencyInjection/ # DI container
│ └── Utils/ # Formatters
├── Domain/
│ ├── Entities/ # Models
│ ├── UseCases/ # Business logic
│ └── Repositories/ # Protocols
├── Data/
│ ├── Repositories/ # Implementations
│ └── DataSources/ # Remote & local sources
├── Presentation/
│ └── Scenes/
│ ├── Overview/ # Dashboard + speed chart
│ ├── Proxy/ # Proxy groups & nodes
│ ├── Connection/ # Connection list
│ ├── More/ # Hub: rules, logs, DNS, providers
│ ├── Settings/ # Mihomo config & preferences
│ ├── Backend/ # Backend management
│ ├── Rule/ # Rule list
│ └── Log/ # Log viewer
└── Resources/
├── Assets.xcassets/ # App icon & assets
└── Localizations/ # i18n
- macOS 15.0+
- Xcode 26.0+
- iOS 26.0+
- XcodeGen
git clone https://github.com/bddiudiu/Clash-Board.git
cd Clash-Board
xcodegen generate
open ClashBoard.xcodeprojSelect a simulator or device, then Cmd + R to run.
- Add a Mihomo backend (host, port, secret)
- Tap "Test Connection" to verify
- Save — you're in
MVVM + Clean Architecture
| Layer | Tech |
|---|---|
| UI | SwiftUI |
| Reactive | Combine |
| Network | URLSession + WebSocket |
| Storage | UserDefaults + Keychain |
| DI | Custom container |
MIT - see LICENSE