def do_managed_client(): """Start the managed-proxy protocol as a client.""" should_start_event_loop = False ptclient = ClientTransportPlugin() try: ptclient.init(transports.transports.keys()) except EnvError, err: log.warning("Client managed-proxy protocol failed (%s)." % err) return
def do_managed_client(): log = logging.get_obfslogger() """Start the managed-proxy protocol as a client.""" should_start_event_loop = False ptclient = ClientTransportPlugin() try: ptclient.init([FTE_PT_NAME]) except EnvError, err: log.warning("Client managed-proxy protocol failed (%s)." % err) return
def do_managed_client(): log.info("I AM HERERER UOOOYOYOYOYOYO") """Start the managed-proxy protocol as a client.""" should_start_event_loop = False log.debug("I AM HERERER") ptclient = ClientTransportPlugin() try: ptclient.init(transports.transports.keys()) log.info("TRANSPORTS", transports.transports.keys()) except EnvError, err: log.warning("Client managed-proxy protocol failed (%s)." % err) return
def main(): logging.basicConfig(\ filename=DIRNAME + '/log/tweakable_client.log', \ filemode='w', \ level=logging.DEBUG) logging.debug("test") client = ClientTransportPlugin() #Try to init pyptlib pluggin for the client for each transport try: client.init(supported_transports=["twkbl"]) except EnvError, err: logging.warning("pyptlib could not bootstrap ('%s')." % str(err))
#!/usr/bin/python # -*- coding: utf-8 -*- """This is a client-side example of the pyptlib API.""" import sys from pyptlib.client import ClientTransportPlugin from pyptlib.config import EnvError if __name__ == '__main__': client = ClientTransportPlugin() try: client.init(["blackfish", "bluefish"]) except EnvError as err: print("pyptlib could not bootstrap ('%s')." % str(err)) sys.exit(1) for transport in client.getTransports(): # Spawn all the transports in the list, and for each spawned # transport report back the port where it is listening, and # the SOCKS version it supports. try: socks_version, bind_addrport = your_function_that_launches_transports( transport) except YourFailException as err: reportFailure(transport, "Failed to launch ('%s')." % str(err)) continue client.reportMethodSuccess(transport, socks_version, bind_addrport, None, None)
def do_managed_client(): """Start the managed-proxy protocol as a client.""" should_start_event_loop = False ptclient = ClientTransportPlugin() try: ptclient.init(transports.transports.keys()) except EnvError as err: log.warning("Client managed-proxy protocol failed (%s)." % err) return log.debug("pyptlib gave us the following data:\n'%s'", pprint.pformat(ptclient.getDebugData())) # Apply the proxy settings if any proxy = ptclient.config.getProxy() if proxy: # Make sure that we have all the necessary dependencies try: network.ensure_outgoing_proxy_dependencies() except network.OutgoingProxyDepsFailure as err: ptclient.reportProxyError(str(err)) return ptclient.reportProxySuccess() for transport in ptclient.getTransports(): # Will hold configuration parameters for the pluggable transport module. pt_config = transport_config.TransportConfig() pt_config.setStateLocation(ptclient.config.getStateLocation()) pt_config.setListenerMode("socks") pt_config.setObfsproxyMode("managed") pt_config.setProxy(proxy) # Call setup() method for this transport. transport_class = transports.get_transport_class(transport, 'socks') try: transport_class.setup(pt_config) except base.TransportSetupFailed as err: log.warning("Transport '%s' failed during setup()." % transport) ptclient.reportMethodError(transport, "setup() failed: %s." % (err)) continue try: addrport = launch_transport.launch_transport_listener(transport, None, 'socks', None, pt_config) except transports.TransportNotFound: log.warning("Could not find transport '%s'" % transport) ptclient.reportMethodError(transport, "Could not find transport.") continue except error.CannotListenError as e: error_msg = "Could not set up listener (%s:%s) for '%s' (%s)." % \ (e.interface, e.port, transport, e.socketError[1]) log.warning(error_msg) ptclient.reportMethodError(transport, error_msg) continue should_start_event_loop = True log.debug("Successfully launched '%s' at '%s'" % (transport, log.safe_addr_str(str(addrport)))) ptclient.reportMethodSuccess(transport, "socks5", addrport, None, None) ptclient.reportMethodsEnd() if should_start_event_loop: log.info("Starting up the event loop.") reactor.run() else: log.info("No transports launched. Nothing to do.")