def tor2mag(): data = request.files['upload_file'] if data: torrent = data.read() try: item = {} metainfo = bencode.bdecode(torrent) info = metainfo['info'] hashid = hashlib.sha1(bencode.bencode(info)).hexdigest() title = metainfo['info']['name'] url = "http://torrentproject.com/" + hashid + "/trackers_json" url = url.encode('utf-8') url = urllib2.unquote(url) f = urllib2.urlopen(url) json_string = f.read() trackerJson = json.loads(json_string) maglink = "magnet:?xt=urn:btih:" + hashid + "&dn=" + urllib2.quote( title) for t in trackerJson: maglink += "&tr=" + t maglink += "&tr=http://tracker.openbittorrent.com/announce&tr=udp://tracker.openbittorrent.com:80/announce&tr=http://tracker.thepiratebay.org/announce&tr=http://tracker.publicbt.com/announce&tr=http://tracker.prq.to/announce&tr=udp://tracker.publicbt.com:80/announce" item["hashid"] = hashid item["maglink"] = maglink item["short_link"] = "http://mgnt.me/m/" + createShortLink(maglink) item["vodlink"] = urllib2.quote(u"/vodplay/magnet:?xt=urn:btih:" ) + hashid + "/" + urllib2.quote( title) return render_template("/transfer/indext2m.html", item=item) except BTFailure: flash(u"转换失败了...请重试...") return render_template("/transfer/indext2m.html") flash(u"出现未知错误,请重试...") return render_template("/transfer/indext2m.html")
def single_result(hashid,title,size,seeds,leechs): item = {} item["hashid"] = hashid item["title"] = title item["size"] = size item["seeds"] = seeds item["leechs"] = leechs if hashid == "": return render_template("/detail/single_result.html", error = True) # get tracker json list url = "http://torrentproject.com/"+hashid+"/trackers_json" url=url.encode('utf-8') url=urllib2.unquote(url) f = urllib2.urlopen(url) json_string = f.read() trackerJson = json.loads(json_string) maglink = "magnet:?xt=urn:btih:"+hashid+"&dn=" + urllib2.quote(title.encode('utf-8')) for t in trackerJson: maglink += "&tr=" + t maglink += "&tr=http://tracker.openbittorrent.com/announce&tr=udp://tracker.openbittorrent.com:80/announce&tr=http://tracker.thepiratebay.org/announce&tr=http://tracker.publicbt.com/announce&tr=http://tracker.prq.to/announce&tr=udp://tracker.publicbt.com:80/announce" item["maglink"] = maglink item["perm_link"] = "http://mgnt.me/detail/"+hashid+"/"+title+"/"+size+"/"+seeds+"/"+leechs item["short_link"] = "http://mgnt.me/m/"+createShortLink(maglink) item["vodlink"] = urllib2.quote(u"/vodplay/magnet:?xt=urn:btih:")+hashid+"/"+urllib2.quote(title.encode('utf-8')) return render_template("/detail/single_result.html", item = item)
def create(): item = {} maglink = request.form['magnet'] regex = ur"magnet:\?.*" if not re.search(regex, maglink): flash(u"亲,您输入的不是磁力链接哦~") return render_template("/m/index.html") else: item["short_link"] = createShortLink(maglink) return render_template("/m/index.html", item=item)
def create(): item = {} maglink = request.form['magnet'] regex=ur"magnet:\?.*" if not re.search(regex, maglink): flash(u"亲,您输入的不是磁力链接哦~") return render_template("/m/index.html") else: item["short_link"] = createShortLink(maglink) return render_template("/m/index.html",item=item)
def getshorturl(): apikey = request.args.get('key', '').lower() maglink = urllib2.unquote(request.args.get('mag', '').lower()) if apikey == "": return json.dumps([u"Please provide an apikey to access mgnt.me apis"]) if apikey == "jyobea" and maglink != "magnet:?xt=urn:btih:0a84d05e9e1b426add4bd1166bfd5b311aee16ed&dn=The Amazing Spiderman (2012) HDCAM x264 AAC UNiQUE&tr=http://121.14.98.151:9090/announce&tr=http://bigtorrent.org:2710/announce&tr=http://coppersurfer.tk:6969/announce&tr=http://tracker1.wasabii.com.tw:6969/announce&tr=http://www.h33t.com:3310/announce&tr=udp://tracker.istole.it:80/announce&tr=udp://tracker.publicbt.com:80/announce&tr=udp://www.h33t.com:3310/announce".lower(): return json.dumps([u"This is a demo api, if you want full access, please contact mgnt.me to get an apikey."]) if not checkapikey(apikey): return json.dumps([u"Invalid apikey, please contact mgnt.me"]) else: addtimes(apikey) regex=ur"magnet:\?.*" if not re.search(regex, maglink): return json.dumps([u"Invalid magnet link."]) short_link = createShortLink(maglink) return json.dumps({"short_url":"http://mgnt.me/m/"+short_link})