iClash is an open-source Clash proxy manager for iOS and macOS, built with SwiftUI. It provides a modern and user-friendly interface for managing Clash proxy configurations.
-
Support for multiple proxy protocols:
- VMess
- Shadowsocks
- SOCKS5
- HTTP
- Trojan
-
Rule-based traffic routing:
- GEOIP rules
- Domain filters
- Manual rules
-
Subscription-based configuration updates
-
Background VPN management
-
Real-time proxy statistics
-
Detailed traffic logs
- iOS 15.0+ / macOS 12.0+
- Xcode 13.0+
- Swift 5.5+
- Clone the repository:
git clone https://github.com/yourusername/iClash.git
- Open the project in Xcode:
cd iClash
open iClash.xcodeproj
- Build and run the project.
iClash/
├── App/
│ └── iClashApp.swift
├── Views/
│ ├── ContentView.swift
│ ├── HomeView.swift
│ ├── NodesView.swift
│ ├── RulesView.swift
│ └── LogsView.swift
├── Managers/
│ ├── ProxyManager.swift
│ └── ConfigManager.swift
└── NetworkExtension/
└── PacketTunnelProvider.swift
- Open the project in Xcode
- Select your target device/simulator
- Click the Run button or press Cmd+R
The project includes unit tests and UI tests. To run the tests:
- Open the Test navigator (Cmd+6)
- Click the Run button next to the test suite
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.