Skip to content

v1.0.33 - Native payload loader + TRITON nativo (repo clone only)

Choose a tag to compare

@mrhenrike mrhenrike released this 10 Jun 04:49
· 9 commits to master since this release

Native Payload Architecture

How it works

  • PyPI package: TTP simulators only (safe for distribution)
  • GitHub clone: contrib/native-payloads/ -- native implementations
  • Detection: NativePayloadLoader.available() checks for contrib/ at runtime
  • If contrib/ exists AND destructive=true: module uses native implementation
  • If not: falls back to TTP simulator (existing behavior)

contrib/native-payloads/ (GitHub only, not in PyPI)

  • USAGE.md: legal requirements and authorization checklist
  • triton/manifest.py: payload metadata
  • triton/payload.py: full TriStation protocol implementation
    • READ_PROGRAM_INFO (FC 0x04) -- probe controller
    • READ_PROGRAM_SIS (FC 0x1D) -- download SIS logic
    • WRITE_PROGRAM_SIS (FC 0x20) -- inject modified logic (NOP mode default)
    • HALT_SIS (FC 0x02) -- optional, disabled by default

In-memory compilation (C, Rust, Go payloads)

  • Source compiled at runtime via gcc/rustc/go
  • Binary loaded via ctypes.CDLL from .tmp/
  • Binary deleted immediately after loading
  • No compiled artifact persists on disk

PyPI exclusion

  • MANIFEST.in: prune contrib/
  • pyproject.toml include=[industrialxpl*] already excludes contrib/
  • pip install industrialxpl-forge NEVER downloads native payloads
  • Requires explicit git clone