Files
OpenFUT/openfut-bridge/docs/setup-notes.md
T
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

93 lines
2.3 KiB
Markdown

# Proxy Setup Notes
Research notes for routing FIFA 23 traffic through OpenFUT Bridge.
---
## Goal
Intercept all FUT API calls from FIFA 23 so the Bridge can:
1. Log every request for reverse engineering
2. Route known endpoints to OpenFUT Core
3. Return placeholder responses for the rest
---
## PC (FIFA 23 via EA App / Steam)
### Option A: Windows hosts file
Redirect `utas.fut.ea.com` and related domains to localhost.
```
# C:\Windows\System32\drivers\etc\hosts
127.0.0.1 utas.fut.ea.com
127.0.0.1 utas2.fut.ea.com
127.0.0.1 ea.com
```
The Bridge must listen on port 443 (HTTPS) or 80 (HTTP).
FIFA 23 expects HTTPS — you'll need a self-signed cert and need to trust it.
### Option B: mitmproxy
1. Install mitmproxy
2. Set Windows system proxy to 127.0.0.1:8080
3. Configure mitmproxy to forward FUT traffic to Bridge
```bash
mitmproxy --mode transparent \
--listen-host 127.0.0.1 \
--listen-port 8080
```
⚠️ FIFA 23 may use certificate pinning — this is unconfirmed. If pinning is active, the hosts file approach or a traffic-level redirect may be needed instead.
---
## RPCS3 (PS3 emulator)
RPCS3 has built-in network settings:
1. Open RPCS3 → Configuration → Network
2. Set DNS to point to your OpenFUT Bridge IP
3. Configure `PSN Status` to `RPCN` or custom
4. The Bridge intercepts DNS and HTTP/HTTPS traffic
Research needed: RPCS3 FIFA 23 title ID and specific network behavior.
---
## Certificate Handling
EA's FUT API uses HTTPS. Options:
1. **Self-signed cert** — generate with `openssl` and add to system trust store
2. **HTTP downgrade** — if the client accepts HTTP (unlikely for production)
3. **Traffic-level redirect** — use iptables/nftables to redirect port 443 traffic
4. **No cert** — if FIFA 23 PC doesn't verify certs (to be tested)
### Generating a self-signed cert
```bash
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes \
-subj "/CN=utas.fut.ea.com"
```
---
## Status
🔴 Not tested yet. All of the above is research / theoretical.
The first step is to capture real FIFA 23 traffic with mitmproxy and document actual endpoints.
---
## Next Steps
1. Set up mitmproxy on a FIFA 23 PC
2. Start FIFA 23 and navigate to FUT mode
3. Export the mitmproxy capture
4. Add real endpoints to `docs/endpoint-map.md`
5. Add mappings to `src/mapper.rs`