def run(fn): ctx = {'exit_code': 0} @_o def _run_async(ctx): try: yield fn() except Exception: traceback.print_exc(file=sys.stdout) ctx['exit_code'] = 1 finally: eventloop.halt() launch(_run_async, ctx) eventloop.run() sys.exit(ctx['exit_code'])
def __init__(self): self.handler = ProxyHandler(*getORPort()) self.supportedTransports = { 'dummy': DummyServer, 'rot13': Rot13Server, 'dust': DustServer, 'obfs3': Obfs3Server, } matchedTransports = init(self.supportedTransports) for transport in matchedTransports: try: self.launchServer(transport, 1051) reportSuccess(transport, ('127.0.0.1', 1051), None) except TransportLaunchException: reportFailure(transport, 'Failed to launch') reportEnd() eventloop.run()
def __init__(self): self.handler = SocksHandler() self.supportedTransports = { "dummy": DummyClient, "rot13": Rot13Client, "dust": DustClient, "obfs3": Obfs3Client, } matchedTransports = init(self.supportedTransports.keys()) for transport in matchedTransports: try: logging.error("Launching %s" % transport) self.launchClient(transport, 8182) reportSuccess(transport, 5, ("127.0.0.1", 8182), None, None) except TransportLaunchException: reportFailure(transport, "Failed to launch") reportEnd() eventloop.run()
def __init__(self): self.handler = SocksHandler() self.supportedTransports = { 'dummy': DummyClient, 'rot13': Rot13Client, 'dust': DustClient, 'obfs3': Obfs3Client, } matchedTransports = init(self.supportedTransports.keys()) for transport in matchedTransports: try: logging.error('Launching %s' % transport) self.launchClient(transport, 8182) reportSuccess(transport, 5, ('127.0.0.1', 8182), None, None) except TransportLaunchException: reportFailure(transport, 'Failed to launch') reportEnd() eventloop.run()
@_o def handle_socksDust(conn): print('connection') client = Client() yield client.connect('blanu.net', 7051) coder = yield handshake(client) monocle.launch(pump, conn, client, coder.encrypt) yield pump(client, conn, coder.decrypt) @_o def handshake(conn): ekeypair = createEphemeralKeypair() yield conn.write(ekeypair.public.bytes) epub = yield conn.read(KEY_SIZE) esession = makeEphemeralSession(ekeypair, epub) coder = lite_socket(esession) yield Return(coder) add_service(Service(handle_socksDust, port=7050)) eventloop.run()
def proc_wrapper(): eventloop.queue_task(0, target, *args, **kwargs) eventloop.run()
import sys import monocle from monocle import _o, Return monocle.init(sys.argv[1]) from monocle.stack import eventloop from monocle.stack.network import add_service from monocle.stack.network.http import HttpHeaders, HttpServer @_o def hello_http(req): content = "Hello, World!" headers = HttpHeaders() headers.add('Content-Length', len(content)) headers.add('Content-Type', 'text/plain') headers.add('Connection', 'close') headers.add('Set-Cookie', 'test0=blar; Path=/') headers.add('Set-Cookie', 'test1=blar; Path=/') yield Return(200, headers, content) add_service(HttpServer(hello_http, 8088)) eventloop.run()
def proc_wrapper(): launch(target, *args, **kwargs) eventloop.run()
def main(args): parser = argparse.ArgumentParser(description="runs monocle tests") parser.add_argument('--verbose', '-v', action='store_true', default=False, help="verbose mode") parser.add_argument('stack', help="monocle stack to use") parser.add_argument('paths', nargs=argparse.REMAINDER, help="args for nosetests") args = parser.parse_args() monocle.init(args.stack) from monocle.stack import eventloop hook = rewrite.make_assertion_hook() sys.meta_path.insert(0, hook) class State(object): debug = False def trace(self, msg): if self.debug: print(msg) class Config(object): _assertstate = State() class Session(object): config = Config() def isinitpath(self, fn): return False hook.session = Session() paths = set() all_tests = [] test_files = [] for path in args.paths: if os.path.isfile(path): paths.add(os.path.dirname(path)) file = os.path.basename(path) all_tests.append(file[:-3]) test_files.append(path) elif os.path.isdir(path): for top, dirs, files in os.walk(path): for file in files: if file.endswith(".py"): paths.add(top) all_tests.append(file[:-3]) test_files.append(os.path.join(top, file)) else: print("Unknown file or directory", path) return sys.path.extend(paths) imported_tests = [] hook.fnpats = test_files for test in all_tests: try: m = __import__(test, globals(), locals()) if hasattr(m, "test"): imported_tests.extend(m.test.__globals__['_tests']) except Exception as e: print(test, str(e)) _tests.extend(set(imported_tests)) random.shuffle(_tests) monocle.launch(run, _tests, args.verbose) eventloop.run()
def main(args): parser = argparse.ArgumentParser( description="runs monocle tests") parser.add_argument('--verbose', '-v', action='store_true', default=False, help="verbose mode") parser.add_argument('stack', help="monocle stack to use") parser.add_argument('paths', nargs=argparse.REMAINDER, help="args for nosetests") args = parser.parse_args() monocle.init(args.stack) from monocle.stack import eventloop hook = rewrite.make_assertion_hook() sys.meta_path.insert(0, hook) class State(object): debug = False def trace(self, msg): if self.debug: print(msg) class Config(object): _assertstate = State() class Session(object): config = Config() def isinitpath(self, fn): return False hook.session = Session() paths = set() all_tests = [] test_files = [] for path in args.paths: if os.path.isfile(path): paths.add(os.path.dirname(path)) file = os.path.basename(path) all_tests.append(file[:-3]) test_files.append(path) elif os.path.isdir(path): for top, dirs, files in os.walk(path): for file in files: if file.endswith(".py"): paths.add(top) all_tests.append(file[:-3]) test_files.append(os.path.join(top, file)) else: print("Unknown file or directory", path) return sys.path.extend(paths) imported_tests = [] hook.fnpats = test_files for test in all_tests: try: m = __import__(test, globals(), locals()) if hasattr(m, "test"): imported_tests.extend(m.test.__globals__['_tests']) except Exception as e: print(test, str(e)) _tests.extend(set(imported_tests)) random.shuffle(_tests) monocle.launch(run, _tests, args.verbose) eventloop.run()
def proc_wrapper(): eventloop.queue_task(0, target, *args, **kwargs) eventloop.run()