Initial commit: OpenFUT Bridge

FIFA 23 reverse-engineering proxy and integration scaffold.

- Catch-all HTTP proxy that captures all incoming FIFA 23 traffic
- Known-route mapper (speculative FUT paths → Core API calls)
- Placeholder JSON responses for unmapped endpoints
- Admin endpoints: GET /_bridge/captures, GET /_bridge/unknown
- Capture persistence to captures/*.json for RE analysis
- 4 unit tests passing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
funman300
2026-06-25 15:09:47 -07:00
commit a826e5f7d3
19 changed files with 2897 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
# OpenFUT Bridge — TODO
## Reverse Engineering
- [ ] #1 Set up mitmproxy and capture a real FIFA 23 FUT session
- [ ] #2 Document all observed endpoints in `docs/endpoint-map.md`
- [ ] #3 Document FIFA 23 auth flow (token format, headers, session lifecycle)
- [ ] #4 Document request body formats for auth, squad, packs
- [ ] #5 Identify which endpoints are mandatory vs optional for FUT to load
- [ ] #6 Test hosts-file redirect approach on PC
- [ ] #7 Research certificate pinning in FIFA 23 PC build
- [ ] #8 Test RPCS3 network proxy configuration
- [ ] #9 Document response formats EA uses (some differ from request format)
- [ ] #10 Identify any binary/protobuf endpoints (most are JSON but verify)
## Proxy
- [ ] #11 Add TLS support (self-signed cert) so FIFA 23 connects via HTTPS
- [ ] #12 Add replay CLI: `openfut-bridge replay captures/some_file.json`
- [ ] #13 Add `DELETE /_bridge/captures` to wipe capture folder
- [ ] #14 Add capture deduplication (same method+path within 1 second)
- [ ] #15 Add request diff tool: show what changed between two captures
## Mapper
- [ ] #16 Implement actual auth endpoint mapping (static token response)
- [ ] #17 Map squad read endpoint when confirmed
- [ ] #18 Map pack details endpoint when confirmed
- [ ] #19 Add X-UT-SID session header pass-through to Core
- [ ] #20 Add phishing token passthrough
## Admin UI
- [ ] #21 Build a simple web dashboard for viewing captures
- [ ] #22 Add endpoint status page (known vs unknown vs confirmed)
- [ ] #23 Add live capture stream via SSE
## Testing
- [ ] #24 Add test for placeholder response format
- [ ] #25 Add integration test that fires real HTTP at the Bridge