自建Chihaya Tracker服务器

上回说到bittorrent-tracker项目性能较低,于是便换为chihaya项目,Github地址如下:

该Tracker使用GOLang编写,实测在日请求量400W+的情况下,CPU占用不超过5%。

基本组件与GO环境安装

首先安装一些基本组件(已经安装的可以跳过)

sudo apt-get install wget curl vim git -y

然后下载一个预构建好的GO环境:

wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz
sudo tar -xzvf go1.14.2.linux-amd64.tar.gz -C /usr/bin

打开账户配置文件,把GO的PATH写到账户配置文件下:

# 切换到root用户
sudo -i

# 打开账户配置文件
vim ~/.bash_profile

# 将下行内容写到该配置文件中
export PATH=$PATH:/usr/bin/go/bin

# 使其生效
source ~/.bash_profile

拉取Chihaya并构建

首先从github拉取Chihaya仓库

# SSH方式
git clone [email protected]:chihaya/chihaya.git

# HTTPS方式
git clone https://github.com/chihaya/chihaya.git

然后进入仓库内,开始构建

cd chihaya
go build ./cmd/chihaya

构建完成后仓库内会出现一个名为chihaya的可执行二进制文件,将其复制到/usr/bin:

cp chihaya /usr/bin
chmod +x /usr/bin/chihaya

执行如下命令,可以检查Chihaya是否正常:

chihaya --help

下载配置文件,并保存到/etc中。

sudo wget https://raw.githubusercontent.com/chihaya/chihaya/master/dist/example_config.yaml -O /etc/chihaya.yaml

打开并根据需要编辑其中的配置选项,相关配置都有英文说明。

sudo vim /etc/chihaya.yaml

创建Systemd启动项

# 新建systemd配置文件,将以下代码一起复制到SSH运行
sudo cat > /lib/systemd/system/chihaya.service <<EOF
[Unit]
Description=chihaya tracker server
    
[Service]
User=root
ExecStart=/usr/bin/chihaya --config /etc/chihaya.yaml
Restart=on-abort
LimitCORE=infinity
LimitNOFILE=infinity
LimitNPROC=infinity
    
[Install]
WantedBy=multi-user.target
EOF
# 以上为命令的全部内容
# 设置开机启动
sudo systemctl enable chihaya
# 启动服务
sudo systemctl start chihaya
# 查看服务状态
sudo systemctl status chihaya
# 停止服务
sudo systemctl stop chihaya
# 重启服务
sudo systemctl restart chihaya

启动之后chihaya便会根据配置文件监听相应的http和udp端口(默认6969),此时Tracker服务器地址如下:
http://你的服务器公网IP:6969/announce
udp://你的服务器公网IP:6969/announce

至于反向代理和CloudFlare接入,方法参照上一篇文章,不过接入Cloudfare时不需要筛选IP了,Chihaya的配置文件里有一个选项可以指定使用CF的连接IP。

real_ip_header: "CF-Connecting-IP"

Chihaya具有丰富的配置文件,同时还支持Redis,这里就不展开讲了。

本组Tracker地址为:

https://tracker.tamersunion.org/announce

点赞
  1. HHH说道:
    Google Chrome Windows 10

    剧毒

  2. Hanada说道:
    Google Chrome Windows 10

    What are you talking about. I don't understand?

发表评论

电子邮件地址不会被公开。必填项已用 * 标注