summaryrefslogtreecommitdiff
path: root/caddy/entrypoint.sh
diff options
context:
space:
mode:
Diffstat (limited to 'caddy/entrypoint.sh')
-rw-r--r--caddy/entrypoint.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/caddy/entrypoint.sh b/caddy/entrypoint.sh
new file mode 100644
index 0000000..cf123ce
--- /dev/null
+++ b/caddy/entrypoint.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+set -e
+
+PROXY_CONF=/tmp/proxy_forward.caddy
+
+# Build basicauth lines from shared users.conf
+AUTH_LINES=""
+if [ -f /etc/proxy/users.conf ]; then
+ while IFS=' ' read -r user pass || [ -n "$user" ]; do
+ [ -z "$user" ] && continue
+ case "$user" in \#*) continue ;; esac
+ AUTH_LINES="${AUTH_LINES} basicauth ${user} ${pass}\n"
+ done < /etc/proxy/users.conf
+fi
+AUTH_BLOCK=$(printf '%b' "$AUTH_LINES")
+
+cat > "$PROXY_CONF" <<EOF
+http://proxy.yyamashita.com {
+ forward_proxy {
+${AUTH_BLOCK} hide_ip
+ hide_via
+ }
+}
+https://proxy.yyamashita.com {
+ tls {
+ key_type rsa4096
+ }
+ forward_proxy {
+${AUTH_BLOCK} hide_ip
+ hide_via
+ }
+}
+EOF
+
+exec "$@"