written on Monday, July 12, 2021
4G 代理的原理就是在手机上创建一个可以做流量转发的服务,然后将此服务通过 adb forward 转发到中转服务器上,那么之后就可以使用 frp 将流量转到云厂商服务器上,或者直接在本地进行使用,关键程序的开发是使用 python 实现的,那么想要在手机上运行 python 代理反而成为 了我们目前遇到的最大问题,那么下面我们就来解决这个问题,然后 python 程序可以优雅的在 android 设备上运行。
调研一圈以后发现 tmux 可以在手机上直接跑 python 程序,并且 python3-python2 都是支持的,但是当我们使用的时候又发现了一个问题,就是 python 只能在 termux 终端里面使用,是无法在 adb shell 中调用的,这里我们首先要处理的就是将 termux 中的 python 包迁移到 adb shell 中使用。
经过一圈的调研以后终于找到了完美的解决办法,那就是将 termux 中的 python 可执行文件移动到 /system/xbin/ 目录下即可, 这样我们在 adb shell 中直接输入 python 就可以愉快的玩耍了,在配置之前请确保手机可以 root,remount 下面开始操作
# 1. 初始化环境
$ adb root
$ adb remount
# 2. 手机安装 termux,在 termux 中安装 python3
$ pkg install python
# 3. 移动目录文件
$ cd /data/data/com.termux/files/usr/bin
$ ls | grep python
# 4. 输出内容
sailfish:/data/data/com.termux/files/usr/bin # ls | grep python
python
python-config
python3
python3-config
python3.9
python3.9-config
sailfish:/data/data/com.termux/files/usr/bin #
# 5. 这里测试此 Python 是否是我们想要的,得到的答案当然是
$ ./python
Python 3.9.6 (default, Jun 30 2021, 09:17:59)
[Clang 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489 on linux
# 6. 移动 python 可执行文件到 /system/xbin/ 下
$ cp /data/data/com.termux/files/usr/bin/python /system/xbin/
# 7. 然后回到根目录下执行 python 试试是不是成功了
$ python
Python 3.9.6 (default, Jun 30 2021, 09:17:59)
[Clang 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489 on linux