diff --git a/.gitignore b/.gitignore index be12549..7b1bcb0 100644 --- a/.gitignore +++ b/.gitignore @@ -114,6 +114,10 @@ ENV/ env.bak/ venv.bak/ +# direnv +.envrc +.direnv/ + # Spyder project settings .spyderproject .spyproject diff --git a/README.md b/README.md index a5b93b5..99f804a 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,10 @@ For networks that sit behind a proxy, it may be necessary to disable SSL verific will disable SSL certificate inspection. This __should be avoided__ unless absolutely necessary. +Alternatively, It is possible to use a different certificate store/bundle by setting: + +* `TLDR_CERT=/path/to/certificates.crt` + ### Colors Values of the `TLDR_COLOR_x` variables may consist of three parts: diff --git a/tldr.py b/tldr.py index e4d2b28..ecbf0e6 100755 --- a/tldr.py +++ b/tldr.py @@ -34,12 +34,16 @@ USE_NETWORK = int(os.environ.get('TLDR_NETWORK_ENABLED', '1')) > 0 USE_CACHE = int(os.environ.get('TLDR_CACHE_ENABLED', '1')) > 0 MAX_CACHE_AGE = int(os.environ.get('TLDR_CACHE_MAX_AGE', 24*7)) +CAFILE = None if os.environ.get('TLDR_CERT', None) is None else \ + Path(os.environ.get('TLDR_CERT')).expanduser() URLOPEN_CONTEXT = None if int(os.environ.get('TLDR_ALLOW_INSECURE', '0')) == 1: URLOPEN_CONTEXT = ssl.create_default_context() URLOPEN_CONTEXT.check_hostname = False URLOPEN_CONTEXT.verify_mode = ssl.CERT_NONE +elif CAFILE: + URLOPEN_CONTEXT = ssl.create_default_context(cafile=CAFILE) OS_DIRECTORIES = { "android": "android",