|
|
@ -15,7 +15,7 @@ init() {
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
while getopts "h?N:E:" opt; do
|
|
|
|
while getopts "h?N:E:" opt; do
|
|
|
|
case "$opt" in
|
|
|
|
case "$opt" in
|
|
|
|
h|\?) usage ;;
|
|
|
|
h | \?) usage ;;
|
|
|
|
N) provider_name=$(echo "$OPTARG" | sed -e 's/^[ \t]*//' | tr A-Z a-z) ;;
|
|
|
|
N) provider_name=$(echo "$OPTARG" | sed -e 's/^[ \t]*//' | tr A-Z a-z) ;;
|
|
|
|
E) ext_address=$(echo "$OPTARG" | sed -e 's/^[ \t]*//' | tr A-Z a-z) ;;
|
|
|
|
E) ext_address=$(echo "$OPTARG" | sed -e 's/^[ \t]*//' | tr A-Z a-z) ;;
|
|
|
|
esac
|
|
|
|
esac
|
|
|
@ -24,20 +24,23 @@ init() {
|
|
|
|
case "$provider_name" in
|
|
|
|
case "$provider_name" in
|
|
|
|
.*) usage ;;
|
|
|
|
.*) usage ;;
|
|
|
|
2.dnscrypt-cert.*) ;;
|
|
|
|
2.dnscrypt-cert.*) ;;
|
|
|
|
*) provider_name="2.dnscrypt-cert.${provider_name}"
|
|
|
|
*) provider_name="2.dnscrypt-cert.${provider_name}" ;;
|
|
|
|
esac
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
|
|
[ -z "$ext_address" ] && usage
|
|
|
|
[ -z "$ext_address" ] && usage
|
|
|
|
case "$ext_address" in
|
|
|
|
case "$ext_address" in
|
|
|
|
.*) usage ;;
|
|
|
|
.*) usage ;;
|
|
|
|
0.*) echo "Do not use 0.0.0.0, use an actual external IP address" >&2 ; exit 1 ;;
|
|
|
|
0.*)
|
|
|
|
|
|
|
|
echo "Do not use 0.0.0.0, use an actual external IP address" >&2
|
|
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
|
|
echo "Provider name: [$provider_name]"
|
|
|
|
echo "Provider name: [$provider_name]"
|
|
|
|
cd "$KEYS_DIR"
|
|
|
|
cd "$KEYS_DIR"
|
|
|
|
/opt/dnscrypt-wrapper/sbin/dnscrypt-wrapper \
|
|
|
|
/opt/dnscrypt-wrapper/sbin/dnscrypt-wrapper \
|
|
|
|
--gen-provider-keypair --nolog --dnssec --nofilter \
|
|
|
|
--gen-provider-keypair --nolog --dnssec --nofilter \
|
|
|
|
--provider-name="$provider_name" --ext-address="$ext_address" | \
|
|
|
|
--provider-name="$provider_name" --ext-address="$ext_address" |
|
|
|
|
tee "${KEYS_DIR}/provider-info.txt"
|
|
|
|
tee "${KEYS_DIR}/provider-info.txt"
|
|
|
|
chmod 640 "${KEYS_DIR}/secret.key"
|
|
|
|
chmod 640 "${KEYS_DIR}/secret.key"
|
|
|
|
chmod 644 "${KEYS_DIR}/public.key"
|
|
|
|
chmod 644 "${KEYS_DIR}/public.key"
|
|
|
@ -108,7 +111,10 @@ EOT
|
|
|
|
|
|
|
|
|
|
|
|
case "$action" in
|
|
|
|
case "$action" in
|
|
|
|
start) start ;;
|
|
|
|
start) start ;;
|
|
|
|
init) shift ; init $* ;;
|
|
|
|
init)
|
|
|
|
|
|
|
|
shift
|
|
|
|
|
|
|
|
init $*
|
|
|
|
|
|
|
|
;;
|
|
|
|
provider-info) provider_info ;;
|
|
|
|
provider-info) provider_info ;;
|
|
|
|
*) usage ;;
|
|
|
|
*) usage ;;
|
|
|
|
esac
|
|
|
|
esac
|
|
|
|