Files
xAL6-zero-loader/web
Claude e4ce930447 Add web/ console — browser-driven wrapper for encrypt / sideload / build
Single-origin localhost-bound Flask app that wraps the three CLI
entry points (Encrypt.py, SideloadGen.py, build.bat) so the operator
drives the whole pipeline from a browser instead of a shell.

Design:
  - Bind 127.0.0.1 only; banner printed at startup; no auth.
  - Three tabs (Encrypt, Sideload, Build) + an artifacts sidebar.
  - Build output streams live via chunked text/plain response.
  - Every compile-time flag (uac, RWX_SHELLCODE, DEBUG,
    ENABLE_SYNTHETIC_STACK) is a checkbox; forwarded to build.bat
    via positional args or the new CFLAGS_EXTRA env var.
  - File uploads land in web/workspace/ (gitignored); downloads
    served from project root with safe-name regex + no traversal.

Supporting changes:
  - build.bat honors CFLAGS_EXTRA so the web UI can inject /DDEBUG
    etc. without editing the batch script.
  - .gitignore excludes web/.venv/ and web/workspace/.
  - README.md gains a collapsible "Web Console" section under
    Quick Start, pointing at web/run.bat.

Stack: Flask only (no build step on frontend); single HTML file +
vanilla JS fetch. Dark-theme CSS matching the project's README
badges.

Not a remote service. Operator is responsible for not exposing the
port — the banner says so at startup and a pill in the UI header
reads "127.0.0.1 only".
2026-04-17 18:44:00 +00:00
..