diff options
author | neodarz <neodarz@neodarz.net> | 2019-09-05 07:05:07 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2019-09-05 07:05:07 +0200 |
commit | e0c0d4b38cde20e2300e86b69414dd9851b47456 (patch) | |
tree | 5df65243447352a9637d1f783247bfd5ccff2ef4 /dotfiles/cheat/mkcert | |
parent | dc45bf89a66ec6c8cd25cf5605deb853f6984705 (diff) | |
download | dotfiles_dotdrop-e0c0d4b38cde20e2300e86b69414dd9851b47456.tar.xz dotfiles_dotdrop-e0c0d4b38cde20e2300e86b69414dd9851b47456.zip |
ooo
Diffstat (limited to 'dotfiles/cheat/mkcert')
-rw-r--r-- | dotfiles/cheat/mkcert | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/dotfiles/cheat/mkcert b/dotfiles/cheat/mkcert new file mode 100644 index 0000000..2b673c8 --- /dev/null +++ b/dotfiles/cheat/mkcert @@ -0,0 +1,38 @@ +# Generate certs for localhost + some addresses +mkcert -cert-file localhost.pem -key-file localhost.key.pem localhost $(/sbin/ip -4 -o addr | /usr/bin/awk '{gsub(/\/.*/,"",$4); print $4}' | /usr/bin/sed ':a;N;$!ba;s/\n/ /g') <addresses> + +# Auto generate cert from current apache conf and current ip addresses + +#!/usr/bin/python3 +import re +from subprocess import call +import netifaces as ni +import shutil + +url = [] + +# Search for all servername enable in apache conf +file = open("/etc/httpd/conf/httpd.conf") +for line in file: + if re.search("^Include", line): + conf = open("/etc/httpd/"+line.split()[1]) + for conf_line in conf: + if re.search("^ ServerName", conf_line): + if conf_line.split()[1] not in url: + url.append(conf_line.split()[1]) + conf.close() +file.close() + +# Add localhost +if "localhost" not in url: + url.append("localhost") + +# Get all current ip +for interfaces in ni.interfaces(): + ip = ni.ifaddresses(interfaces)[ni.AF_INET][0]['addr'] + if ip not in url: + url.append(ip) + +call(["mkcert", "-cert-file", "localhost.pem", "-key-file", "localhost.key.pem"] + url) +shutil.move("localhost.pem", "/etc/ssl/certs/localhost.pem") +shutil.move("localhost.key.pem", "/etc/ssl/certs/localhost.key.pem") |