generated from knso/webklar-preview-template
- /code loest Einrichtungs-Codes fuer Beratungsstellen ein (Guthaben mit Name + Ablaufdatum, max. 10 Fehlversuche pro IP und Tag). Leeres oder abgelaufenes Kontingent sagt "fragen Sie bei <Stelle> nach" statt "kaufen". - /uebergabe/<id>: Durable Object haelt nur Chiffrat (AES-GCM, Schluessel nur im QR-Code), loescht nach 15 Minuten, 50 Schreibvorgaenge, Rate-Limit. Durable Object statt KV, weil KV fehlende Schluessel zwischenspeichert. - /demo mit auchDeutsch: deutsch analysieren (Sonnet), dann mit Haiku in die Zielsprache uebersetzen - PC zeigt Deutsch, Handy die Muttersprache. - LOKAL_TEST=1 (.dev.vars) erlaubt localhost fuer Tests mit wrangler dev. - tools/einrichtungs-code.js: neu | stand | aufladen | verlaengern. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
39 lines
1.2 KiB
TOML
39 lines
1.2 KiB
TOML
name = "behoerdenklar-proxy"
|
|
main = "src/index.ts"
|
|
compatibility_date = "2026-07-01"
|
|
|
|
# Erlaubte Anfragen pro Tag: pro Gerät (normale Nutzung) und pro IP-Adresse
|
|
# (dämmt Angreifer ein, die Geräte-IDs fälschen; höher, weil sich viele
|
|
# Nutzer eine IP teilen können)
|
|
[vars]
|
|
TAGES_LIMIT = "20"
|
|
TAGES_LIMIT_IP = "100"
|
|
# Web-Demo (/demo): hartes Tagesbudget über alle Nutzer (Kosten-Deckel,
|
|
# 100 Analysen ≈ 2,50 €/Tag Maximalschaden) + IP-Gesamtlimit PRO TAG
|
|
# (großzügig, damit geteilte Anschlüsse/Familien/Mobilfunk nicht blockiert
|
|
# werden; der Missbrauch wird zusätzlich durch Turnstile + Budget begrenzt)
|
|
DEMO_TAGES_BUDGET = "100"
|
|
DEMO_LIMIT_IP = "8"
|
|
|
|
[[kv_namespaces]]
|
|
binding = "RATE_LIMIT"
|
|
id = "7577adef8ceb4ed6bfaeef81a1d496af"
|
|
|
|
# Handy <-> PC: verschluesselte Uebergabe per QR-Code (siehe src/index.ts).
|
|
# SQLite-Durable-Objects laufen auch im kostenlosen Workers-Tarif.
|
|
[[durable_objects.bindings]]
|
|
name = "UEBERGABE"
|
|
class_name = "Uebergabe"
|
|
|
|
[[migrations]]
|
|
tag = "v1-uebergabe"
|
|
new_sqlite_classes = ["Uebergabe"]
|
|
|
|
# Schreib-Bremse fuer die Uebergabe: 60 Paeckchen pro Minute und IP
|
|
[[ratelimits]]
|
|
name = "UEBERGABE_LIMIT"
|
|
namespace_id = "1001"
|
|
[ratelimits.simple]
|
|
limit = 60
|
|
period = 60
|