41 lines
1.2 KiB
Bash
Executable File
41 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
ZORAXY="http://192.168.10.8:8000"
|
|
ACME_EMAIL="jh@unixweb.de"
|
|
ACTION=$1
|
|
|
|
csrf() {
|
|
CSRF=$(curl -c /tmp/zor.txt -s $ZORAXY/ | grep -oP 'zoraxy.csrf.Token" content="\K[^"]+')
|
|
}
|
|
|
|
case $ACTION in
|
|
add)
|
|
csrf
|
|
curl -s -b /tmp/zor.txt -X POST "$ZORAXY/api/proxy/add" \
|
|
-H "X-CSRF-Token: $CSRF" \
|
|
-d "type=host&rootname=$2&ep=$3&tls=false&tlsval=false&bpwsorg=true&bypassGlobalTLS=false"
|
|
;;
|
|
del)
|
|
csrf
|
|
curl -s -b /tmp/zor.txt -X POST "$ZORAXY/api/proxy/del" \
|
|
-H "X-CSRF-Token: $CSRF" \
|
|
-d "ep=$2"
|
|
;;
|
|
cert)
|
|
csrf
|
|
curl -s -b /tmp/zor.txt "$ZORAXY/api/acme/obtainCert?domains=$2&filename=$2&email=$ACME_EMAIL&ca=&caURL=&skipTLS=false&dns=false&dnsServers=" \
|
|
-H "X-CSRF-Token: $CSRF"
|
|
;;
|
|
list)
|
|
csrf
|
|
curl -s -b /tmp/zor.txt "$ZORAXY/api/proxy/list?type=host" \
|
|
-H "X-CSRF-Token: $CSRF" | jq '.[].RootOrMatchingDomain'
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {add|del|cert|list}"
|
|
echo " add <domain> <ip:port> - Proxy-Eintrag anlegen"
|
|
echo " del <domain> - Proxy-Eintrag löschen"
|
|
echo " cert <domain> - SSL-Zertifikat anfordern"
|
|
echo " list - Alle Domains auflisten"
|
|
;;
|
|
esac
|