旧手机搭建 web 服务

准备内容

能正常用的旧手机一个新手机也行

termux软件

一个域名freenom有免费的

一个cloudflare账号并且代理域名

termux安装Linux

我演示的手机是安卓11

Screenshot_20221215-153446_设置.pngScreenshot_20221215-153437_Android_系统.pngScreenshot_20211217-021318_Pixel_启动器.png

安装好之后打开termux

Screenshot_20211217-021336_Termux.png

安装opensssh

手机不好操作,所以选择用ssh,感觉自己可以手机操作的可以不装,或者想安装其它ssh的也一样

打开软件以后输入pkg install openssh这里忘了截图了

安装完后输入passwd设置密码

然后输入sshd启动openssh

输入whoami获取用户名

Screenshot_20221214-150646_Termux.png

输入ifconfig获取IP地址

电脑连接ssh

端口是ssh服务的端口,openssh的默认端口是8022

电脑上用ssh -p 端口 前面获取的用户名@ip地址连接

微信图片_20221215161630.png

安装Linux

连上以后输入bash <(curl -L gitee.com/mo2/linux/raw/2/2)安装Linux

自己有其它的安装方法也行,如果是其它方法,可以跳过这里

微信图片_20221215161848.png

这里选择第一个proot容器

可能会再显示选择容器那个界面,具体在哪我没截到,继续选择第一个proot容器就行

微信图片_20221215161953.png

这里选择第一个neon

微信图片_20221215162139.png

字体这里随便选,按自己喜好来

微信图片_20221215162316.png

选第一个

微信图片_20221215162347.png

选第一个

微信图片_20221215162408.png

这里看你想用哪种Linux,不过cloudflare官方文档只支持几种Linux

微信图片_20221215162431.png

微信图片_20221215162639.png

后面随便点点就行了

我建议在这个界面安装一个vnc,因为后面cloudflare有需要浏览器登陆,需要图形界面

微信图片_20221215163052.png

微信图片_20221215163108.png

微信图片_20221215163134.png

安装web服务并启动

自己百度

安装cloudflared

进入https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation/根据自己的操作系统选择

微信图片_20221215163512.png

如果不知道选哪个,点cloudflare package repository

微信图片_20221215162639.png

根据自己操作系统选择,按照官方文档输入命令 这里忘了截图

登录及创建隧道

然后打开远程桌面连接

微信图片_20221215163959.png

在终端中输入cloudflared tunnel login

微信图片_20221215164040.png

会出现一个链接,点击链接登录

微信图片_20221215164244.png

微信图片_20221215164255.png

登录了以后再在终端点击链接打开,选择自己的那个域名就行

vnc比较卡,现在回到ssh终端,输入cloudflared tunnel create 隧道名创建隧道,隧道名随便起微信图片_20221215164726.png

然后输入cloudflared tunnel list看速到是否建立成功,并且复制隧道的ID值

绑定域名

然后输入cloudflared tunnel route dns 隧道名 域名绑定

隧道名就是刚才创建的隧道,域名就是你自己的域名

微信图片_20221215165309.png

写入配置文件

输入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

如果想开多个端口可以按下面图片里写

微信图片_20221215165808.png

保存后输入

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

微信图片_20221215170228.png

注意没有换行

保存

启动服务

输入systemctl enable cloudflared --now

微信图片_20221215170328.png

测试是否成功

打开网站看是否穿透成功

微信图片_20221215170332.png

其它

还支持其它的服务,具体看文档

https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/local/local-management/ingress/

c657d87d50a86bfd998e5b6cdacdb45.png

ssh访问需要设置本地终端

https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/use_cases/ssh/

微信图片_20221215171444.png

ssh浏览器访问需在cloudflare的zero面板设置,可以自己看文档,或者我另写一篇帖子

实测termux启web服务,在Linux里也能穿透访问,所以应该不限于软件,手机装个ksweb可能也能穿

写在最后

有人可能觉得复杂,用web服务软件和穿透软件也可以实现,我觉得装个Linux自己没事跑个其它服务也能用,web或者其它服务之间配置也比较灵活,再说了,都是用旧手机配置了,不就是为了折腾吗。

3 打赏
打赏 100 积分后可见