前言
本身打算拿webtorrent/bittorrent–tracker 来搭建tracker服务器的,结果npm安装完后死活没用,所以还是用回Open Tracker吧
环境
GCC(dnf group install “Development Tools”)
安装
我们需要先安装brew软件管理器,然后通过brew安装libowfat
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install libowfat
也可以通过编译安装libowfat
wget http://www.fefe.de/libowfat/libowfat-0.32.tar.xz tar -xvf libowfat-0.32.tar.xz cd libowfat-0.32 make cd .. mv libowfat-0.32 libowfat
然后将最新的opentracker通过git获取
>git clone git://erdgeist.org/opentracker cd opentracker make
如果出现缺失文件的报错
opentracker.c:25:10: fatal error: XXX.h: No such file or directory
就用
find / -name XXX.h
其实缺失的都在libowfat里面有233,我直接图省事全部都拷贝进来了,你们可以自己拷贝也可以直接无脑用我的:GD 文件库
编译完毕,目录下就会有一个opentracker的可执行文件了
启动
软件自带的帮助:
Usage: ./opentracker [-i ip] [-p port] [-P port] [-r redirect] [-d dir] [-u user] [-A ip] [-f config] [-s livesyncport] -f config include and execute the config file -i ip specify ip to bind to (default: *, you may specify more than one) -p port specify tcp port to bind to (default: 6969, you may specify more than one) -P port specify udp port to bind to (default: 6969, you may specify more than one) -r redirecturlspecify url where / should be redirected to (default none) -d dir specify directory to try to chroot to (default: ".") -u user specify user under whose priviliges opentracker should run (default: "nobody") -A ip bless an ip address as admin address (e.g. to allow syncs from this address) Example: ./opentracker -i 127.0.0.1 -p 6969 -P 6969 -f ./opentracker.conf -i 10.1.1.23 -p 2710 -p 80
官方文档中也提供了配置文件,其实直接用命令也是一样的
./opentracker -i 127.0.0.1 -p 6969 -P 6969
如果需要https,使用nginx反代即可
自启动
本处需要使用到systemd,最近接触了下systemd,真的爽死了
vim /usr/lib/systemd/system/opentracker.service
将以下代码粘贴入内
[Unit] Description=Open Tracker After=network-online.target [Service] Type=simple ExecStart=/root/opentracker/opentracker -i 127.0.0.1 -p 6969 -P 6969 Restart=on-failure [Install] WantedBy=multi-user.target
:wq保存
启用自启
systemctl enable opentracker
启动指令
systemctl start opentracker
停止指令
systemctl stop opentracker
状态查询
systemctl status opentracker
优化
本处参考樱佬的一篇远古文章:https://bbs.itzmx.com/thread-18214-1-1.html
在opentracker根目录编辑trackerlogic.h文件
vim trackerlogic.h
利用vim的查询功能(/)将以下参数进行修改
rackerlogic.h:#define OT_CLIENT_REQUEST_INTERVAL (60*120)#客户端默认间隔请求时间 trackerlogic.h:#define OT_CLIENT_TIMEOUT_SEND (60*30)#客户端最小间隔请求时间,部分客户端的可能不会准守 trackerlogic.h:##define OT_PEER_TIMEOUT 144#服务端删除peer时间,单位分钟 :wq make