Skip to content

bddiudiu/Clash-Board

Repository files navigation

Clash Board

iOS Swift SwiftUI License

iOS native Mihomo proxy dashboard (Clash-compatible API), inspired by zashboard


Features

  • 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

Project Structure

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

Getting Started

Requirements

  • macOS 15.0+
  • Xcode 26.0+
  • iOS 26.0+
  • XcodeGen

Build

git clone https://github.com/bddiudiu/Clash-Board.git
cd Clash-Board
xcodegen generate
open ClashBoard.xcodeproj

Select a simulator or device, then Cmd + R to run.

First Launch

  1. Add a Mihomo backend (host, port, secret)
  2. Tap "Test Connection" to verify
  3. Save — you're in

Architecture

MVVM + Clean Architecture

Layer Tech
UI SwiftUI
Reactive Combine
Network URLSession + WebSocket
Storage UserDefaults + Keychain
DI Custom container

License

MIT - see LICENSE

Acknowledgments

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages