建议应用商店添加CloudFlare Tunnel应用

CloudFlare Tunnel 是CloudFlare免费提供的内网穿透服务。

Tunnel可以做什么

  • 将本地网络的服务暴露到公网,可以理解为内网穿透。 例如我们在本地服务器 192.168.1.1:3000 搭建了一个 Transmission 服务用于 BT 下载,我们只能在内网环境才能访问这个服务,但通过内网穿透技术,我们可以在任何广域网环境下访问该服务。相比 NPS 之类传统穿透服务,Tunnel 不需要公网云服务器,同时自带域名解析,无需 DDNS 和公网 IP。
  • 将非常规端口服务转发到 80/443 常规端口。 无论是使用公网 IP + DDNS 还是传统内网穿透服务,都免不了使用非常规端口进行访问,如果某些服务使用了复杂的重定向可能会导致 URL 中端口号丢失而引起不可控的问题,同时也不够优雅。
  • 自动为你的域名提供 HTTPS 认证。
  • 为你的服务提供额外保护认证。
  • 最重要的是——免费。

Tunnel 工作原理

Tunnel 通过在本地网络运行的一个 Cloudflare 守护程序,与 Cloudflare 云端通信,将云端请求数据转发到本地网络的 IP + 端口。

希望1Panel能够添加对此功能的支持,这只是一项建议,不论大佬们是否采纳我都由衷的感谢各位大佬的辛苦付出!

感谢反馈。
目前还有几个问题:
1、上述应用是否开源。
2、官方是否有提供容器化部署方案。

CloudFlare Tunnel未开源,但官方有容器化部署方案

这是cloudflared的开源地址https://github.com/cloudflare/cloudflared/
其中包含CloudFlare Tunnel程序。

官方页面Tunnel | Zero Trust 应用连接器
可以在官方页面找到相应文档

希望能够帮助到你。

我个人是支持上架应用的

不过对于无公网ip的“挂机宝”产品(NAT服务器),只有先通过CloudFlare Tunnel内网穿透后,才能使用1panel面板。
“挂机宝”产品用户,我个人不建议使用容器化部署,而是使用官方的安装脚本,此外,官方提供的脚本可以远程管理隧道,更为方便。

以CentOS系统为例
1 安装cloudflared

curl -L --output cloudflared.rpm https://cors.isteed.cc/github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm && sudo yum localinstall -y cloudflared.rpm 

2 配置cloudflared自启动
2.1 复制 cloudflared.servicecloudflared-update.servicecloudflared-update.timer 到目录 /etc/systemd/system

cloudflared.service

[Unit]
Description=cloudflared
After=network.target

[Service]
TimeoutStartSec=0
Type=notify
ExecStart=/usr/bin/cloudflared --no-autoupdate tunnel run --token 【Your_Tunnel_Token】
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

cloudflared-update.service

[Unit]
Description=Update cloudflared
After=network.target

[Service]
ExecStart=/bin/bash -c '/usr/bin/cloudflared update; code=$?; if [ $code -eq 11 ]; then systemctl restart cloudflared; exit 0; fi; exit $code'

cloudflared-update.timer

[Unit]
Description=Update cloudflared

[Timer]
OnCalendar=daily

[Install]
WantedBy=timers.target

2.2 配置自启动
依次执行

systemctl daemon-reload
systemctl enable cloudflared.service
systemctl start cloudflared.service
systemctl status cloudflared.service


出现框中两项即为启动并成功设置开机自启动

3 更新Cloudflared
请执行这条命令,即可一键自动更新并重启服务

curl -L --output cloudflared.rpm https://cors.isteed.cc/github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm && sudo yum localinstall -y cloudflared.rpm && systemctl restart cloudflared.service

自动更新命令可以添加到 1panel 的终端快速命令里

效果:



最后一行是由于隧道重启,1panel面板暂时断开连接

是这个吗

是的,这对于没有公网的自建服务器站长来说应该是一项有力的工具