Blame | Last modification | View Log | Download
product_name = 'BitTornado'version_short = 'T-0.3.15'version = version_short+' ('+product_name+')'report_email = version_short+'@degreez.net'from types import StringTypefrom sha import shafrom time import time, clocktry:from os import getpidexcept ImportError:def getpid():return 1mapbase64 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-'_idprefix = version_short[0]for subver in version_short[2:].split('.'):try:subver = int(subver)except:subver = 0_idprefix += mapbase64[subver]_idprefix += ('-' * (6-len(_idprefix)))_idrandom = [None]def resetPeerIDs():try:f = open('/dev/urandom','rb')x = f.read(20)f.close()except:x = ''l1 = 0t = clock()while t == clock():l1 += 1l2 = 0t = long(time()*100)while t == long(time()*100):l2 += 1l3 = 0if l2 < 1000:t = long(time()*10)while t == long(clock()*10):l3 += 1x += ( repr(time()) + '/' + str(time()) + '/'+ str(l1) + '/' + str(l2) + '/' + str(l3) + '/'+ str(getpid()) )s = ''for i in sha(x).digest()[-11:]:s += mapbase64[ord(i) & 0x3F]_idrandom[0] = sresetPeerIDs()def createPeerID(ins = '---'):assert type(ins) is StringTypeassert len(ins) == 3return _idprefix + ins + _idrandom[0]