diff options
| author | Gab Virebent <gabriel1@virebent.art> | 2026-07-01 17:41:47 +0200 |
|---|---|---|
| committer | Gab Virebent <gabriel1@virebent.art> | 2026-07-01 17:41:47 +0200 |
| commit | 78d57b1090a5a23abce2a732f091a4ef007d60cc (patch) | |
| tree | 997b816317241db94810f789eb7122857b27ddd2 /internal/nolog/middleware.go | |
| parent | aa459e3b84cc4c5d908f3781c9253848c18640c3 (diff) | |
| download | nymdrop-78d57b1090a5a23abce2a732f091a4ef007d60cc.tar.gz nymdrop-78d57b1090a5a23abce2a732f091a4ef007d60cc.tar.xz nymdrop-78d57b1090a5a23abce2a732f091a4ef007d60cc.zip | |
Add client-side proof of work and fix X25519 WebCrypto API usage
Self-contained hashcash-style PoW on /submit: client finds a nonce so
SHA-256("<unix-ts>:<nonce>") has enough leading zero bits, sent as an
X-Nymdrop-Pow header; server verifies and rejects expired or replayed
stamps, no challenge round-trip required. Difficulty tunable via
--pow-difficulty without a rebuild.
Also fixes a latent bug in the browser crypto: X25519 was being
requested as ECDH with namedCurve "X25519", which is not a valid
WebCrypto combination and always throws. Modern WebCrypto exposes
X25519 as its own algorithm identifier.
Diffstat (limited to 'internal/nolog/middleware.go')
0 files changed, 0 insertions, 0 deletions
