Weighs the soul of incoming HTTP requests to stop AI crawlers
1#!/usr/bin/env bash
2
3set -euo pipefail
4[ ! -z "${DEBUG:-}" ] && set -x
5
6if [ "$#" -ne 1 ]; then
7 echo "Usage: rigging.sh <user@host>"
8fi
9
10CIRunnerImage="ghcr.io/techarohq/anubis/ci-runner:latest"
11RunID=${GITHUB_RUN_ID:-$(uuidgen)}
12RunFolder="anubis/runs/${RunID}"
13Target="${1}"
14
15ssh "${Target}" uname -av
16ssh "${Target}" mkdir -p "${RunFolder}"
17git archive HEAD | ssh "${Target}" tar xC "${RunFolder}"
18
19ssh "${Target}" << EOF
20 set -euo pipefail
21 set -x
22 mkdir -p "anubis/cache/{go,go-build,node}"
23 podman pull ${CIRunnerImage}
24 podman run --rm -it \
25 -v "\$HOME/${RunFolder}:/app/anubis" \
26 -v "\$HOME/anubis/cache/go:/root/go" \
27 -v "\$HOME/anubis/cache/go-build:/root/.cache/go-build" \
28 -v "\$HOME/anubis/cache/node:/root/.npm" \
29 -w /app/anubis \
30 ${CIRunnerImage} \
31 sh /app/anubis/test/ssh-ci/in-container.sh
32 ssh "${Target}" rm -rf "${RunFolder}"
33EOF