Exemplo n.º 1
0
    def __init__(self, config):
        UpstreamBase.__init__(self, config)

        self.socks5_hostname = config.get('host')
        self.socks5_port = config.get('port')

        if self.socks5_hostname is None or self.socks5_port is None:
            ms = u'[配置错误] host、port 不能为空! upstream-type:%s' % self.type
            raise ConfigError(ms)

        class socket(SocketBase):
            # TODO: 停掉一些不支持方法。
            def __init__(self,
                         family=_socket.AF_INET,
                         type=_socket.SOCK_STREAM,
                         proto=0,
                         _sock=None):
                if _sock is None:
                    _sock = socket.upstream.socket(family=family,
                                                   type=type,
                                                   proto=proto)
                SocketBase.__init__(self, _sock)

        socket.socks5_hostname = self.socks5_hostname
        socket.socks5_port = self.socks5_port
        socket.upstream = self.upstream

        self.socket = socket
Exemplo n.º 2
0
    def __init__(self, config):
        u""" 初始化直连 socket 环境 """
        UpstreamBase.__init__(self, config=config)

        self.source_ip = config.get('source_ip', '0.0.0.0')
        self.source_port = config.get('source_port', 0)

        self.route_cache = LRUCacheDict(500, 10 * 60 * 1000)

        if self.source_ip == '0.0.0.0' and self.source_port == 0:
            self.source_address = None
        else:
            self.source_address = (self.source_ip, self.source_port)

        class socket(SocketBase):
            def __init__(self,
                         family=_socket.AF_INET,
                         type=_socket.SOCK_STREAM,
                         proto=0,
                         _sock=None):
                if _sock is None:
                    _sock = socket.upsocket.socket(family=family,
                                                   type=type,
                                                   proto=proto)
                    _sock.bind(self.source_address)
                SocketBase.__init__(self, _sock)

        socket.source_address = self.source_address
        socket.upstream = self.upstream
        socket.display_name = self.get_display_name()
        socket.name = self.get_name()

        self.socket = socket
Exemplo n.º 3
0
    def __init__(self,config):
        u""" 初始化直连 socket 环境 """
        UpstreamBase.__init__(self,config=config)

        self.source_ip = config.get('source_ip','0.0.0.0')
        self.source_port = config.get('source_port',0)

        self.route_cache = LRUCacheDict(500, 10 * 60 * 1000)

        if self.source_ip == '0.0.0.0' and self.source_port==0:
            self.source_address = None
        else:
            self.source_address=(self.source_ip,self.source_port)

        class socket(SocketBase):
            def __init__(self, family=_socket.AF_INET, type=_socket.SOCK_STREAM, proto=0,_sock=None):
                if _sock is None:
                    _sock = socket.upsocket.socket(family=family,type=type,proto=proto)
                    _sock.bind(self.source_address)
                SocketBase.__init__(self,_sock)

        socket.source_address = self.source_address
        socket.upstream = self.upstream

        self.socket = socket
Exemplo n.º 4
0
    def __init__(self, config):
        UpstreamBase.__init__(self, config)

        self.socks5_hostname = config.get('host')
        self.socks5_port = config.get('port')

        if self.socks5_hostname is None or self.socks5_port is None:
            ms = u'[配置错误] host、port 不能为空! upstream-type:%s' % self.type
            raise ConfigError(ms)

        class socket(SocketBase):
            # TODO: 停掉一些不支持方法。
            def __init__(self, family=_socket.AF_INET, type=_socket.SOCK_STREAM, proto=0, _sock=None):
                if _sock is None:
                    _sock = socket.upstream.socket(family=family, type=type, proto=proto)
                SocketBase.__init__(self, _sock)

        socket.socks5_hostname = self.socks5_hostname
        socket.socks5_port = self.socks5_port
        socket.upstream = self.upstream

        self.socket = socket