6ef4c40e29
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>
93 lines
2.3 KiB
Markdown
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`
|