准备内容#
能正常用的旧手机一个新手机也行
termux 软件
一个域名freenom 有免费的
一个 cloudflare 账号并且代理域名
termux 安装 Linux#
我演示的手机是安卓 11
安装好之后打开 termux
安装 opensssh#
手机不好操作,所以选择用 ssh,感觉自己可以手机操作的可以不装,或者想安装其它 ssh 的也一样
打开软件以后输入pkg install openssh
这里忘了截图了
安装完后输入passwd
设置密码
然后输入sshd
启动 openssh
输入whoami
获取用户名
输入ifconfig
获取 IP 地址
电脑连接 ssh#
端口是 ssh 服务的端口,openssh 的默认端口是 8022
电脑上用ssh -p 端口 前面获取的用户名@ip地址
连接
安装 Linux#
连上以后输入bash <(curl -L gitee.com/mo2/linux/raw/2/2)
安装 Linux
自己有其它的安装方法也行,如果是其它方法,可以跳过这里
这里选择第一个 proot 容器
可能会再显示选择容器那个界面,具体在哪我没截到,继续选择第一个 proot 容器就行
这里选择第一个 neon
字体这里随便选,按自己喜好来
选第一个
选第一个
这里看你想用哪种 Linux,不过 cloudflare 官方文档只支持几种 Linux
后面随便点点就行了
我建议在这个界面安装一个 vnc,因为后面 cloudflare 有需要浏览器登陆,需要图形界面
安装 web 服务并启动#
自己百度
安装 cloudflared#
如果不知道选哪个,点 cloudflare package repository
根据自己操作系统选择,按照官方文档输入命令 这里忘了截图
登录及创建隧道#
然后打开远程桌面连接
在终端中输入cloudflared tunnel login
会出现一个链接,点击链接登录
登录了以后再在终端点击链接打开,选择自己的那个域名就行
vnc 比较卡,现在回到 ssh 终端,输入cloudflared tunnel create 隧道名
创建隧道,隧道名随便起
然后输入cloudflared tunnel list
看速到是否建立成功,并且复制隧道的 ID 值
绑定域名#
然后输入cloudflared tunnel route dns 隧道名 域名
绑定
隧道名就是刚才创建的隧道,域名就是你自己的域名
写入配置文件#
输入nano ~/.cloudflared/config.yml
写入以下配置
tunnel: <隧道ID>
credentials-file: /root/.cloudflared/<隧道ID>.json
protocol: http2
originRequest:
connectTimeout: 30s
noTLSVerify: false
ingress:
- hostname: <域名>
service: http://localhost:端口
- service: http_status:404
如果想开多个端口可以按下面图片里写
保存后输入
nano /etc/systemd/system/cloudflared.service
写入
[Unit]
Description=cloudflared
After=network.target
[Service]
TimeoutStartSec=0
Type=notify
ExecStart=/usr/bin/cloudflared --loglevel debug --transport-loglevel warn --config /root/.cloudflared/config.yml tunnel run <隧道名称>
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
注意没有换行
保存
启动服务#
输入systemctl enable cloudflared --now
测试是否成功#
打开网站看是否穿透成功
其它#
还支持其它的服务,具体看文档
ssh 访问需要设置本地终端
https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/use_cases/ssh/
ssh 浏览器访问需在 cloudflare 的 zero 面板设置,可以自己看文档,或者我另写一篇帖子
实测 termux 启 web 服务,在 Linux 里也能穿透访问,所以应该不限于软件,手机装个 ksweb 可能也能穿