From ea835b88376d73e61a5f0cdcc8f5207a55786f49 Mon Sep 17 00:00:00 2001 From: istrain Date: Fri, 24 Jul 2026 23:36:07 -0400 Subject: [PATCH] =?UTF-8?q?guide:=20add=20a=20'getting=20the=20code'=20not?= =?UTF-8?q?e=20=E2=80=94=20the=20Cloudflare/User-Agent=20clone=20gotcha=20?= =?UTF-8?q?(for=20humans=20and=20agents),=20with=20the=20browser-UA=20+=20?= =?UTF-8?q?SSH=20workarounds?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- APOCALYPSE-EDITION.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/APOCALYPSE-EDITION.md b/APOCALYPSE-EDITION.md index c9c2f1b..79458e4 100644 --- a/APOCALYPSE-EDITION.md +++ b/APOCALYPSE-EDITION.md @@ -16,6 +16,13 @@ frequencies, and you just have to be set up to hear them.* > `docker/` (the container definitions), `config/` (templates). Every script has a header > comment explaining what it does and how it's operated. The design rules that keep it robust > are in §11. Start by reading this file, then `dashboard/serve.py` and `scripts/iq_hop.py`. +> +> **Getting the code:** `git clone istrain`. One gotcha worth knowing if this repo +> is hosted behind Cloudflare (or a similar bot-shield): a plain browser and normal `git`/`curl` +> clone fine, but a *headless* HTTP fetch (some scripts, some agent tool-calls) can get a 403 bot +> wall. The fix is a normal browser User-Agent on the request, e.g. +> `git -c http.userAgent="Mozilla/5.0" clone ` — or just use SSH, which sidesteps it entirely. +> (This is a hosting quirk, not a code quirk; a fork on a plain host won't see it.) ---