Skip to main content

MiniProxy

A lightweight HTTP/S interception proxy for security research — the standalone Burp-style toolkit from the Riciplay ecosystem. Built on mitmproxy, Flask, and SQLite.

Ships the v4 capture engine (the same addon the Riciplay CLI embeds):

  • Always-on capture — every request/response is logged with full headers, bodies, and status codes. (The old intercept toggle silently produced empty captures on fresh DBs; it's gone.)
  • Static-asset streaming — JS/CSS/images stream through without buffering, so heavy SPAs don't pay a per-flow decode tax.
  • Timing — ttfb_ms / total_ms on every flow. Oracles and timing side-channels need numbers.
  • Scope guard — --scope '*.target.com' keeps out-of-scope traffic out of your capture DB (or 403-blocks it with --block-out-of-scope).
  • Repeater — pick a logged request, edit method/headers/body, resend, inspect.
  • Intruder — mark parameters with §param§ placeholders, supply a wordlist, fuzz every position; results highlighted by status code and stored in the DB.

Install

# Python (PyPI)
pip install riciplay-miniproxy

# or Node (npm — installs the Python package on postinstall)
npm install -g riciplay-miniproxy

Requires Python 3.10+ and mitmproxy.

Quick start

miniproxy start                          # proxy on :8080
miniproxy start --scope '*.target.com'   # capture only in-scope traffic
miniproxy dashboard                      # web UI on :5000 (Log/Repeater/Intruder)

Then point your browser/system at http://127.0.0.1:8080 (HTTPS interception uses mitmproxy's CA — run mitmdump once and install ~/.mitmproxy/mitmproxy-ca-cert.pem if you haven't).

miniproxy log                  # recent captured requests (with timing; reads the DB directly)
miniproxy log --id 5           # full detail for request #5
miniproxy send --url https://example.com/api --method POST \
               --headers '{"Content-Type":"application/json"}' \
               --body '{"key":"value"}'
miniproxy status
miniproxy stop

State (pid, port, default capture DB) lives under ~/.miniproxy/.

The dashboard

miniproxy dashboard serves a dark-theme SPA:

  • Proxy — capture status and scope
  • Log — live request feed; click any row for full headers/bodies/timing
  • Repeater — edit and resend any captured request
  • Intruder — §param§ placeholders + wordlist fuzzing, results by status code

Relation to the Riciplay CLI

The Riciplay CLI (pip install riciplay-cli) embeds this same engine with agent-first extras: per-session capture DBs, RULES.md-derived scope enforcement, headless replay with response diffing, and bounded payload sweeps driven by the AI agent. Use MiniProxy standalone when you want the manual Burp-like workflow; use Riciplay when you want the agent to drive.

Project structure

src/miniproxy/
├── addon/
│   ├── proxy.py        # mitmproxy addon — v4 capture engine
│   └── db.py           # SQLite handler (timing columns, intruder results, pruning)
├── app.py              # Flask dashboard (API + UI)
├── intruder.py         # §placeholder§ fuzzing engine
├── server.py           # start/stop/status process manager
└── __main__.py         # the `miniproxy` entry point (start/stop/status/
                        #   dashboard/send/log — log and send work without
                        #   any dashboard running)

License

MIT

Release files for riciplay-miniproxy 0.4.0

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

Source distribution (sdist)

Source distribution for riciplay-miniproxy 0.4.0
File Size Uploaded
riciplay_miniproxy-0.4.0.tar.gz 21.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for riciplay-miniproxy 0.4.0
File Interpreter ABI Platform
riciplay_miniproxy-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 46.3 kB

Release files / riciplay_miniproxy-0.4.0.tar.gz

Download URL riciplay_miniproxy-0.4.0.tar.gz
Size 21.7 kB
Tags Source
SHA-256 checksum
How to use checksums
e7aa3c5eeb8aef9aff1770f4603ef55d499a11a2e2808ebf69db38d83174ced6
BLAKE2b-256 checksum
How to use checksums
945ee39a7e0536f23e97a5785a75a38c5a8e1e0eba0b227865d275dc205f3dcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / riciplay_miniproxy-0.4.0-py3-none-any.whl

Download URL riciplay_miniproxy-0.4.0-py3-none-any.whl
Size 24.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3a432fda42359a5fc23915812ab895945591592b06713f62dee671ac2d679016
BLAKE2b-256 checksum
How to use checksums
c24f4a69ae75e2e06627e5319c37ab265f0c3f71a566860ad14bd300b18151c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

0.5.0

2 release files

This release

0.4.0 This release

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