Skip to content

Repository files navigation

Resonance logo

Resonance

A lightweight, local-first, open-source alternative to Postman and Insomnia. No account. No cloud sync. No telemetry. Your collections are plain JSON files on your disk.

Latest release Downloads Flathub CI License: MIT

Installation · Features · Screenshots · Documentation · Scripting · Contributing

Get it on Flathub   Get it from the Snap Store

Main interface showing API request configuration

Why Resonance?

  • Local-first, zero-account — everything works offline, forever. Collections, environments, history, and settings live as human-readable JSON files that you can version, diff, and share with git.
  • Genuinely lightweight — built with Tauri and a Rust backend: ~15 MB bundle size, ~50 MB memory footprint.
  • Every protocol you need — REST, GraphQL (incl. subscriptions), gRPC (with server reflection), WebSocket, Server-Sent Events, and MQTT in one client.
  • Secrets stay secret — credentials and secret variables are stored in your OS keychain (GNOME Keyring / KWallet, macOS Keychain, Windows Credential Manager), never in the collection files you commit.
  • Batteries included — OpenAPI & Postman import, mock server, pre-request/test scripting, collection runner, code generation in 9 languages, mTLS.

Features

Protocols

  • REST/HTTP — HTTP/1.1 and HTTP/2, all body modes (JSON, form data, URL-encoded, plain text, binary files, multipart file uploads), detailed timing breakdown (DNS, TCP, TLS, TTFB, download), cookie display, configurable timeouts
  • GraphQL — dedicated query and variables editors with syntax highlighting, auto-format, and live subscriptions over WebSocket (graphql-transport-ws)
  • gRPC — server reflection (v1/v1alpha) with automatic service discovery, all four RPC kinds (unary, server-, client-, and bidirectional streaming), TLS/mTLS options, metadata and trailers display
  • WebSocket — persistent connections per tab, handshake headers, transcript-style message display
  • Server-Sent Events — automatic reconnection honoring retry, Last-Event-ID resumption, live connection lifecycle status
  • MQTT — plaintext and TLS brokers, topic subscribe/publish with wildcards, QoS 0/1/2, retain flag, live connection status

Import, Export & Mocking

  • OpenAPI 3.0 import (YAML/JSON) with schema-based example generation, Postman import (v2.0/v2.1 collections and environments), OpenAPI export
  • Code generation in 9 languages — cURL, Python, JavaScript (Fetch/Axios), Node.js, Go, PHP, Ruby, Java
  • Built-in mock server — generates responses from OpenAPI schemas, custom bodies and delays per endpoint, request logging

Automation & Testing

  • Pre-request and test scripts — sandboxed JavaScript (Boa Engine) with request mutation, expect() assertions, environment access, and sendRequest() for request chaining (full scripting docs)
  • Collection runner — batch execution with ordering, variable chaining, stop-on-error, delays, and saved configurations
  • Environments & variables{{ variable }} templating, dynamic variables ({{$uuid}}, {{$timestamp}}, random data), quick environment switching, import/export

Security

  • Auth methods — Bearer, Basic, API Key, OAuth 2.0, Digest, AWS Signature v4 — configurable at request, folder, or collection level
  • Client certificates (mTLS) — per-host PEM certificates with custom CA trust
  • Keychain-backed secrets — literal credentials and secret variables are encrypted at rest in the OS credential store and never written to the git-friendly collection files
  • Proxy support — HTTP/HTTPS/SOCKS with authentication and bypass lists

Workflow & UX

  • Workspace tabs with independent, persistent state; request history with search and replay
  • Keyboard shortcuts for everything, platform-aware (Ctrl/)
  • 4 themes (light, dark, system, OLED black) with 9 accent colors; 6 languages (English, German, Spanish, French, Italian, Brazilian Portuguese)
  • Auto-update for AppImage and direct downloads; package-manager installs defer to their own update mechanism

See the documentation site for detailed guides on every feature.

Installation

Linux

Flathub

flatpak install flathub io.github.db_mobile.resonance

Snap

snap install db-mobile-resonance

To store secrets in the OS keychain (encryption at rest), connect the password-manager interface:

snap connect db-mobile-resonance:password-manager-service

Without this connection the strict snap cannot reach the Secret Service (GNOME Keyring / KWallet), and secrets fall back to unencrypted local storage.

AUR (Arch Linux)

yay -S resonance-bin

AppImage / .deb — download from the latest release.

macOS

brew tap db-mobile/resonance
brew install --cask resonance

Or download the .dmg from the latest release.

Windows

winget install DBMobile.Resonance

Or download the .exe installer from the latest release.

From Source

Requires Node.js v22+, Rust (stable), and Tauri's platform dependencies (Linux: sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libayatana-appindicator3-dev librsvg2-dev; macOS: xcode-select --install; Windows: MSVC Build Tools).

git clone https://github.com/db-mobile/resonance.git
cd resonance
npm install
npm run dev          # development mode with hot reload
npm run build:tauri  # production build → src-tauri/target/release/bundle/

Screenshots

Environment management Mock server
Environment management Mock server
Settings
Settings

Documentation

User documentation lives on the Resonance website — guides for every protocol, the mock server, collection runner, scripting, and more.

Roadmap

  • Response comparison and diff view
  • Git integration for collections (versioning & sync)
  • Team collaboration features
Completed milestones
  • OpenAPI 3.0 import with schema-based generation
  • Postman collection import (v2.0 & v2.1)
  • Postman environment import
  • Multi-language code generation (9 languages)
  • Workspace tabs for concurrent requests
  • Performance metrics and timing breakdown
  • Cookie management and display
  • Proxy support with authentication (HTTP/HTTPS/SOCKS)
  • Variable templating system with environment support
  • Dynamic variables (UUID, timestamps, random values)
  • Multi-theme support (4 themes with 9 accent colors)
  • Internationalization (6 languages)
  • Authentication support (Bearer, Basic, API Key, OAuth2, Digest)
  • Client certificates / mTLS with per-host configuration and custom CA trust
  • Request history with search and replay
  • Environment management (Dev, Staging, Production, custom)
  • Keyboard shortcuts for all major actions
  • Mock server with custom responses and delays
  • Collection export (OpenAPI format)
  • Pre-request and test scripts with JavaScript execution (Boa Engine)
  • Automated testing framework with rich assertion API
  • Request chaining with environment variable integration
  • GraphQL support with dedicated query and variables editors
  • GraphQL subscriptions over WebSocket (graphql-transport-ws)
  • Tauri v2 migration for smaller bundle and better performance
  • gRPC support with server reflection and all four RPC kinds (unary, server/client/bidirectional streaming)
  • WebSocket support with native backend transport and handshake headers
  • Server-Sent Events (SSE) support with automatic reconnection and Last-Event-ID resumption
  • MQTT support with topic subscribe/publish, QoS levels, retain, and TLS brokers
  • Collection runner for batch request execution with variable chaining
  • File uploads: multipart form-data file parts and binary request bodies

Contributing

Contributions are welcome!

  1. Fork the repository and create a feature branch: git checkout -b feature/amazing-feature
  2. Follow the existing patterns and conventions (see Architecture)
  3. Run npm run lint and npm test before committing
  4. Open a Pull Request

Found a bug or have a feature request? Open an issue — please check existing issues first and include as much detail as possible.

License

This project is licensed under the MIT License — see the LICENSE file for details.

Releases

Packages

Contributors

Languages