在数字时代,信息的自由流通变得尤为重要。wt-tracker主要目的是为 WebTorrent 和 P2P Media Loader 提供一个高效、可靠的跟踪器服务,支持现代网络浏览器的点对点流媒体传输。本文将详细介绍如何使用宝塔面板来部署wt-tracker项目,让这个过程变得更加简单快捷。
介绍
wt-tracker是一个高性能 WebTorrent 跟踪器。WebTorrent 跟踪器是一种基于Web的BitTorrent协议实现,它允许在Web浏览器中直接进行点对点(P2P)文件共享。它使用WebRTC(Web Real-Time Communications)作为传输协议,代替了传统的TCP或UTP。
环境要求
官方仓库说明构建运行需要Node.js 16+,实际我测试了一下,至少需要Node.js 18+才行,推荐使用18+最新稳定版本。
- 服务器:最低1H2G配置
- 系统:最低centos 8+/Debian 11+/Ubuntu 20+
- 面板:宝塔面板
- 安装应用:Linux工具箱、Nginx、Node.js版本管理器、Nginx免费防火墙
Nginx用来快速实现网站反向代理;
Node.js版本管理器用来快速安装指定版本快速构建Node.js环境;
Nginx免费防火墙用来提高网站安全性。
部署教程
安装node.js环境
打开Node.js版本管理器安装Node.js 18+的稳定版本,安装好后按照如下图操作。
之后需要去测试一下环境,打开控制台,输入
node -v
如果输出了版本信息例如 V20.15.1 就代表环境部署成功可以执行之后的步骤了。
拉取项目
打开宝塔终端,输入以下命令拉取最新项目
git clone https://github.com/Novage/wt-tracker.git
拉取成功后会创建一个名为wt-tracker的文件夹,里面就是项目文件。
安装依赖
在wt-tracker目录下打开终端,输入以下命令用来安装依赖项
npm install
此过程有点久,耐心等待一下,安装完成后如果没有输出error的报错信息就可以执行下一步骤了。
构建打包
输入以下代码执行构建。
npm run build
同样如果没有输出error的报错信息就可以执行下一步骤了。
启动项目
在启动项目前,还需要去在项目根目录下创建 config.json 文件,输入项目相关配置信息。
我这边提供一个示例:
{
"servers": [
{
"server": {
"port": 8000,
"host": "0.0.0.0"
},
"websockets": {
"path": "/*",
"maxPayloadLength": 65536,
"idleTimeout": 240,
"compression": 1,
"maxConnections": 0
}
}
],
"tracker": {
"maxOffers": 20,
"announceInterval": 120
},
"websocketsAccess": {
"allowOrigins": [
"https://www.xxx.com",
"https://www.xxx.top",
"https://www.xxx.cc"
],
"denyEmptyOrigin": true
}
}
配置解析
servers:这是一个数组,包含了服务器配置的列表。
server:对象,包含服务器的基本配置。
- port:服务器监听的端口号,这里是 8000。
- host:服务器监听的主机地址,这里是 0.0.0.0,表示服务器将监听所有可用的网络接口。
websockets:对象,包含 WebSocket 连接的配置。
- path:WebSocket 服务的路径,这里是 /*,表示匹配所有路径。
- maxPayloadLength:WebSocket 消息的最大有效载荷长度,这里是 65536 字节。
- idleTimeout:WebSocket 连接的最大空闲时间(秒),这里是 240 秒。
- compression:WebSocket 消息压缩级别,这里是 1,0 = no compression, 1 = shared compressor, 2 = dedicated compressor (see details)。
- maxConnections:允许的最大 WebSocket 连接数,这里是 0,表示没有限制。
tracker:对象,包含 Tracker 服务的配置。
- maxOffers:Tracker 允许的最大 Offer 数量,这里是 20。
- announceInterval:Tracker 通告间隔时间(秒),这里是 120 秒。
websocketsAccess:对象,包含 WebSocket 访问控制的配置。
allowOrigins:允许的来源列表,这里是三个 HTTPS 网站。
- denyEmptyOrigin:布尔值,表示是否拒绝空的来源请求,这里是 true,表示不允许空来源
创建好配置文件后,就可以输入以下命令启动项目了。
npm start config.json
如下图,即代表启动成功,之后再去宝塔面板的 安全-系统防火墙 放行8000端口即可,访问 你的服务器ip:8000/stats.json 就可以查看统计信息了。
可以使用宝塔面板里的一个应用 进程守护管理器 来实现持久化运行。
也可以利用 screen 来实现后台运行,具体可查看文章:linux下screen基本用法
反向代理
为了更方便的使用,不用输入服务器ip,这边推荐使用宝塔面板的反向代理功能,使用域名访问使用项目。
具体步骤
宝塔面板 - 网站 - 反向代理 -添加反向代理
如下图填写即可
添加成功后就可以用域名访问了。
总结
通过以上步骤,你可以轻松地在宝塔面板上部署wt-tracker项目,享受便捷的种子文件管理和下载体验。如果你在部署过程中遇到任何问题,可以参考wt-tracker的官方文档或者评论说出你的问题,我有时间会耐心解答。