前置条件

使用ngrok给宿舍的pc做一个内网穿透
利用Let’s Encrypt 泛域名证书实现全站SSL

手机安装Termux终端

可以去termux-app下载apk包,自身科技水平高一点的话直接去GooglePlay安装。

环境搭建

step 1.获取文件读取权限

termux-setup-storage

step 2.安装python

pkg install python

step 3.下载ngrok的python客户端

github:https://github.com/hauntek/python-ngrok
打开python-ngrok.py文件,建议电脑按以下格式修改配置,然后移动到手机根目录。

host = '****.com' # Ngrok服务器地址
port = 8080 # Ngrok服务端口
bufsize = 1024 # 吞吐量

dualstack = 'IPv4/IPv6' # 服务连接协议 [IPv4/IPv6=双栈]
dualstack_or = 0 # 本地转发协议 [0=双栈, 1=IPv4, 2=IPv6]

Tunnels = list() # 全局渠道赋值
# 以下只是配置一个,因为泛域名的话有多个端口可以自己加
body = dict()
body['protocol'] = 'https'
body['hostname'] = ''
body['subdomain'] = 'termux' #子域名就是访问termux.host(termux.****.com)的效果
body['rport'] = 0
body['lhost'] = 'localhost' #当然也可以是同一个路由网关下允许访问的其他主机前提是你的安卓可以访问它这个服务端口
body['lport'] = 7777 #端口
Tunnels.append(body) # 加入渠道队列

# body = dict()
# body['protocol'] = 'http'
# body['hostname'] = ''
# body['subdomain'] = 'termux'
# body['rport'] = 0
# body['lhost'] = '127.0.0.1'
# body['lport'] = 80
# Tunnels.append(body) # 加入渠道队列
#
# body = dict()
# body['protocol'] = 'tcp'
# body['hostname'] = ''
# body['subdomain'] = ''
# body['rport'] = 55499
# body['lhost'] = '127.0.0.1'
# body['lport'] = 22
# Tunnels.append(body) # 加入渠道队列

step 4.运行脚本

python /storage/emulated/0/python-ngrok.py

此时 你访问termux.****.com即可看到你本地环境部署的服务。
d8dd27efec6528abbcff57eb76af22e6

补充

要开启单线程异步协程 pip install gevent失败问题解决

apt install libtool binutils -y

Q.E.D.


味无味处求吾乐,材不材间过此生。