nodejs-argo 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +186 -45
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,53 +1,194 @@
1
- ## 赞助
2
- * 感谢[VTEXS](https://console.vtexs.com/?affid=1548)提供赞助优质双isp vps。
1
+ # nodejs-argo隧道代理
2
+
3
+ [![npm version](https://img.shields.io/npm/v/nodejs-argo.svg)](https://www.npmjs.com/package/nodejs-argo)
4
+ [![npm downloads](https://img.shields.io/npm/dm/nodejs-argo.svg)](https://www.npmjs.com/package/nodejs-argo)
5
+ [![License](https://img.shields.io/npm/l/nodejs-argo.svg)](https://github.com/eooce/nodejs-argo/blob/main/LICENSE)
6
+
7
+ nodejs-argo是一个强大的Argo隧道部署工具,专为PaaS平台和游戏玩具平台设计。它支持多种代理协议(VLESS、VMess、Trojan等),并集成了哪吒探针功能。
8
+
9
+ ## 说明 (部署前请仔细阅读完)
3
10
 
4
- # 说明 (部署前请仔细阅读完)
5
11
  * 本项目是针对node环境的paas平台和游戏玩具而生,采用Argo隧道部署节点,集成哪吒探针v0或v1可选。
6
12
  * node玩具平台只需上传index.js和package.json即可,paas平台需要docker部署的才上传Dockerfile。
7
- * 如需是链接github部署,请先删除README.md说明文件。
8
13
  * 不填写ARGO_DOMAIN和ARGO_AUTH两个变量即启用临时隧道,反之则使用固定隧道。
9
- * 若遇到已获取到临时隧道但节点不通,说明域名被墙,重启即可
10
- * 无需设置NEZHA_TLS,当哪吒端口为{443,8443,2096,2087,2083,2053}其中之一时,自动开启--tls。
11
- * 右边的Releases中已适配FreeBSD,自行下载,类似的平台Serv00,CT8
12
-
13
- * PaaS 平台设置的环境变量,index.js中的1至12行中设置
14
- | 变量名 | 是否必须 | 默认值 | 备注 |
15
- | ------------ | ------ | ------ | ------ |
16
- | UPLOAD_URL | 否 | 填写部署Merge-sub项目后的首页地址 |订阅上传地址,例如:https://merge.serv00.net|
17
- | PROJECT_URL | 否 | https://www.google.com |项目分配的域名|
18
- | AUTO_ACCESS | 否 | flase |flase关闭自动访问保活,true开启,需同时填写PROJECT_URL变量|
19
- | PORT | 否 | 3000 |http服务监听端口,也是订阅端口 |
20
- | ARGO_PORT | 否 | 8001 |argo隧道端口,固定隧道token需和cloudflare后台设置的一致|
21
- | UUID | 否 | 89c13786-25aa-4520-b2e7-12cd60fb5202|UUID,使用哪吒v1在不同的平台部署需要修改|
22
- | NEZHA_SERVER | 否 | | 哪吒面板域名,v1:nz.aaa.com:8008 v0: nz.aaa.com |
23
- | NEZHA_PORT | 否 | | 哪吒v1没有此项,哪吒v0端口为{443,8443,2096,2087,2083,2053}其中之一时,开启tls|
24
- | NEZHA_KEY | 否 | | 哪吒v1 或v0 密钥 |
25
- | ARGO_DOMAIN | 否 | | argo固定隧道域名 |
26
- | ARGO_AUTH | 否 | | argo固定隧道json或token |
27
- | CFIP | 否 |skk.moe | 节点优选域名或ip |
28
- | CFPORT | 否 | 443 |节点端口 |
29
- | NAME | 否 | Vls | 节点名称前缀,例如:Koyeb Fly |
30
- | FILE_PATH | 否 | tmp | 运行目录,节点存放路径 |
31
- | SUB_PATH | 否 | sub | 节点订阅路径 |
32
-
33
- # 节点输出
34
- * 输出sub.txt节点文件,默认存放路径为tmp
35
- * 订阅:分配的域名/${SUB_PATH};例如https://www.google.com/${SUB_PATH}
36
- * 非标端口订阅(游戏类):分配的域名:端口/${SUB_PATH},前缀是http,例如http://www.google.com:1234/${SUB_PATH}
37
-
38
- # 其他
39
- * 本项目已添加自动访问保活功能,仅支持不重启停机的平台,需在第2行中添加项目分配的域名。建议配合外部自动访问保活,保活项目地址:https://github.com/eooce/Auto-keep-online
40
- * Replit,Codesanbox,Glitch,Render,koyeb,Fly,Northfrank,back4app,Alwaysdate,Zeabur,Doprax及数十个游戏玩具平台均已测试ok。
41
- * Render及其他比较严格的容器平台,请使用docker image部署,Dockerfile地址:https://github.com/eooce/nodejs-argo-image
42
-
43
- # vps一键部署命令
44
- * 3000端口改为可用的的开放端口,母鸡可忽略,对应哪吒变量也可更改,不需要哪吒可忽略
45
- * 其他变量可自行添加在哪吒变量后面,参考上方变量表,例如固定隧道等,每个变量之间有一个空格
46
- * 订阅:ip:端口/sub
47
- ```
48
- apt-get update && apt-get install -y curl nodejs npm screen && curl -O https://raw.githubusercontent.com/eooce/nodejs-argo/main/index.js && curl -O https://raw.githubusercontent.com/eooce/nodejs-argo/main/package.json && npm install && chmod +x index.js && NAME=Vls PORT=3000 NEZHA_SERVER=nz.abcd.cn NEZHA_PORT=5555 NEZHA_KEY=12345678 screen node index.js
14
+ * 哪吒v0/v1可选,当哪吒端口为{443,8443,2096,2087,2083,2053}其中之一时,自动开启tls。
15
+
16
+
17
+ ## 📋 环境变量说明
18
+
19
+ | 变量名 | 是否必须 | 默认值 | 说明 |
20
+ |--------|----------|--------|------|
21
+ | UPLOAD_URL | 否 | - | 订阅上传地址 |
22
+ | PROJECT_URL | 否 | https://www.google.com | 项目分配的域名 |
23
+ | AUTO_ACCESS | 否 | false | 是否开启自动访问保活 |
24
+ | PORT | 否 | 3000 | HTTP服务监听端口 |
25
+ | ARGO_PORT | 否 | 8001 | Argo隧道端口 |
26
+ | UUID | 否 | 89c13786-25aa-4520-b2e7-12cd60fb5202 | 用户UUID |
27
+ | NEZHA_SERVER | 否 | - | 哪吒面板域名 |
28
+ | NEZHA_PORT | 否 | - | 哪吒端口 |
29
+ | NEZHA_KEY | 否 | - | 哪吒密钥 |
30
+ | ARGO_DOMAIN | 否 | - | Argo固定隧道域名 |
31
+ | ARGO_AUTH | 否 | - | Argo固定隧道密钥 |
32
+ | CFIP | 否 | www.visa.com.tw | 节点优选域名或IP |
33
+ | CFPORT | 否 | 443 | 节点端口 |
34
+ | NAME | 否 | Vls | 节点名称前缀 |
35
+ | FILE_PATH | 否 | ./tmp | 运行目录 |
36
+ | SUB_PATH | 否 | sub | 订阅路径 |
37
+
38
+ ## 🌐 订阅地址
39
+
40
+ - 标准端口:`https://your-domain.com/sub`
41
+ - 非标端口:`http://your-domain.com:port/sub`
42
+
43
+ ---
44
+
45
+ ## 🚀 进阶使用
46
+
47
+ ### 安装
48
+
49
+ ```bash
50
+ # 全局安装(推荐)
51
+ npm install -g nodejs-argo
52
+
53
+ # 或者使用yarn
54
+ yarn global add nodejs-argo
55
+
56
+ # 或者使用pnpm
57
+ pnpm add -g nodejs-argo
49
58
  ```
50
-
59
+
60
+ ### 基本使用
61
+
62
+ ```bash
63
+ # 直接运行(使用默认配置)
64
+ nodejs-argo
65
+
66
+ # 使用npx运行
67
+ npx nodejs-argo
68
+
69
+ # 设置环境变量运行
70
+ PORT=3000 npx nodejs-argo
71
+ ```
72
+
73
+ ### 环境变量配置
74
+
75
+ 可使用 `.env` 文件来配置环境变量运行
76
+
77
+
78
+ 或者直接在命令行中设置:
79
+
80
+ ```bash
81
+ export UPLOAD_URL="https://your-merge-sub-domain.com"
82
+ export PROJECT_URL="https://your-project-domain.com"
83
+ export PORT=3000
84
+ export UUID="your-uuid-here"
85
+ export NEZHA_SERVER="nz.your-domain.com:8008"
86
+ export NEZHA_KEY="your-nezha-key"
87
+ ```
88
+
89
+ ## 📦 作为npm模块使用
90
+
91
+ ```javascript
92
+ // CommonJS
93
+ const nodejsArgo = require('nodejs-argo');
94
+
95
+ // ES6 Modules
96
+ import nodejsArgo from 'nodejs-argo';
97
+
98
+ // 启动服务
99
+ nodejsArgo.start();
100
+ ```
101
+
102
+ ## 🔧 后台运行
103
+
104
+ ### 使用screen(推荐)
105
+ ```bash
106
+ # 创建screen会话
107
+ screen -S argo
108
+
109
+ # 运行应用
110
+ nodejs-argo
111
+
112
+ # 按 Ctrl+A 然后按 D 分离会话
113
+ # 重新连接:screen -r argo
114
+ ```
115
+
116
+ ### 使用tmux
117
+ ```bash
118
+ # 创建tmux会话
119
+ tmux new-session -d -s argo
120
+
121
+ # 运行应用
122
+ tmux send-keys -t argo "nodejs-argo" Enter
123
+
124
+ # 分离会话:tmux detach -s argo
125
+ # 重新连接:tmux attach -t argo
126
+ ```
127
+
128
+ ### 使用PM2
129
+ ```bash
130
+ # 安装PM2
131
+ npm install -g pm2
132
+
133
+ # 启动应用
134
+ pm2 start nodejs-argo --name "argo-service"
135
+
136
+ # 管理应用
137
+ pm2 status
138
+ pm2 logs argo-service
139
+ pm2 restart argo-service
140
+ ```
141
+
142
+ ### 使用systemd(Linux系统服务)
143
+ ```bash
144
+ # 创建服务文件
145
+ sudo nano /etc/systemd/system/nodejs-argo.service
146
+
147
+ ```
148
+ [Unit]
149
+ Description=Node.js Argo Service
150
+ After=network.target
151
+
152
+ [Service]
153
+ Type=simple
154
+ User=root
155
+ WorkingDirectory=/root/test
156
+ Environment=ARGO_PORT=8080
157
+ Environment=PORT=3000
158
+ ExecStart=/usr/bin/npx nodejs-argo
159
+ Restart=always
160
+ RestartSec=10
161
+
162
+ [Install]
163
+ WantedBy=multi-user.target
164
+ ```
165
+
166
+ # 启动服务
167
+ sudo systemctl start nodejs-argo
168
+ sudo systemctl enable nodejs-argo
169
+ ```
170
+
171
+ ## 🔄 更新
172
+
173
+ ```bash
174
+ # 更新全局安装的包
175
+ npm update -g nodejs-argo
176
+
177
+ # 或者重新安装
178
+ npm uninstall -g nodejs-argo
179
+ npm install -g nodejs-argo
180
+ ```
181
+
182
+ ## 📚 更多信息
183
+
184
+ - [GitHub仓库](https://github.com/eooce/nodejs-argo)
185
+ - [npm包页面](https://www.npmjs.com/package/nodejs-argo)
186
+ - [问题反馈](https://github.com/eooce/nodejs-argo/issues)
187
+
188
+ ---
189
+
190
+ ## 赞助
191
+ * 感谢[ZMTO](https://zmto.com/?affid=1548)提供赞助优质双isp vps。
51
192
 
52
193
  # 免责声明
53
194
  * 本程序仅供学习了解, 非盈利目的,请于下载后 24 小时内删除, 不得用作任何商业用途, 文字、数据及图片均有所属版权, 如转载须注明来源。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodejs-argo",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Node.js Argo tunnel deployment tool for PaaS platforms and gaming toys",
5
5
  "main": "index.js",
6
6
  "keywords": [