f6511dc5c2
gates / gates (push) Successful in 6m53s
Closed R-1126, R-1125 and R-1129 (not a defect: a misreading of the CI log by the session that filed it); opened R-1135..R-1137; R-1124 noted. 01 §5 [DESIGN]: the tunnel runs before the claim; FileBrowser is published only after its default login is checked. STATUS D10-D12 decided. N100 diary: the 21-minute file-manager gap after 0.327.0. Controller 0.327.1 is the floor since 12:06 UTC. Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
21 lines
1.3 KiB
Bash
Executable File
21 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# fbgate-probe.sh — R-1126 live proof, inside scratch guest 9202. Through TRAEFIK (what the tunnel reaches), with the
|
|
# Host header of files.<domain>: the page's status, and the DEFAULT login's status (FileBrowser's public default; on
|
|
# stdin). Status codes only. Usage: fbgate-probe.sh <seconds> [recreate]
|
|
set -u
|
|
H="Host: files.enkisfelhom.hu"; T=https://127.0.0.1
|
|
page() { curl -sk -o /dev/null -w '%{http_code}' --max-time 3 -H "$H" $T/; }
|
|
dflt() { printf 'X-Password: admin\n' | curl -sk -o /dev/null -w '%{http_code}' --max-time 3 -X POST -H @- -H "$H" "$T/api/auth/login?username=admin"; }
|
|
nets() { docker inspect -f '{{range $k,$_ := .NetworkSettings.Networks}}{{$k}} {{end}}' filebrowser 2>/dev/null; }
|
|
if [ "${2:-}" = recreate ]; then
|
|
docker stop filebrowser >/dev/null && docker rm filebrowser >/dev/null && docker volume rm filebrowser_filebrowser_data >/dev/null && echo "removed filebrowser + its data volume at $(date -u +%T)"
|
|
fi
|
|
last=""; end=$(( $(date +%s) + $1 )); n=0; d200=0
|
|
while [ $(date +%s) -lt $end ]; do
|
|
p=$(page); d=$(dflt); [ "$d" = 200 ] && d200=$((d200+1)); n=$((n+1))
|
|
cur="page=$p default-login=$d nets=[$(nets)]"
|
|
[ "$cur" != "$last" ] && echo "$(date -u +%T) $cur" && last=$cur
|
|
sleep 2
|
|
done
|
|
echo "probes: $n, default login answered 200: $d200 times"
|