diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 5011777664..90ca47e53d 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -39,7 +39,7 @@ jobs: push: true platforms: linux/amd64,linux/arm64 tags: | - ghcr.io/${{ github.repository_owner }}/nodejs:latest + ghcr.io/${{ github.repository_owner }}/feng:0312 labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} org.opencontainers.image.description=HTTP Server diff --git a/README.md b/README.md deleted file mode 100644 index 866cc04531..0000000000 --- a/README.md +++ /dev/null @@ -1,203 +0,0 @@ -
-

- - nodejs-argo隧道代理 -

- nodejs-argo是一个强大的Argo隧道部署工具,专为PaaS平台和游戏玩具平台设计。它支持多种代理协议(VLESS、VMess、Trojan等),并集成了哪吒探针功能。 - ---- - -Telegram交流反馈群组:https://t.me/eooceu -
- -## 郑重声明 -* 本项目自2025年10月29日15时45分起,已更改开源协议,并包含以下特定要求 -* 此项目仅限个人使用,禁止用于商业行为(包括但不限于:youtube,bilibili,tiktok,facebook..等等) -* 禁止新建项目将代码复制到自己仓库中用做商业行为 -* 请遵守当地法律法规,禁止滥用做公共代理行为 -* 如有违反以上条款者将追究法律责任 - -## 说明 (部署前请仔细阅读) - -* 本项目是针对node环境的paas平台和游戏玩具而生,采用Argo隧道部署节点,集成哪吒探针v0或v1可选。 -* node玩具平台只需上传index.js和package.json即可,paas平台需要docker部署的才上传Dockerfile。 -* 不填写ARGO_DOMAIN和ARGO_AUTH两个变量即启用临时隧道,反之则使用固定隧道。 -* 哪吒v0/v1可选,当哪吒端口为{443,8443,2096,2087,2083,2053}其中之一时,自动开启tls。 - -## 📋 环境变量 - -| 变量名 | 是否必须 | 默认值 | 说明 | -|--------|----------|--------|------| -| UPLOAD_URL | 否 | - | 订阅上传地址 | -| PROJECT_URL | 否 | https://www.google.com | 项目分配的域名 | -| AUTO_ACCESS | 否 | false | 是否开启自动访问保活 | -| PORT | 否 | 3000 | HTTP服务监听端口 | -| ARGO_PORT | 否 | 8001 | Argo隧道端口 | -| UUID | 否 | 89c13786-25aa-4520-b2e7-12cd60fb5202 | 用户UUID | -| NEZHA_SERVER | 否 | - | 哪吒面板域名 | -| NEZHA_PORT | 否 | - | 哪吒端口 | -| NEZHA_KEY | 否 | - | 哪吒密钥 | -| ARGO_DOMAIN | 否 | - | Argo固定隧道域名 | -| ARGO_AUTH | 否 | - | Argo固定隧道密钥 | -| CFIP | 否 | www.visa.com.tw | 节点优选域名或IP | -| CFPORT | 否 | 443 | 节点端口 | -| NAME | 否 | Vls | 节点名称前缀 | -| FILE_PATH | 否 | ./tmp | 运行目录 | -| SUB_PATH | 否 | sub | 订阅路径 | - -## 🌐 订阅地址 - -- 标准端口:`https://your-domain.com/sub` -- 非标端口:`http://your-domain.com:port/sub` - ---- - -## 🚀 进阶使用 - -### 安装 - -```bash -# 全局安装(推荐) -npm install -g nodejs-argo - -# 或者使用yarn -yarn global add nodejs-argo - -# 或者使用pnpm -pnpm add -g nodejs-argo -``` - -### 基本使用 - -```bash -# 直接运行(使用默认配置) -nodejs-argo - -# 使用npx运行 -npx nodejs-argo - -# 设置环境变量运行 - PORT=3000 npx nodejs-argo -``` - -### 环境变量配置 - -可使用 `.env` 文件来配置环境变量运行 - - -或者直接在命令行中设置: - -```bash -export UPLOAD_URL="https://your-merge-sub-domain.com" -export PROJECT_URL="https://your-project-domain.com" -export PORT=3000 -export UUID="your-uuid-here" -export NEZHA_SERVER="nz.your-domain.com:8008" -export NEZHA_KEY="your-nezha-key" -``` - -## 📦 作为npm模块使用 - -```javascript -// CommonJS -const nodejsArgo = require('nodejs-argo'); - -// ES6 Modules -import nodejsArgo from 'nodejs-argo'; - -// 启动服务 -nodejsArgo.start(); -``` - -## 🔧 后台运行 - -### 使用screen(推荐) -```bash -# 创建screen会话 -screen -S argo - -# 运行应用 -nodejs-argo - -# 按 Ctrl+A 然后按 D 分离会话 -# 重新连接:screen -r argo -``` - -### 使用tmux -```bash -# 创建tmux会话 -tmux new-session -d -s argo - -# 运行应用 -tmux send-keys -t argo "nodejs-argo" Enter - -# 分离会话:tmux detach -s argo -# 重新连接:tmux attach -t argo -``` - -### 使用PM2 -```bash -# 安装PM2 -npm install -g pm2 - -# 启动应用 -pm2 start nodejs-argo --name "argo-service" - -# 管理应用 -pm2 status -pm2 logs argo-service -pm2 restart argo-service -``` - -### 使用systemd(Linux系统服务) -```bash -# 创建服务文件 -sudo nano /etc/systemd/system/nodejs-argo.service - -``` -[Unit] -Description=Node.js Argo Service -After=network.target - -[Service] -Type=simple -User=root -WorkingDirectory=/root/test -Environment=ARGO_PORT=8080 -Environment=PORT=3000 -ExecStart=/usr/bin/npx nodejs-argo -Restart=always -RestartSec=10 - -[Install] -WantedBy=multi-user.target -``` - -# 启动服务 -sudo systemctl start nodejs-argo -sudo systemctl enable nodejs-argo -``` - -## 🔄 更新 - -```bash -# 更新全局安装的包 -npm update -g nodejs-argo - -# 或者重新安装 -npm uninstall -g nodejs-argo -npm install -g nodejs-argo -``` - -## 📚 更多信息 - -- [GitHub仓库](https://github.com/eooce/nodejs-argo) -- [npm包页面](https://www.npmjs.com/package/nodejs-argo) -- [问题反馈](https://github.com/eooce/nodejs-argo/issues) - ---- - -## 赞助 -* 感谢[VPS.Town](https://vps.town)提供赞助 https://vps.town - -* 感谢[ZMTO](https://zmto.com/?affid=1548)提供赞助优质双isp vps。 diff --git a/index.js b/index.js index e4acef8f91..32fd0b1a00 100644 --- a/index.js +++ b/index.js @@ -13,16 +13,16 @@ const AUTO_ACCESS = process.env.AUTO_ACCESS || false; // false关闭自动保活 const FILE_PATH = process.env.FILE_PATH || '.tmp'; // 运行目录,sub节点文件保存目录 const SUB_PATH = process.env.SUB_PATH || 'sub'; // 订阅路径 const PORT = process.env.SERVER_PORT || process.env.PORT || 3000; // http服务订阅端口 -const UUID = process.env.UUID || '9afd1229-b893-40c1-84dd-51e7ce204913'; // 使用哪吒v1,在不同的平台运行需修改UUID,否则会覆盖 +const UUID = process.env.UUID || '99ab894a-3d8a-488c-91e5-c4b6e4e24400'; // 使用哪吒v1,在不同的平台运行需修改UUID,否则会覆盖 const NEZHA_SERVER = process.env.NEZHA_SERVER || ''; // 哪吒v1填写形式: nz.abc.com:8008 哪吒v0填写形式:nz.abc.com const NEZHA_PORT = process.env.NEZHA_PORT || ''; // 使用哪吒v1请留空,哪吒v0需填写 const NEZHA_KEY = process.env.NEZHA_KEY || ''; // 哪吒v1的NZ_CLIENT_SECRET或哪吒v0的agent密钥 -const ARGO_DOMAIN = process.env.ARGO_DOMAIN || ''; // 固定隧道域名,留空即启用临时隧道 -const ARGO_AUTH = process.env.ARGO_AUTH || ''; // 固定隧道密钥json或token,留空即启用临时隧道,json获取地址:https://json.zone.id -const ARGO_PORT = process.env.ARGO_PORT || 8001; // 固定隧道端口,使用token需在cloudflare后台设置和这里一致 -const CFIP = process.env.CFIP || 'saas.sin.fan'; // 节点优选域名或优选ip -const CFPORT = process.env.CFPORT || 443; // 节点优选域名或优选ip对应的端口 -const NAME = process.env.NAME || ''; // 节点名称 +const ARGO_DOMAIN = process.env.ARGO_DOMAIN || 'cfcdn.viu.com.fengwhuut.dpdns.org'; // 固定隧道域名,留空即启用临时隧道 +const ARGO_AUTH = process.env.ARGO_AUTH || 'eyJhIjoiNThiZGFiODc1M2Q1ZTA4N2E5MGEyOTMxODdiZDVmNDkiLCJ0IjoiMWViYTVkMDItNTgxMi00ZTYzLTgyNjUtZjhjZjA0NjY3NGE0IiwicyI6IllqY3dZMkk0TWprdE56QXpPUzAwT0RNNExXRTFZek10T0dSa01USTBaV000TkRFMiJ9'; // 固定隧道密钥json或token,留空即启用临时隧道,json获取地址:https://json.zone.id +const ARGO_PORT = process.env.ARGO_PORT || 8080; // 固定隧道端口,使用token需在cloudflare后台设置和这里一致 +const CFIP = process.env.CFIP || '104.16.160.145'; // 节点优选域名或优选ip +const CFPORT = process.env.CFPORT || 80; // 节点优选域名或优选ip对应的端口 +const NAME = process.env.NAME || 'feng'; // 节点名称 // 创建运行文件夹 if (!fs.existsSync(FILE_PATH)) {