XenProxy
A Free Fire-optimized MITM proxy, forked from mitmproxy. XenProxy combines a full-featured HTTPS interception proxy with a dedicated Free Fire bypass pipeline.
Features
Core Proxy (forked from mitmproxy)
- Interactive console UI, headless dump mode, and web UI
- HTTP/1, HTTP/2, HTTP/3, and WebSocket interception
- TLS interception with dynamic certificate generation
- TCP, UDP, and DNS proxy modes
- Scriptable via Python addons
- Full mitmproxy addon ecosystem compatibility
Free Fire Bypass Addon
- Login interception — hooks into Free Fire API domains (
loginbp.ggblueshark.com,prod-api.reward.ff.garena.com, etc.) - UID blocking — inspect raw TCP streams and block connections by UID
- Fingerprint masking — strips proxy-detection headers (
Via,X-Forwarded-For, etc.) and rewrites User-Agent - JWT forwarding — integrates with the access_jwt token mutation service
- Runtime commands —
ff.block_uid,ff.unblock_uid,ff.list_blocked
Backend Pipeline
- Raw TCP forwarder on
:9999— bidirectional byte-level proxy with game-layer AES decrypt - JWT mutation service on
:1080— template-based protobuf payload rewriting - Admin HTTP API on
:5000— UID management, stats, health checks - UID sync loop — pulls blocklists from remote API every 120s
Architecture
Emulator → Raw Forwarder (:9999) → XenProxy Proxy (:8080) → Game Servers
↕
access_jwt Service (:1080)
(JWT mutation)
Quick Start
# Install
pip install xenproxy
# Start the proxy
xenproxy
# Start the web UI
xenproxy web
# Start headless dump mode
xenproxy dump
Free Fire Pipeline
# Terminal 1: Start the backend services
cd new/python
pip install -r requirements.txt
python main.py
# Terminal 2: Start XenProxy with the bypass addon
xenproxy -s xenproxy/addons/firebypass.py --set ff_bypass=true
Configure your emulator to use the proxy at the host machine's LAN IP on port 8080, and the raw forwarder on port 9999.
Configuration
XenProxy reads ~/.xenproxy/config.yaml on startup. Key options:
| Option | Default | Description |
|---|---|---|
listen_port |
8080 | Proxy listen port |
mode |
regular | Proxy mode (regular, transparent, socks5, reverse, upstream) |
ssl_insecure |
false | Disable upstream TLS verification |
ff_bypass |
true | Enable Free Fire bypass addon |
ff_blocked_uids |
[] | UIDs to block |
ff_access_jwt_url |
http://127.0.0.1:1080 | JWT mutation service URL |
ff_mask_fingerprint |
true | Strip proxy fingerprints |
Building
PyInstaller (standalone binary)
pyinstaller release/specs/standalone.spec --clean
# Output: release/dist/xenproxy.exe
MSIX Installer (Windows Store)
pyinstaller release/specs/onedir.spec --clean
python release/build.py msix-installer
InstallBuilder Installer (Windows)
pyinstaller release/specs/onedir.spec --clean
python release/build.py installbuilder-installer
Docker
docker build -t xenproxy release/docker/
docker run -p 8080:8080 -p 8081:8081 xenproxy
Development
# Install with uv
uv sync
# Run tests
uv run pytest
# Run linter
uv run ruff check xenproxy/
# Type check
uv run mypy xenproxy/
Project Structure
xenproxy/ # Main proxy package
├── addons/ # Addon modules
│ ├── firebypass.py # Free Fire bypass addon
│ └── onboardingapp/ # Certificate installation portal
├── proxy/ # Proxy core
├── tools/ # CLI entry points
│ └── main.py # xenproxy_cli dispatcher
├── net/ # Network protocols
├── io/ # I/O and serialization
├── contentviews/ # Content decoders
└── utils/ # Utilities
web/ # React/TypeScript web UI frontend
release/ # Build & installer configs
new/python/ # Free Fire backend pipeline
License
MIT — see LICENSE.
Credits
XenProxy is a fork of mitmproxy. The original project is maintained by the mitmproxy contributors and licensed under the MIT license.
Metadata
Release files for xenproxy 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xenproxy-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Release files / xenproxy-1.0.2-py3-none-any.whl
| Download URL | xenproxy-1.0.2-py3-none-any.whl |
|---|---|
| Size | 1.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4db1f63400b3f0231c9ae7af5bfbc2469ce15d2525a4172ac7933d6e5556bdbf
|
|
BLAKE2b-256 checksum How to use checksums |
a3b8fa9b1168b843b8363f2a44b4c3a4822a8a449fad1a56782c86577938a71d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|