Skip to content

Releases

Snurpo 1.5.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 08:42
416c2cb

Snurpo 1.5.0: take the request to your terminal

The request inspector now offers Copy as cURL. Open a preview of the captured
request, review it, then copy a complete command into a POSIX terminal. This
closes the gap between inspecting a request and reproducing it outside Snurpo.

Copy as cURL

  • Preserve the effective method, URL, repeated headers and text or binary body.
  • Review a readable command before copying. Captured credentials remain visible;
    this is a debugging export, not a sanitized sharing copy.
  • Get explicit clipboard success or select the command manually if access fails.
  • Previewing and copying never execute the command or send traffic.

Output targets sh, bash and zsh, including a compatible shell on Windows.
PowerShell and cmd.exe syntax are not generated. Running the command uses your
terminal's network settings; Snurpo rules and breakpoints are not applied.
Transport headers are normalized, TLS verification stays enabled, and redirects
and retries are not added. Malformed, oversized and HEAD-with-body requests show
an explanation instead of a partial command. Commands stay below 128 KiB.
Full behavior and limits.

Downloads and compatibility

  • macOS Apple Silicon: Snurpo-v1.5.0-macOS-arm64.zip contains Snurpo.app.
  • Windows x64: Snurpo-v1.5.0-Windows-x64-setup.exe.
  • Linux x64: AppImage and Debian package.
  • Source: Snurpo-v1.5.0-source.zip; verify downloads with SHA256SUMS.txt.

Saved sessions, CA trust, archive formats and MCP identifiers remain compatible.
The separate HAR CLI remains version 0.1.0. The installed app needs no Node
runtime; source tooling uses Node 26.13.1 LTS.

The macOS package is ad-hoc signed, not Apple-notarized. Windows/Linux interactive
installers, upgrades and device behavior remain experimental; Intel macOS is
unverified. Optional native Frida binaries remain excluded. This release does
not expand Android, streaming or WebSocket support. See the
verification record
and dependency notes.

The existing native gallery records Snurpo 1.4.2. Historical releases and their
checksums are unchanged.

Snurpo 1.4.2

Choose a tag to compare

@github-actions github-actions released this 12 Nov 08:03
662af77

Snurpo 1.4.2: a nosy little HTTP debugger

Scope is now Snurpo. This is the first release with the new mascot, desktop
icons and Snurpo-branded downloads. Your saved sessions, trusted CA and MCP
configuration keep their existing compatibility identifiers.

What's new

  • A curious mascot in the application, desktop icon and macOS menu bar. The
    menu offers Show Snurpo and Quit Snurpo.
  • A clearer first run: Generate test traffic sends real localhost requests
    through the capture engine so you can immediately explore the inspector.
  • Lavender selection/focus accents, mint brand details and corrected contrast
    in Light appearance. The rules editor recognises an existing saved rule.
  • A fresh native screenshot gallery showing response inspection, a saved 503
    mock, an edited POST replay and session analysis. The redundant local badge
    beside the logo is gone.
  • Node.js 26.13.1 LTS for source builds and the offline HAR CLI. The installed
    native app does not require Node. Branded HTML fixtures and Linux bundling
    prerequisites are corrected; report safety checks remain enabled.

Downloads and upgrading

  • macOS Apple Silicon: Snurpo-v1.4.2-macOS-arm64.zip contains Snurpo.app.
  • Windows x64: Snurpo-v1.4.2-Windows-x64-setup.exe.
  • Linux x64: AppImage and Debian package.
  • Source: Snurpo-v1.4.2-source.zip; verify downloads with SHA256SUMS.txt.

Quit Scope before opening Snurpo. On macOS, move Snurpo.app to Applications
and keep one installed/running copy: both names access the same local archive.
Do not rename the database, CA or bridge files. The underlying executable and
integration identifiers intentionally retain compatibility names. See the
migration guide.

Platform notes

The macOS app is ad-hoc signed and not Apple-notarized. Windows/Linux builds
have automated package and headless engine/MCP coverage; their interactive
installers, upgrades and device behaviour remain experimental. Intel macOS is
unverified. The Linux package includes an AppIndicator dependency required by
the current Tauri bundler; the tray interface is macOS-only.

Optional native Frida binaries are excluded. Install that runtime separately
using the shipped setup helper for supported Android instrumentation. Previous
Android acceptance applies only to its documented target; this branding release
does not broaden device support. Existing dependency findings and platform
limits remain in the
verification record
and dependency notes.

Historical Scope releases and their checksums remain unchanged.

Scope 1.4.1 — appearance, Android hooks and patched SQLite

Choose a tag to compare

@github-actions github-actions released this 09 Nov 22:40
312802c

This release includes a patched bundled SQLite for RUSTSEC-2026-0459. The
unpublished 1.4.0 candidate was withheld after the final dependency audit; its
tag is preserved. The advisory concerns opening a crafted local database/WAL
pair, and this release updates the actual linked library rather than suppressing
the finding. Existing captures use the same archive schema.

The workspace now has Light, Dark and System appearance modes. Choose
one under Appearance in the sidebar. Your preference stays on this device;
System follows live desktop changes. Inspectors, request/body editors, rules,
diagnostics and dialogs share the dark palette and retain semantic status colors.

The MCP SDK is updated to 3.9.0, with refreshed bundled notices. Vitest 5.1.0
supports the regression suite. An additional archive diagnostic control now
binds recorded URLs to the fixture target actually sent, so consistent corruption
of both captured URL fields cannot pass the diagnostic's evidence check.

Android Frida mode now uses Scope's experimental scope-java-v1 Java engine.
It configures supported Java proxy connections, validates intercepted chains
against the supplied Scope CA, and bypasses supported ordinary OkHttp3 pins only
for valid Scope chains. Original hostname, expiry and unrelated-chain checks
remain active. The retained Frida Java bridge and its notices remain included.

Stop now ends the exact application process spawned by the active worker before
unloading hooks. Successful cleanup restores Start, so capture can reconnect
without restarting Scope. Reopening an active device panel preserves its actual
Frida mode. Failed or uncertain cleanup retains recovery state for reconciliation.
Worker output framing and retained diagnostics also have explicit size limits.

The recorded Android acceptance
includes 75/75 synthetic HTTP/TLS outcomes and two worker Stop/restoration gates
on AOSP Android 16/API 36 ARM64, Frida 17.9.1 and OkHttp 3.14.9. Separate native
macOS arm64 checks captured real HTTP 200 responses and JSON through Scope over
two Start/Stop cycles, with owned process/mapping cleanup and reconnect.

Android upgrade notes

The new backend has reduced coverage compared with the removed imported hooks.
Root hiding and system-CA injection are removed. Native TLS, Cronet, QUIC, Flutter,
child processes and custom/obfuscated pinners are unsupported. Recognized lazy
OkHttp/Kotlin check$okhttp configurations fail before readiness; a genuine
OkHttp 4.9.3/Kotlin fixture verified that rejection and cleanup, not unpinning support.
Missing requested capabilities fail startup. Select explicit supported profiles
when the default proxy/certificate/unpinning combination is unavailable.

System proxy mode remains device-wide; HTTPS requires manually configured app
trust. Optional native Frida worker/server binaries are excluded from public
packages and can be installed with the included setup helper. Back up important
captures and finish pending device cleanup before upgrading.

Archive diagnostics

A new opt-in synthetic harness records bounded save-phase, timer and loopback
responsiveness evidence with hard child-process deadlines and cleanup controls.
The Linux/Windows results
retain their exact historical Scope 1.2.2 source; a separate post-merge smoke checks
compatibility. Production archive writes, SQLite durability and capture limits
are unchanged. No production throughput improvement is claimed.

Platform and licensing notes

Packages target macOS arm64, Windows x64 and Linux x64. Verify SHA256SUMS.txt
and each build manifest's source commit. macOS is ad-hoc signed without Apple
notarization. Interactive Windows/Linux, Intel macOS, physical Android devices,
other Android API/ABI combinations and crash/restart recovery with an active
Android worker remain unverified. This release does not establish general
Android compatibility. Bodies above 16 MiB, WebSocket frames and HTTP/3 retain
their existing limits.

AGPL-3.0-or-later. Third-party provenance and the verified GLib 0.18.5 iterator
backport remain included. The owned hooks do not imply a legally certified
clean-room implementation.

Release verification

All three platform builds and the draft publication workflow passed. All 12 downloaded assets match GitHub digests; payload checksums, exact-tag source archive, build manifests, notices and macOS/Debian resources were independently checked. The downloaded macOS arm64 app passed strict signature verification and actual proxy/MCP, redaction, persistence and restart-isolation smoke. Interactive Windows/Linux testing remains separate and unverified.

Scope 1.3.0 — pause, edit, continue

Choose a tag to compare

@github-actions github-actions released this 06 Nov 22:37
cb5fccd

Scope 1.3.0 — pause an endpoint, edit the real message

Traffic rules can now pause a matching request, response or both for manual
editing. Match a host/path, choose Pause & edit, then send traffic through
Scope. The editor contains the message that actually arrived. Change request
method/URL/headers/body or response status/headers/body, then Send with changes,
Continue unchanged, or abort the message. Other endpoints keep moving.

The paused-message banner is available from every workspace, including Traffic
rules. Editing remains available during unrelated UI work. Original messages
and the rules actually applied remain recorded in the session.

The proxy port field also keeps your typed value while status polling runs,
validates it before starting capture, and shows the actual listener port while
capture is running.

Selectors use the original request's immutable rule snapshot. Automatic actions
run before each stage's manual pause; multiple matching selectors and global
breakpoints share one pending editor per message/stage. Both-stage mode pauses
the response separately after the continued request receives it. Replay skips
manual pauses. MCP rule/write permissions and the desktop-only pending editor
boundary are unchanged.

Each pause lasts up to 60 seconds before aborting; a client may time out sooner.
Closing the editor keeps the message paused. Stopping capture aborts waiting
messages. The automatic demo batch refuses matching pause rules; use your own
test client through the proxy to exercise interactive editing.

Workflow, matching and rule format
and recorded verification
describe the exact semantics and test boundaries.

Upgrade and platform notes

Back up important captures before upgrading. The new persisted pause action
requires this version. Before downgrading, remove/convert pause rules using the
new version or restore your pre-upgrade data backup; disabling them is insufficient.

Packages target macOS arm64, Windows x64 and Linux x64, with source ZIP, per-platform
build manifests and SHA-256 checksums. Check SHA256SUMS.txt and the manifest's
source commit. macOS is ad-hoc signed without Apple notarization. Intel macOS is
unverified; Windows/Linux interactive and device behavior remain experimental.
Build/headless coverage does not establish those interactive workflows.

Large response streaming is separate work: bodies above 16 MiB are still rejected,
so large video transfers can fail. WebSocket frames, trailers, HTTP/3 and existing
capture limits are unchanged. Optional native Frida binaries remain excluded and
can be installed separately with the included setup helper.

The compatible GLib 0.18.5 dependency retains the precise upstream iterator
backport and source provenance.
Version-based scanners may still report RUSTSEC-2024-0429; cargo-audit's exclusion
of path packages is not evidence of the fix. No unrelated dependency migration
or production archive-throughput improvement is claimed.

AGPL-3.0-or-later. Third-party notices remain included.

Scope 1.2.2 — GLib backport maintenance

Choose a tag to compare

@github-actions github-actions released this 06 Nov 21:04
0f1d918

Scope 1.2.2 — GLib backport maintenance

Scope 1.2.2 backports the upstream VariantStrIter soundness fix into GLib 0.18.5,
which Tauri's Linux GTK/WebKit dependency family requires. The real GLib version
and original license remain intact. The source archive includes the pristine
crate, exact upstream patch and provenance; only the two-line upstream fix
changes vendored source.

Checks and release builds verify every vendored file and Cargo's locked package
selection, then run optimized Linux iterator regressions. The verifier preserves
exact bytes under Windows Git settings and reads Cargo metadata explicitly as
UTF-8. Dependency notices preserve gtk-rs authorship and link the original crate
and Scope's modified source. Individually reviewed CodeQL flows and concrete
conversion/ownership tests are documented without disabling code scanning.

Capture, replay, archive formats and the offline HAR comparison CLI/Action are
unchanged. No unrelated dependency version migration is included.

Downloads and verification

Packages target macOS arm64, Windows x64 and Linux x64, with source ZIP,
per-platform build manifests and SHA-256 checksums. Verify downloads against
SHA256SUMS.txt and check the source commit in the build manifest. Optional
native Frida binaries remain excluded and can be installed separately with the
included setup helper.

Backport provenance
records the precise source inputs and removal conditions. Cargo-audit does not
match local path packages against registry advisories; its missing GLib warning
is not evidence of the fix. Other version-based scanners may still report
RUSTSEC-2024-0429 because the honest version remains 0.18.5.
Dependency findings
remain documented.

Recorded verification
distinguishes build/headless evidence from interactive observations. Issue #11
remains open for GTK/dialog acceptance. This release adds no interactive
desktop/device coverage: Windows/Linux interactive behavior remains
experimental, Intel macOS is unverified, and the macOS package is ad-hoc signed
without Apple notarization.

Back up important captures before upgrading. Bodies remain buffered up to 16 MiB
each. WebSocket frames, trailers, HTTP/3 and large-session streaming are unchanged.

AGPL-3.0-or-later. Third-party notices remain included.

Scope v1.2.1

Choose a tag to compare

@github-actions github-actions released this 06 Nov 17:10
98ba0ef

Scope 1.2.1 — macOS build maintenance

Scope 1.2.1 moves macOS CI and release packaging to GitHub's supported macOS 15
arm64 runner after the previous macOS 14 runner stopped accepting jobs. This is
a build-host change. Application deployment-target settings, capture, replay,
archive formats, traffic filters and HAR comparison are unchanged.

The release documentation now distinguishes the published 1.2.0 release from
maintenance preparation. Scope 1.2.0 already includes the reusable offline HAR
comparison Action, refreshed project identity and desktop icons.

Downloads and verification

Packages target macOS arm64, Windows x64 and Linux x64, with source ZIP,
per-platform build manifests and SHA-256 checksums. Verify downloads against
SHA256SUMS.txt and check the source commit in the build manifest. Optional native
Frida binaries remain excluded from public packages and can be installed
separately with the included setup helper.

The verification record
keeps hosted build checks separate from interactive runtime observations.
This maintenance release does not add new interactive desktop/device coverage.
The macOS package is ad-hoc signed and is not Apple-notarized. Windows/Linux
interactive behavior remains experimental; Intel macOS is unverified.
Existing dependency findings
remain documented.

Back up important captures before upgrading. Bodies remain buffered up to 16 MiB
each. WebSocket frames, trailers, HTTP/3 and large-session streaming are unchanged.

AGPL-3.0-or-later. Third-party notices remain included.

Scope v1.2.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 18:45
b39d4e5

Scope 1.2.0 — Offline comparisons in your workflow

Scope 1.2.0 adds a reusable GitHub Action for the existing offline HAR comparison
CLI, refreshes the project identity and desktop icons, and updates frontend and
build dependencies. Capture, replay, archive formats and existing free features
remain available.

Compare local HAR captures in CI

The composite Action lives at .github/actions/har-compare. Give it baseline and
current HAR files, an optional contract/config and a new output directory. It
uses its own bundled CLI and emits JSON, standalone offline HTML and JUnit XML.
Node 22.22.3+ and Bash are supplied by the caller; Linux is the initial supported
runner. The comparison itself needs no account, model, token or network access.

Outputs distinguish clean (0), regression (1) and invalid/incomplete (2).
The default step fails on either nonzero result. Set fail-on-result: 'false'
only when a later gate checks the exact result and rejects missing outputs.
Complete reports remain available for regression results. Existing output
directories are refused so stale reports cannot masquerade as a new result.

The Action defaults to labels: ids and never uploads files or posts comments.
Minimized labels do not anonymize traffic patterns. Review derived reports before
sharing; raw captures and configuration should stay in trusted local storage.
Observation alone does not reject an unchanged HTTP 500: use authored status
requirements. Repeated requests pair by encounter order, with the CLI's existing
input bounds and matching limitations.

Action usage, outputs and privacy boundaries ·
CLI matching and contracts

Refreshed Scope identity

The new two-path cyan mark appears in the source assets, repository banner and
desktop icon set. The banner is brand artwork; the application gallery remains
real screenshots from its separately recorded capture version. Desktop behavior
and existing interaction colors are unchanged.

GitHub Actions are pinned to updated commits. Lucide React is 0.577.0 and
TypeScript is 5.9.3. Generated dependency notices include the updated Lucide
copyright and Feather-derived MIT text, with hashes of the release lockfiles.

Packages and verification

Release packaging targets macOS arm64, Windows x64 and Linux x64, with source
ZIP, platform build manifests and SHA-256 checksums. Verify the manifest's source
commit and downloaded files against SHA256SUMS.txt. Optional native Frida
binaries are installed separately and remain excluded from public packages.

The verification record
distinguishes local tests, exact-commit hosted checks and interactive runtime
coverage. Earlier macOS/Android observations do not establish 1.2.0 desktop or
device validation. The macOS package is ad-hoc signed, without Apple notarization.
Windows/Linux interactive behavior remains experimental; Intel macOS is unverified.
Existing dependency findings
remain documented.

Back up important captures before upgrading. Bodies remain buffered up to 16 MiB
each; WebSocket frames, trailers, HTTP/3 and large-session streaming are not added.

AGPL-3.0-or-later. Third-party notices remain included.

Scope v1.1.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 13:17
0a953ca

Scope 1.1.0 — Find the request. Check the change.

Scope 1.1.0 adds structured desktop traffic filters, an offline HAR comparison
tool for CI and a smaller allocation footprint during native session imports.
Existing capture, replay, archive formats and free features remain available.

Structured traffic search

Find failed POST requests with filter: method=POST status>=500, narrow to an
exact host, search plain request/response text, or combine lifecycle and edited
conditions. Filters run before pagination. Ordinary text keeps its previous
literal behavior, and inline syntax help includes examples.

Search syntax and boundaries

Offline API change evidence

The source archive includes the dependency-free tools/har-compare Node CLI.
Compare saved HAR files, select exact operations, ignore volatile JSON fields
per endpoint and author explicit allowed-status/required-field/type contracts.
Export deterministic JSON, escaped offline HTML and JUnit for a CI job.

Exit 0 means no configured regression, 1 identifies regression candidates,
and 2 means the analysis was invalid or incomplete. An unchanged HTTP 500 can
pass observation mode; author a status requirement to reject it. Repeated calls
pair by encounter order, so reordered/request-body-dependent calls may remain
ambiguous. Reports omit captured scalar values, headers, cookies and query data;
readable host/path/field labels still require review before sharing. --labels ids
reduces labels rather than guaranteeing anonymity.

CLI and runnable examples

Leaner native imports

Native import now consumes its already-owned exchange JSON tree instead of
cloning the complete tree. Validation and the atomic SQLite transaction remain.
Recorded bounded Linux debug-profile tests with 64 MiB of decoded bodies show
about 31–33% lower absolute process peak RSS. These measurements are not a
release-build speed claim or a general memory bound. Streaming remains future work.

Reproduction, raw measurements and limitations

Packages and verification

The release targets macOS arm64, Windows x64 and Linux x64, with a source ZIP,
platform build manifests and SHA-256 checksums. The HAR CLI is available from
the source ZIP and requires Node 22.22.3 or newer. Optional native Frida binaries
remain separate upstream installations and are not bundled in public packages.

Verify the downloaded asset against SHA256SUMS.txt and inspect its platform
build manifest for the exact source commit. Cross-platform CI covers locked
workspace/frontend tests, packaging and headless desktop/stdio MCP smoke; the
HAR workflow independently checks hostile report handling and Chromium/CSP.

Verified release candidate

All three release builds passed their locked workspace/frontend tests, packaging,
resource checks and real desktop/stdio MCP smoke. The separate fresh-main HAR
workflow passed its hostile-report and Chromium/CSP checks, and all CodeQL
analyses passed. Platform manifests identify exact source commit
0a953ca7f3d5b7bcd67d4445a7ae6dcf42e76fcb; downloaded asset SHA-256 checks passed.

The final macOS arm64 ZIP was independently checked and its actual packaged app
passed signature/version/architecture checks. In an isolated local test, the app
captured six synthetic localhost requests; structured search returned the exact
HTTP 401 match, rejected an invalid status predicate, and recovered when filters
were cleared. Response-body inspection worked and the app closed cleanly. Its
bundled MCP executable passed capture, redaction/authentication boundaries,
replay-denial, persistence/restart and session-isolation checks.

Windows/Linux interactive installers and Android/device capture were not tested
for 1.1.0
; those interactive paths remain experimental. The macOS package is
ad-hoc signed, without Apple notarization. Existing dependency limitations are
listed in the dependency record.

Back up important captures before upgrading. Bodies remain buffered up to 16 MiB
each; WebSocket frames, trailers, HTTP/3 and large-session streaming are not added.

AGPL-3.0-or-later. Third-party licenses and notices remain included.

Scope 1.0.0 — Your traffic. Your rules.

Choose a tag to compare

@dalkedev dalkedev released this 02 Nov 12:57
5179f4d

Scope — HTTP, in plain sight.

Scope 1.0.0 · The first stable release.

Download: macOS (Apple Silicon) · Windows x64 · Linux x64

Getting started · MCP tools · Full gallery

Save the traffic, reproduce the failure, change the response. Scope 1.0.0 adds persistent traffic rules, an editable replay composer and richer saved sessions to the local Rust/Tauri HTTP(S) debugger. Capture history, editing, exports and MCP access are available without an account or a paid feature tier.

A real captured request returning a local maintenance mock, with rule provenance and response JSON.

What changed

  • Rewrite, mock and block. Save ordered rules for request/response edits, synthetic responses and blocking. Each request uses a consistent rule snapshot. Exchanges retain original messages, applied-rule evidence and explicit upstream/mock/blocked provenance.
  • Compose a replay. Change the method, URL, repeated headers and body, then save the result as a new exchange. Current automatic rules apply; replay skips manual breakpoints. Replaying can change remote state and reuses stored credentials unless you change them.
  • Keep useful sessions. Rename captures, add notes and normalized tags, pin sessions and delete finished work. Active captures and replays have deletion guards. Session metadata survives Scope archive export/import.
  • See what completed. In-flight requests have an explicit state; analysis separates unfinished transfers from failures. Interrupted records are marked when an archive is reopened. A local activity journal keeps up to 10,000 metadata-only operation records.
  • Diagnose Android setup. Read-only preflight reports authorization, root, ABI, Frida versions, mappings and retained recovery state before interception. Frida compatibility and network-stack coverage still depend on the device/app.
  • Give an agent bounded access. Twelve stdio MCP tools cover shared-session inspection, analysis, comparison, observed OpenAPI 3.1 inference, edited replay, global rules and device diagnostics. Sessions, writes, global rules and diagnostics have separate controls, off by default and reset on restart.
  • Choose a sharing format. Ordinary HAR/Scope exports retain raw traffic. A separate sanitized Scope export is explicitly lossy; inspect it before sharing. Redaction is best-effort and does not detect every application secret.

The gallery shows actual native traffic, rules, replay and analysis views. See the changelog and rule semantics for the details.

Persistent traffic rules Editable request replay
Saved local mock rule Request replay composer

Download and install

Use the assets attached to this release and check the downloaded file against SHA256SUMS.txt. The platform build manifests record the source commit and packaged assets; the source archive comes from the exact v1.0.0 tag.

Host Asset Verification boundary
macOS Apple Silicon Download ZIP Native UI and packaged-engine/MCP checks performed locally
Windows x64 Download installer CI build and headless smoke; interactive installer, desktop and device behavior unverified
Linux x64 AppImage · Debian package Experimental; CI build and headless smoke; interactive desktop/device behavior unverified; dependency advisory below

Source archive · SHA-256 checksums

On macOS, extract the ZIP and move Scope.app to Applications. This build has an ad-hoc signature, without Apple Developer signing or notarization. macOS may require explicit approval before opening it. No Intel macOS binary is supplied.

Click the lightning bolt beside New session for a local synthetic capture, or follow the getting-started guide. For HTTPS, trust Scope's public CA only in the intended test environment and keep its private signing key local.

Optional Android / Frida runtime

JavaScript hook profiles and setup helpers are included. Native Frida/Python workers and Android Frida servers are not bundled: their complete artifact-specific redistribution notice inventory has not been established. The optional helper installs pinned Frida 17.9.1 into a private user runtime from upstream and verifies the Android server's pinned archive checksum.

For an app installed in /Applications and an Android arm64 device:

python3 "/Applications/Scope.app/Contents/Resources/resources/device/install-runtime.py" --abi arm64-v8a

This requires Python 3.9+ with venv. For other ABIs, platforms and the exact installation paths, use the command shown in Scope or the Android guide. Installing the host runtime does not start interception or modify a device.

Upgrading from the alpha

  1. Stop capture and replay. If Android interception is active, keep the device connected and use Stop; resolve any retained cleanup/recovery error.
  2. Note the actual application data directory shown in Scope, then quit Scope.
  3. Make a private backup of that whole directory, including any SQLite WAL files, CA files and device state. It contains raw traffic and private keys; keep it out of issues and public repositories. A sanitized export is lossy and is not a full backup.
  4. Install 1.0.0 and reopen it. The database adds session metadata, traffic-rule storage and the activity journal automatically. Previous captures remain in the same archive; interrupted transfers receive an explicit error state.

In-place downgrade compatibility is not guaranteed. To return to an earlier version, quit Scope and use the corresponding pre-upgrade data-directory backup. MCP access must be enabled again after each restart.

Verification and limits

Release preparation passed 52 Rust workspace tests, 10 frontend interaction tests, three Node release/resource tests and three Python installer tests. Three-platform CI builds the packages and runs a real-process MCP/capture/persistence smoke. Local macOS checks exercised actual HTTP mocking, edited replay, session persistence and the packaged app's MCP bridge. Full records and the narrower historical Android coverage are in VERIFICATION.md.

  • Bodies are buffered up to 16 MiB each. WebSocket frames, HTTP trailers, QUIC/HTTP3 and arbitrary TCP/UDP are not captured.
  • Analysis and import/export load session records into memory. Long-running or very large sessions have not been validated.
  • Observed OpenAPI output describes the captured sample, with bounded inferred schemas and no payload examples; it is not a complete API contract.
  • Linux includes transitive glib 0.18.5 with RUSTSEC-2024-0429, an unsound VariantStrIter advisory tracked in #11. Its affected code has not been established as unreachable. Two unmaintained Rust dependencies also remain documented in DEPENDENCIES.md.

Report reproducible bugs with synthetic traffic using the issue templates. For sensitive findings, follow the security policy.

Scope 0.1.0 Alpha 1

Scope 0.1.0 Alpha 1 Pre-release
Pre-release

Choose a tag to compare

@dalkedev dalkedev released this 02 Nov 10:31

Scope's first public alpha: a local desktop HTTP(S) debugger built with Rust, Tauri and React.

Scope traffic inspector

Included

  • HTTP(S) capture with a generated local CA, saved SQLite sessions, HAR and Scope archive import/export.
  • Request/response breakpoints, live editing, originals and replay as a new outbound request.
  • Android app discovery with ADB, device-wide proxy mode, and selected-process Frida profiles.
  • Local traffic analysis, session comparison and seven MCP tools with explicit session sharing and opt-in replay.

Install

Download Scope-v0.1.0-alpha.1-macOS-arm64.zip, verify it against SHA256SUMS.txt, extract it and move Scope.app to Applications. Apple Silicon is the tested release target. The app has an ad-hoc signature and is not Apple-notarized; follow the installation instructions if macOS blocks the first launch.

Proxy capture, sessions and MCP are included. Optional native Frida binaries are installed directly from upstream with the shipped helper; Python 3.9+ with venv is required for this step:

python3 "/Applications/Scope.app/Contents/Resources/resources/device/install-runtime.py" --abi arm64-v8a

Use the actual Android ABI and the command shown by Scope. This creates a private runtime; it does not modify system Python or an Android device. Android setup and compatibility.

Validation and limits

The release preparation includes 16 Rust tests, two packaging tests, three optional-installer tests, strict Clippy, native response editing/original inspection, rooted Android emulator capture/cleanup and an actual packaged MCP/capture/persistence smoke check. Recorded evidence.

This alpha buffers up to 16 MiB per request/response body. WebSocket frames, HTTP/3 and streaming capture are not implemented. Replay sends directly and does not trigger proxy breakpoints. Windows/Linux builds have CI coverage; their native UI/device workflows are not yet verified, so this release publishes the tested macOS artifact. Physical-device and long-session compatibility remain open work. An in-flight replay can temporarily appear as ERR before its actual response arrives (tracked display issue #16). Known dependency findings.

Source and community

The source ZIP is generated from this exact tag; checksums and a build manifest accompany the artifacts. Scope is AGPL-3.0-or-later and preserves HTTP Toolkit/Frida attribution and all included dependency/font notices.

Documentation · Four actual screenshots · Contributing · Roadmap