def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) self.myhash = sha(self.mypermid).digest()
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) self.myhash = sha(self.mypermid).digest() # Give Tribler some download history print >>sys.stderr,"test: Populating MYPREFERENCES table" self.myprefdb = self.session.open_dbhandler(NTFY_MYPREFERENCES) data = {'destination_path':'.'} infohashes = self.create_good_my_prefs(self,btconn.current_version) for i in range(0,len(infohashes)): commit = (i == len(infohashes)-1) self.myprefdb.addMyPreference(infohashes[i], data, commit=commit) # Give Tribler some peers print >>sys.stderr,"test: Populating PEERS table" self.peerdb = self.session.open_dbhandler(NTFY_PEERS) past = int(time.time())-1000000000 peers = self.create_good_random_peers(btconn.current_version,num=200) peers = [] for i in range(0,len(peers)): peer = peers[i] peer.update({'last_seen':past, 'last_connected':past}) del peer['connect_time'] peer['num_torrents'] = peer['nfiles'] del peer['nfiles'] commit = (i == len(peers)-1) self.peerdb.addPeer(peer['permid'], peer, update_dns=True, update_connected=True, commit=commit)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) self.myhash = sha(self.mypermid).digest()
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) # Calculating the infohash for proxyservice.test.torrent self.torrentfile = os.path.join('extend_hs_dir','proxyservice.test.torrent') # Read torrentfile to calculate the infohash torrentfile_content = open(self.torrentfile, "rb") # Decode all the file metainfo = bdecode(torrentfile_content.read()) # Re-encode only the info section self.infohash = hashlib.sha1(bencode(metainfo['info'])).digest() # Close the torrentfile torrentfile_content.close() # Add us as friend, so he will accept the ASK_FOR_HELP if False: # TEMP friendsdb = FriendDBHandler.getInstance() friendsdb.addFriend(self.mypermid) else: self.session.set_overlay_request_policy(AllowAllRequestPolicy()) self.session.set_download_states_callback(self.states_callback)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) self.setUpMyListenSocket()
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) self.setUpMyListenSocket()
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) self.myhash = sha(self.mypermid).digest() self.buddycast = BuddyCastFactory.getInstance(superpeer=True) self.buddycast.olthread_register(True)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) self.myhash = sha(self.mypermid).digest() self.buddycast = BuddyCastFactory.getInstance(superpeer=True) self.buddycast.olthread_register(True)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.hispermid = str(self.his_keypair.pub().get_der()) self.my_permid = str(self.my_keypair.pub().get_der()) self.content_name = 'Hallo S22E44' self.tdef = TorrentDef() self.tdef.set_tracker('http://localhost:0/announce') self.tdef.set_piece_length(2**15) self.tdef.create_live(self.content_name, 2**16) self.tdef.finalize()
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.hispermid = str(self.his_keypair.pub().get_der()) self.my_permid = str(self.my_keypair.pub().get_der()) self.content_name = 'Hallo S22E44' self.tdef = TorrentDef() self.tdef.set_tracker('http://localhost:0/announce') self.tdef.set_piece_length(2 ** 15) self.tdef.create_live(self.content_name,2 ** 16) self.tdef.finalize()
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.my_permid = str(self.my_keypair.pub().get_der()) self.my_hash = sha(self.my_permid).digest() self.his_permid = str(self.his_keypair.pub().get_der()) # Start our server side, to with Tribler will try to connect self.listen_port = 4123 self.listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.listen_socket.bind(("", self.listen_port)) self.listen_socket.listen(10) self.listen_socket.settimeout(10)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) # Let Tribler start downloading an non-functioning torrent, so # we can talk to a normal download engine. self.torrentfn = os.path.join('extend_hs_dir','dummydata.merkle.torrent') tdef = TorrentDef.load(self.torrentfn) dscfg = self.setUpDownloadConfig() self.session.start_download(tdef,dscfg) # This is the infohash of the torrent in test/extend_hs_dir self.infohash = '\xccg\x07\xe2\x9e!]\x16\xae{\xb8\x10?\xf9\xa5\xf9\x07\xfdBk' self.mylistenport = 4810
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) # This is the infohash of the torrent in test/extend_hs_dir self.infohash = "\xccg\x07\xe2\x9e!]\x16\xae{\xb8\x10?\xf9\xa5\xf9\x07\xfdBk" self.torrentfile = os.path.join("extend_hs_dir", "dummydata.merkle.torrent") # TEMPARNO: retrieve this from Session self.torrent_db = TorrentDBHandler.getInstance() # Add two torrents that will match our query and one that shouldn't torrent = self.get_default_torrent("Hallo S01E10") ih = "b" * 20 self.torrent_db.addTorrent(ih, torrent)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) # Let Tribler start downloading an non-functioning torrent, so # we can talk to a normal download engine. self.torrentfn = os.path.join('extend_hs_dir', 'dummydata.merkle.torrent') tdef = TorrentDef.load(self.torrentfn) dscfg = self.setUpDownloadConfig() self.session.start_download(tdef, dscfg) # This is the infohash of the torrent in test/extend_hs_dir self.infohash = '\xccg\x07\xe2\x9e!]\x16\xae{\xb8\x10?\xf9\xa5\xf9\x07\xfdBk' self.mylistenport = 4810
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) # This is the infohash of the torrent in test/extend_hs_dir self.infohash = '\xccg\x07\xe2\x9e!]\x16\xae{\xb8\x10?\xf9\xa5\xf9\x07\xfdBk' self.torrentfile = os.path.join('extend_hs_dir','dummydata.merkle.torrent') # Add us as friend, so he will accept the DOWNLOAD_HELP if False: # TEMP friendsdb = FriendDBHandler.getInstance() friendsdb.addFriend(self.mypermid) else: self.session.set_overlay_request_policy(AllowAllRequestPolicy()) self.session.set_download_states_callback(self.states_callback)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) # This is the infohash of the torrent in test/extend_hs_dir self.infohash = '\xccg\x07\xe2\x9e!]\x16\xae{\xb8\x10?\xf9\xa5\xf9\x07\xfdBk' self.torrentfile = os.path.join('extend_hs_dir', 'dummydata.merkle.torrent') # TEMPARNO: retrieve this from Session self.torrent_db = TorrentDBHandler.getInstance() # Add two torrents that will match our query and one that shouldn't torrent = self.get_default_torrent('Hallo S01E10') ih = 'b' * 20 self.torrent_db.addTorrent(ih, torrent)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) # This is the infohash of the torrent in test/extend_hs_dir self.infohash = '\xccg\x07\xe2\x9e!]\x16\xae{\xb8\x10?\xf9\xa5\xf9\x07\xfdBk' self.torrentfile = os.path.join('extend_hs_dir', 'dummydata.merkle.torrent') # Add us as friend, so he will accept the DOWNLOAD_HELP if False: # TEMP friendsdb = FriendDBHandler.getInstance() friendsdb.addFriend(self.mypermid) else: self.session.set_overlay_request_policy(AllowAllRequestPolicy()) self.session.set_download_states_callback(self.states_callback)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) # Create URL compat torrents and save in Torrent database. self.tdef1 = TorrentDef.load_from_url(P2PURL_SCHEME+'://127.2.3.42:7764/announce?SjaakCam.mpegts&k=MHowDQYJKoZIhvcNAQEBBQADaQAwZgJhAN0Khlp5ZhWC7VfLynCkKts71b8h8tZXH87PkDtJUTJaX_SS1Cddxkv63PRmKOvtAHhkTLSsWOZbSeHkOlPIq_FGg2aDLDJ05g3lQ-8mSmo05ff4SLqNUTShWO2CR2TPhQIBAw&l=HCAAAA&s=15&a=RSA&b=AAIAAA') self.torrentfn1 = os.path.join(self.session.get_torrent_collecting_dir(),"live.torrent") self.tdef1.save(self.torrentfn1) self.tdef2 = TorrentDef.load_from_url(P2PURL_SCHEME+'://127.1.0.10:6969/announce?trailer.mkv&r=TTgcifG0Ot7STCY2JL8SUOxROFo&l=AKK35A&s=15&b=AAFnGg') self.torrentfn2 = os.path.join(self.session.get_torrent_collecting_dir(),"vod.torrent") self.tdef2.save(self.torrentfn2) self.torrent_db = self.session.open_dbhandler(NTFY_TORRENTS) extra_info = {'status':'good'} self.torrent_db.addExternalTorrent(self.torrentfn1, source='',extra_info=extra_info) self.torrent_db.addExternalTorrent(self.torrentfn2, source='',extra_info=extra_info)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) # This is the infohash of the torrent in test/extend_hs_dir self.infohash = '\xccg\x07\xe2\x9e!]\x16\xae{\xb8\x10?\xf9\xa5\xf9\x07\xfdBk' self.torrentfile = os.path.join('extend_hs_dir','dummydata.merkle.torrent') # Let Tribler start downloading an non-functioning torrent, so # we can talk to a normal download engine. tdef = TorrentDef.load(self.torrentfile) dscfg = DownloadStartupConfig() dscfg.set_dest_dir(self.config_path) self.session.start_download(tdef,dscfg)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) self.another_keypair = generate_keypair() self.anotherpermid = str(self.another_keypair.pub().get_der()) self.testInfohash = hashlib.sha1("yoman!").digest() #copy subtitles in the collecting dir nldName = SubUtils.getSubtitleFileRelativeName(self.anotherpermid, self.testInfohash, "nld") engName = SubUtils.getSubtitleFileRelativeName(self.anotherpermid, self.testInfohash, "eng") self.sub1 = os.path.join(self.collecting_dir, nldName) self.sub2 = os.path.join(self.collecting_dir, engName) shutil.copyfile(self.src1, self.sub1)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) # Calculating the infohash for proxyservice.test.torrent self.torrentfile = os.path.join('extend_hs_dir','proxyservice.test.torrent') # Read torrent file to calculate the infohash torrentfile_content = open(self.torrentfile, "rb") # Decode all the file metainfo = bdecode(torrentfile_content.read()) # Calculate the torrent length if "length" in metainfo["info"]: self.length = metainfo["info"]["length"] else: self.length = 0 for f in metainfo["info"]["files"]: self.length += f["length"] # Re-encode only the info section self.infohash = hashlib.sha1(bencode(metainfo['info'])).digest() # Store the number of pieces self.numpieces = int(math.ceil((self.length / metainfo["info"]["piece length"]))) # Close the torrentfile torrentfile_content.close() # Add us as friend, so he will accept the ASK_FOR_HELP message if False: # TEMP: friendsdb doesn't have an addFriend method # friendsdb = FriendDBHandler.getInstance() # friendsdb.addFriend(self.mypermid) pass else: # Accept overlay requests from anybody self.session.set_overlay_request_policy(AllowAllRequestPolicy()) self.session.set_download_states_callback(self.states_callback) """
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) #self.mypermid = str(self.my_keypair.pub().get_der()) #self.hispermid = str(self.his_keypair.pub().get_der()) self.torrent_db = self.session.open_dbhandler(NTFY_TORRENTS) try: # Add two torrents that will match our query and one that shouldn't self.bmetainfo1 = self.get_default_torrent('sumfilename1','Hallo S01E10') dbrec= self.torrent_db.addExternalTorrent('sumfilename1',metadata=self.bmetainfo1) self.infohash1 = dbrec['infohash'] self.bmetainfo2 = self.get_default_torrent('sumfilename2','Hallo S02E01') dbrec = self.torrent_db.addExternalTorrent('sumfilename2',metadata=self.bmetainfo2) self.infohash2 = dbrec['infohash'] self.bmetainfo3 = self.get_default_torrent('sumfilename3','Halo Demo') self.torrent_db.addExternalTorrent('sumfilename3',metadata=self.bmetainfo3) except: print_exc()
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) self.myhash = sha(self.mypermid).digest() self.buddycast = BuddyCastFactory.getInstance(superpeer=True) self.buddycast.olthread_register(True) # arg0 = sys.argv[0].lower() # if arg0.endswith('.exe'): # installdir = os.path.abspath(os.path.dirname(sys.argv[0])) # else: # installdir = os.getcwd() # self.utility = Utility(installdir) # wait for buddycast to have completed on run cycle, # seems to create problems otherwise while not self.buddycast.ranonce: pass
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.mypermid = str(self.my_keypair.pub().get_der()) self.hispermid = str(self.his_keypair.pub().get_der()) self.myhash = sha(self.mypermid).digest() self.buddycast = BuddyCastFactory.getInstance(superpeer=True) self.buddycast.olthread_register(True) # arg0 = sys.argv[0].lower() # if arg0.endswith('.exe'): # installdir = os.path.abspath(os.path.dirname(sys.argv[0])) # else: # installdir = os.getcwd() # self.utility = Utility(installdir) # wait for buddycast to have completed on run cycle, # seems to create problems otherwise while not self.buddycast.ranonce: pass
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.myip = '127.0.0.1'
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.myoriginalip = self.session.get_external_ip()
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) #self.mypermid = str(self.my_keypair.pub().get_der()) #self.hispermid = str(self.his_keypair.pub().get_der()) self.torrent_db = self.session.open_dbhandler(NTFY_TORRENTS) try: # Add two torrents that will match our query and one that shouldn't tdef1, bmetainfo1 = self.get_default_torrent('sumfilename1','Hallo S01E10') dbrec= self.torrent_db.addExternalTorrent(tdef1, extra_info={"filename":"sumfilename1"}) tdef2, bmetainfo2 = self.get_default_torrent('sumfilename2','Hallo S02E01') dbrec = self.torrent_db.addExternalTorrent(tdef2, extra_info={"filename":"sumfilename2"}) tdef3, bmetainfo3 = self.get_default_torrent('sumfilename3','Halo Demo') self.torrent_db.addExternalTorrent(tdef3, extra_info={"filename":"sumfilename3"}) self.goodtorrents_str = {} self.goodtorrents_str[tdef1.get_infohash()] = bmetainfo1 self.goodtorrents_str[tdef2.get_infohash()] = bmetainfo2 # Unicode: Add two torrents that will match our query and one that shouldn't tdef1, bmetainfo1 = self.get_default_torrent('usumfilename1',u'Ch\u00e8rie S01E10') dbrec= self.torrent_db.addExternalTorrent(tdef1, extra_info={"filename":"usumfilename1"}) tdef2, bmetainfo2 = self.get_default_torrent('usumfilename2',u'Ch\u00e8rie S02E01') dbrec = self.torrent_db.addExternalTorrent(tdef2, extra_info={"filename":"usumfilename2"}) tdef3, bmetainfo3 = self.get_default_torrent('usumfilename3',u'Cherie Demo') self.torrent_db.addExternalTorrent(tdef3, extra_info={"filename":"usumfilename3"}) self.goodtorrents_unicode = {} self.goodtorrents_unicode[tdef1.get_infohash()] = bmetainfo1 self.goodtorrents_unicode[tdef2.get_infohash()] = bmetainfo2 # Unicode: Add two multi-file torrents that will match our query # because the keyword occuring in a path and one that shouldn't paths1 = ['SomeFile.mkv',u'Besan\u00e7on.txt'] tdef1, bmetainfo1 = self.get_default_torrent('psumfilename1',u'Path S01E10',paths=paths1) dbrec= self.torrent_db.addExternalTorrent(tdef1, extra_info={"filename":"psumfilename1"}) paths2 = ['SomeFile.mkv',u'Besan\u00e7on.doc'] tdef2, bmetainfo2 = self.get_default_torrent('psumfilename2',u'Path S02E01',paths=paths2) dbrec = self.torrent_db.addExternalTorrent(tdef2, extra_info={"filename":"psumfilename2"}) paths3 = ['SomeFile.mkv',u'Besancon'] tdef3, bmetainfo3 = self.get_default_torrent('psumfilename3',u'Path Demo',paths=paths3) self.torrent_db.addExternalTorrent(tdef2, extra_info={"filename":"psumfilename3"}) self.goodtorrents_path = {} self.goodtorrents_path[tdef1.get_infohash()] = bmetainfo1 self.goodtorrents_path[tdef2.get_infohash()] = bmetainfo2 # Add two torrents that will match our two-word query and one that shouldn't tdef1, bmetainfo1 = self.get_default_torrent('ssumfilename1','One Two S01E10') dbrec= self.torrent_db.addExternalTorrent(tdef1, extra_info={"filename":"ssumfilename1"}) tdef2, bmetainfo2 = self.get_default_torrent('ssumfilename2','Two S02E01 One') dbrec = self.torrent_db.addExternalTorrent(tdef2, extra_info={"filename":"ssumfilename2"}) tdef3, bmetainfo3 = self.get_default_torrent('ssumfilename3','Two Demo') self.torrent_db.addExternalTorrent(tdef3, extra_info={"filename":"ssumfilename3"}) self.goodtorrents_two = {} self.goodtorrents_two[tdef1.get_infohash()] = bmetainfo1 self.goodtorrents_two[tdef2.get_infohash()] = bmetainfo2 except: print_exc()
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.myip = '127.0.0.1'
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) self.myoriginalip = self.session.get_external_ip()
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self)
def setUpPostSession(self): """ override TestAsServer """ TestAsServer.setUpPostSession(self) # Let Tribler start downloading an non-functioning torrent, so # we can talk to a normal download engine. self.tdef = TorrentDef() self.sourcefn = os.path.join(os.getcwd(),"API","file2.wmv") self.tdef.add_content(self.sourcefn) self.tdef.set_create_merkle_torrent(True) self.tdef.set_tracker("http://127.0.0.1:12/announce") self.tdef.finalize() self.torrentfn = os.path.join(self.session.get_state_dir(),"gen.torrent") self.tdef.save(self.torrentfn) dscfg = self.setUpDownloadConfig() self.session.start_download(self.tdef,dscfg) self.infohash = self.tdef.get_infohash() self.mylistenport = 4810 self.numpieces = (self.tdef.get_length()+self.tdef.get_piece_length()-1) / self.tdef.get_piece_length() b = Bitfield(self.numpieces) for i in range(self.numpieces): b[i] = True self.assert_(b.complete()) self.seederbitfieldstr = b.tostring() #piece_hashes = ['\x01\x02\x03\x04\x05\x06\x07\x08\x07\x06\x05\x04\x03\x02\x01\x00\x01\x02\x03\x04' ] * npieces # Construct Merkle tree tdef2 = TorrentDef() tdef2.add_content(self.sourcefn) tdef2.set_create_merkle_torrent(False) tdef2.set_tracker("http://127.0.0.1:12/announce") tdef2.set_piece_length(self.tdef.get_piece_length()) tdef2.finalize() metainfo = tdef2.get_metainfo() piecesstr = metainfo['info']['pieces'] print >>sys.stderr,"test: pieces has len",len(piecesstr) piece_hashes = [] for i in range(0,len(piecesstr),20): hash = piecesstr[i:i+20] print >>sys.stderr,"test: piece",i/20,"hash",`hash` piece_hashes.append(hash) print >>sys.stderr,"test: Putting",len(piece_hashes),"into MerkleTree, size",self.tdef.get_piece_length(),tdef2.get_piece_length() self.tree = MerkleTree(self.tdef.get_piece_length(),self.tdef.get_length(),None,piece_hashes) f = open(self.sourcefn,"rb") piece1 = f.read(2 ** 18) piece2 = f.read(2 ** 18) print >>sys.stderr,"read piece1",len(piece1) print >>sys.stderr,"read piece2",len(piece2) f.close() hash1 = sha(piece1).digest() hash2 = sha(piece2).digest() print >>sys.stderr,"hash piece1",`hash1` print >>sys.stderr,"hash piece2",`hash2` f2 = open("piece1.bin","wb") f2.write(piece2) f2.close()