mirror of
https://github.com/xAL6/zero-loader
synced 2026-06-06 17:03:01 +00:00
e4ce930447
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".