BitTorrent Tracker 搭建及使用

  • (Linux)安装xbt-Tracker
    • 安装相应的库
    • 下载源码安装
    • 安装MySql
    • xbt-tracker配置
    • xbt-Tracker服务启停
  • (Linux)安装BitTorrent客户端Transmission
    • yum repo下载
    • 安装transmission-deamon
    • Transmission服务启停
    • Transmission配置
  • 制作种子并发布
    • transmission-create制作种子
    • 添加种子
    • 发布种子

(Linux)安装xbt-Tracker

Xbt-Tracker is a High-Performance BitTorrent Tracker。

安装相应的库

yum install boost-devel cmake gcc-c++ mysql-devel git

下载源码安装

git clone https://github.com/poiuty/xbt.git
cd xbt/Tracker
./make.sh
cp xbt_tracker.conf.default xbt_tracker.conf

安装MySql

数据库安装的步骤省略…
安装完后,我们需导入xbt-tracker默认sql

 mysql –u xbt -pmy_password xbt < xbt_tracker.sql

 或source 源码目录/xbt/Tracker/ xbt_tracker.sql

xbt-tracker配置

xbt-traceker配置保存在数据库xbt_config表中,我们可根据需要修改该表中字段的值。

插入以下配置

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

配置字段说明:

名称 默认值 描述
auto_register 0(禁用) 如果启用,它将使种子就跟踪自动注册。
announce_interval 1800(30分钟) 默认宣布间隔(以秒为单位),将里面的torrent文件。
anonymous_connect 1(启用) 如果启用,将允许任何人(匿名)来访问跟踪。
anonymous_announce 1(启用) 如果启用,将允许任何人(匿名)公布的跟踪。
anonymous_scrape 1(启用 如果启用,将允许任何人(匿名),以刮的跟踪。
clean_up_interval 60(1分钟) (以秒),默认的间隔清理那些标记删除种子。
daemon 1(启用) 如果启用该服务器将作为守护进程运行(在后台)
debug 0(禁用) 如果启用该服务器也将在调试模式下运行(去http://tracker:port/debug看到调试信息)。
full_scrape 0(禁用) 如果启用该服务器将成为全刮到客户端。
gzip_announce 1(启用)
gzip_debug 1(启用) 如果启用该服务器将gzip压缩(压缩)的调试页面。
gzip_scrape 1(启用) 如果启用该服务器将gzip压缩(压缩)刮页。
listen_check 0
listen_ipa * 为的XBT跟踪IP地址。
listen_port 2710 端口
log_access 0(禁用) 如果启用该服务器将创建一个与所有访问到服务器的文件。该文件将被命名为(xbt_tracker_raw.log)
log_announce 0(禁用) 如果启用该服务器将记录所有进入宣布宣布表(xbt_announce_log)。
log_scrape 0(禁用) 如果启用该服务器将记录所有进入刮表公布(xbt_scrape_log)。
pid_file xbt_config.pid 服务进程ID
read_config_interval 300(1分钟) (以秒计),其中的XBT二进制默认间隔将重新读取它的配置(从xbt_tracker.conf文件)。
read_db_interval 60(1分钟) (以秒计),其中的XBT二进制默认间隔将重新读取它的配置(从xbt_config表)。
scrape_interval 0(擦伤之间没有新的最短时间) (以秒),默认的间隔中,一个新的刮是允许的。
redirect_url 该网址在客户端重定向,如果他/她试图访问浏览器通过一个正常的跟踪网址
query_log 其中的XBT二进制日志所有查询文件名的。
table_announce_log xbt_announce_log 为announce_log表的默认值
table_files xbt_files 文件表
table_files_updates xbt_files_updates
table_files_users xbt_files_users
table_ipas xbt_ipas
table_scrape_log xbt_scrape_log
table_users xbt_users
update_files_method 1
write_db_interval 60 (以秒计),其中的XBT二进制将更新其数据库的默认值。
torrent_pass_private_key 一个27字符的随机字符串 默认torrent通过私钥。

xbt-Tracker服务启停

启动xbt-tracker

./xbt_tracker

关闭xbt-tracker

kill `cat xbt_tracker.pid

announce地址:http://localhost:2710/announce
状态查看地址:http://localhost:2710/statistics或 http://localhost:2710/statis

(Linux)安装BitTorrent客户端Transmission

yum repo下载

wget http://geekery.altervista.org/geekery/el7/x86_64/geekery-release-7-2.noarch.rpm

安装transmission-deamon

yum -y install transmission-deamon

Transmission服务启停

/etc/init.d/transmission-deamon start
/etc/init.d/transmission-deamon stop

Transmission配置

第一次运行没有settings.json,需重启下待自动生成配置。修改需要在服务stop的状态下进行。

名称 说明
dht-enabled false 玩pt的,DHT肯定是关闭的,这也是主流PT的要求
download-dir /var/lib/transmission-daemon/downloads 自己定义一个下载路径,注意设置下载路径的权限
rpc-username username web访问的用户名
rpc-password password web访问的密码
rpc-port 9091 web访问的端口
rpc-whitelist-enabled false 关闭白名单访问

更多配置,请参见:http://yysfire.github.io/linux/transmission-setting-file.html

制作种子并发布

transmission-create制作种子

在做种时,我们都必须指定tracker服务器地址,如果该地址无效,则做出来的种子对BT协议来说是没有任何实际意义的。

transmission-create -t http://tracker:2710/announce -o test.torrent  /var/lib/transmission-daemon/downloads/xxx.tar.gz

-p 表示是个私有种子,只有通过 -t 指定的 tracker announce URL 才可以下载
-o 指定种子生成后保存路径
最后跟要制作种子的资源文件路径

添加种子

命令行方式向客户端添加种子

transmission-remote -n user:password -a "link"
transmission-remote -a test.torrent -d 102400 -u 102400

发布种子

让其他人可以通过种子下载资源,把制作种子时的资源放在BT客户端的Dowloads目录中,并使用该torrent文件下载。

BitTorrent Tracker 搭建及使用相关推荐

  1. 搭建BitTorrent环境

    BitTorrent协议非常好用,在网络中分发共享大文件,不会造成网络上某一个链路拥塞,不会给某一台机器造成大量负载.BitTorrent把文件分割,分块校验,分块传输,并发性好,速度快,可靠性有保证 ...

  2. [译]BitTorrent协议规范

    BitTorrent 是一个用于文件分发的协议.它通过 URL 来标识内容,其设计使其可以与 Web 无缝集成.BitTorrent 相对于一般 HTTP 的优势在于,当相同文件的多个下载并行进行时, ...

  3. [转载] BitTorrent协议规范

    BitTorrent 协议规范(BT协议集合)一 BitTorrent 是一种分发文件的协议.它通过URL来识别内容,并且可以无缝的和web进行交互.它基于HTTP协议,它的优势是:如果有多个下载者并 ...

  4. BitTorrent協議規範(转自維基百科)

    BitTorrent協議規範 目錄 [隱藏] 1 目的 2 應用範圍 3 約定 3.1 編碼 3.1.1 位元組串 3.1.2 整數 3.1.3 表 3.1.4 字典 4 元信息文件結構 5 伺服器 ...

  5. 常见P2P协议之BitTorrent 分析

    这段时间在研究BT数据流如何突破防火墙的,但是最后好像有点拦截的意思,反了:(,还是把它总结一下,欢迎讨论,wengpingbo@gmail.com BitTorrent协议介绍 BitTorrent ...

  6. OpenWrt-路由器上的linux

    OpenWrt-路由器上的linux 2013-07-16  13:55  原创  叉叉 2条评论 Linux OpenWRT VPN SSH Router 路由器固件 OpenWrt是什么?它是一个 ...

  7. 去中心化存储项目终极指南 | Filecoin, Storj 和 PPIO 项目技术对比(下)

    在上篇文章中,我们主要从价值定位.技术层次架构.服务质量.去中心化程度,和经济激励机制五个方面分析了三个项目的不同.在这一篇文章中,我们将着重从区块链的架构设计.数据传输技术设计和数据存储技术设计三方 ...

  8. 【历史上的今天】9 月 13 日:计算机先驱诞生日;第一台装载硬盘的超级计算机;《超级马里奥兄弟》发布

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 9 月 13 日,在历史上的今天,许多计算机先驱诞生,其中便有个人计算机(PC)之父 Ed Robe ...

  9. TCP/UDP常用端口及对应服务列表

     计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口 ...

最新文章

  1. CocoaPods导入的库其头文件导入的方法
  2. 让产品自己召唤人——马化腾
  3. Bootloader的分区和启动
  4. 关键路径法及C语言实现
  5. 无性别服饰是趋势,但不该只停留在“中性”
  6. Java8新特性--CompletableFuture
  7. python读取mysql中表内数据转换成json_使用python将mySql查询结果转换为json
  8. Ubuntu18.04 安装Matlab2021b
  9. 【软件工程】中国大学软件工程MOOC学习记录
  10. 区块链如何解决电商供应的问题?
  11. C4D如何将界面和参数设置快速恢复到默认值?
  12. 中大计算机学院不及格,大学要求越来越严格 | 学渣可能无法从中大毕业了
  13. Android音视频点/直播模块开发
  14. 【小白学OpenCV】(零)——计算机图像基础
  15. linux创建运维账户流程,Linux运维养成记-账户与权限管理
  16. vmwaretools与open-vm-tools都无法使用的解决方法
  17. linux嵌入式项目之安防监控一(详解)
  18. 数据结构(c++)--炸弹人游戏(BFS)
  19. LeetCode刷题—股票交易问题
  20. cadence元件库文件位置

热门文章

  1. 怎样设置二维码的尺寸
  2. 面了三十个人,说说我的真实感受
  3. Adobe带你解锁办会新技能
  4. SAP小技巧之 实现SMARTFORM打印中的小计与总计
  5. 玫瑰线 matlab,如何用MATLAB画玫瑰线
  6. 介绍一个产品的思维导图_产品运营怎么使用思维导图?四个方面阐释思维导图的运用...
  7. USB复合设备调试 STM32
  8. 高尔顿与回归分析的起源
  9. Unity中使用QQ邮箱发送验证码
  10. Python3 shutil(高级文件操作 模块)