https://github.com/wuhx/shadowriver
一年前写的东西,因为解决不了性能问题,丢着一直没管。 抽空特地整理了一下,也算是做个总结。
需求是在 App 内能看到或修改其他 App 的网络数据包。
主要的想法是在 JVM 内实现了一个简单 TCP/IP 协议栈,直接把从 VPN 接口收到的数据包解开,检查 payload 并通过 tunnel 发送出去。而不是象 SS 那样通过第三方的 ss-tunnel,tun2socks 等 C 程序做。
1
hemoely 2017-05-10 16:24:29 +08:00
顶楼主精神
|
2
ayanamist 2017-05-10 16:25:47 +08:00 via Android
有一个叫 Packet Capture 的 app
|
3
liangzhitao 2017-05-10 16:39:40 +08:00
楼主用 scala 写 Android 是用的什么 IDE ?
|
4
xy19009188 2017-05-10 16:48:01 +08:00 via Android
能给个 release 么
|
5
wuhx OP |
6
gamexg 2017-05-10 17:33:11 +08:00
牛人,
曾经想写个 vp n转s s 的程序,写了一部分就没能坚持下去。 |
7
futurexu 2017-05-10 17:51:45 +08:00
66666
|
8
wuhx OP @ayanamist
特地安装试用了一下,很接近我想做的东西了,再加几个功能就完美了: 1. 兼容 ShadowSocks,可以当 VPN 用。 2. 支持解码插件,用户可以自己写解码插件,Packet Capture 只支持解码 HTTP 协议,并且 gzip 都不能解码。 3. 支持按 App 设置规则,可以当防火墙用。 |
10
taowen 2017-05-11 09:46:43 +08:00
精神可歌可泣。居然手撸 TCP/IP 状态机。
|