Interactive HTTP/HTTPS debugging proxy with runtime policies and terminal UI.
Project description
proxyscope
proxyscope is an interactive HTTP/HTTPS proxy for request inspection, response editing, static-response policies, and live runtime control in a terminal UI.
Highlights
- Forward HTTP requests through an upstream connection.
- Handle HTTPS via
CONNECTand optional TLS interception (MITM). - Group request/response logs by request id.
- Inspect request/response details in a TUI.
- Edit matching responses in an external editor.
- Persist runtime configuration and policy rules.
- Replay captured requests.
Requirements
- Python
3.13+ - Poetry
2.x
Installation
poetry install
Run
poetry run proxyscope --host 127.0.0.1 --port 8080
With persisted runtime configuration:
poetry run proxyscope --config ./runtime-config.json
Without TUI:
poetry run proxyscope --no-ui
Runtime Commands (TUI)
helpclearsitesloglevel <DEBUG|INFO|WARNING|ERROR>whitelist [show|add|remove|clear] ...cache [show|on|off|toggle]config [show|save [path]|reload]policy [show|add-editor|add-static|edit|remove|enable|disable] ...quit
Keyboard Shortcuts (TUI)
Left/Right: Focus zwischen Panels wechseln.Up/Down: Auswahl bewegen oder vertikal scrollen (abhängig vom aktiven Panel).PageUp/PageDown: Schnelles vertikales Scrollen.Enter: Request-Detail für den ausgewählten Request öffnen (oder Kommando ausführen, wenn Eingabezeile befüllt ist).Backspace: Zeichen in der Kommandozeile löschen.Tab/Shift+Tab: Im Request-Detail zwischenRequestundResponseTab wechseln.Shift+B: Request-Detail schließen, zurück zur Request-Liste.Shift+P: Rechtes Panel aufPoliciesfokussieren.Shift+S: Rechtes Panel aufSitesfokussieren.Shift+V: Rechtes Panel ein-/ausblenden.Shift+M: Ausgewählten Request als Editor-Policy (METHOD + URL) hinzufügen.Shift+R: Ausgewählten Request editieren und erneut senden.Shift+T: Im Request-Detail zwischenRequestundResponseTab wechseln.Shift+A: Ausgewählte Site zur Log-Whitelist hinzufügen (Sites-Tab).Shift+D: Ausgewählte Site aus der Log-Whitelist entfernen (Sites-Tab).Shift+E: Ausgewählte Policy aktivieren (Policies-Tab).Shift+D: Ausgewählte Policy deaktivieren (Policies-Tab).Shift+I: Ausgewählte Policy bearbeiten (Policies-Tab).Shift+X: Ausgewählte Policy entfernen (Policies-Tab).
TLS Interception (MITM)
Generate local CA materials:
./scripts/generate_mitm_ca.sh
Import certs/ca/mitm-ca.crt into your browser trust store for local testing.
Tests
poetry run python -m unittest discover -s tests -p "test_*.py" -v
Release / Publish
1. Bump Version
poetry version patch
# or: poetry version minor / poetry version major
2. Validate + Build
poetry check
poetry build
3. Configure PyPI Token
Either use an environment variable:
export POETRY_PYPI_TOKEN_PYPI="pypi-..."
or persistent Poetry config:
poetry config pypi-token.pypi "pypi-..."
4. Publish to PyPI
poetry publish --no-interaction
Alternative:
./scripts/publish_pypi.sh
5. Install from PyPI (verification)
pip install proxyscope
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file proxyscope-0.1.0.tar.gz.
File metadata
- Download URL: proxyscope-0.1.0.tar.gz
- Upload date:
- Size: 39.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.13.9 Linux/6.6.87.2-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53163ae69a9fb4925c08149c92c520f680e576696757cc004c5fc4d867a819e6
|
|
| MD5 |
c8c45f46ba94a1b8f8965f54a703bfb3
|
|
| BLAKE2b-256 |
b547eef4179f735a8465aaabde5b538cc85fe869fc846abf28e2187a55d28f3d
|
File details
Details for the file proxyscope-0.1.0-py3-none-any.whl.
File metadata
- Download URL: proxyscope-0.1.0-py3-none-any.whl
- Upload date:
- Size: 53.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.13.9 Linux/6.6.87.2-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f334031fb7721f7396a151baa3a1f43d3fca0a9173c31cdf53c86068357b47c5
|
|
| MD5 |
11629d5b929a9fd19d9a787dfe416d2f
|
|
| BLAKE2b-256 |
2acd729bf633a585b96598aee8889dda7f81e871b43477beea55f03bcca289b5
|