Beispiel #1
0
class SocksProxy(ActorProcess):
    timeout = 60

    def __init__(self, coordinator, matcher):
        super(SocksProxy, self).__init__()
        self.coordinator = coordinator
        self.matcher = matcher

        confdata = self.coordinator.get('confdata')
        self.ip = confdata['socks_proxy_ip']
        self.port = confdata['socks_proxy_port']

    def run(self):
        init_logging()
        self.relayfactory = FireflyRelayFactory(self.matcher, self.timeout)
        self.proxy = SocksServer(self.ip, self.port, self.relayfactory)
        self.proxy.run()

    def IPC_addr(self):
        return (self.ip, self.port)

    def IPC_update_matcher(self, matcher):
        self.matcher = matcher
        self.relayfactory.set_matcher(matcher)

    def IPC_url(self):
        return "socks5://%s:%d" % (str(self.ip), self.port)
Beispiel #2
0
class SocksProxy(IPC_Process):
    timeout = 60
    
    def __init__(self, hub_ref, forward_match):
        super(SocksProxy, self).__init__()
        self.hub_ref = hub_ref
        self.forward_match = forward_match
        self.process = None
        
        confdata = self.hub_ref.get('confdata')
        self.proxy_ip = confdata['socks_proxy_ip']
        self.proxy_port = confdata['socks_proxy_port']
        
        
    def run(self):
        self.relayfactory = SmartRelayFactory(self.forward_match, self.timeout)
        self.proxy = SocksServer(self.proxy_ip, self.proxy_port, self.relayfactory)
        self.proxy.run()
        
    def IPC_update_forward_match(self, forward_match):
        self.forward_match = forward_match
        self.relayfactory.set_match(self.forward_match)
        
    def IPC_addr(self):
        return (str(self.proxy_ip), self.proxy_port)
    
    def IPC_url(self):
        return "socks5://%s:%d" % (str(self.proxy_ip), self.proxy_port)
    
        
        
        
Beispiel #3
0
class SocksProxy(IPC_Process):
    timeout = 60

    def __init__(self, hub_ref, forward_match):
        super(SocksProxy, self).__init__()
        self.hub_ref = hub_ref
        self.forward_match = forward_match
        self.process = None

        confdata = self.hub_ref.get('confdata')
        self.proxy_ip = confdata['socks_proxy_ip']
        self.proxy_port = confdata['socks_proxy_port']

    def run(self):
        self.relayfactory = SmartRelayFactory(self.forward_match, self.timeout)
        self.proxy = SocksServer(self.proxy_ip, self.proxy_port,
                                 self.relayfactory)
        self.proxy.run()

    def IPC_update_forward_match(self, forward_match):
        self.forward_match = forward_match
        self.relayfactory.set_match(self.forward_match)

    def IPC_addr(self):
        return (str(self.proxy_ip), self.proxy_port)

    def IPC_url(self):
        return "socks5://%s:%d" % (str(self.proxy_ip), self.proxy_port)
Beispiel #4
0
class SocksProxy(ActorProcess):
    timeout = 60

    def __init__(self, coordinator, matcher):
        super(SocksProxy, self).__init__()
        self.coordinator = coordinator
        self.matcher = matcher

        confdata = self.coordinator.get("confdata")
        self.ip = confdata["socks_proxy_ip"]
        self.port = confdata["socks_proxy_port"]

    def run(self):
        init_logging()
        self.relayfactory = FireflyRelayFactory(self.matcher, self.timeout)
        self.proxy = SocksServer(self.ip, self.port, self.relayfactory)
        self.proxy.run()

    def IPC_addr(self):
        return (self.ip, self.port)

    def IPC_update_matcher(self, matcher):
        self.matcher = matcher
        self.relayfactory.set_matcher(matcher)

    def IPC_url(self):
        return "socks5://%s:%d" % (str(self.ip), self.port)
Beispiel #5
0
def main():
    if len(sys.argv) < 5:
        usage(f = sys.stderr)
        sys.exit(-1)
        
    http_ip = sys.argv[1]
    http_port = int(sys.argv[2])
    socksip = sys.argv[3]
    socksport = int(sys.argv[4])
    
    opts, _ = getopt.gnu_getopt(sys.argv[5:], "hdp:l:",
                            ["help", "debug", "pidfile=", "logfile="])
    for o, a in opts:
        if o == "-h" or o == "--help":
            usage()
            sys.exit()
        if o == "-d" or o == "--debug":
            options.logginglevel = logging.DEBUG
        elif o == "-p" or o == "--pidfile":
            options.daemonize = True
            options.pidfile = a
        elif o == "-l" or o == "--logfile":
            options.daemonize = True
            options.logfile = a
            
    if options.daemonize:
        pid = os.fork()
        if pid != 0:
            # write pidfile by father
            f = open(options.pidfile, "w")
            print >> f, pid
            f.close()
            sys.exit(0)
    
    if options.daemonize:
        logger = logging.getLogger()
        logger.setLevel(options.logginglevel)
        ch = WatchedFileHandler(options.logfile)
        ch.setFormatter(logging.Formatter('[%(asctime)s][%(name)s][%(levelname)s] - %(message)s'))
        logger.addHandler(ch)
    else:
        logging.basicConfig(
            format='[%(asctime)s][%(name)s][%(levelname)s] - %(message)s',
            datefmt='%Y-%d-%m %H:%M:%S',
            level=options.logginglevel,    
        )
    
    socks = SocksServer(socksip, socksport, SocksRelayFactory(), timeout=30, maxclient=500)
    socks.start()

    globalvars.socksip = socksip
    globalvars.socksport = socksport
    globalvars.sockstimeout = 60
    WSGIServer((http_ip, http_port), meek_server_application, log=None).serve_forever()
Beispiel #6
0
 def run(self):
     self.relayfactory = SmartRelayFactory(self.forward_match, self.timeout)
     self.proxy = SocksServer(self.proxy_ip, self.proxy_port, self.relayfactory)
     self.proxy.run()
Beispiel #7
0
 def run(self):
     init_logging()
     self.relayfactory = FireflyRelayFactory(self.matcher, self.timeout)
     self.proxy = SocksServer(self.ip, self.port, self.relayfactory)
     self.proxy.run()
Beispiel #8
0
 def run(self):
     self.relayfactory = SmartRelayFactory(self.forward_match, self.timeout)
     self.proxy = SocksServer(self.proxy_ip, self.proxy_port,
                              self.relayfactory)
     self.proxy.run()
Beispiel #9
0
 def run(self):
     init_logging()
     self.relayfactory = FireflyRelayFactory(self.matcher, self.timeout)
     self.proxy = SocksServer(self.ip, self.port, self.relayfactory)
     self.proxy.run()