qurl

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2026 License: MIT

README

qurl

qurl is a modern command-line HTTP client built in Go, designed as a feature-rich alternative to curl for API development and testing.

Why qurl?

Standard curl is a powerful tool but lacks built-in features for modern API development and testing workflows. qurl maintains absolute compatibility with common curl flags while providing integrated response formatting, colorization, configuration profiles, and native support for modern protocols like HTTP/3.

Core Features

  • Curl Compatibility: Uses familiar flags like -X, -H, -d, -v, -L, and -fsSL.
  • Response Formatting: Built-in prettification and syntax highlighting for JSON, XML, and HTML.
  • HTTP/3 (QUIC): Support for HTTP/3 connections via the --http3 flag.
  • Configuration Profiles: Load environment-specific headers and settings from qurl.yml.
  • Automated Convenience:
    • Auto-Scheme: Automatically prepends https:// to schemeless URLs.
    • Onion Routing: Automatic SOCKS5 proxying (127.0.0.1:9050) when targeting .onion domains.
  • Proxy Support: Native support for HTTP, HTTPS, and SOCKS5 proxies.

Installation

Install directly via Go:

go install github.com/isa0-gh/qurl/cmd/qurl@latest

Or build from source:

git clone https://github.com/isa0-gh/qurl.git
cd qurl
go build -o qurl ./cmd/qurl

Usage Examples

Follow redirects and use HTTP/3:

qurl -L --http3 -v google.com

Prettify JSON response:

qurl --prettify http://httpbin.org/json

Use a specific profile (e.g., dev headers):

qurl --profile dev api.internal/v1/resource

Configuration

qurl searches for qurl.yml in the standard user configuration directory (e.g., ~/.config/qurl/ on Linux). A default configuration is created automatically on the first run.

Contributing

Issues

Ensure the issue is not already reported. Provide clear steps to reproduce for bugs.

Features

We focus on improving the API testing and development experience. Open a proposal issue before implementing major new features.

Development
  1. Fork the repository.
  2. Create a feature branch.
  3. Submit a pull request to the dev branch.

Directories

Path Synopsis
cmd
qurl command
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL