fetch

command module
v0.28.0 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2026 License: MIT Imports: 27 Imported by: 0

README

fetch

A modern HTTP(S) client for the command line, implemented in Go.

Example of fetch with an image and JSON responses

Features

  • Response formatting - Automatic formatting and syntax highlighting for JSON, XML, YAML, HTML, CSS, CSV, Markdown, MessagePack, Protocol Buffers, and more
  • Image rendering - Display images directly in your terminal
  • WebSocket support - Bidirectional WebSocket connections with automatic JSON formatting
  • gRPC support - Make gRPC calls with automatic reflection, discovery, and JSON-to-protobuf conversion
  • Authentication - Built-in support for Basic Auth, Bearer Token, AWS Signature V4, and mTLS
  • Compression - Select automatic, Brotli, gzip, zstd, or disabled response decoding
  • TLS inspection - Inspect TLS certificate chains, expiry, SANs, and OCSP status
  • DNS inspection - Inspect hostname resolution, record families, TTLs, and resolver timing
  • Timing waterfall - Visualize request timing phases (DNS, TCP, TLS, TTFB, transfer) with a waterfall chart
  • Configuration - Global and per-host configuration file support
  • Article extraction - Extract readable HTML as Markdown with YAML frontmatter
  • HAR recording - Capture the final exchange in a bounded HAR 1.2 sidecar
  • Automatic HTTP/3 and ECH - Use HTTPS/SVCB discovery with explicit downgrade controls
  • Agent Skill - Print or install the portable skill offline for supported agents

Quick Start

Install
# Install fetch from the verified Go release archive (macOS or Linux)
curl -fsSL https://raw.githubusercontent.com/ryanfowler/fetch/main/install.sh | bash
# The installer verifies the SHA-256 sidecar and atomically replaces fetch.

# Or install fetch with homebrew (macOS or Linux)
brew install ryanfowler/tap/fetch

# Or install fetch with Go
go install github.com/ryanfowler/fetch@latest
Usage
# Make a request for JSON
fetch httpbin.org/json

# Make a request for an image
fetch picsum.photos/1024/1024

Documentation

License

fetch is released under the MIT License. See the documentation index for the complete user and maintainer reference.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
article
Package article contains the bounded, text-only rendering used by article extraction.
Package article contains the bounded, text-only rendering used by article extraction.
aws
body
Package body contains the request-body and response-stream primitives used by the fetch request pipeline.
Package body contains the request-body and response-stream primitives used by the fetch request pipeline.
cli
har
Package har records bounded HTTP Archive (HAR) 1.2 exchanges.
Package har records bounded HTTP Archive (HAR) 1.2 exchanges.
pager
Package pager selects and runs the user's configured terminal pager.
Package pager selects and runs the user's configured terminal pager.
skill
Package skill implements the offline Agent Skill workflow.
Package skill implements the offline Agent Skill workflow.
ws

Jump to

Keyboard shortcuts

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