在数字时代,信息的自由流通变得尤为重要。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免费防火墙

Linux工具箱用来设置服务器虚拟内存,提高服务器稳定性;
Nginx用来快速实现网站反向代理;
Node.js版本管理器用来快速安装指定版本快速构建Node.js环境;
Nginx免费防火墙用来提高网站安全性。

服务器系统不要选择centos 7,不然Node.js版本管理器中无法安装18以及以上版本的Node.js,会提示操作系统版本过低,该Node版本不兼容此操作系统。

部署教程

安装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 访问控制的配置。

创建好配置文件后,就可以输入以下命令启动项目了。

npm start config.json

如下图,即代表启动成功,之后再去宝塔面板的 安全-系统防火墙 放行8000端口即可,访问 你的服务器ip:8000/stats.json 就可以查看统计信息了。

如图显示即成功

这样启动后,如果关闭终端,项目就会被关闭中断,所以还需要持久运行。

可以使用宝塔面板里的一个应用 进程守护管理器 来实现持久化运行。

也可以利用 screen 来实现后台运行,具体可查看文章:linux下screen基本用法

反向代理

为了更方便的使用,不用输入服务器ip,这边推荐使用宝塔面板的反向代理功能,使用域名访问使用项目。

具体步骤

宝塔面板 - 网站 - 反向代理 -添加反向代理

如下图填写即可

添加反向代理示例

添加成功后就可以用域名访问了。

总结

通过以上步骤,你可以轻松地在宝塔面板上部署wt-tracker项目,享受便捷的种子文件管理和下载体验。如果你在部署过程中遇到任何问题,可以参考wt-tracker的官方文档或者评论说出你的问题,我有时间会耐心解答。

最后修改:2024 年 08 月 21 日
如果觉得我的文章对你有用,请随意赞赏