Welcome 微信登录

首页 / 操作系统 / Linux / Linux 制作BT种子并获取BT种子信息

最近研究了一下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()RedHat5.5的/etc/resolv.conf文件被复写的解决Hyper-V安装CentOS6.X网卡不识别问题解决方法相关资讯      BT种子制作  本文评论 查看全部评论 (0)
表情: 姓名: 字数