1715819 / Argo-Nezha-Service-Container

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Argo-Nezha-Service-Container

Nezha server over Argo tunnel 使用 Argo 隧道的哪吒服务端


目录


项目特点:

优点:

  • 适用范围更广 --- 只要能连通网络,就能安装哪吒服务端,如 Nas 虚拟机 , Container PaaS 等
  • Argo 隧道突破需要公网入口的限制 --- 传统的哪吒需要有两个,一个用于面板的访问,另一个用于客户端上报数据,本项目借用 Cloudflare Argo 隧道,使用内网穿透的办法
  • IPv4 / v6 具备更高的灵活性 --- 传统哪吒需要处理服务端和客户端的 IPv4/v6 兼容性问题,还需要通过 warp 等工具来解决不对应的情况。然而,本项目可以完全不需要考虑这些问题,可以任意对接,更加方便和简便。
  • 一条 Argo 隧道分流多个域名和协议 --- 建立一条内网穿透的 Argo 隧道,即可分流三个域名(hostname)和协议(protocal),分别用于面板的访问(http),客户端上报数据(tcp)和 ssh(可选)
  • 数据更安全 --- Argo 隧道使用TLS加密通信,可以将应用程序流量安全地传输到 Cloudflare 网络,提高了应用程序的安全性和可靠性。此外,Argo Tunnel也可以防止IP泄露和DDoS攻击等网络威胁。

缺点:

  • 服务端和客户端均需要多安装依赖 --- Argo 隧道的两端均需要安装 Cloudflared 用于接入服务,所以如果客服端有公网入口的话,优先使用官方原版
  • 暂时只支持 amd64 架构 --- 受限于官方 Cloudflared cloudflared,暂时只支持 amd64,后续将支持更多的架构

准备需要用的变量

image

  • 到 Cloudflare 官方,在相应的域名 DNS 记录里加上客户端上报数据(tcp)和 ssh(可选)的域名

image

image

面板域名加上 https:// 开头,回调地址再加上 /oauth2/callback 结尾

image

image

PaaS 部署实例

镜像 fscarmen/argo-nezha:latest

用到的变量

变量名 是否必须 备注
ADMIN github 的用户名,用于面板管理授权
CLIENTID 在 github 上申请
CLIENTSECRET 在 github 上申请
ARGO_JSON https://fscarmen.cloudflare.now.cc 获取的 Argo Json
DATA_DOMAIN 客户端与服务端的通信 argo 域名
WEB_DOMAIN 面板 argo 域名
SSH_DOMAIN ssh 用的 argo 域名
SSH_PASSWORD ssh 的密码,只有在设置 SSH_JSON 后才生效,默认值 password

1.Koyeb

image

image

image

image

image

VPS 部署实例

docker run -dit \
           --name nezha_dashboard \
           --restart always \
           -e ADMIN=<填 github 用户名> \
           -e CLIENTID=<填获取的>  \
           -e CLIENTSECRET=<填获取的> \
           -e ARGO_JSON=<填获取的> \
           -e WEB_DOMAIN=<填自定义的> \
           -e DATA_DOMAIN=<填自定义的> \
           -e SSH_DOMAIN=<填自定义的> \
           -e SSH_PASSWORD=<填自定义的> \
           fscarmen/argo-nezha

客户端接入

wget -O cloudflared https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 && chmod +x cloudflared
./cloudflared access tcp --hostname <DATA_DOMAIN,即是数据传输的域名> --listener 127.0.0.1:5555 >/dev/null 2>&1 &
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && ./nezha.sh install_agent 127.0.0.1 5555 <nezha_key>

鸣谢下列作者的文章和项目:

免责声明:

  • 本程序仅供学习了解, 非盈利目的,请于下载后 24 小时内删除, 不得用作任何商业用途, 文字、数据及图片均有所属版权, 如转载须注明来源。
  • 使用本程序必循遵守部署免责声明。使用本程序必循遵守部署服务器所在地、所在国家和用户所在国家的法律法规, 程序作者不对使用者任何不当行为负责。

About


Languages

Language:Shell 86.5%Language:Dockerfile 13.5%