Surf the Web. From Your Terminal.

A fast, modern, and feature-rich HTTP command-line client for developers. Built with Rust. 🚀

surf get --json --analyze https://api.github.com/users/octocat
 
> HTTP/2 200 OK
> content-type: application/json; charset=UTF-8
> ...
{
  "login": "octocat",
  "id": 1,
  "name": "The Octocat"
}
 
=== Response Analysis ===
security.content-security-policy: present
...

All-in-One HTTP Toolkit

🔍

Fetch & Analyze

Fetch any URL with detailed response inspection, automatic JSON formatting, and security header analysis.

⬇️

Fast Downloads

Download files with parallel connections, progress display, and support for resumable transfers.

📊

Benchmark APIs

Load test your endpoints with customizable concurrency and detailed performance metrics.

⚡️

Smart Caching

Reuse configurations instantly with the -x flag for rapid, repeatable requests.

🔧

Manage Profiles

Easily switch between environments (dev, staging, prod) with configuration profiles.

📚

Request History

Keep track of all your requests. Search, view details, and replay them anytime.

Oh, and one more thing... 🐍

Surf isn't just a serious tool. Sometimes you need a break. Type surf play to discover the hidden snake game, right in your terminal.

Get Surfing in Seconds

cargo install --git https://github.com/Daihongyi/surf.git