Skip to content

dexter-xD/TinyRequest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TinyRequest Logo

TinyRequest

A lightweight, fast, and intuitive HTTP client for Linux

License: MIT C C++ Platform Build System GUI Network JSON Window Graphics

TinyRequest Screenshot

✨ Features

  • πŸš€ Lightning Fast - Native C/C++ performance with minimal resource usage
  • 🎯 Intuitive Interface - Clean, modern UI built with ImGui
  • πŸ“ Request Collections - Organize your API requests like a pro
  • πŸͺ Smart Cookie Management - Automatic cookie handling per collection
  • πŸ” Multiple Auth Types - API Key, Bearer Token, Basic Auth, OAuth 2.0
  • πŸ›‘οΈ SSL Support - Configurable SSL verification for secure requests
  • ⚑ Real-time Response - See response times, status codes, and headers instantly

πŸ–₯️ System Requirements

  • OS: Linux (Ubuntu, Fedora, Arch, openSUSE)
  • Architecture: x86_64
  • Dependencies: GLFW3, libcurl, OpenGL
  • Memory: ~50MB RAM usage
  • Disk: ~10MB installation size

πŸš€ Quick Start

Install from Release (Recommended)

For Debian/Ubuntu users:

  1. Download the latest .deb package from the Releases page

    # Download the latest release (replace with actual version)
    wget https://github.com/dexter-xD/TinyRequest/releases/download/v1.0.4/tinyrequest-v1.0.4.deb
  2. Install the package

    sudo dpkg -i tinyrequest-v1.0.deb
  3. Fix dependencies if needed

    sudo apt-get install -f
  4. Launch TinyRequest

    tinyrequest

    Or find it in your applications menu under "Development" or "Internet"

Alternative download methods:

  • Visit the Releases page directly
  • Use curl: curl -LO https://github.com/dexter-xD/TinyRequest/releases/download/v1.0/tinyrequest-v1.0.deb

πŸ”§ Manual Build

1. Install Dependencies

Option A: Use the automated script (Recommended)

./scripts/fetch_dependencies.sh

This script will automatically detect your Linux distribution and install all required system dependencies, plus fetch the external libraries.

Option B: Manual installation

Ubuntu/Debian:

sudo apt update && sudo apt install -y libglfw3-dev libcurl4-openssl-dev libcjson-dev cmake build-essential

Fedora:

sudo dnf install -y glfw-devel libcurl-devel cjson-devel cmake gcc gcc-c++ mesa-libGL-devel

Arch Linux:

sudo pacman -S glfw curl cjson cmake gcc mesa libx11 libxrandr libxinerama libxcursor libxi

If you chose Option B, you'll also need to fetch external dependencies:

./scripts/fetch_dependencies.sh

2. Build

# Debug build
cmake -S . -B cmake-build-debug -DCMAKE_BUILD_TYPE=Debug
cmake --build cmake-build-debug

# Release build
cmake -S . -B cmake-build-release -DCMAKE_BUILD_TYPE=Release
cmake --build cmake-build-release

πŸ“– Usage

Creating Your First Request

  1. Launch TinyRequest - The app opens with a clean three-tab interface
  2. Collections Tab - Create a new collection to organize your requests
  3. Request Tab - Configure your HTTP request:
    • Choose method (GET, POST, PUT, DELETE, etc.)
    • Enter URL
    • Add headers and authentication
    • Set request body for POST/PUT requests
  4. Send Request - Click send and view results in the Response tab

Authentication Support

TinyRequest supports multiple authentication methods:

  • API Key - Header or query parameter
  • Bearer Token - Authorization header
  • Basic Auth - Username/password
  • OAuth 2.0 - Access token

Each auth type can be enabled/disabled independently per request.

Collections & Cookie Management

  • Collections organize related requests (like Postman workspaces)
  • Automatic cookie handling - Cookies are stored per collection
  • Session persistence - Maintain login state across requests
  • Import/Export - Share collections with team members

Contributing

I welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.

Quick Start:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“‹ For detailed guidelines, please read CONTRIBUTING.md

🎯 Looking for something to work on? Check out TODO.md for planned features and improvements

πŸ“ License

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

πŸ™ Acknowledgments

  • ImGui for the excellent immediate mode GUI framework
  • libcurl for robust HTTP networking
  • Font Awesome for beautiful icons
  • The open-source community for inspiration and support

πŸ“ž Support


About

Lightweight HTTP client with modern GUI for Linux

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages