mirror of
https://github.com/cmehay/docker-tor-hidden-service.git
synced 2025-04-19 21:39:13 +00:00
Fix tor configuration parsing to avoid loading of secrets
This commit is contained in:
parent
3434863f10
commit
a37645543f
5 changed files with 408 additions and 410 deletions
|
@ -1 +1 @@
|
||||||
0.4.4.7
|
0.4.5.6
|
||||||
|
|
|
@ -24,12 +24,8 @@ services:
|
||||||
|
|
||||||
# Set secret for key, use the same name as the service
|
# Set secret for key, use the same name as the service
|
||||||
secrets:
|
secrets:
|
||||||
- source: foo
|
- foo
|
||||||
target: foo
|
- bar
|
||||||
mode: 0400
|
|
||||||
- source: bar
|
|
||||||
target: bar
|
|
||||||
mode: 0400
|
|
||||||
|
|
||||||
hello:
|
hello:
|
||||||
image: tutum/hello-world
|
image: tutum/hello-world
|
||||||
|
|
|
@ -113,9 +113,9 @@ class Setup(object):
|
||||||
assert len(key) > 800
|
assert len(key) > 800
|
||||||
self.setup[host]['key'] = key
|
self.setup[host]['key'] = key
|
||||||
|
|
||||||
def _load_keys_in_services(self):
|
def _load_keys_in_services(self, secret=True):
|
||||||
for service in self.services:
|
for service in self.services:
|
||||||
service.load_key()
|
service.load_key(secret=secret)
|
||||||
|
|
||||||
def _get_service(self, host, service):
|
def _get_service(self, host, service):
|
||||||
self._add_host(host)
|
self._add_host(host)
|
||||||
|
@ -437,7 +437,7 @@ class Onions(Setup):
|
||||||
service.add_ports(service_dict['ports'])
|
service.add_ports(service_dict['ports'])
|
||||||
if service not in group.services:
|
if service not in group.services:
|
||||||
group.add_service(service)
|
group.add_service(service)
|
||||||
self._load_keys_in_services()
|
self._load_keys_in_services(secret=False)
|
||||||
|
|
||||||
if not os.path.exists(self.torrc):
|
if not os.path.exists(self.torrc):
|
||||||
return
|
return
|
||||||
|
@ -489,16 +489,16 @@ def main():
|
||||||
logging.getLogger().setLevel(logging.WARNING)
|
logging.getLogger().setLevel(logging.WARNING)
|
||||||
try:
|
try:
|
||||||
onions = Onions()
|
onions = Onions()
|
||||||
if args.setup:
|
|
||||||
onions.setup_hosts()
|
|
||||||
else:
|
|
||||||
onions.torrc_parser()
|
|
||||||
if args.vanguards:
|
if args.vanguards:
|
||||||
onions.run_vanguards()
|
onions.run_vanguards()
|
||||||
return
|
return
|
||||||
if args.resolve_control_port:
|
if args.resolve_control_port:
|
||||||
onions.resolve_control_port()
|
onions.resolve_control_port()
|
||||||
return
|
return
|
||||||
|
if args.setup:
|
||||||
|
onions.setup_hosts()
|
||||||
|
else:
|
||||||
|
onions.torrc_parser()
|
||||||
except BaseException as e:
|
except BaseException as e:
|
||||||
logging.exception(e)
|
logging.exception(e)
|
||||||
error_msg = str(e)
|
error_msg = str(e)
|
||||||
|
|
|
@ -113,9 +113,10 @@ class ServicesGroup(object):
|
||||||
with open(key_file, 'rb') as f:
|
with open(key_file, 'rb') as f:
|
||||||
self._onion.set_private_key_from_file(f)
|
self._onion.set_private_key_from_file(f)
|
||||||
|
|
||||||
def load_key(self, override=False):
|
def load_key(self, override=False, secret=True):
|
||||||
if self.imported_key and not override:
|
if self.imported_key and not override:
|
||||||
return
|
return
|
||||||
|
if secret:
|
||||||
self.load_key_from_secrets()
|
self.load_key_from_secrets()
|
||||||
self.load_key_from_conf()
|
self.load_key_from_conf()
|
||||||
|
|
||||||
|
|
797
poetry.lock
generated
797
poetry.lock
generated
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue