Skip to main content

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 (addons/firebypass.py)

  • Login interception — hooks into Free Fire API domains (loginbp.ggblueshark.com, prod-api.reward.ff.garena.com, 100067.connect.garena.com)
  • Binary protobuf response patching — zeroes emulator/pool/hacker fields (F6, F9, F12, F13, F14, F22, F23, F25, F58, F104–113, F200, F260/261, F325) on MajorLogin/GetLoginData responses
  • Telemetry string scrubber — same-length replacements for CPU/GPU/emulator fingerprints (x86_64→arm64v, Intel(R)→Qualcomm, BlueStacks→XiaomiMI, etc.) applied to HTTP bodies AND raw TCP streams
  • TCP stream interception — tcp_message hook blocks raw streams by UID and scrubs telemetry from ANO/SLS/TSS upload payloads
  • UID blocking — ff.block_uid, ff.unblock_uid, ff.list_blocked runtime commands
  • Fingerprint masking — strips proxy-detection headers (Via, X-Forwarded-For, etc.), rewrites suspicious User-Agents, removes PC-only headers (X-Device-Info, X-Platform-Info, X-Client-Type, ...)
  • Stealth timing jitter — 2–20ms Gaussian latency on login requests to defeat timing fingerprinting
  • JWT forwarding — integrates with the access_jwt token mutation service
  • Selective domain blocking — silently returns 200 {} for crash reporters/analytics while leaving anti-cheat telemetry (ANO/TSS/SLS/SGSSR) unblocked

Device Identity Generator (addons/device_gen.py)

  • Procedurally generates a unique, coherent Android device fingerprint (brand, model, build, User-Agent, locale) per connecting client IP
  • 12 OEM profile generators: Samsung, Xiaomi, OnePlus, Pixel, Vivo, Oppo, Realme, Motorola, Infinix, Tecno, Itel, Nokia
  • Consistency per IP with a ~10^14 combination space to defeat anti-cheat enumeration
  • Used by the bypass addon for User-Agent and identity spoofing

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 --set ff_mask_fingerprint=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
│   ├── device_gen.py        # Procedural Android device identity generator
│   └── 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.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xenproxy 1.0.8
File Size Uploaded
xenproxy-1.0.8.tar.gz 1.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for xenproxy 1.0.8
File Interpreter ABI Platform
xenproxy-1.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 3.5 MB

Release files / xenproxy-1.0.8.tar.gz

Download URL xenproxy-1.0.8.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
d23c65540acb25d537db09352781b3e514540520561c9264376734096a44d836
BLAKE2b-256 checksum
How to use checksums
2dc7b85b9877a7c2cedb5e86c67630c9aaeaede7db484175683ddcf3cd6a8c95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / xenproxy-1.0.8-py3-none-any.whl

Download URL xenproxy-1.0.8-py3-none-any.whl
Size 1.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
619a0a756398a8ad2c195adcfd2fd8a00d4fbf20581f0ae89081536ec31f4e6c
BLAKE2b-256 checksum
How to use checksums
7aaff218421ccf053880dd29796604e2b1ab509bbe354aae16f35ad3042315ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

1.0.12

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

This release

1.0.8 This release

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page