123 lines
4.1 KiB
Markdown
123 lines
4.1 KiB
Markdown
# 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)
|
|
- Beautiful GNOME-native UI
|
|
|
|
## Quick Start
|
|
|
|
### Installation
|
|
|
|
**Build from source:**
|
|
```bash
|
|
git clone https://git.bugsy.cz/beval/roster.git
|
|
cd roster
|
|
meson setup builddir
|
|
meson compile -C builddir
|
|
sudo meson install -C builddir
|
|
```
|
|
|
|
**Flatpak:**
|
|
```bash
|
|
flatpak-builder --user --install --force-clean build-dir cz.bugsy.roster.json
|
|
flatpak run cz.bugsy.roster
|
|
```
|
|
|
|
See the [Installation Guide](https://git.bugsy.cz/beval/roster/wiki/Installation) for detailed instructions.
|
|
|
|
### Usage
|
|
|
|
Launch Roster from your application menu or run `roster` from the command line.
|
|
|
|
See the [Getting Started Guide](https://git.bugsy.cz/beval/roster/wiki/Getting-Started) for a walkthrough.
|
|
|
|
## Documentation
|
|
|
|
Complete documentation is available in the [Wiki](https://git.bugsy.cz/beval/roster/wiki):
|
|
|
|
- **[Home](https://git.bugsy.cz/beval/roster/wiki/Home)** - Overview and quick links
|
|
- **[Installation](https://git.bugsy.cz/beval/roster/wiki/Installation)** - Build and install instructions
|
|
- **[Getting Started](https://git.bugsy.cz/beval/roster/wiki/Getting-Started)** - Your first HTTP request
|
|
- **[Projects and Environments](https://git.bugsy.cz/beval/roster/wiki/Projects-and-Environments)** - Organize your work
|
|
- **[Variables](https://git.bugsy.cz/beval/roster/wiki/Variables)** - Use variables in requests
|
|
- **[Sensitive Variables](https://git.bugsy.cz/beval/roster/wiki/Sensitive-Variables)** - Secure credential storage with GNOME Keyring
|
|
- **[Scripts](https://git.bugsy.cz/beval/roster/wiki/Scripts)** - Automate workflows with JavaScript
|
|
- **[API Reference](https://git.bugsy.cz/beval/roster/wiki/API-Reference)** - Complete JavaScript API
|
|
- **[Keyboard Shortcuts](https://git.bugsy.cz/beval/roster/wiki/Keyboard-Shortcuts)** - Speed up your workflow
|
|
- **[FAQ](https://git.bugsy.cz/beval/roster/wiki/FAQ)** - Frequently asked questions
|
|
|
|
## Key Features
|
|
|
|
### 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](https://git.bugsy.cz/beval/roster/wiki/Sensitive-Variables)
|
|
|
|
### 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](https://git.bugsy.cz/bavel/roster/wiki/Scripts)
|
|
|
|
### Multi-Environment Support
|
|
|
|
Manage multiple environments (development, staging, production) with different variable values. Switch environments with one click.
|
|
|
|
[Learn more about Variables](https://git.bugsy.cz/beval/roster/wiki/Variables)
|
|
|
|
## 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](https://git.bugsy.cz/beval/roster/wiki/Installation) 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
|
|
|
|
- **Issues**: [git.bugsy.cz/beval/roster/issues](https://git.bugsy.cz/beval/roster/issues)
|
|
- **Wiki**: [git.bugsy.cz/beval/roster/wiki](https://git.bugsy.cz/bavel/roster/wiki)
|
|
- **Source**: [git.bugsy.cz/beval/roster](https://git.bugsy.cz/beval/roster)
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome! Please open an issue or pull request.
|