Awesome
Tun2SocksKit
This repository is a wrapper and a build workflow for hev-socks5-tunnel
Original Developer (arror)
This code originally belonged to arror. I'm just maintaining and updating it.
If you appreciate this repo, give him a thanks.
Usage
You only need to import Tun2SocksKit
import Tun2SocksKit
Running Tun2SocksKit
Use a file URL to run it
let code = Socks5Tunnel.run(withConfig: .file(path: localConfigFileURL))
Or the contents of the config file as a string
let code = Socks5Tunnel.run(withConfig: .string(content: stringConfigContent))
You can run it non-blocking as well
Socks5Tunnel.run(withConfig: .string(content: stringConfigContent)) { code in
// Do stuff with code
}
Stats
To get stats you need to call
let stats = Socks5Tunnel.stats
Both packet count and bytes transmitted/received are provided
print(stats.up.packets)
print(stats.up.bytes)
print(stats.down.packets)
print(stats.down.bytes)
Config
tunnel:
mtu: 9000
socks5:
port: 7890
address: ::1
udp: 'udp'
misc:
task-stack-size: 20480
connect-timeout: 5000
read-write-timeout: 60000
log-file: stderr
log-level: debug
limit-nofile: 65535