Add resumable uploads, proxy discovery, PWA install and 2 GiB personal vaults
This commit is contained in:
@@ -79,6 +79,22 @@ else
|
||||
fi
|
||||
|
||||
chmod 600 .env
|
||||
if grep -Eq '^USER_STORAGE_LIMIT_MB=10240$' .env; then
|
||||
hop_env_tmp=$(mktemp .env.nas.XXXXXX)
|
||||
awk '{ if ($0 == "USER_STORAGE_LIMIT_MB=10240") print "USER_STORAGE_LIMIT_MB=2048"; else print }' .env > "$hop_env_tmp"
|
||||
mv "$hop_env_tmp" .env
|
||||
hop_env_tmp=''
|
||||
printf '%s\n' '개인 보관함 기본 한도를 10GiB에서 2GiB로 변경했습니다. 기존 자료는 유지합니다.'
|
||||
fi
|
||||
if ! grep -Eq '^PROXY_DIAGNOSTIC_TOKEN=.{32,}$' .env; then
|
||||
hop_diagnostic_token=$(openssl rand -hex 32)
|
||||
hop_env_tmp=$(mktemp .env.nas.XXXXXX)
|
||||
awk '!/^PROXY_DIAGNOSTIC_TOKEN=/' .env > "$hop_env_tmp"
|
||||
printf 'PROXY_DIAGNOSTIC_TOKEN=%s\n' "$hop_diagnostic_token" >> "$hop_env_tmp"
|
||||
mv "$hop_env_tmp" .env
|
||||
hop_env_tmp=''
|
||||
unset hop_diagnostic_token
|
||||
fi
|
||||
hop_yaml_tmp=$(mktemp .compose.nas.XXXXXX)
|
||||
docker compose --project-name hop --project-directory "$PWD" --env-file .env -f compose.yaml config --no-env-resolution > "$hop_yaml_tmp"
|
||||
mv "$hop_yaml_tmp" compose.nas.yaml
|
||||
|
||||
23
scripts/enable-nas-discovery.sh
Normal file
23
scripts/enable-nas-discovery.sh
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
cd "$(dirname "$0")/.."
|
||||
umask 077
|
||||
hop_settings=$(mktemp .env.discovery.XXXXXX)
|
||||
hop_environment=$(mktemp .env.discovery.XXXXXX)
|
||||
trap 'rm -f "$hop_settings" "$hop_environment"' 0
|
||||
hop_container=$(sudo docker compose --project-name hop -f compose.nas.yaml ps -q hop)
|
||||
if [ -z "$hop_container" ]; then
|
||||
printf '%s\n' 'Docker 앱에서 새 버전의 hop 프로젝트를 먼저 시작하세요.' >&2
|
||||
exit 1
|
||||
fi
|
||||
sudo docker exec "$hop_container" node apps/server/dist/check-proxy.js > "$hop_settings"
|
||||
if [ "$(wc -l < "$hop_settings" | tr -d ' ')" != 3 ]; then
|
||||
printf '%s\n' '프록시 확인 결과가 올바르지 않습니다.' >&2
|
||||
exit 1
|
||||
fi
|
||||
awk '!/^(TRUSTED_PROXY_CIDRS|CLIENT_IP_SOURCE|SAME_NETWORK_DISCOVERY_ENABLED)=/' .env > "$hop_environment"
|
||||
cat "$hop_settings" >> "$hop_environment"
|
||||
mv "$hop_environment" .env
|
||||
chmod 600 .env
|
||||
sh scripts/configure-nas.sh
|
||||
printf '\n%s\n' '자동 발견 설정 완료. Docker 앱에서 compose.nas.yaml을 다시 불러와 재배포하세요.'
|
||||
14
scripts/print-hop-proxy-config.sh
Normal file
14
scripts/print-hop-proxy-config.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
cd "$(dirname "$0")/.."
|
||||
hop_tunnel_peers=$(sudo docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{"\n"}}{{.Gateway}}{{"\n"}}{{.GlobalIPv6Address}}{{"\n"}}{{.IPv6Gateway}}{{"\n"}}{{end}}' cloudflared-tunnel | awk 'NF { print }' | sort -u)
|
||||
hop_proxy_gateways=$(sudo docker inspect --format '{{range .NetworkSettings.Networks}}{{.Gateway}}{{"\n"}}{{.IPv6Gateway}}{{"\n"}}{{end}}' nginx-proxy-manager-app-1 | awk 'NF { print }' | sort -u)
|
||||
if [ -z "$hop_tunnel_peers" ]; then
|
||||
printf '%s\n' 'Tunnel의 Docker 네트워크 주소를 확인할 수 없습니다. 네트워크 설정을 먼저 확인하세요.' >&2
|
||||
exit 1
|
||||
fi
|
||||
printf '%s\n' 'client_max_body_size 2048m;' 'proxy_read_timeout 3600s;' 'proxy_send_timeout 3600s;' 'set $hop_tunnel_allowed 0;'
|
||||
for hop_peer in $hop_tunnel_peers $hop_proxy_gateways; do
|
||||
printf 'if ($realip_remote_addr = "%s") { set $hop_tunnel_allowed 1; }\n' "$hop_peer"
|
||||
done
|
||||
printf '%s\n' 'if ($hop_tunnel_allowed = 0) { return 403; }'
|
||||
Reference in New Issue
Block a user