HTTP client for GNOME
  • Python 99%
  • Meson 1%
Find a file
2026-06-24 16:18:59 +02:00
data Release 0.12.0 2026-06-24 16:18:59 +02:00
po Update POT file with new keyboard shortcut strings 2026-01-13 17:56:03 +01:00
screenshots Update screenshots for 0.11.0 2026-05-28 01:12:15 +02:00
src Move Body Type selector into body sub-page toolbars 2026-06-24 16:17:45 +02:00
video Add Roster video 2026-03-20 22:45:23 +01:00
.gitignore Add Form Data and x-www-form-urlencoded body types for requests 2026-06-24 15:53:38 +02:00
CLAUDE.md Update instructions 2026-02-11 00:07:07 +01:00
COPYING Initial commit: Roster HTTP client for GNOME 2025-12-18 11:05:33 +01:00
COPYING.icons Add application icons and update branding metadata, update licensing documentation 2026-01-11 01:22:34 +01:00
cz.bugsy.roster.flathub.json Bump version to 0.8.3 2026-02-10 23:53:29 +01:00
cz.bugsy.roster.json Merge import buttons into single popover menu, add PyYAML to Flatpak 2026-05-12 23:17:58 +02:00
example_sensitive_vars.py Add sensitive variable support with GNOME Keyring integration 2026-01-12 23:28:55 +01:00
LICENSE-THIRD-PARTY.md Use papyrus-vertical-symbolic icon for WSDL import button (CC0) 2026-05-12 13:37:09 +02:00
meson.build Release 0.12.0 2026-06-24 16:18:59 +02:00
README.md Release 0.11.0 2026-05-27 23:38:32 +02:00

Roster

A modern HTTP client for GNOME, built with GTK 4 and libadwaita.

Features

  • Send HTTP requests (GET, POST, PUT, DELETE)
  • Configure custom headers and request bodies
  • View response headers and bodies with syntax highlighting
  • Track request history with persistence
  • Organize requests into projects
  • Environment variables with secure credential storage
  • JavaScript preprocessing and postprocessing scripts
  • Export requests (cURL and more)
  • Git-based collaboration — projects are stored as plain JSON files, one per request, making it easy to share and version-control your API collections with a team
  • GNOME-native UI

Screenshots

Main Interface

Main Interface

Request History

Request History

Environment Variables

Environment Variables

Quick Start

Installation

Build from source:

git clone https://git.bugsy.cz/beval/roster.git
cd roster
meson setup builddir
meson compile -C builddir
sudo meson install -C builddir

Flatpak:

flatpak-builder --user --install --force-clean build-dir cz.bugsy.roster.json
flatpak run cz.bugsy.roster

See the Installation Guide for detailed instructions.

Usage

Launch Roster from your application menu or run roster from the command line.

See the Getting Started Guide for a walkthrough.

Complete documentation is available in the Wiki:

Key Features

Multi-Environment Support

Manage multiple environments (development, staging, production) with different variable values. Switch environments with one click.

Learn more about Variables

Secure Credential Storage

Store API keys, passwords, and tokens securely in GNOME Keyring with one-click encryption. Regular variables are stored in JSON, while sensitive variables are encrypted.

Learn more about Sensitive Variables

Git-Based Collaboration

Every project and request is stored as a plain JSON file under ~/.local/share/cz.bugsy.roster/projects/. This makes it straightforward to share your API collections with a team:

# Put your Roster data directory under version control
cd ~/.local/share/cz.bugsy.roster/projects
git init
git remote add origin git@example.com:your-team/api-collections.git
git add .
git commit -m "Add API collections"
git push

Team members can then clone the repository into their own data directory and get the full set of projects and requests instantly. Changes to requests show up as clean, reviewable diffs — each request is a separate file, so there are no merge conflicts from unrelated edits.

JavaScript Automation

Use preprocessing and postprocessing scripts to:

  • Extract authentication tokens from responses
  • Add dynamic headers (timestamps, signatures)
  • Chain requests together
  • Validate responses

Learn more about Scripts

Dependencies

Runtime

  • GTK 4
  • libadwaita 1
  • Python 3
  • libsoup3 (provided by GNOME Platform)
  • libsecret (provided by GNOME Platform)
  • GJS (GNOME JavaScript)

Build

  • Meson (>= 1.0.0)
  • Ninja
  • pkg-config
  • gettext

See the Installation Guide for platform-specific dependencies.

Platform

Roster is built specifically for the GNOME desktop using native technologies:

  • GTK 4 - Modern UI toolkit
  • libadwaita - GNOME design patterns
  • libsoup3 - HTTP networking
  • libsecret - Secure credential storage
  • GJS - JavaScript runtime for scripts

License

GPL-3.0-or-later

Support

Contributing

Contributions are welcome! Please open an issue or pull request.