aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/cheat/mkcert
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2019-09-05 07:05:07 +0200
committerneodarz <neodarz@neodarz.net>2019-09-05 07:05:07 +0200
commite0c0d4b38cde20e2300e86b69414dd9851b47456 (patch)
tree5df65243447352a9637d1f783247bfd5ccff2ef4 /dotfiles/cheat/mkcert
parentdc45bf89a66ec6c8cd25cf5605deb853f6984705 (diff)
downloaddotfiles_dotdrop-e0c0d4b38cde20e2300e86b69414dd9851b47456.tar.xz
dotfiles_dotdrop-e0c0d4b38cde20e2300e86b69414dd9851b47456.zip
ooo
Diffstat (limited to '')
-rw-r--r--dotfiles/cheat/mkcert38
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")