Skip to content

dogchild/node-ws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-ws:平台友好型 Node.js 服务

node-ws 是一个轻量级的、自包含的 Node.js 应用程序,旨在创建 VLESS-WebSocket 服务。它完全在 Node.js 运行时内部实现协议,无需下载或运行任何外部进程(如 Xray),也无需依赖任何 Web 框架(如 Koa)

此设计使得本项目资源消耗极低,并能在有严格进程限制的托管平台(如共享主机、PaaS、Serverless 等)上完美运行。

该项目依赖于标准的 Cloudflare CDN 代理(“小黄云”)来处理 TLS 加密和保护源服务器。


工作原理

本应用的架构极其简洁高效:

  1. Cloudflare 代理: 您通过 Cloudflare DNS 将一个域名或子域名(例如 sub.yourdomain.com)指向您的服务器 IP 地址,并确保代理状态设置为“已代理”(橙色云朵图标)。
  2. Node.js 服务器: 应用程序启动一个原生的 Node.js http 服务器,在单个端口(PORT)上同时监听标准的 HTTP 和 WebSocket 流量。
  3. 协议处理: 当一个 WebSocket 连接请求到达您配置的路径 (WS_PATH) 时,Node.js 服务器会:
    • 验证客户端身份。
    • 解析 VLESS 协议,获取客户端想要访问的目标地址。
    • 与目标地址建立一个标准的 TCP 连接。
    • 在客户端和目标地址之间双向转发数据流。
  4. 订阅链接: 服务器还提供一个简单的 HTTP 路径(/{S_PATH}),为客户端提供 Base64 编码的订阅链接。

这种纯软件的实现方式确保了最佳的兼容性和最低的资源占用。

部署指南

前提条件

  • 一个域名。
  • 一个 Cloudflare 账户。
  • 一个支持 Node.js 的托管平台。

步骤

  1. 配置 Cloudflare:

    • 在您的 Cloudflare 账户中,为您的域名添加一个 A 记录,指向您服务器的 IP 地址。
    • 确保该记录的“代理状态 (Proxy status)”设置为“已代理 (Proxied)”(橙色云朵图标)。
  2. 上传文件:

    • index.jspackage.json 这两个文件上传到您网站的根目录(例如 public_html, wwwroot 等)。
  3. 部署应用:

    • 在您主机的控制面板中,找到“Setup Node.js App”或类似的选项。
    • 创建一个新的 Node.js 应用,并确保应用根目录指向您上传文件的位置。
    • 通过平台的 npm install 功能安装依赖。
    • 在应用设置中,配置下文提到的环境变量
    • 启动应用。应用启动后,订阅链接会直接打印在控制台日志中。

📋 环境变量

变量名 是否必须 默认值 说明
PORT 3005 平台分配给应用的公开端口。通常由平台自动设置。
MY_DOMAIN - 必须设置。 您在 Cloudflare 上配置并指向服务器的域名。
UID (预设值) 服务的用户 ID。
WS_PATH /vld WebSocket 使用的路径。
S_PATH (UID的值) 订阅链接的访问路径。
CIP cf.877774.xyz (可选) 用于生成订阅链接的优选IP/域名。
CPORT 443 对应 CIP 的端口。
NAME Vls 订阅链接中节点的名称前缀。
FILE_PATH ./tmp 用于存放生成的订阅文件的临时目录。

🌐 订阅地址

  • 通过应用日志直接获取,或访问 https://<MY_DOMAIN>/{S_PATH}

注意: S_PATH 默认为 UID 的值。


📚 更多信息


免责声明

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages