コード例 #1
0
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
コード例 #2
0
ファイル: cli.py プロジェクト: sr14978/ICproxy
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
コード例 #3
0
ファイル: client.py プロジェクト: srxzr/Tor-plug-DNN
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
コード例 #4
0
ファイル: client.py プロジェクト: ylaker/tweakable-pt
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))
コード例 #5
0
ファイル: client.py プロジェクト: notem/pyptlib3
#!/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)
コード例 #6
0
ファイル: client.py プロジェクト: gyohng/obfsproxy
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.")