Commit Graph

26 Commits

Author SHA1 Message Date
root 70a64e3709 fifa17-python: commit working FUT backend deployment (client/server split)
Freeze the running offline FUT backend into version control as
fifa17-recon/docker/fifa17-python/ - declarative and rebuildable from a
fresh checkout:

* OPENFUT_BIND / OPENFUT_ADVERTISE client/server split in the responders
  (lsx, blaze, roster, utas, pow) + entrypoint.sh; OPENFUT_ADVERTISE is
  required for remote mode (compose and entrypoint fail without it)
* docker-compose.yml reproducing the frozen baseline container exactly
  (env, ports incl. the 8085->8080 POW-content remap, /state bind, restart)
* .env.example / .env for site config - the LAN IP is never hardcoded in source
* tools/ + data/ staged from openfut-fut-backend:python-baseline-2026-08-10,
  verified byte-identical to the running container at freeze time
* client_arm.sh (the 105 client-side arming counterpart)
* Dockerfile bakes /app/SHA256SUMS.txt so any image is self-identifying
* docs/BASELINE-python-2026-08-10.md: frozen image/container/hash record,
  restore instructions and rebuild-equivalence procedure

Secrets (redir key/cert, .env) and runtime state (docker/state) stay gitignored.
The live container is untouched pending the .105 launcher audit.
2026-08-10 23:54:04 +00:00
funman300 edab23f04a fifa17-recon: package the working offline FUT backend
Emulates FIFA 17's full online + Ultimate Team stack against an offline,
clean-room backend (no EA servers). Proven end-to-end 2026-08-01:
Origin login -> Blaze login -> device-trust -> the FUT hub.

Package:
- tools/openfut-fut.sh   one-command orchestrator (start/stop/status/restart)
- tools/root_arm.sh      idempotent host arm (sysctls, DNAT, /etc/hosts easw)
- tools/{lsx_responder_v2,blaze_responder_v3b,roster_server,utas_server,autopatch}.py
  the 5 servers (Origin LSX :4216, Blaze :42127/42130/42131, roster :8081,
  FUT/UTAS :8099) + heat2.py (Fire2/Heat2 TDF codec)
- FUT-RUNBOOK.md         runbook + gate-ladder troubleshooting
- docs/, tools/login_dump/*.md   the reverse-engineering write-ups

All findings are clean-room, from binaries we own; nothing from any leak.
The wire protocol maps 1:1 to FIFA 23.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PN5bmpDVQR1aXgefyWAt7o
2026-08-01 09:12:17 -07:00
funman300 1fb664710a docs: add FLE bridge direction pivot and squad-injection test tooling
Adds the app-centric FLE bridge direction (direction.md) replacing the
Blaze-backend route as primary plan, plus a corrected foundational test
procedure and snapshot/diff/apply tooling for reverse-engineering FLE's
Freeze Lineup write mechanism. Also picks up prior untracked research docs
(status-review, fut-integration-options, fifa23-startup-flow, track-c) and
existing capture/export tooling that hadn't been committed yet.
2026-06-30 13:19:27 -07:00
funman300 cbb9ea49ab chore: advance launcher pointer (hook expansion)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 10:38:29 -07:00
funman300 669e73f285 Merge remote-tracking branch 'origin/main' 2026-06-30 10:28:33 -07:00
funman300 da7bc1ffca chore: advance bridge pointer (path A verdict)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 21:07:18 -07:00
funman300 6c14ee8efa chore: advance bridge pointer (worker-thread finding)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 20:21:43 -07:00
funman300 993cb555f0 chore: advance bridge pointer (M2 attempt + event finding)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 19:45:15 -07:00
funman300 503e91f5f8 chore: advance bridge pointer (M1 complete)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 19:27:21 -07:00
funman300 cc30bf08df chore: advance bridge pointer (GoOnline probe finding)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 18:46:28 -07:00
funman300 67a7396a13 chore: advance bridge pointer (M1 findings + callers mode)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 18:34:36 -07:00
funman300 14ca8a03ff chore: advance bridge pointer (strategy docs)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 18:00:27 -07:00
funman300 3356c5827d chore: advance bridge pointer (LSX capture + module-offset tooling)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 17:56:32 -07:00
funman300 04a13116bf chore: remove broken launcher submodule; advance bridge to hook/RE work
- Remove the openfut-launcher submodule: its recorded commit was never
  pushed and its remote held a mispushed copy of the superproject. The
  hook work now lives in openfut-bridge/openfut-hook instead.
- Update openfut-bridge pointer to include the ProtoSSL RE tooling
  (tools/protossl-scan), the FIFA 23 version.dll hook (openfut-hook),
  and the bridge CLAUDE.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 17:10:14 -07:00
funman300 1b56c55016 chore: add fifa-blaze submodule (Blaze protocol emulator)
Registers the new fifa-blaze workspace as a submodule.
Milestone 1: capture stub that logs every Blaze packet to JSONL.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 15:26:16 -07:00
funman300 98b1b031eb chore: update openfut-launcher submodule (setcap setup step)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 09:20:53 -07:00
funman300 acd9efed95 fix: scope iptables NAT rule to loopback only to avoid breaking internet
The broad OUTPUT 443→8443 redirect caught all HTTPS traffic system-wide.
Scoping to -d 127.0.0.1 means only EA domains (resolved to 127.0.0.1 via
/etc/hosts) are redirected; all real internet traffic is unaffected.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 09:13:00 -07:00
funman300 06b6cdd043 docs: add openfut-launcher to CLAUDE.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 08:58:34 -07:00
funman300 1daaebaefa chore: add openfut-launcher submodule, CLAUDE.md, and setup.sh
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 08:57:23 -07:00
funman300 8035baf1b4 chore: update submodule pointers after review fixes
Advances openfut-core and openfut-bridge to include all bug fixes and
improvements from the workspace review session.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 21:55:31 -07:00
funman300 921d2dcb2f chore: update openfut-core submodule to Phase 4 2026-06-25 15:53:33 -07:00
funman300 e4c40f814d chore: update openfut-core submodule to Phase 3 2026-06-25 15:46:47 -07:00
funman300 0dbcc2788e chore: update openfut-core submodule to Phase 2 2026-06-25 15:33:18 -07:00
funman300 954e3c1719 chore: update openfut-core submodule to Phase 1 2026-06-25 15:25:39 -07:00
funman300 cbe075822c Convert to submodule monorepo
Replace inline subdirectories with git submodules pointing to
the dedicated OpenFUT-Core and OpenFUT-Bridge repositories.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 15:12:00 -07:00
funman300 6ef4c40e29 Initial commit: OpenFUT Core + Bridge scaffold
Two-repo monorepo for an offline FUT backend inspired by SPT.

openfut-core: game-independent REST API backend (Axum, SQLite, SQLx)
- 19 API endpoints: auth, profiles, clubs, cards, packs, squads,
  objectives, SBCs, match rewards, NPC market, statistics
- JSON-driven card/pack/objective/SBC data (fully moddable)
- SQLx migrations, weighted pack generator, SBC validation engine
- 5 integration tests passing

openfut-bridge: FIFA 23 traffic proxy + reverse-engineering scaffold
- Catch-all HTTP proxy with request capture to captures/
- Known-route mapper (FUT paths → Core API calls)
- Placeholder responses for unknown endpoints
- Admin endpoints: captures, unknown endpoint list
- 4 unit tests passing

cargo fmt ✓  cargo clippy -D warnings ✓  cargo test ✓

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 14:42:16 -07:00