Regenerate the configuration page after editing its source
🔴 The exact trap this repo already documented. `docs/CONFIGURATION.md` gained two rows for the proof-of-work settings and `configuration.leaf` is GENERATED from it — the page is what people read; the markdown is not served. The doc-pages gate caught it, which is what it is for. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
01625a6cbb
commit
a068786445
@@ -3,7 +3,7 @@
|
||||
<!-- GENERATED by Scripts/build-doc-pages.sh from docs/CONFIGURATION.md.
|
||||
Edits made HERE are deleted the next time that script runs.
|
||||
Change the markdown source and re-run it.
|
||||
source-sha256: e7df9a44b7dc7de3 -->
|
||||
source-sha256: d8399ab5e51fe535 -->
|
||||
<article class="band doc doc-generated">
|
||||
<div class="wrap wrap-narrow">
|
||||
<h1 id="configuring-a-relay">Configuring a relay</h1>
|
||||
@@ -314,6 +314,33 @@ network, and refusing them is the worse failure. <strong><code>0</code>
|
||||
switches network counting off</strong>, leaving only the per-address
|
||||
limit.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FN_SIGNUP_POW_BITS</code></td>
|
||||
<td><code>0</code> (off)</td>
|
||||
<td>Leading zero bits of SHA-256 work a new account must do before it is
|
||||
created (relay#("#")52). ⚠️ <strong>Not a CAPTCHA on purpose</strong> — a
|
||||
CAPTCHA hands a third party every visitor's connection, which is a
|
||||
strange thing for a product whose argument is that it collects almost
|
||||
nothing. This collects nothing at all. Capped at <code>24</code> however
|
||||
it is set: higher does not read as spam protection to the person it
|
||||
hits, it reads as an app that hangs on the sign-up button.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FN_SIGNUP_MAX_PER_HOUR_WITHOUT_POW</code></td>
|
||||
<td><code>5</code>/hr</td>
|
||||
<td>What a client too old to answer the challenge gets instead, per
|
||||
address. 🔴 <strong>This is what makes <code>FN_SIGNUP_POW_BITS</code>
|
||||
switchable on at all.</strong> Refusing an unanswered sign-up outright
|
||||
would break every build already in somebody's hand, and break it
|
||||
invisibly — the APK in the field is Android 0.6 (2026-08-31) and the
|
||||
client-side solver landed 2026-09-01, one day later. An old build now
|
||||
drops to this strict allowance rather than hitting a wall, so the
|
||||
opt-out costs something without stranding anyone. ⚠️ Per-address is
|
||||
trivially rotated, so this bounds a lazy attacker, not a determined one;
|
||||
the gain is that the strong thing can be enabled at all.
|
||||
<strong><code>0</code> restores the wall</strong> — the right setting
|
||||
once both shipped clients solve challenges.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>| <code>FN_VOUCH_REQUIRED</code> | <code>false</code> | Require an
|
||||
|
||||
Reference in New Issue
Block a user