`

[分享]linux架设BT Tracker服务器小记

 
阅读更多

原链接:www.taoer.com

 

目前开源的Bt tracker项目有:
官方Tracker为 www.bittorrent.com/ 使用python语言

xbtt.sf.net 的c++ tracker
sourceforge.net/cvs/?group_id=94951

windows下的tracker www.bitcomet.com/tracker/index-zh.htm
这个似乎不是开源的说?不用管他,反正也不用windows做服务器。

另外介绍一个论坛:http://www.isohunt.com/forum/

我使用的是 c++ 的xbt tracker
下面我就以这个为例来把我的架设过程描述下。

首先下载BT tracker
在xbt的主页和 sourceforge.net/cvs/?group_id=94951 都有说明使用CVS方式下载源代码

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/xbtt co xbt/misc xbt/XBT\ Tracker
这样你可以下载xbt tracker 和与之相关的源代码

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/xbtt co xbt
这样你可以下载xbt所有的源代码,其中有用的是misc和XBT Tracker目录

执行后,你会得到一个xbt名字的目录,还犹豫什么,cd呗
进入XBT Tracker目录
新建一个名字为 xbt_tracker.conf 的文件
文件格式如下:
数据库名 主机地址 mysql用户名 mysql密码 表名前缀
然后用mysql命令行工具进入你的mysql数据库
/usr/local/mysql/bin/mysql -hlocalhost -uroot -p -P3306 -S/tmp/mysql.3306.sock #根据你不同的mysql配置这里也会不同
#最简单的: mysql -uroot -p

然后 create database tracker; #这里的tracker替换成你的配置文件的数据库名
use tracker;
\. xbt_tracker.sql;
exit;

好了,数据库方便搞完了,接下来要搞tracker了
chmod 0755 make.sh
./make.sh

如果出现了下面的错误:
In file included from ../misc/sql/database.h:13,
from server.h:8,
from connection.cpp:6:
../misc/sql/sql_result.h:16:25: mysql/mysql.h: No such file or directory
In file included from ../misc/sql/database.h:13,
from server.h:8,
from connection.cpp:6:

请执行一下这步操作
cd ../misc
ln -s /usr/local/mysql/include/mysql/ mysql
cd ../XBT\ Tracker/
./make.sh

不出以外的话,就执行成功了

然后在当前目录下你会发现多出一个 xbt_tracker的文件
没错,运行这个文件
./xbt_tracker

如果出现了这个错误:
./xbt_tracker: error while loading shared libraries: libmysqlclient.so.12: cannot open shared object file: No such file or directory

这样来做
cd /usr/lib/
ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.12 libmysqlclient.so.12
cd -
./xbt_tracker
ok运行成功了

注意上面的ln命令要根据你的mysql的配置的路径自行做相应的修改

再次进入你的mysql
use tracker;
SELECT * FROM xbt_tracker;
如果显示为空;
执行下面的sql语句

INSERT INTO xbt_config (name,value) VALUES ('announce_interval', '1800'); INSERT INTO xbt_config (name,value) VALUES ('anonymous_connect', '1'); INSERT INTO xbt_config (name,value) VALUES ('anonymous_announce', '1'); INSERT INTO xbt_config (name,value) VALUES ('anonymous_scrape', '1'); INSERT INTO xbt_config (name,value) VALUES ('auto_register', '1'); INSERT INTO xbt_config (name,value) VALUES ('clean_up_interval', '60'); INSERT INTO xbt_config (name,value) VALUES ('daemon', '1'); INSERT INTO xbt_config (name,value) VALUES ('debug', '0'); INSERT INTO xbt_config (name,value) VALUES ('gzip_announce', '1'); INSERT INTO xbt_config (name,value) VALUES ('gzip_debug', '1'); INSERT INTO xbt_config (name,value) VALUES ('gzip_scrape', '1'); INSERT INTO xbt_config (name,value) VALUES ('listen_check', '0'); INSERT INTO xbt_config (name,value) VALUES ('listen_ipa', '*'); INSERT INTO xbt_config (name,value) VALUES ('listen_port', '2710'); INSERT INTO xbt_config (name,value) VALUES ('log_access', '0'); INSERT INTO xbt_config (name,value) VALUES ('log_announce', '0'); INSERT INTO xbt_config (name,value) VALUES ('log_scrape', '0'); INSERT INTO xbt_config (name,value) VALUES ('pid_file', 'xbt_config.pid'); INSERT INTO xbt_config (name,value) VALUES ('read_config_interval', '300'); INSERT INTO xbt_config (name,value) VALUES ('read_db_interval', '60'); INSERT INTO xbt_config (name,value) VALUES ('redirect_url', ''); INSERT INTO xbt_config (name,value) VALUES ('scrape_interval', '0'); INSERT INTO xbt_config (name,value) VALUES ('table_announce_log', 'xbt_announce_log'); INSERT INTO xbt_config (name,value) VALUES ('table_files', 'xbt_files'); INSERT INTO xbt_config (name,value) VALUES ('table_files_updates', 'xbt_files_updates'); INSERT INTO xbt_config (name,value) VALUES ('table_files_users', 'xbt_files_users'); INSERT INTO xbt_config (name,value) VALUES ('table_ipas', 'xbt_ipas'); INSERT INTO xbt_config (name,value) VALUES ('table_scrape_log', 'xbt_scrape_log'); INSERT INTO xbt_config (name,value) VALUES ('table_users', 'xbt_users'); INSERT INTO xbt_config (name,value) VALUES ('update_files_method', '1'); INSERT INTO xbt_config (name,value) VALUES ('write_db_interval', '60');

–部分参数说明
auto_register
如果自动注册打开,tracker将会追踪任何的torrent,如果关闭,则只追踪 xbt_files 表里面的
insert into xbt_files (info_hash, ctime) values (’<INFO_HASH>‘, null); // insert
update xbt_files set flags = 1 where info_hash = ‘<INFO_HASH>‘; // delete

anonymous_announce
如果anonymous_announce打开,tracker会提供给任何用户服务,如果关闭,tracker只提供给存在于xbt_users中的用户

torrent_pass 字段在xbt_users表中内容是32位长度的字符
announce URL内容看起来像这样的:torrent_pass: /<TORRENT_PASS>/announce

执行后,tracker的配置也就完成了

我不确定重新加载配置用不用重启服务
killall -TERM xbt_tracker
./xbt_tracker

启动后,会在当前的目录产生一个名为xbt_tracker.pid的文件,当服务器停止后,这个文件也会随之消失
通过这个文件,写一个脚本

#!/bin/bash

xbt_tracker_path=”/usr/local/xbt/XBT Tracker”
file_name=”xbt_tracker.pid”

if [ ! -f “$xbt_tracker_path/$file_name” ]; then

echo “Not found pid file $xbt_tracker_path/$file_name”;
echo “Starting xbt tracker server …”;
“$xbt_tracker_path/xbt_tracker”;
fi;

放到crontab表里面来定期执行这个脚本
在tracker down掉的情况下就可以自动的启动了

over this.

分享到:
评论

相关推荐

    BT服务器架设_Linux

    总之,架设BT服务器在Linux环境下并非难事,关键在于合理选择Tracker软件、熟练掌握相关命令及配置、开发高效稳定的发布系统,以及持续的运维优化。通过本文的详细介绍,相信读者已经对在Linux下搭建BT服务器有了...

    国内常用的tracker地址.txt

    tracker服务器架设 BitTorrent Tracker是一个高性能增强型BitTorrent服务器。BitTorrent Tracker同时支持HTTP和UDP的Tracker协议,采用高性能服务器技术, 支持多端口同时监听,数据更新插件。BitTorrent Tracker通过...

    下载工具tracker服务器列表.txt

    tracker服务器是BT下载中必须的角色。一个BTclient在下载开始以及下载进行的过程中,要不停的与tracker服务器进行通信,以报告自己的信息,并获取其它下载client的信息。

    三分钟架设BT服务器.rar

    【BT服务器架设详解】 BT(BitTorrent)是一种流行的P2P(点对点)文件共享协议,用于高效地分发大容量文件。通过搭建BT服务器,你可以创建自己的种子文件,便于分享大型文件,如高清电影、软件安装包或者大型游戏...

    点量高性能Tracker服务器

    点量高性能Tracker服务器是一款专为Windows操作系统设计的高性能BT(BitTorrent)追踪器软件,尤其适合在Windows 2003 Server及以上版本的服务器环境中运行。Tracker服务器在BitTorrent网络中扮演着至关重要的角色,...

    linux bt服务器的搭建和文档介绍

    "linux_BT.txt"这个文件名暗示了它可能是一个关于Linux BT服务器搭建的详细文档,里面可能涵盖了从安装Python环境、配置BitTorrent库、设置Tracker服务器到启动和监控服务器的全过程。在实际操作中,阅读并遵循这样...

    tracker服务器.txt

    tracker服务器地址

    tracker服务器列表

    tracker列表,下载加速常用。

    Linux中快速创建P2P服务器.pdf

    BitTorrent 协议使用分布式哈希表(DHT)来存储文件的索引信息,并使用 tracker 服务器来跟踪文件的分享状态。 三、在 Linux 平台上创建 P2P 服务器 要在 Linux 平台上创建 P2P 服务器,需要安装 BitTorrent ...

    trackers每日自动更新地址(包括镜像地址)

    用于BT下载的trackers 包括最佳,全部,UDP,http,https等分类

    aria2自动更新bt下载的bt-trackers的脚本,亲测可用

    aria2自动更新bt下载的bt-trackers的脚本,trackers的列表来自于23k 星 的XIU2/TrackersListCollection库。可以放在cron里定时更新: 在Linux系统中使用Cron 打开终端。 输入 crontab -e 来编辑cron作业。 添加下面...

    基于Linux的BT下载软件开发.pdf

    【基于Linux的BT下载软件开发】是一个针对Linux操作系统进行的软件开发项目,旨在设计和实现一个利用BT(BitTorrent)协议进行文件下载的工具。BT下载软件的主要特点是通过多点对多点的数据交换,实现高效的文件共享...

    linux下BT下载的源代码

    2. Tracker服务器:Tracker是协调BT下载的关键组件,它维护着参与下载的客户端(称为“对等节点”或“peer”)列表。当一个新的客户端加入时,Tracker会返回当前可用的对等节点列表,帮助它们建立连接。 3. 对等...

    BitCometTracker_0.5

    BitCometTracker_0.5是一款专为Windows操作系统设计的Tracker服务器软件,它主要用于支持P2P(peer-to-peer)网络中的文件分享,尤其是BitTorrent协议。Tracker服务器在BitTorrent网络中扮演着至关重要的角色,它...

    Linux下BT客户端的设计.pdf

    在Linux环境下设计一个BT(BitTorrent)客户端涉及到多个关键模块,这些模块共同协作实现...通过这些模块的协同工作,Linux下的BT客户端能够在复杂的网络环境中实现高效的文件分享,满足用户对快速、稳定下载的需求。

    自动获取tracker文件并转换为Aria2可用格式

    Tracker文件通常包含这些Tracker服务器的地址,通过它们,Aria2能够获得必要的信息来连接到其他下载者,提高下载速度和稳定性。 要自动获取tracker文件,首先需要找到提供这些信息的源。常见的方法是从公开的...

    BT服务器搭建BT服务器搭建.doc

    搭建BT服务器,也称为BitTorrent服务器,是一种技术过程,它涉及到使用特定的软件来创建和管理一个能够分享大型文件的网络平台。在这个实验中,我们使用了MYBT3.0和BitComet_1.25.12.8这两个工具。 MYBT3.0是由一鹤...

    xbt_tracker

    "xbt_tracker"是一个基于VC++编写的Tracker服务器源代码,它是BitTorrent协议的一个关键组成部分。BitTorrent是一种点对点(P2P)文件分享协议,用于高效地分发大容量数据,如软件、视频和音乐。Tracker服务器在其中...

Global site tag (gtag.js) - Google Analytics