aadityansha06/Flash-Http-cli
A mini Http cli Using C language and libcurl library just as simple Postman , Work in Linux WsL Mac and Android through (termux) , User can make a get request, Post request supporting JSON and application urlencoded both formate
Flash HTTP Client ⚡
A fast, simple, and powerful HTTP client for your terminal - like Postman, but in CLI
Flash is a terminal-based HTTP client that brings the power of API testing to your command line. Built with C and libcurl, it offers a clean Gruvbox-themed interface that's easy on the eyes and powerful in functionality.
Features
- GET Requests — Fetch data from any REST API
- POST Requests — Send form data and JSON payloads
- Beautiful UI — Gruvbox dark theme with intuitive navigation
- Fast and Lightweight — Built in C for maximum performance
- Memory Safe — Proper memory management and error handling
- Cross-Platform — Works on Linux, macOS, and Windows (with proper setup)
Screenshots
Main Menu
POST Method Selection
Quick Start
Download Pre-built Binary (Recommended)
# Download the latest release
wget https://github.com/aadityansha06/Flash-Http-cli/releases/download/1.1.0/flash-linux-x64
# Make it executable
chmod +x flash-linux-x64
# Run Flash
./flash-linux-x64Build from Source
Prerequisites
- GCC compiler
- libcurl development libraries
- Make (optional)
Ubuntu/Debian
sudo apt update
sudo apt install build-essential libcurl4-openssl-devCentOS/RHEL/Fedora
# CentOS/RHEL
sudo yum install gcc libcurl-devel
# Fedora
sudo dnf install gcc libcurl-develmacOS
# Using Homebrew
brew install curl
# Using MacPorts
sudo port install curlCompile and Run
git clone https://github.com/aadityansha06/Flash-Http-cli.git
cd Flash-Http-cli
make
./bin/flashTermux
pkg update && pkg upgrade
pkg install clang curl
git clone https://github.com/aadityansha06/Flash-Http-cli.git
cd Flash-Http-cli
clang Flash-cli.c -o Flash -lcurl
./FlashNote: You may see warnings about
getchar()return values or empty-body while loops during compilation. These are safe to ignore — the program will still run fine.
Usage
GET Requests
- Select option
1from the main menu - Enter the URL (e.g.,
https://jsonplaceholder.typicode.com/posts/1) - View the formatted response
POST — Form Data
- Select option
2from the main menu - Choose
1for Form Data - Enter data in format:
name=John+Doe&email=john%40gmail.com&age=25 - Enter the target URL
- Send the request
POST — JSON
- Select option
2from the main menu - Choose
2for JSON Data - Enter your JSON payload:
{"name":"John","email":"john@gmail.com","age":25} - Enter the target URL
- Send the request
Examples
# GET — fetch user data
URL: https://jsonplaceholder.typicode.com/users/1
# POST — form data
Data: name=Flash+User&email=flash%40example.com&phone=1234567890
URL: https://httpbin.org/post
# POST — JSON
Data: {"title":"Flash HTTP CLI","body":"A powerful terminal HTTP client","userId":1}
URL: https://jsonplaceholder.typicode.com/postsURL Encoding
# Spaces become +
name=John Doe → name=John+Doe
# Special characters use % encoding
email=user@domain.com → email=user%40domain.comJSON Formatting
{
"name": "Flash User",
"data": {
"email": "user@example.com",
"active": true,
"id": 123
}
}Theme
Flash uses the Gruvbox Dark color scheme:
- Background: Dark, easy on the eyes
- Highlights: Warm yellows and oranges
- Success: Bright green indicators
- Errors: Clear red error messages
- Info: Cool blue accents
Contributing
Contributions are welcome! Please read CONTRIBUTING.md before submitting a PR. It covers code standards, version management, commit formatting, and the submission process.
Quick start:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Update the version in
lib/version.h - Push the branch:
git push origin feature/amazing-feature - Open a Pull Request
Important: Always update
lib/version.hwith your changes. See CONTRIBUTING.md for details.
Contributors
Thanks to everyone who has contributed to Flash HTTP CLI!
Core Team
- @aadityansha06 — Creator & Maintainer
Contributors
- @dexter-xD — Enhanced JSON input with multi-line support and improved UI alignment (#6)
- @sakshamg567 — Improved form-data input handling (#2)
Want to contribute? Check out the open issues or raise a PR!
Known Issues
- Windows support requires additional setup for libcurl
- Very large responses (>1GB) may cause memory issues
- Binary releases are currently Linux-only
TODO
- Custom headers support
- Authentication methods (Bearer, Basic Auth)
- Request/Response history
- Configuration file support
- Windows binary releases
- Response syntax highlighting
License
This project is licensed under the MIT License. See the LICENSE file for details.
Author
Aadityansh — @aadityansha06
Acknowledgments
Community
Join the discussions to help improve the project!

