最近研究了一下linux BT服务器环境的搭建,需要在linux下制作BT种子并获取BT种子信息,整理了一下这个过程:

制作BT种子软件下载地址:http://jaist.dl.sourceforge.net/project/mktorrent/mktorrent/1.0/mktorrent-1.0.tar.gz

安装:

[root@localhost src]# tar zxf mktorrent-1.0.tar.gz

[root@localhost src]# cd mktorrent-1.0

[root@localhost mktorrent-1.0]# make

[root@localhost mktorrent-1.0]# make install

[root@localhost ~]# which mktorrent

/usr/local/bin/mktorrent

需要python的bencode模块来获取BT种子信息,下载地址:https://pypi.python.org/packages/source/b/bencode/bencode-1.0.tar.gz

安装:

#tar -zxf bencode-1.0.tar.gz

#cd bencode-1.0.tar.gz

#python setup.py install

制作和验证的python脚本如下:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import os, re, time, sys

import hashlib, bencode

file_name = 'bt_test.exe'

bt_source = '/data/updir/%s' % file_name

bt_name = '/data/source/%s.torrent' % file_name

if os.path.exists(bt_name):

os.remove(bt_name)

if os.path.exists(bt_source):

conm = "/usr/local/bin/mktorrent -v -p -l 18 -a http://bt1.text.cn/announce -a http://bt2.text.cn/announce -o %s %s" % (bt_name,bt_source)

res = os.popen(conm).readlines()[-1].strip()

if 'done' in res:

bt_path = {}

bt_file = open(bt_name, 'rb')

bt_info = bencode.bdecode(bt_file.read()).get('info')

bt_info_hash_hex = hashlib.sha1(bencode.bencode(bt_info)).hexdigest()

if os.path.isdir(bt_source):

bt_file_size = 0

for length in bt_info.get('files'):

bt_file_size = bt_file_size + int(length['length'])

bt_path['/'.join(length['path'])] = length['length']

else:

bt_file_size = bt_info.get('length')

bt_file_name = bt_info.get('name')

bt_path[bt_file_name]=bt_file_size

bt_file.close()

print bt_path

print "Create torrent success"

else:

print "Create torrent Error"

sys.exit()

else:

print "This source not find"

sys.exit()

file_name为做种的文件或目录名字。

本文由 CentOS中文站 - 专注Linux技术 作者:centos 发表,其版权均为 CentOS中文站 - 专注Linux技术 所有,文章内容系作者个人观点,不代表 CentOS中文站 - 专注Linux技术 对观点赞同或支持。如需转载,请注明文章来源。

linux种子文件制作工具,Centos 制作BT种子并获取BT种子信息相关推荐

  1. 古籍制作 - 古书制作 - 古籍制作工具 - 古籍制作软件 - 古籍修复工具 -古籍修复软件 - 古书制作软件 - 古书修复工具 - 古籍修复软件 -古籍修复软件

    古籍制作 - 古籍制作工具 - 古籍制作软件 - 古籍修复工具 -古籍修复软件 - 古书制作 - 古书制作软件 - 古书修复工具 - 古籍修复软件 -古籍修复软件 前言 自己开发的古籍制作工具 一.看 ...

  2. [c#][福利]BTTool种子文件修改工具

    前言 不知道各位看官是否有过类似的经历.好不容易找到一个电影的种子文件,想用百度云的离线下载功能去下载文件,却被百度云无情提示"离线文件因含有违规内容被系统屏蔽无法下载"!假设有这 ...

  3. deepinu盘制作工具_u盘启动盘制作工具怎么制作 u盘启动盘制作工具制作方法【详细步骤】...

    在电脑城很多技术人员都会使用u盘装系统的方法给用户电脑安装系统,他们是怎么操作的呢?其实很简单,就是通过u盘启动盘来安装系统的.而u盘启动盘是需要用 u盘启动盘制作工具 来制作的.那么问题又来了,u盘 ...

  4. Linux split文件切分工具的使用

    Linux split文件切分工具的使用 目录 Linux split文件切分工具的使用 0x00.背景介绍 0x01.split介绍 0x02.实际例子解读 1.默认情况 2.根据文件字节大小拆分 ...

  5. 重装系统:全网最详细的重装windows10系统(纯净版)方法:利用微软官方U盘制作工具,制作系统启动U盘并重装系统

    全网最详细的重装windows10系统[纯净版]方法:利用微软官方U盘制作工具,制作系统启动U盘并重装系统 前提声明: 一·写这篇教程原因: 二·那么如何制作系统启动U盘? 第一步: 第二步:在一台能 ...

  6. 【瑞芯微Rockchip Linux平台】SoftAp需求实现(3)动态获取BT Mac地址并更新beacon帧中的mac信息

    [瑞芯微Rockchip Linux平台]SoftAp需求实现(3)动态获取BT Mac地址并更新beacon帧中的mac信息 1. 获取本机的蓝牙mac地址 __get_bt_mac_addr() ...

  7. linux手机刷机包制作工具_ROM制作工具官方下载|ROM制作工具下载 v1.0.0.59 官方版 - 绿点软件站...

    资源下载,支持线刷包(img)转卡刷包(zip):支持img/dat相互转换:ROM制作工具高效免费,为广大ROM开发者.手机维修.预装分发等人群提供快捷便利的定制服务. ROM制作工具官方简介 RO ...

  8. BMPFont使用教程--免费的位图字体制作工具字体制作(2)

    1.下载windows免费的位图字体制作工具Bitmap Font Generator 下载地址:BMFont - AngelCode.com 2.打开软件-> Edit -> Open ...

  9. Linux大文件传输工具分享

    sync--一个跨平台的文件传输工具,多用于Linux系统,下面也只介绍Linux上的应用. 这是我在远程传输大文件时找到的最有效便捷的"可断点重传"的工具,最大的优势就是可断点重 ...

最新文章

  1. ASP .NET Core MVC Entity Framework 旧书交易网站
  2. 一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对
  3. 人员雇佣 网络流_雇用Java EE开发人员的一些面试问题
  4. Eclipse InstaSearch搜索词法 (很多并不支持)
  5. Android BLE(3) ---FastBle解析
  6. android 自动打印出来,Android:签名打包后关闭Log打印
  7. ASP入门(一)环境的搭建
  8. q-flashplus怎么使用_qflash是什么意思
  9. django orm级联_django系列5.3--ORM数据库的多表操作
  10. VMware虚拟机鼠标失灵怎么办
  11. 为何学习大数据,要先学Java
  12. redis的持久化机制详解
  13. electron (二) 暗黑模式
  14. 数据库的四种隔离级别及对应解决的脏读、不可重复读、幻读问题
  15. Ubuntu 桌面美化: 1.命令行terminal显示时间用户conda环境2.桌面自动更换轮换壁纸Bing Wallpaper
  16. 「区块链系列」区块链技术与应用
  17. 驱动你做一件事的动力来源是什么?
  18. 读书笔记3——《如何高效学习》:斯科特·扬
  19. 开发一个游戏项目,需要哪些技术人员
  20. 计算机科技文献中cam,模具加工论文,关于CAD/CAM在高精密模具设计制造中的应用相关参考文献资料-免费论文范文...

热门文章

  1. 计算机中文核心投递经历
  2. 优麒麟系统调整启动项顺序的经验分享
  3. Echarts图表根据浏览器窗口缩放进行动态缩放,多个echarts同时缩放
  4. BPC维度-----科目(P_ACCT)中科目类型的数值符号问题
  5. python设置打印机参数_打印文件并配置打印机设置
  6. IPv4编址及子网划分
  7. python gui模板_Python GUI 编程(Tkinter) | 菜鸟教程
  8. 会计学利用计算机思维,会计思维确定性
  9. zynq DMA 函数XAxiDma_SimpleTransfer的用法
  10. 计算机二级2016知识题库,2016年计算机二级考试题库(带答案)