之前已经实现了在安卓上搭建内网可访问的的linux服务器,但如果局限于内网访问当然是不够的,并且由于DHCP的缘故内网ip也一直在变(当然可以设置静态,不过不方便),更好的便是通过frp来实现内网的环境"穿透"到外网,通过访问域名的形式即可访问本地。
frp服务端的搭建可以参考https://github.com/fatedier/frp,这里只说下利用现有frp工具来实现内网穿透。
原理
准备
- Cpolar
- 搭建好的本地环境
网上的工具繁多,我们这里首选cpoalr,免去了写入配置这一环,如果有公网ip,可以略过这文章,直接去撸路由器了。
尝试
由于手机是高通骁龙410处理器,官网选择linux(ARM)安装包下载到根目录(由于手机设置,下载时只能选择手机内存或者内存卡,导致后来一切不顺利)
ssh连接服务器
找到目录并解压
然后根据官网文档来配置
./cpolar authtoken YOUR_AUTHTOKEN
这时控制台提示权限不够,即是使用chmod
也没有效果
查阅过后发现是/sdcard
目录下一些文件无法修改权限,无论是通过命令还是RE文件管理器,一些手机允许将文件下载到/mnt
目录下,即可进行上述操作。
解决
好在cpolar有一个隧道转发功能,可以转发到内网其他机器上面
言外之意,我们可以通过一台有执行权限的平台来转发其他内网机器,在windows同样进行上述操作(需要在文件目录执行,命令稍有变化)
当看到生成一个cpolar.yml
文件时,即表示顺利进行
按文档输入转发命令,内网ip及端口号视自己而定
cpolar http 192.168.1.1:8080
回车看到online即表明"穿透"成功,外网输入代理域名即可访问本地服务器
访问
有瑕疵的是:其一,http访问延迟较高甚至响应超时,以https访问速度较快,可能是frp服务端或者端口问题;其二,对于多端口任务的环境,可以尝试多开程序测试。
Comments | NOTHING