TEST12138

TEST12138

长路漫漫,唯心作伴。

闲置旧手机搭建web服务,并用cloudflaerd内网穿透,可域名访问

准备内容#

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

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 可能也能穿

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。