63 lines
1.2 KiB
Makefile
63 lines
1.2 KiB
Makefile
CERT_DAYS=10000
|
|
DOMAIN=localhost
|
|
SERVE_REQUEST="./serve-request.sh"
|
|
|
|
|
|
.PHONY: default
|
|
default: server
|
|
|
|
|
|
### Server ---------------------------------------------------------------------
|
|
|
|
.PHONY: server
|
|
server: ncat-server
|
|
|
|
|
|
.PHONY: ncat-server
|
|
ncat-server: certs
|
|
ncat \
|
|
--listen --keep-open -p 1965 \
|
|
--ssl --ssl-cert "certs/${DOMAIN}.crt" --ssl-key "certs/${DOMAIN}.key" \
|
|
--exec ${SERVE_REQUEST}
|
|
|
|
|
|
.PHONY: socat-server
|
|
socat-server: certs
|
|
socat -d \
|
|
OPENSSL-LISTEN:1965,cert=certs/${DOMAIN}.crt,key=certs/${DOMAIN}.key,verify=0,reuseaddr,fork \
|
|
EXEC:${SERVE_REQUEST}
|
|
|
|
|
|
.PHONY: stunnel-server
|
|
stunnel-server: certs
|
|
stunnel stunnel.conf
|
|
|
|
### Certificates ---------------------------------------------------------------
|
|
|
|
.PHONY: show-cert
|
|
show-cert:
|
|
openssl x509 -in "certs/${DOMAIN}.crt" -text
|
|
|
|
|
|
.PHONY: clean-certs
|
|
clean-certs:
|
|
rm -f "certs/${DOMAIN}"*
|
|
|
|
|
|
.PHONY: certs
|
|
certs: \
|
|
certs/${DOMAIN}.crt
|
|
|
|
|
|
certs/${DOMAIN}.crt: certs/${DOMAIN}.key
|
|
mkdir -p certs
|
|
echo -en ".\n.\n.\n.\n.\n.\n${DOMAIN}\n.\n" \
|
|
| openssl req -x509 -nodes \
|
|
-days ${CERT_DAYS} \
|
|
-key "certs/${DOMAIN}.key" \
|
|
-out "certs/${DOMAIN}.crt"
|
|
|
|
certs/${DOMAIN}.key:
|
|
mkdir -p certs
|
|
openssl genrsa -out "$@" 4096
|