roster/README.md
Pavel Baksy de83ecfbb4 Add screenshots section to README with screenshot files
Include main interface, history, and variables screenshots. Remove old sensitive variables documentation files.
2026-01-14 00:12:50 +01:00

121 lines
3.2 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)
- GNOME-native UI
## Screenshots
### Main Interface
![Main Interface](screenshots/main.png)
### Request History
![Request History](screenshots/history.png)
### Environment Variables
![Environment Variables](screenshots/variables.png)
## 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.
Complete documentation is available in the [Wiki](https://git.bugsy.cz/beval/roster/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](https://git.bugsy.cz/beval/roster/wiki/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](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)
## 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.