Files
Hippolyzer/hippolyzer/lib/proxy/ca_utils.py

34 lines
953 B
Python
Raw Normal View History

2021-04-30 17:30:24 +00:00
from pathlib import Path
import shutil
from hippolyzer.lib.proxy.viewer_settings import iter_viewer_config_dirs, has_settings_file
2021-04-30 17:30:24 +00:00
class InvalidConfigDir(Exception):
pass
def setup_ca(config_path, mitmproxy_master):
p = Path(config_path)
if not p.exists():
raise InvalidConfigDir("Config path does not exist!")
if not has_settings_file(p):
2021-04-30 17:30:24 +00:00
raise InvalidConfigDir("Path is not a second life config dir!")
mitmproxy_conf_dir = Path(mitmproxy_master.options.confdir)
mitmproxy_ca_path = (mitmproxy_conf_dir.expanduser() / "mitmproxy-ca-cert.pem")
shutil.copy(mitmproxy_ca_path, p / "user_settings" / "CA.pem")
2021-04-30 17:30:24 +00:00
def setup_ca_everywhere(mitmproxy_master):
valid_paths = set()
paths = iter_viewer_config_dirs()
2021-04-30 17:30:24 +00:00
for path in paths:
try:
setup_ca(path, mitmproxy_master)
valid_paths.add(path)
except InvalidConfigDir:
pass
return valid_paths