forked from claw/flaskpaste
docs: update for v1.4.0 features
- Add anti-flood, rate limiting, scheduled cleanup to feature lists - Update version to 1.4.0, test count to 205 - Document /pastes endpoint with query parameters - Add anti-flood fields to /challenge response - Update CLI docs with new commands (list, search, export) - Add decision log entries for recent features
This commit is contained in:
12
README.md
12
README.md
@@ -13,6 +13,8 @@ A lightweight, secure pastebin REST API built with Flask.
|
||||
- **Abuse prevention** - Content-hash deduplication throttles repeated identical submissions
|
||||
- **Entropy enforcement** - Optional minimum entropy requirement to enforce client-side encryption
|
||||
- **Proof-of-work** - Configurable computational puzzle prevents automated spam
|
||||
- **Anti-flood** - Dynamic PoW difficulty increases under attack, decays when abuse stops
|
||||
- **Rate limiting** - Per-IP request throttling with auth user multiplier
|
||||
- **E2E encryption** - Client-side AES-256-GCM encryption with key in URL fragment (zero-knowledge)
|
||||
- **Burn-after-read** - Single-access pastes that auto-delete after first retrieval
|
||||
- **Custom expiry** - Per-paste expiry override via X-Expiry header
|
||||
@@ -229,6 +231,16 @@ Configuration via environment variables:
|
||||
| `FLASKPASTE_POW_DIFFICULTY` | `20` | PoW difficulty (leading zero bits, 0=disabled) |
|
||||
| `FLASKPASTE_POW_TTL` | `300` (5 min) | PoW challenge validity period |
|
||||
| `FLASKPASTE_POW_SECRET` | (auto) | Secret for signing PoW challenges |
|
||||
| `FLASKPASTE_ANTIFLOOD` | `1` | Enable anti-flood (dynamic PoW difficulty) |
|
||||
| `FLASKPASTE_ANTIFLOOD_WINDOW` | `60` | Anti-flood measurement window (seconds) |
|
||||
| `FLASKPASTE_ANTIFLOOD_THRESHOLD` | `5` | Requests per window before difficulty increase |
|
||||
| `FLASKPASTE_ANTIFLOOD_STEP` | `2` | Difficulty bits added per threshold breach |
|
||||
| `FLASKPASTE_ANTIFLOOD_MAX` | `28` | Maximum PoW difficulty |
|
||||
| `FLASKPASTE_ANTIFLOOD_DECAY` | `60` | Seconds before difficulty decreases |
|
||||
| `FLASKPASTE_RATE_LIMIT` | `1` | Enable IP-based rate limiting |
|
||||
| `FLASKPASTE_RATE_WINDOW` | `60` | Rate limit window (seconds) |
|
||||
| `FLASKPASTE_RATE_MAX` | `10` | Max requests per window (anon) |
|
||||
| `FLASKPASTE_RATE_AUTH_MULT` | `5` | Multiplier for authenticated users |
|
||||
| `FLASKPASTE_URL_PREFIX` | (empty) | URL prefix for reverse proxy deployments |
|
||||
| `FLASKPASTE_MIN_ENTROPY` | `0` | Min entropy bits/byte (0=disabled, 6.0=require encryption) |
|
||||
| `FLASKPASTE_MIN_ENTROPY_SIZE` | `256` | Only check entropy for content >= this size |
|
||||
|
||||
Reference in New Issue
Block a user