Android 手机使用 PC 代理上网的方法
在一些特殊的情况下,可能需要使用 Android 手机或者 PC 的线路访问外部网络资源,同时没有条件连接 wifi 网络,这时候可以使用 Android Platform Tools 的 adb 工具来达到目的。
Android Platform Tools 的下载地址为:
https://developer.android.com/tools/releases/platform-tools#downloads
Android 手机使用 PC 的代理上网的方法
用 USB 数据线连接 Android 手机和 PC,在 PC 中执行下面的命令
1 | adb shell settings put global http_proxy 127.0.0.1:7890 |
首先设置 Android 手机 http 全局代理为 127.0.0.1:7890,然后将手机的 127.0.0.1:7890 转发到 PC 127.0.0.1:7890 (没有找到设置 Android 系统全局使用 socks5 代理的方法)
设置 Android 全局代理需要 android.permission.WRITE_SECURE_SETTINGS 权限,ColorOS 需要在开发者选项中开启 「禁止权限监控」具体方法可以参考:在 ColorOS 上免 root 玩机,请先打开这个开关,如果是小米手机可能需要在开发者选项中打开 「USB调试(安全设置)」,我没有小米手机未测试。
如果需要恢复Android 无代理状态,需要使用下面的命令,一定要记得执行这条恢复命令,否则手机可能无法联网。
1 | adb shell settings delete global http_proxy |
执行 adb reverse 命令后,可以使用 adb reverse --list 查看连接建立情况:
1 | UsbFfs tcp:7890 tcp:7890 |
不需要使用时,可以使用 adb reverse --remove 移除转发
1 | adb reverse --remove tcp:7890 |
参考 adb 的帮助,执行命令 adb help
1 | reverse --list list all reverse socket connections from device |
PC 使用 Android 手机代理上网的方法
首先在手机上开启 socks5 代理 127.0.0.1:9999, 然后用 USB 数据线连接 Android 手机和 PC,在 PC 中执行下面的命令
1 | adb forward tcp:7890 tcp:9999 |
这样会把 PC 127.0.0.1:7890 转发到手机 127.0.0.1:9999
使用 adb forward --list 查看连接建立情况
1 | 94e22910 tcp:7890 tcp:9999 |
不需要使用时,可以使用 adb forward --remove 移除转发
1 | adb forward --remove tcp:7890 |
参考 adb 的帮助,执行命令 adb help
1 | forward --list list all forward socket connections |
参考资料
[1] 在 ColorOS 上免 root 玩机,请先打开这个开关 - 克莱德 2021.06.08
https://sspai.com/post/67110
[2] 在 Android 手机上的使用 stunnel - zz 2021.2.24
https://www.usmacd.com/cn/android_stunnel/