科学工具数据中转NodePass中转
背锅的侠NodePass 是一款开源、轻量的企业级 TCP/UDP 网络隧道解决方案,采用多合一架构设计,通过控制通道与数据通道分离,实现灵活、高性能的实例管控。支持零配置文件部署,内置智能连接池、分级 TLS 加密和无缝协议转换。专为 DevOps 工程师和系统管理员打造,助力轻松应对复杂网络场景。
💎 核心功能
- 🌐 通用网络隧道
- 基础 TCP/UDP 隧道,具备协议转换能力,适配多种网络结构。
- 完整适配端口映射、内网穿透、流量中转等多场景应用需求。
- 多平台、多架构支持,支持独立二进制文件、容器灵活部署。
- 🚀 内置连接池
- 提供 TCP、QUIC、WebSocket、HTTP/2 多种池化传输方式。
- 消除连接的握手等待,通过 0-RTT 支持显著提升性能体验。
- 支持实时容量自适应,动态调整连接池规模。
- 🧬 创新架构设计
- Server-Client-Master 多模式整合架构设计,灵活切换。
- 将 S/C 控制通道与数据通道完全解耦,相互独立、各司其职。
- 主控-实例的管理方式,支持动态扩容、多实例协作和集中控制。
- 🔐 多级安全策略
- 三种 TLS 模式:明文、自签名、严格验证,适配不同安全等级。
- 满足从开发测试到企业级高安全部署的全场景需求。
- 支持证书文件的热重载,免停运、无缝处理证书更新问题。
- ⚙️ 极简配置方式
- 无需配置文件,仅命令行参数即可运行,适合自动化和快速迭代。
- 适配 CI/CD 流程与容器环境,极大提升部署和运维效率。
- 支持超时、限速等高级参数调优,灵活适应不同运行环境。
- 📈 高性能优化
- 智能流量调度与自动连接调优,极低资源占用。
- 高并发、高负载状态下卓越的系统稳定性能。
- 负载均衡、健康检查、故障自愈,确保持续高可用。
- 💡 可视化管理
- 配套跨平台、多样化的管理前端应用,具备可视化配置能力。
- 主流平台支持一键部署脚本,支撑灵活配置和辅助管理。
- 具备实时隧道监控、实例管理、主控管理、流量统计等丰富功能。
安装指南
本指南提供了使用不同方法安装 NodePass 的详细说明。选择最适合您环境和需求的安装方式。
系统要求
- Go 1.25或更高版本(从源代码构建时需要)
- 服务器和客户端端点之间的网络连接
- 绑定1024以下端口可能需要管理员权限
安装方法
方式1:预编译二进制文件
开始使用 NodePass 的最简单方法是为您的平台下载预编译的二进制文件。
- 访问 GitHub 上的发布页面
- 下载适合您操作系统的二进制文件(Windows、macOS、Linux)
- 如有必要,解压缩档案
- 使二进制文件可执行(Linux/macOS):
- 将二进制文件移动到PATH中的位置:
- Linux/macOS:
sudo mv nodepass /usr/local/bin/
- Windows:将位置添加到PATH环境变量
方式2:使用Go安装
如果您的系统上已安装Go,可以使用go install命令:
1
| go install github.com/yosebyte/nodepass/cmd/nodepass@latest
|
此命令下载源代码,编译它,并将二进制文件安装到您的Go bin目录中(通常是$GOPATH/bin)。
方式3:从源代码构建
对于最新的开发版本或自定义构建:
1 2 3 4 5 6 7 8 9 10 11
| git clone https://github.com/yosebyte/nodepass.git
cd nodepass
go build -o nodepass ./cmd/nodepass
go install ./cmd/nodepass
|
方式4:使用容器镜像
NodePass在GitHub容器注册表中提供容器镜像,非常适合容器化环境:
1 2 3 4 5 6 7 8 9 10 11 12 13
| docker pull ghcr.io/yosebyte/nodepass:latest
docker run -d --name nodepass-server -p 10101:10101 -p 8080:8080 \ ghcr.io/yosebyte/nodepass server://0.0.0.0:10101/0.0.0.0:8080
docker run -d --name nodepass-client \ -e NP_MIN_POOL_INTERVAL=200ms \ -e NP_SEMAPHORE_LIMIT=512 \ -p 8080:8080 \ ghcr.io/yosebyte/nodepass "client://nodepass-server:10101/127.0.0.1:8080?min=32&max=512"
|
方式5:使用管理脚本(仅限Linux)
对于Linux系统,我们提供了一键脚本:
1
| bash <(curl -sSL https://run.nodepass.eu/np.sh)
|
验证安装
安装后,通过检查版本来验证NodePass是否正确安装:
下一步
安装NodePass后,您可以:
使用到的指令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #查宿主机的内网IP
docker inspect nodepassdash | awk -F'"' '/"Gateway"/ {ip=$4} END {print ip}'
#下载 NodePass 并解压
wget -qO - https://github.com/yosebyte/nodepass/releases/download/v1.14.1/nodepass_1.14.1_linux_amd64.tar.gz | tar xzv nodepass
#复制到sing-box容器里
docker cp nodepass sing-box:/
#查看容器文件
docker exec -it sing-box ls /
#宿主机上运行容器里的nodepass:
docker exec -it sing-box /nodepass "client://[服务端IP]:[服务端端口]/127.0.0.1:[本地服务端口]"
|
nodepass脚本安装
- np.sh: 一键部署 NodePass 主程序,提供高性能 TCP/UDP 隧道服务,支持多系统和灵活配置
- dash.sh: 一键部署 NodePassDash 控制面板,简化隧道管理和监控,支持容器化和 HTTPS 配置。
- 正式版: v1.14.1
- 开发版: v1.14.1-b1
- 经典版: v1.10.3
一键部署 NodePass 主程序
1 2 3 4 5
| bash <(wget -qO- https://raw.githubusercontent.com/yuanzhou029/sh/refs/heads/main/nodepass/np.sh)
#或
bash <(curl -sSL https://raw.githubusercontent.com/yuanzhou029/sh/refs/heads/main/nodepass/np.sh)
|
跟随提示操作,依次填写以下信息:
一键部署 NodePassDash 控制面板
1 2 3 4 5
| bash <(wget -qO- https://raw.githubusercontent.com/yuanzhou029/sh/refs/heads/main/nodepass/dash.sh) install
#或
bash <(curl -sSL https://raw.githubusercontent.com/yuanzhou029/sh/refs/heads/main/nodepass/dash.sh) install
|
支持 Debian、Ubuntu、CentOS
支持 Docker 和 Podman 部署容器
自动配置反向代理(支持 HTTPS)
挂载目录:
| 主机路径 |
容器内路径 |
用途 |
~/nodepassdash/logs |
/app/logs |
日志文件 |
~/nodepassdash/db |
/app/db |
数据库 |
卸载 NodePassDash 控制面板:
1 2 3 4 5
| bash <(wget -qO- https://raw.githubusercontent.com/yuanzhou029/sh/refs/heads/main/nodepass/dash.sh) update
#或
bash <(curl -sSL https://raw.githubusercontent.com/yuanzhou029/sh/refs/heads/main/nodepass/dash.sh) update
|
重置密码
1 2 3 4 5
| bash <(wget -qO- https://raw.githubusercontent.com/yuanzhou029/sh/refs/heads/main/nodepass/dash.sh) resetpwd
#或
bash <(curl -sSL https://raw.githubusercontent.com/yuanzhou029/sh/refs/heads/main/nodepass/dash.sh) resetpwd
|
更新 NodePassDash 容器:
1 2 3 4 5
| bash <(wget -qO- https://raw.githubusercontent.com/yuanzhou029/sh/refs/heads/main/nodepass/dash.sh) update
#或
bash <(curl -sSL https://raw.githubusercontent.com/yuanzhou029/sh/refs/heads/main/nodepass/dash.sh) update
|
👉 NodePass GitHub Issues