def _init_local(self): from p2p import commands from lib import net_misc from lib import misc from system import tmpfile from system import run_upnpc from raid import eccmap from userid import my_id from crypt import my_keys my_id.init() if settings.enableWebStream(): from logs import weblog weblog.init(settings.getWebStreamPort()) if settings.enableWebTraffic(): from logs import webtraffic webtraffic.init(port=settings.getWebTrafficPort()) misc.init() commands.init() tmpfile.init(settings.getTempDir()) net_misc.init() settings.update_proxy_settings() run_upnpc.init() eccmap.init() my_keys.init() if sys.argv.count('--twisted'): from twisted.python import log as twisted_log twisted_log.startLogging(MyTwistedOutputLog(), setStdout=0) # import twisted.python.failure as twisted_failure # twisted_failure.startDebugMode() # twisted_log.defaultObserver.stop() if settings.getDebugLevel() > 10: defer.setDebugging(True)
def _init_local(self): from p2p import commands from lib import net_misc from lib import misc from system import tmpfile from system import run_upnpc from raid import eccmap from userid import my_id my_id.init() if settings.enableWebStream(): from logs import weblog weblog.init(settings.getWebStreamPort()) if settings.enableWebTraffic(): from logs import webtraffic webtraffic.init(port=settings.getWebTrafficPort()) misc.init() commands.init() tmpfile.init(settings.getTempDir()) net_misc.init() settings.update_proxy_settings() run_upnpc.init() eccmap.init() if sys.argv.count("--twisted"): from twisted.python import log as twisted_log twisted_log.startLogging(MyTwistedOutputLog(), setStdout=0) # import twisted.python.failure as twisted_failure # twisted_failure.startDebugMode() # twisted_log.defaultObserver.stop() if settings.getDebugLevel() > 10: defer.setDebugging(True)
def setUp(self): try: bpio.rmdir_recursive('/tmp/.bitdust_tmp') except Exception: pass lg.set_debug_level(30) settings.init(base_dir='/tmp/.bitdust_tmp') try: os.makedirs('/tmp/.bitdust_tmp/metadata') except: pass automat.OpenLogFile('/tmp/.bitdust_tmp/logs/automats.log') self.my_current_key = None fout = open('/tmp/_some_priv_key', 'w') fout.write(_some_priv_key) fout.close() fout = open(settings.LocalIdentityFilename(), 'w') fout.write(_some_identity_xml) fout.close() self.assertTrue(key.LoadMyKey(keyfilename='/tmp/_some_priv_key')) self.assertTrue(my_id.loadLocalIdentity()) my_id.init() try: os.makedirs('/tmp/.bitdust_tmp/logs') except: pass local_fs.WriteTextFile('/tmp/.bitdust_tmp/logs/parallelp.log', '') tmpfile.init(temp_dir_path='/tmp/.bitdust_tmp/temp/') os.makedirs( '/tmp/.bitdust_tmp/backups/[email protected]_8084/1/F1234') try: bpio.rmdir_recursive('/tmp/_some_folder', ignore_errors=True) except: pass os.makedirs('/tmp/_some_folder')
def main(): lg.life_begins() bpio.init() settings.init() misc.init() my_id.init() identitycache.init() from crypt import key key.InitMyKey() (options, args) = parseCommandLine() settings.override('transport.transport-tcp.transport-tcp-port', options.tcpport) settings.override('transport.transport-udp.transport-udp-port', options.udpport) settings.override('network.network-dht-port', options.dhtport) lg.set_debug_level(options.debug) tmpfile.init() if True: import lib.udp lib.udp.listen(options.udpport) import dht.dht_service dht.dht_service.init(options.dhtport) reactor.addSystemEventTrigger('before', 'shutdown', shutdown) # @UndefinedVariable init() start() globals()['num_in'] = 0 def _in(a, b, c, d): lg.out(2, 'INBOX %d : %r' % (globals()['num_in'], a)) globals()['num_in'] += 1 return False callback.insert_inbox_callback(0, _in) if len(args) > 0: globals()['num_out'] = 0 def _s(): p = signed.Packet(commands.Data(), my_id.getLocalID(), my_id.getLocalID(), my_id.getLocalID(), bpio.ReadBinaryFile(args[1]), args[0]) outbox(p, wide=True) lg.out(2, 'OUTBOX %d : %r' % (globals()['num_out'], p)) globals()['num_out'] += 1 old_state_changed = transport('udp').state_changed def new_state_changed(oldstate, newstate, event, *args, **kwargs): old_state_changed(oldstate, newstate, event, *args, **kwargs) if newstate == 'LISTENING': reactor.callLater(1, _s) # @UndefinedVariable transport('udp').state_changed = new_state_changed # t = task.LoopingCall(_s) # reactor.callLater(5, t.start, 60, True) # reactor.callLater(2, t.stop) reactor.run() # @UndefinedVariable settings.shutdown()
def main(): from twisted.internet import reactor # @UnresolvedImport lg.set_debug_level(24) settings.init() my_id.init() dht_service.init(settings.getDHTPort()) reactor.callWhenRunning(A, 'init', sys.argv[1]) # @UndefinedVariable reactor.run() # @UndefinedVariable
def main(): from twisted.internet import reactor lg.set_debug_level(24) settings.init() my_id.init() dht_service.init(settings.getDHTPort()) reactor.callWhenRunning(A, 'init', sys.argv[1]) reactor.run()
def _init_local(self): from p2p import commands from lib import net_misc from lib import misc from system import tmpfile from system import run_upnpc from raid import eccmap from contacts import identitydb from crypt import my_keys from userid import id_url from userid import my_id id_url.init() identitydb.init() my_id.init() if settings.enableWebStream(): try: from logs import weblog weblog.init(settings.getWebStreamPort()) except: lg.exc() if settings.enableWebTraffic(): try: from logs import webtraffic webtraffic.init(port=settings.getWebTrafficPort()) except: lg.exc() misc.init() commands.init() tmpfile.init(settings.getTempDir()) net_misc.init() settings.update_proxy_settings() run_upnpc.init() eccmap.init() my_keys.init() # if sys.argv.count('--twisted'): # from twisted.python import log as twisted_log # twisted_log.startLogging(MyTwistedOutputLog(), setStdout=0) # import twisted.python.failure as twisted_failure # twisted_failure.startDebugMode() # twisted_log.defaultObserver.stop() # if settings.getDebugLevel() > 10: # defer.setDebugging(True) if settings.enableMemoryProfile(): try: from guppy import hpy # @UnresolvedImport hp = hpy() hp.setrelheap() if _Debug: lg.out(_DebugLevel, 'hp.heap():\n'+str(hp.heap())) lg.out(_DebugLevel, 'hp.heap().byrcs:\n'+str(hp.heap().byrcs)) lg.out(_DebugLevel, 'hp.heap().byvia:\n'+str(hp.heap().byvia)) except: if _Debug: lg.out(_DebugLevel, "guppy package is not installed") if _Debug: lg.dbg(_DebugLevel, 'all local modules are initialized, ready to start the engine')
def cmd_key(opts, args, overDict, running, executablePath): from main import settings from lib import misc from system import bpio from userid import my_id from crypt import key settings.init() my_id.init() if not key.LoadMyKey(): print_text('private key not exist or is not valid\n') return 0 if not my_id.isLocalIdentityReady(): print_text('local identity not exist, your key worth nothing\n') return 0 if len(args) == 2: if args[1] == 'copy': TextToSave = my_id.getLocalID() + "\n" + key.MyPrivateKey() misc.setClipboardText(TextToSave) del TextToSave print_text('now you can "paste" with Ctr+V your private key where you want') print_text('WARNING! keep your key in safe place, do not publish it!\n') return 0 elif args[1] == 'print': TextToSave = my_id.getLocalID() + "\n" + key.MyPrivateKey() print_text('\n' + TextToSave + '\n') del TextToSave print_text('WARNING! keep your key in safe place, do not publish it!\n') return 0 elif len(args) == 3: if args[1] == 'copy' or args[1] == 'save' or args[1] == 'backup': from system import bpio curpath = os.getcwd() os.chdir(executablePath) filenameto = bpio.portablePath(args[2]) os.chdir(curpath) TextToSave = my_id.getLocalID() + "\n" + key.MyPrivateKey() if not bpio.AtomicWriteFile(filenameto, TextToSave): del TextToSave print_text('error writing to %s\n' % filenameto) return 1 del TextToSave print_text('your private key were copied to file %s' % filenameto) print_text('WARNING! keep your key in safe place, do not publish it!\n') return 0 return 2
def main(): if len(sys.argv) < 3: print 'usage: nickname_observer.py <"many"|"one"> <nickname> <attempts>' return from twisted.internet import reactor lg.set_debug_level(24) settings.init() my_id.init() dht_service.init(settings.getDHTPort()) def _result(result, nickname): print result, nickname if result == 'finished': reactor.stop() if sys.argv[1] == 'many': observe_many(sys.argv[2], int(sys.argv[3]), results_callback=_result) else: find_one(sys.argv[2], int(sys.argv[3]), _result) reactor.run()
def cmd_identity(opts, args, overDict, running): from userid import my_id from main import settings settings.init() my_id.init() if args[0] == 'idurl': if my_id.isLocalIdentityReady(): print_text(my_id.getLocalID()) else: print_text('local identity is not exist') return 0 if len(args) == 1 or args[1].lower() in ['info', '?', 'show', 'print']: if my_id.isLocalIdentityReady(): print_text(my_id.getLocalIdentity().serialize()) else: print_text('local identity is not exist') return 0 def _register(): if len(args) <= 2: return 2 pksize = settings.getPrivateKeySize() if len(args) > 3: try: pksize = int(args[3]) except: print_text('incorrect private key size\n') return 0 from automats import automat from main import initializer from lib import misc if not misc.ValidUserName(args[2]): return 0 initializer.A('run-cmd-line-register', {'username': args[2], 'pksize': pksize}) reactor.run() automat.objects().clear() if my_id.isLocalIdentityReady(): print_text('new identity created:') print_text(my_id.getLocalIdentity().serialize()) else: print_text('identity creation FAILED') return 0 def _recover(): from system import bpio from lib import nameurl if len(args) < 3: return 2 src = bpio.ReadBinaryFile(args[2]) if len(src) > 1024 * 10: print_text('file is too big for private key') return 0 try: lines = src.split('\n') idurl = lines[0] txt = '\n'.join(lines[1:]) if idurl != nameurl.FilenameUrl(nameurl.UrlFilename(idurl)): idurl = '' txt = src except: idurl = '' txt = src if idurl == '' and len(args) > 3: idurl = args[3] if idurl == '': print_text('BitDust need to know your IDURL to recover your account\n') return 2 from automats import automat from main import initializer initializer.A('run-cmd-line-recover', {'idurl': idurl, 'keysrc': txt}) reactor.run() automat.objects().clear() if my_id.isLocalIdentityReady(): print_text('your identity were restored:') print_text(my_id.getLocalIdentity().serialize()) else: print_text('identity recovery FAILED') return 0 if args[1].lower() in ['create', 'new', 'register', 'generate', ]: if my_id.isLocalIdentityReady(): print_text('local identity [%s] already exist\n' % my_id.getIDName()) return 1 if running: print_text('BitDust is running at the moment, need to stop the software at first\n') return 0 return _register() if args[1].lower() in ['restore', 'recover', 'read', 'load', ]: if running: print_text('BitDust is running at the moment, need to stop the software at first\n') return 0 return _recover() if args[1].lower() in ['delete', 'remove', 'erase', 'del', 'rm', 'kill']: if running: print_text('BitDust is running at the moment, need to stop the software at first\n') return 0 oldname = my_id.getIDName() my_id.forgetLocalIdentity() my_id.eraseLocalIdentity() print_text('local identity [%s] is no longer exist\n' % oldname) return 0 return 2
def main(): from system import bpio from storage import backup_tar bpio.init() settings.init() lg.set_debug_level(24) lg.life_begins() automat.LifeBegins(lg.when_life_begins()) automat.OpenLogFile(settings.AutomatsLog()) key.InitMyKey() my_id.init() sourcePath = sys.argv[1] compress_mode = 'none' # 'gz' backupID = sys.argv[2] raid_worker.A('init') if bpio.pathIsDir(sourcePath): backupPipe = backup_tar.backuptardir_thread(sourcePath, compress=compress_mode) else: backupPipe = backup_tar.backuptarfile_thread(sourcePath, compress=compress_mode) def _bk_done(bid, result): from crypt import signed customer, remotePath = packetid.SplitPacketID(bid) try: os.mkdir( os.path.join(settings.getLocalBackupsDir(), customer, remotePath + '.out')) except: pass for filename in os.listdir( os.path.join(settings.getLocalBackupsDir(), customer, remotePath)): filepath = os.path.join(settings.getLocalBackupsDir(), customer, remotePath, filename) payld = bpio.ReadBinaryFile(filepath) newpacket = signed.Packet('Data', my_id.getLocalID(), my_id.getLocalID(), filename, payld, 'http://megafaq.ru/cvps1010.xml') newfilepath = os.path.join(settings.getLocalBackupsDir(), customer, remotePath + '.out', filename) bpio.WriteBinaryFile(newfilepath, newpacket.Serialize()) def _bk_closed(*args, **kwargs): # job.automat('fail') # del job reactor.stop() # @UndefinedVariable def _bk_start(): job = backup(backupID, backupPipe, blockSize=16 * 1024 * 1024) job.finishCallback = _bk_done # lambda bid, result: _bk_done(bid, result, job) job.addStateChangedCallback(_bk_closed, oldstate=None, newstate='DONE') reactor.callLater(1, job.automat, 'start') # @UndefinedVariable reactor.callLater(0, _bk_start) # @UndefinedVariable reactor.run() # @UndefinedVariable settings.shutdown()
def main(): lg.life_begins() bpio.init() settings.init() misc.init() my_id.init() identitycache.init() from crypt import key key.InitMyKey() (options, args) = parseCommandLine() settings.override("transport.transport-tcp.transport-tcp-port", options.tcpport) settings.override("transport.transport-udp.transport-udp-port", options.udpport) settings.override("network.network-dht-port", options.dhtport) lg.set_debug_level(options.debug) tmpfile.init() if True: import lib.udp lib.udp.listen(options.udpport) import dht.dht_service dht.dht_service.init(options.dhtport) reactor.addSystemEventTrigger("before", "shutdown", shutdown) init() start() globals()["num_in"] = 0 def _in(a, b, c, d): lg.out(2, "INBOX %d : %r" % (globals()["num_in"], a)) globals()["num_in"] += 1 return True callback.insert_inbox_callback(-1, _in) if len(args) > 0: globals()["num_out"] = 0 def _s(): p = signed.Packet( commands.Data(), my_id.getLocalID(), my_id.getLocalID(), my_id.getLocalID(), bpio.ReadBinaryFile(args[1]), args[0], ) outbox(p, wide=True) lg.out(2, "OUTBOX %d : %r" % (globals()["num_out"], p)) globals()["num_out"] += 1 old_state_changed = transport("udp").state_changed def new_state_changed(oldstate, newstate, event, arg): old_state_changed(oldstate, newstate, event, arg) if newstate == "LISTENING": reactor.callLater(1, _s) transport("udp").state_changed = new_state_changed # t = task.LoopingCall(_s) # reactor.callLater(5, t.start, 60, True) # reactor.callLater(2, t.stop) reactor.run()