ATX 让手机通过 USB 数据项使用 PC 的网络上网 Reverse tetherining

codeskyblue · 2019年01月14日 · 最后由 x 回复于 2019年01月14日 · 242 次阅读

背景

最开始看到了这个项目 https://github.com/Genymobile/gnirehtet

作者很有意思,直接把单词 tethering 字母反过来 gnirehtet 作为项目名,tethering的意思是将手机的网络分享给PC或其他设备。反过来就是将PC的网络分享给手机。
为什么会有这个需求呢?想象一下,一堆手机连接同一个WiFI热点,速度将会多么的缓慢。但无论WiFi多慢,电脑的网速始终快的飞起。
如果能将电脑的网络通过数据线分享给手机使用,那手机的网络也会变得飞快。

不过gnirehtet因为跟我的手机不合,运行不起来。不过既然有这个思路了,用别的技术也能实现。下面用Shadowsocks方式做演示

依赖安装

因为需要依赖adb reverse这个功能,所以 Android需要 >=5.0,adb需要>=1.0.36。

首先手机安装

# 启动shadowsocks server: aes-256-cfb 12345678
$ pip install shadowsocks
$ ssserver -k 12345678

# 测试一下设备是否连接上,设备序列号因人而异
$ adb devices
List of devices attached
10.0.1.173:6174 device

# adb reverse 设备端 PC
$ adb reverse tcp:8388 tcp:8388

手机安装 影梭 下载地址 https://github.com/shadowsocks/shadowsocks-android/releases
安装完之后打开配置界面

服务器配置为:127.0.0.1 远程端口:8388 加密方式:AES-256-CFB
关闭DNS转发功能。(因为adb reverse 没有forward UDP的功能,所以不要开DNS转发)

配置完之后,点击纸飞机,然后测试一下连接,就可以体验到电脑端的闪电的网速了。⚡

遗留问题

  1. DNS转发没弄。
  2. 虽然下载速度快了,但是看起来延迟也大了。大约200ms

参考资料

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 3 条回复 时间 点赞

记得 360 、猎豹都可以分享PC 端的wifi 给手机使用吧?

Jerry li 回复

跟WiFI共享不一样,这个是通过USB数据线共享网络给手机。即使没有什么信号,手机也能上网

收藏,以防万一

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册