Android VPN 转 Socks5 代理应用分享

2023-02-17 21:20:27 +08:00
 heiher

大家好,我又来分享轮子啦~

SocksTun是我最近开源的一个基于HevSocks5Tunnel实现的 Android VPN ,用于将手机端的 TCP 、UDP 流量通过 Socks5 代理进行转发。其实它只是一个参考实现,主要用于演示如何用 HevSocks5Tunnel 实现 VPN 。它可以对接明文的标准 Socks5 协议,比如 Socks5 服务(或映射)部署在本地局域网,也是能具有一些实用性的吧。

特性支持

使用方法

服务端

HevSocks5Server

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)的服务端即可。

手机客户端

  1. 从项目发布页下载 APK 并安装。
  2. 打开应用,配置 Socks5 地址、端口和 DNS 地址。
  3. 如果使用 HevSocks5Server 服务端,钩选 UDP relay over TCP ;使用其它服务端则去掉。
  4. 保存配置后,点击启用开启 VPN 服务。

性能评测

Android VPN App 目前还没有做过性能、能耗的评测(其实是不会~),之前在低性能的 RK3399(AArch64 架构)设备做过几款 tun2socks 的评测,结论是只有 HevSocks5Tunnel 可以几乎跑满物理网卡的最大带宽,并且对应的 CPU 资源使用最少。那么,基于它实现的 Android VPN 应该具有相对较好的节能效果吧。

速率

CPU 使用率

最后

最开心的事情当然是开源的这些小轮子能跑起来,确实对大家有用,期待支持与反馈~

8193 次点击
所在节点    分享创造
45 条回复
heiher
2024-01-02 08:22:20 +08:00
@cnfzv 这是另外一个事情,因为 openssh socks5 不支持 udp 。
heiher
2024-01-21 23:54:06 +08:00
@cnfzv 哈喽,hev-socks5-tunnel 2.6.6 版本,sockstun 2.0 版本开始,支持流水化 socks5 握手开关(请求写合并),且默认关闭。

https://github.com/heiher/hev-socks5-tunnel/releases/tag/2.6.6
https://github.com/heiher/sockstun/releases/tag/2.0
ChasenTsai
2024-10-07 11:34:12 +08:00
大佬你好,希望能得到指点:
我的需求:在安卓设备上重定向指定网址,全局、免 root 。
举个例子: http://abc.com/list -> http://127.0.0.1:8080/list
再举例子: https://abc.com/list -> https://127.0.0.1:8443/list

DNS 解析的部分我用 Virtual-Hosts 启动 vpn 搞好了,然而端口把我难倒了。
在项目里调试了两天,始终找不到可以修改端口的地方,原谅我只是个前端仔,网络基础薄弱

当我看到 tun2socks 的时候,第一反应是 这把牛刀可以杀我这只鸡
幻想:用 Socks5 启动一个服务,实现上述规则;再用 SocksTun 连接这个服务
于是 clone 了源码企图读懂,想多了 C 的部分根本读不懂

于是前来求助:我想象中的路子是否能实现?
或者说根本不需要借用 socks 的力量,而是单纯解析 vpn 截获的消息进行修改就能实现?
datocp
110 天前
厉害竟然在这里,今天用它更换了 Tun2tp for android 。4.0 似乎得随意选择 1 个 app ,才能正常工作。
heiher
110 天前
@datocp #44 如果不用全局模式就至少需要选择一个应用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/917046

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX