| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
keyderive.py: derive Ed25519+X25519 from username+password via Argon2id.
Same credentials → same keys on any device. Encrypt/decrypt keypair
bundle (AES-256-GCM) for hub storage (web clients).
7/7 tests. Full suite: 81/81.
keyderive.js: browser counterpart using PBKDF2-SHA512 + random keypairs
encrypted for hub storage. Avoids algorithm mismatch with Python.
hub/models.py + users.py: keypair_bundle field added to User, stored on
registration, returned in login response for web client key recovery.
QUICKSTART.md: fully rewritten. 3 operational scripts in QE/demo-v1/:
setup_demo.py — create accounts, group, distribute GEK
run_node.py — start HTTP node (watches shared/ directory)
download.py — bob login → GEK fetch → decrypt → save
All tested locally end-to-end. No invented URLs.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
QUICKSTART (434 lines): 6-step guide tested against live
https://meshbay.org — demo accounts alice_test/bob_test,
real transfer of README.txt (23ms) and 1MB chunk (275ms recv,
2.4ms decrypt), exact Python commands with measured output.
USERGUIDE (785 lines): 11-section reference — architecture,
account management, group/node config, file sharing, HLS streaming,
security model, moderation/CSAM, troubleshooting, full API table.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
|
| |
|
|
|
|
|
|
|
| |
Caddyfile updated: www → 301 → meshbay.org (canonical).
Caddy auto-issued Let's Encrypt cert for www.meshbay.org in 4s.
HTTPS.md explains the setup, cert lifecycle (90-day, auto-renewed),
why 1-year certs are not recommended, DNS requirements.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Key corrections from spikes 1-6:
- JWT jti now required (prevents replay, enables revocation)
- Argon2id params updated to target 500ms (256MB memory)
- NAT order corrected: STUN before UPnP (UPnP unreliable on SFR)
- Transport: TCP+TLS v1, QUIC v2
- GEK wrapping protocol confirmed (ECIES-like, 48B opaque bundle)
- Hub API table complete with Spike 6 endpoints
- 3-package monorepo structure documented
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
|
|
|
3-package layout: meshbay-common (shared crypto/protocol),
meshbay-hub (FastAPI server), meshbay-node (local daemon).
Includes validated POC spikes 1-6 in poc/, architecture drafts
v1/v2 in docs/, and CLAUDE.md project conventions.
All cryptographic primitives extracted from POC into
meshbay_common/crypto.py (GEK wrap/unwrap, chunk key derivation,
keystore encryption, chunk signing).
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
|