API public
API JSON pentru suita NIST SP 800-22. Acelasi contract pentru orice test: alegi testul prin slug-ul din cale. Baza: https://rngtests.danielwagner.ro/api (local: http://localhost:3000/api).
Limite de rata
- pana la 60 de cereri / minut / IP (bursturile sunt permise);
- pana la 2000 de cereri / saptamana / IP;
- pana la 100000 de cereri / saptamana global.
- IP-urile din RL_ALLOWLIST si cele locale sunt scutite complet.
Fiecare raspuns include X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. La depasire se intoarce 429 cu Retry-After.
Ruleaza un test pe o secventa de biti. Teste rulabile acum: monobit, block-frequency, runs, longest-run, dft, serial, approx-entropy, cusum. Celelalte intorc 501 (planificate).
Cerere
{
"bits": "1100100100...", // doar 0/1 sunt pastrate; max 2.000.000 biti
"alpha": 0.01, // 0.0001 .. 0.5 (implicit 0.01)
"block": 10, // M/m pentru testele pe blocuri (optional)
"method": "auto" // "auto" | "fft" | "direct" (doar dft)
}Raspuns 200 (plic uniform)
{
"test": "monobit", "n": 100,
"p_value": 0.109599, "passed": true,
"stats": { "S_n": -16, "s_obs": 1.6 }
}Exemplu
curl -s https://rngtests.danielwagner.ro/api/run/monobit \
-H 'Content-Type: application/json' \
-d '{"bits":"1100100100..."}'stats contine cantitatile testului; dft adauga si un spectru (cel mult 4000 de puncte). Coduri: 400 (cerere invalida / biti), 404 (test necunoscut), 501 (planificat), 429 (limita), 500/504.
Analiza pe multe fluxuri (proportie + uniformitate) peste fisierele NIST, pentru testul ales.
{
"files": ["data.pi", "data.e"], // doar fisierele din lista permisa
"length": 10000, // biti / flux (1000 .. 1.000.000)
"maxStreams": 0, // 0 = toate
"alpha": 0.01, "block": 10 // block optional
}O felie marginita dintr-un fisier NIST (max 65536 biti). Doar fisiere din lista permisa: data.e, data.pi, data.sqrt2, data.sqrt3, data.sha1, bits_nist_example.txt.
curl -s 'https://rngtests.danielwagner.ro/api/sequence?file=data.pi&offset=0&len=256'
Stare + capabilitati: binare prezente, configuratia limitelor si catalogul de teste (toate cele 15, cu starea fiecaruia). Fara limita de rata.