Expand description
shoes - A high-performance multi-protocol proxy server.
This library provides the core functionality for shoes, enabling it to be embedded in mobile applications (Android/iOS) as a VPN backend.
§Features
- Multi-protocol support: VLESS, VMess, Trojan, Shadowsocks, and more
- TUN device support: Virtual network interface for VPN mode
- Proxy chaining: Connect through multiple proxies
- Flexible routing: Rule-based traffic routing
§Mobile Integration
For Android, use the FFI module:
// Load native library
System.loadLibrary("shoes")
// Initialize
ShoesNative.init("info")
// Start VPN with TUN fd from VpnService
val handle = ShoesNative.startTun(tunFd, configYaml, protectCallback)
// Stop VPN
ShoesNative.stop(handle)For iOS, use the C FFI module from Swift:
// Initialize
shoes_init("info")
// Start VPN with packet tunnel fd
let handle = shoes_start(configYaml, protectCallback)
// Stop VPN
shoes_stop(handle)§Platform Support
- Linux (x86_64, aarch64)
- Android (arm64-v8a, armeabi-v7a, x86_64)
- iOS (arm64)