实验室连上寝室的网用寝室的ipv6下6v上的东西
标题已经很复杂了
6v上下东西直接挂代理行不通,隧道弄了一下午没弄好,miredo也没弄好 囧………
情况就略了,说起来太复杂了。今天弄了弄总算可以在实验室上下6v的东西了
可恶的吉大……
环境是寝室:路由+服务器
服务器:ubuntu 12.04 + squid + lighttpd +transmission
路由器开放 3128 给服务器的squid,9090开给transmission的RPC
客户端:python + transmissionrpc库
代码:
#!/usr/bin/env python # -*- coding: utf-8 -*-import transmissionrpc import sys import base64 import time import osaddress = '49.140.X.X' port = '9090' username = 'admin' password = 'admin888'download = 'axel -n20 --alternate' remote_url = 'http://49.140.X.X/Downloads/' storage_dir = '/home/fuckjlu/Downloads/'if len(sys.argv) != 2:print 'Usage: %s [Torrent file path/list/TorrentID from remote host]' % sys.argv[0]sys.exit(1)torrent_file = sys.argv[1]try:int(torrent_file)has_id = True except:has_id = False print '[*] Connecting to Transmission Server ...' rpc = transmissionrpc.Client(address=address,port=port,user=username,password=password) print '[*] Adding torrent'if sys.argv[1] == 'list':print 'Torrents in remote host:'for i in rpc.get_torrents():print i.id,i.namesys.exit(0)if has_id == False:torrent = open(torrent_file).read()torrent = base64.b64encode(torrent)state = rpc.add_torrent(torrent)torrent_id = state.idprint 'Torrent id from remote host:',torrent_idelse:try:state = rpc.get_torrent(sys.argv[1])except:print '[*] Torrent with specified id not exists in remote host'print 'Torrents in remote host:'for i in rpc.get_torrents():print i.id,i.namesys.exit(1)torrent_id = state.idprint 'Starting task:',state.name while True:state = rpc.get_torrent(torrent_id)progress = state.progressif progress == 100:breakprint 'progress',progress,'%'time.sleep(10) print 'Finished.'for i in state.files().values():if os.path.basename(i['name']) != i: # if it has a subfolderpath = os.path.join(storage_dir,os.path.dirname(i['name']))path = path.encode('utf8')if not os.path.exists(path):os.system('mkdir -p "%s"' % path)else:path = storage_dirpath = path.encode('utf8')final_path = path + '/' + os.path.basename(i['name'].encode('utf8'))print 'Downloading',i['name'],'\n'os.system('%s "%s" -o "%s"' % (download,(remote_url + i['name']).encode('utf8'),final_path))if not has_id:print 'Removing files from remote host ...'rpc.remove_torrent(torrent_id,delete_data=True)print 'Done'
转载于:https://www.cnblogs.com/latyas/p/3449813.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
