Skip to content
/ ileaf Public
forked from ChengLuffy/ileaf

An iOS VPN supports Shadowsocks, VMess, Trojan, WebSocket, TLS and more.

Notifications You must be signed in to change notification settings

wosika/ileaf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iLeaf

This simple app demonstrates the use of Leaf on iOS.

Leaf has released an iOS static library and can be downloaded by running a script (see details below).

Leaf supports a large feature set including SOCKS 5, HTTP, Shadowsocks, VMess and Trojan proxy protocols, and plugable proxy transports such as WebSocket and TLS. There are also flexible load balancing / high availability features to better deliver your network requests.

The app has no UIs and the switch is the only button to start and stop the proxy, you can control all the proxy behaviors by changing a config file, which is defined as a String variable and located in PacketTunnel/PacketTunnelProvider.swift.

Build & Run

  1. Fix Bundle Identifier and App Groups identifier and entitlements.

  2. Download leaf library:

./misc/download_leaf.sh
  1. Download dat files:
./misc/download_data.sh
  1. Edit the config conf in PacketTunnel/PacketTunnelProvider.swift, examples can be found here

  2. Build and Run

View Logs

Leaf by default outputs logs to the console, since it's a static library used by the NetworkExtension executable, you can checkout the logs on macOS via the Console.app.

While using the Console.app is the easiest way, my favorite is using the command

idevicesyslog -p PacketTunnel

You may install it via Homebrew, see https://libimobiledevice.org/ for more details.

About

An iOS VPN supports Shadowsocks, VMess, Trojan, WebSocket, TLS and more.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 90.9%
  • Shell 8.0%
  • Objective-C 1.1%