大家好,我又来分享轮子啦~
SocksTun是我最近开源的一个基于HevSocks5Tunnel实现的 Android VPN ,用于将手机端的 TCP 、UDP 流量通过 Socks5 代理进行转发。其实它只是一个参考实现,主要用于演示如何用 HevSocks5Tunnel 实现 VPN 。它可以对接明文的标准 Socks5 协议,比如 Socks5 服务(或映射)部署在本地局域网,也是能具有一些实用性的吧。
HevSocks5Server支持 UDP 从 TCP 转发,可以运行在 Linux/BSD 和 macOS 系统上,配置、使用方法也比较简单。
# 下载、编译
git clone --recursive https://github.com/heiher/hev-socks5-server
cd hev-socks5-server
make
# 运行
hev-socks5-server conf.yml
conf.yml:
main:
workers: 4
port: 1080
listen-address: '::'
misc:
limit-nofile: 65535
任意支持标准 Socks5 协议的 TCP(Connect)和 UDP(Associate)的服务端即可。
Android VPN App 目前还没有做过性能、能耗的评测(其实是不会~),之前在低性能的 RK3399(AArch64 架构)设备做过几款 tun2socks 的评测,结论是只有 HevSocks5Tunnel 可以几乎跑满物理网卡的最大带宽,并且对应的 CPU 资源使用最少。那么,基于它实现的 Android VPN 应该具有相对较好的节能效果吧。
最开心的事情当然是开源的这些小轮子能跑起来,确实对大家有用,期待支持与反馈~
1
HXHGTS 220 天前 via Android ![]() 建议改成 socks2tun ,和 tun2socks 反过来,哈哈
|
![]() |
2
Achophiark 220 天前 via Android
支持开源。
|
![]() |
3
mogging 219 天前 via Android
感觉可以用于抓包?
|
![]() |
4
studyingss 219 天前 via Android
|
![]() |
5
heiher OP @mogging 确实可能,一些使用 VPN 方案的抓包应用就是使用 tun2socks 方案实现的 TCP 流重组并直接对接到物理网络。
|
![]() |
6
heiher OP @studyingss 是的,DNS 两项是配置的 VPN 网络的 DNS 地址,不支持直接指定端口。就分流的需求来说,其实可以实现在服务端,因为 DNS 流量也是通过 Socks5 的。
|
7
t6attack 175 天前
一直有疑惑,为什么此类应用必须设置 DNS 呢? socks5 代理不应该是直接把域名传到代理端吗?
为什么要在本地解析域名? |
![]() |
8
heiher OP @t6attack 因为 IP 网络的地址类型只有 uint32 和 uint128 两种,假设支持 domain string 就像 socks5 一样,那么你这个想法就可以实现啦。
|
9
cxc520589 86 天前
这用途我正需要,请问安卓手机怎么部署?使用 termux 来部署吗
|
![]() |
13
ClarkAbe 68 天前
挺不错, 但是 DNS 那里能不能继承 WIFI 或者 4G 的 DNS...
|
![]() |
16
anciusone 20 天前
已 star ,试了下,挺简单方便的。
|