SOCKS5 client for Android 5.0+ making use of the
tun2socksso that it works without root permission (unlike ProxyDroid).
Most of the JNI code are imported from
shadowsocks-androidproject because they have already done most of the work.
tun2socksdoes not support UDP associate but has its own implementation of UDP forwarding
badvpn-udpgw, so it is needed that the udpgw daemon run on remote server to use UDP forwarding.
On remote server
badvpn-udpgw --listen-addr 127.0.0.1:7300
UDP Gatewayin this app to
udpgw, DNS lookups can also be processed in this app.
It makes use of the TCP DNS feature of
pdnsd. You just set a DNS server that supports TCP DNS in this app, and all DNS requests will be transformed into TCP queries.
But there are still solutions. For example, use
stunnelto wrap the SOCKS5 connection with SSL. （意思是用stunnel包裹socks代理服务器程序或http代理服务器程序。参见：
See my project stunnel-android for usage on Android.