From b8119067514d7ca5043d6d3d47be4d0238c172bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=A2=D1=80=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Wed, 16 Sep 2026 08:05:57 +0300 Subject: [PATCH] scp81: queue explicit commands, expanded-format output for the RAM chain (v2.1.14) - POST /api/scp81/queue takes an explicit APDU list (or single APDU) and queues it as the SCP81 script; entries that already are Command Scripting templates (AA.../AE80..., the expanded format) are sent verbatim instead of being wrapped again - Remote APDU -> RAM chain: "To expanded" builds each command in the TS 102 226 expanded form (AA definite / AE80 indefinite selector) and "Queue in SCP81" queues the built commands for the next card POST, so the full-featured RAM/INSTALL [for install] form (AIDs, privileges, TK/STK parameters) can drive the HTTP OTA install - RU strings; api.md; service worker v151 --- docs/api.md | 9 +++++ frontend/index.html | 63 ++++++++++++++++++++++++++++++++++- frontend/sw.js | 2 +- pyproject.toml | 2 +- pysim_otaman_server/server.py | 33 +++++++++++++++--- tests/test_scp81.py | 29 ++++++++++++++++ 6 files changed, 131 insertions(+), 7 deletions(-) diff --git a/docs/api.md b/docs/api.md index ca4d609..62328fc 100644 --- a/docs/api.md +++ b/docs/api.md @@ -496,6 +496,15 @@ Returns the BIP/TLS event log (open/close, SEND/RECEIVE DATA hex, TLS handshake and HTTP request/response records). `?after=` returns only newer entries; `seq` echoes the latest sequence number. +### `POST /api/scp81/queue` + +Queue explicit commands as the SCP81 script (used by the Remote APDU tab's +RAM chain "Queue in SCP81"). Body `{"apdus": ["80E60C002E...", ...]}` (or a +single `apdu`), optional `kind` and `force`. Entries that already are +Command Scripting templates (`AA...`/`AE80...`, the expanded format) are +sent verbatim instead of being wrapped again. Refused while a script is +mid-run unless forced. + ### `POST /api/scp81/ram-install` Queue a RAM (GP) install as the SCP81 command script. The `.cap` is parsed diff --git a/frontend/index.html b/frontend/index.html index bff6379..f92c75d 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -18,7 +18,7 @@
-

OTAMan SIM OTA with a Human Face v2.1.13

+

OTAMan SIM OTA with a Human Face v2.1.14

@@ -140,6 +140,17 @@
+
+ + + + + +
+