def _setup(self, provider): """ Set up EIPManager for a specified provider. :param provider: the provider to use, e.g. 'demo.bitmask.net' :type provider: str """ # XXX picked manually from eip-service.json remotes = ( ("198.252.153.84", "1194"), ("46.165.242.169", "1194"), ) prefix = os.path.join(self._basepath, "leap/providers/{0}/keys".format(provider)) cert_path = key_path = prefix + "/client/openvpn.pem" ca_path = prefix + "/ca/cacert.pem" # XXX picked manually from eip-service.json extra_flags = { "auth": "SHA1", "cipher": "AES-128-CBC", "keepalive": "10 30", "tls-cipher": "DHE-RSA-AES128-SHA", "tun-ipv6": "true", } self._eip = EIPManager(remotes, cert_path, key_path, ca_path, extra_flags)
class EIPService(service.Service, HookableService): def __init__(self): super(EIPService, self).__init__() # XXX picked manually from eip-service.json remotes = ( ("198.252.153.84", "1194"), ("46.165.242.169", "1194"), ) prefix = os.path.join(get_path_prefix(), "leap/providers/demo.bitmask.net/keys") cert_path = key_path = prefix + "/client/openvpn.pem" ca_path = prefix + "/ca/cacert.pem" extra_flags = { "auth": "SHA1", "cipher": "AES-128-CBC", "keepalive": "10 30", "tls-cipher": "DHE-RSA-AES128-SHA", "tun-ipv6": "true", } self._eip = EIPManager(remotes, cert_path, key_path, ca_path, extra_flags) def startService(self): print "Starting EIP Service..." super(EIPService, self).startService() def stopService(self): print "Stopping EIP Service..." super(EIPService, self).stopService() def do_start(self): self._eip.start() return "Starting" def do_stop(self): self._eip.stop() return "Stopping"
def main(): # XXX HACK picked manually from eip-service.json remotes = ( ("198.252.153.84", "1194"), ("46.165.242.169", "1194"), ) prefix = os.path.join(get_path_prefix(), "leap/providers/demo.bitmask.net/keys") cert_path = key_path = prefix + "/client/openvpn.pem" ca_path = prefix + "/ca/cacert.pem" extra_flags = { "auth": "SHA1", "cipher": "AES-128-CBC", "keepalive": "10 30", "tls-cipher": "DHE-RSA-AES128-SHA", "tun-ipv6": "true", } eip = EIPManager(remotes, cert_path, key_path, ca_path, extra_flags) reactor.addSystemEventTrigger('before', 'shutdown', eip.stop) eip.start()
class EIPService(service.Service, HookableService): def __init__(self, basepath=None): """ Initialize EIP service """ super(EIPService, self).__init__() self._started = False if basepath is None: self._basepath = get_path_prefix() else: self._basepath = basepath def _setup(self, provider): """ Set up EIPManager for a specified provider. :param provider: the provider to use, e.g. 'demo.bitmask.net' :type provider: str """ # XXX picked manually from eip-service.json remotes = ( ("198.252.153.84", "1194"), ("46.165.242.169", "1194"), ) prefix = os.path.join(self._basepath, "leap/providers/{0}/keys".format(provider)) cert_path = key_path = prefix + "/client/openvpn.pem" ca_path = prefix + "/ca/cacert.pem" # XXX picked manually from eip-service.json extra_flags = { "auth": "SHA1", "cipher": "AES-128-CBC", "keepalive": "10 30", "tls-cipher": "DHE-RSA-AES128-SHA", "tun-ipv6": "true", } self._eip = EIPManager(remotes, cert_path, key_path, ca_path, extra_flags) def startService(self): print "Starting EIP Service..." super(EIPService, self).startService() def stopService(self): print "Stopping EIP Service..." super(EIPService, self).stopService() def do_start(self, domain): self._setup(domain) self._eip.start() self._started = True return "Starting" def do_stop(self): if self._started: self._eip.stop() self._started = False return "Stopping" else: return "Not started"