Giter Site home page Giter Site logo

fscarmen2 / argo-x-container-paas Goto Github PK

View Code? Open in Web Editor NEW
174.0 174.0 299.0 104.19 MB

为容器平台而生---平台部署方式为镜像或者 Dockerfile 方式的专用

Dockerfile 2.16% Shell 74.91% JavaScript 22.92%
argo chatgpt cloudflare container docker doprax expressjs koyeb paas render v2ray xray

argo-x-container-paas's Introduction

Xray + Argo for Container PaaS

在没有公网的平台挖啊挖啊挖,Argo打通各式服务连接千万家。
---平台部署方式为镜像或者 Dockerfile 方式的专用


目录


项目特点:

  • 适用于通过 dockerhub 上已有的镜像或 Dockerfile 来建实例的平台
  • 在平台上部署 Xray,采用的方案为 Argo + Xray + WebSocket + TLS
  • 解锁 ChatGPT
  • 在浏览器查看系统各项信息,方便直观
  • 使用 CloudFlare 的 Argo 隧道,使用TLS加密通信,可以将应用程序流量安全地传输到Cloudflare网络,提高了应用程序的安全性和可靠性。此外,Argo Tunnel也可以防止IP泄露和DDoS攻击等网络威胁。
  • 回落分流,同时支持 Xray 4 种主流协议: vless / vmess / trojan / shadowsocks
  • 集成哪吒探针,可以自由选择是否安装,支持 SSL/TLS 模式,适配 Nezha over Argo 项目: https://github.com/fscarmen2/Argo-Nezha-Service-Container
  • 前端 js 定时和 pm2 配合保活,务求让恢复时间减到最小
  • 节点信息以 V2rayN / Clash / 小火箭 链接方式输出
  • Xray 文件重新编译官方文件增加隐秘性,修改了运行时的显示信息,文件为: https://github.com/XTLS/Xray-core/blob/main/core/core.go
  • 可以使用浏览器使用 webssh 和 webftp,更方便管理系统

image

部署:

镜像 fscarmen/argo-x:latest

PaaS 平台用到的变量:

  • PaaS 平台设置的环境变量

    变量名 是否必须 默认值 备注
    UUID de04add9-5c68-8bab-950c-08cd5320df18 可在线生成 https://www.zxgj.cn/g/uuid
    WSPATH argo 勿以 / 开头,各协议路径为 /WSPATH-协议,如 /argo-vless,/argo-vmess,/argo-trojan,/argo-shadowsocks
    NEZHA_SERVER 哪吒探针与面板服务端数据通信的IP或域名
    NEZHA_PORT 哪吒探针服务端的端口
    NEZHA_KEY 哪吒探针客户端专用 Key
    NEZHA_TLS 哪吒探针是否启用 SSL/TLS 加密 ,如不启用不要该变量,如要启用填"1"
    ARGO_AUTH Argo 的 Token 或者 json 值
    ARGO_DOMAIN Argo 的域名,须与 ARGO_DOMAIN 必需一起填了才能生效
    WEB_USERNAME admin 网页和 webssh 的用户名
    WEB_PASSWORD password 网页和 webssh 的密码
    SSH_DOMAIN webssh 的域名,用户名和密码就是 <WEB_USERNAME> 和 <WEB_PASSWORD>
    FTP_DOMAIN webftp 的域名,用户名和密码就是 <WEB_USERNAME> 和 <WEB_PASSWORD>
  • 路径(path)

    命令 说明
    /list 查看节点数据
    /status 查看后台进程
    /listen 查看后台监听端口
    /test 测试是否为只读系统
  • GitHub Actions 用到的变量

    变量名 备注
    DOCKER_USERNAME Dockerhub 用户名
    DOCKER_PASSWORD Dockerhub 密码
    DOCKER_REPO Dockerhub 库名

Argo Json 的获取

用户可以通过 Cloudflare Json 生成网轻松获取: https://fscarmen.cloudflare.now.cc

image

如想手动,可以参考,以 Debian 为例,需要用到的命令,Deron Cheng - CloudFlare Argo Tunnel 试用

Argo Token 的获取

详细教程: 群晖套件:Cloudflare Tunnel 内网穿透中文教程 支持DSM6、7

image

image

image

在 Koyeb 部署重点

这里只作重点的展示,更详细可以参考项目: https://github.com/fscarmen2/V2-for-Koyeb

Deploy to Koyeb

image

image

image

在 Doprax 部署重点

这里只作重点的展示,更详细可以参考项目: https://github.com/fscarmen2/V2-for-Doprax

image

image

ttyd webssh / filebrowser webftp 的部署

  • 原理
+---------+     argo     +---------+     http     +--------+    ssh    +-----------+
| browser | <==========> | CF edge | <==========> |  ttyd  | <=======> | ssh server|
+---------+     argo     +---------+   websocket  +--------+    ssh    +-----------+

+---------+     argo     +---------+     http     +--------------+    ftp    +-----------+
| browser | <==========> | CF edge | <==========> | filebrowser  | <=======> | ftp server|
+---------+     argo     +---------+   websocket  +--------------+    ftp    +-----------+

  • 使用 Json 方式建的隧道

image

image

image

image

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

免责声明:

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

argo-x-container-paas's People

Contributors

fscarmen2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

argo-x-container-paas's Issues

koyeb上部署以后argo通道没有取得

readme里的koyeb部分的导出节点数据截图里,可以看到伪装域名部分都可以看到argo的地址,但是我在第一次部署这个的时候伪装域名部分就只显示ARGO DOMAIN字样,看到昨天更新以后,我又重新部署了一次,依然是一样的结果,下面是我的节点信息,只是更改了UUID,其它部分没动

  • {name: Argo-Vless, type: vless, server: icook.hk, port: 443, uuid: 隐藏, tls: true, servername: Argo domain, skip-cert-verify: false, network: ws, ws-opts: {path: /argo-vless?ed=2048, headers: { Host: Argo domain}}, udp: true}
    可以看到servername和Host都只显示Argo domain,并没有显示readme里类似的multiple-lo-replies-formula.trycloudflare.com这样的域名。
    虽然我把我的koyeb的二级域名写到这部分也可以使用节点,但是我还是想问一下,这个应该是有问题的吧?

web进程为什么起不来呢?使用的是zeabur

获取守护进程和系统进程表:
┌────┬─────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼─────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 1 │ argo │ default │ N/A │ fork │ 79 │ 45s │ 0 │ online │ 0% │ 34.9mb │ root │ disabled │
│ 0 │ web │ default │ N/A │ fork │ 0 │ 0 │ 15 │ errored │ 0% │ 0b │ root │ disabled │
└────┴─────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
UID PID PPID C STIME TTY TIME CMD
root 1 0 8 09:43 ? 00:00:04 node server.js
root 64 1 1 09:43 ? 00:00:00 PM2 v5.3.0: God Daemon (/root/.pm2)
root 79 64 0 09:43 ? 00:00:00 /usr/local/bin/cloudflared tunnel --edge-ip-version auto --config tunnel.yml run
root 210 1 0 09:43 ? 00:00:00 /bin/sh -c pm2 list; ps -ef
root 221 210 0 09:43 ? 00:00:00 ps -ef

有节点信息出来,但是真链接-1,

koyeb平台,成功,Healthy,而且加/list有有节点信息出来,但是真链接-1,
加优选IP或者改80端口加优选ip,结果都是-1。
探针面板没有显示跳动,
请教问题出在哪里呢?

为什么生成的节点只有小火箭能用啊😂……

平台:Koyeb
镜像:docker.io/fscarmen/argo-x
Argo隧道获取途径:https://fscarmen.cloudflare.now.cc/
Koyeb暴露端口:3000,协议是HTTP

现象:

  1. 哪吒探针正常;
  2. 小火箭导入vless/vmess/trojan/ss全部正常连接,icook.hk或www.digitalocean.com全部正常连接。手机流量/家庭宽带全部正常连接;
  3. 但是软路由上的Passwall2和win11上的V2rayN全都不能连接,已确认每个参数都没错误

目前猜测可能的原因是passwall2和v2rayN都是用官方的xray-core1.8.3运行的,而小火箭是自己的内核,目前也找不出小火箭内核有什么独到之处😭

求大神指明排查方向,这也太匪夷所思了

请问下大家 有哪些比较好的平台?

koyeb注册需要信用卡
back4app没有免费的了
railway点了一个github登录,就说我多账户,被ban了,发邮件也不管用

最后我注册了一大堆,只有patr和codesandbox注册成功了

Koyeb貌似已屏蔽vmess协议

经过多个网络环境测试,分别使用了iOS端的小火箭、win端的v2rayN和openwrt上的passwall2,
vless、trojan、shadowsocks协议均能正常使用,vmess始终不通。
之前都用的好好的,这是最近才出现的问题,期间服务端和客户端的配置都没变过。
猜测可能是koyeb已能够精准检测vmess并屏蔽之,不然说不通为什么其他协议还能用

可以考虑增加http/2的支持

有paas平台已经开始提供http/2的支持
有http/2的paas
koyeb、doprax
暂时只找到这些
与grpc结合可以被中转

fallbacks回落多个路径一时只能生效一个吗?

我在浏览器上先打开哪个路径那个路径就会生效,显示bad request,余下路径都会打不开。
但是换个IP,又是先打开哪个路径那个路径就会生效,显示bad request,余下路径都会打不开。

不支持patr了吗

我用这个Argo-Xray-PaaS可以正常使用,但Argo-X-Container-PaaS这个就不行了

目前的这个版本,是不是有个bug?会时不时掉线。

具体详细是:
我在patr,rander和codesandbox都部署过
我在rander部署的是这个版本,在patr部署的是之前的旧版本,codesandbox部署的是Argo-Xray-JS-PaaS
在rander和patr部署的貌似会几个小时后就掉线,都没有使用哪吒,但是用Argo-Xray-JS-PaaS部署的就没有问题
是不是因为Argo-Xray-JS-PaaS里面的server.js里面的代码有:
//Argo保活
function keep_argo_alive() {
exec("pgrep -laf cloudflared", function (err, stdout, stderr) {
// 1.查后台系统进程,保持唤醒
if (stdout.includes("./cloudflared tunnel --url http://localhost:8080 --no-autoupdate")) {
console.log("Argo 正在运行");
}
else {
//Argo 未运行,命令行调起
exec(
"bash argo.sh 2>&1 &", function (err, stdout, stderr) {
if (err) {
console.log("保活-调起Argo-命令行执行错误:" + err);
}
else {
console.log("保活-调起Argo-命令行执行成功!");
}
}
);
}
});
}
setInterval(keep_argo_alive, 30 * 1000);
这是log截图,下午1点进了一下网站:
image
是不是因为Argo-X-Container-PaaS没有Argo保活?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.