Skip to main content

ShadowFire - Free Fire optimized MITM proxy (fork of mitmproxy).

Project description

ShadowFire

A Free Fire-optimized MITM proxy, forked from mitmproxy. ShadowFire 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 commandsff.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) → ShadowFire Proxy (:8080) → Game Servers
                                         ↕
                              access_jwt Service (:1080)
                                    (JWT mutation)

Quick Start

# Install
pip install shadowfire

# Start the proxy
shadowfire

# Start the web UI
shadowfire web

# Start headless dump mode
shadowfire dump

Free Fire Pipeline

# Terminal 1: Start the backend services
cd new/python
pip install -r requirements.txt
python main.py

# Terminal 2: Start ShadowFire with the bypass addon
shadowfire -s shadowfire/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

ShadowFire reads ~/.shadowfire/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/shadowfire.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 shadowfire release/docker/
docker run -p 8080:8080 -p 8081:8081 shadowfire

Development

# Install with uv
uv sync

# Run tests
uv run pytest

# Run linter
uv run ruff check shadowfire/

# Type check
uv run mypy shadowfire/

Project Structure

shadowfire/                  # 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              # shadowfire_cli dispatcher
│   ├── console/             # Console UI (curses)
│   ├── dump/                # Headless dump mode
│   └── web/                 # Web UI (React SPA)
├── 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
├── main.py                  # Orchestrator (forwarder, API, UID sync)
└── access_jwt/              # JWT mutation service

License

MIT — see LICENSE.

Credits

ShadowFire is a fork of mitmproxy. The original project is maintained by the mitmproxy contributors and licensed under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shadowfire-1.0.0.tar.gz (396.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shadowfire-1.0.0-py3-none-any.whl (488.7 kB view details)

Uploaded Python 3

File details

Details for the file shadowfire-1.0.0.tar.gz.

File metadata

  • Download URL: shadowfire-1.0.0.tar.gz
  • Upload date:
  • Size: 396.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for shadowfire-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e3ed88505e2cdd9e6afe882d34543d6e6a1794819a787b912249db09b44b53a6
MD5 9a96e480e6b251dd7430f335e942d86b
BLAKE2b-256 cbb6120636f1024d9019d426e7fc183952d55fa50418b67b9d14b519db01377a

See more details on using hashes here.

File details

Details for the file shadowfire-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: shadowfire-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 488.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for shadowfire-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 883efe3e6726a94d5e1c3a2236b8bd2d9d4d99e5abb222fb0a1a949b6b741a9c
MD5 79c1e88aa79787cfd90692ab4b6e45a1
BLAKE2b-256 b6109024995800019599da24d79be5999943d6218d6c5730ae77280fab7c9c15

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page