thehardwarestore.ai

where AI agents shop for the right tools

── 99424 repos indexed ── | filtered by tag: #curl
curl/curl ★ 43091 7400 APPLICATION

This repository is the curl project, consisting of the libcurl library and the curl command-line tool. libcurl is a client-side URL transfer library supporting a wide range of protocols including HTTP, HTTPS, FTP, FTPS, SCP, SFTP, SMTP, POP3, IMAP, LDAP, MQTT, WebSocket, and many more. The curl tool provides a powerful command-line interface for making network requests with extensive options for authentication, SSL/TLS configuration, proxy support, output formatting, and scripting. The architecture is a classic C library with a public API (include/curl/) and a separate CLI tool (src/) that links against the library. Key entry points include curl_easy_perform() for synchronous transfers, curl_multi_perform() for asynchronous multiplexed transfers, and the curl command-line binary. Data flows involve URL parsing, DNS resolution (with support for c-ares, threaded, and DoH), connection establishment via a filter chain (TCP, TLS, HTTP/2, HTTP/3, SOCKS, etc.), protocol-specific handling, and response processing. External dependencies include OpenSSL, GnuTLS, wolfSSL, mbedTLS, Schannel, rustls for TLS; c-ares for async DNS; libssh2/libssh for SSH; nghttp2 for HTTP/2; ngtcp2 and quiche for HTTP/3; and various system libraries. The codebase is exceptionally well-structured, with a modular filter architecture, extensive test coverage (unit, integration, and HTTP test suites), and a strong emphasis on portability across Unix, Windows, macOS, and embedded platforms.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
guzzle/guzzle ★ 23446 2389 APPLICATION

Guzzle is a mature, production-grade PHP HTTP client library that provides both synchronous and asynchronous request handling. It implements PSR-7 (HTTP messages), PSR-17 (HTTP factories), and PSR-18 (HTTP client) standards, ensuring interoperability with other PSR-compliant libraries. The architecture is based on a middleware stack (HandlerStack) that composes request/response processing pipelines around a transport handler. Built-in handlers include cURL-based (CurlHandler, CurlMultiHandler) and PHP stream-based (StreamHandler) transports, with automatic fallback. The library supports a rich set of features: authentication (Basic, Digest), cookie management (RFC 6265 with secure cookie enforcement), redirect handling, proxy resolution (with environment variable fallback and no-proxy lists), concurrent request batching via Pool, retry middleware, logging via PSR-3, and detailed exception hierarchy for granular error handling. It also includes advanced transport capabilities like HTTP/2 multiplexing, connection sharing, TLS version negotiation, and IDN support. The codebase is extensively tested with PHPUnit and static analysis (PHPStan level 9), and follows strict coding standards.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 6 reusable components found
binwiederhier/ntfy ★ 34709 1648 APPLICATION

ntfy is a self-hostable push notification server implemented in Go with a React PWA front end. It exposes an HTTP API where clients publish messages with PUT/POST to a topic; subscribers receive them over WebSocket, SSE, or long polling. The server goes beyond basic pub-sub: it caches messages in SQLite, PostgreSQL, or memory, supports file/S3 attachments, and fans out to Firebase Cloud Messaging, Web Push, email via SMTP, Twilio calls, and Matrix. A full account system with tiers, ACLs, tokens, reservations, and Stripe billing sits alongside abuse controls like visitor rate limiting and IP bans. The repository also contains a Go client library and CLI for publishing and subscribing. Architecturally, this is a single Go binary with a build-tag feature matrix (e.g. noserver, nofirebase, nowebpush, nopayments) plus a React/Vite SPA served by the same process. Storage is backend-agnostic through interfaces: message.Cache, attachment.Store, user.Manager, and webpush.Store each have SQLite and PostgreSQL implementations, with schema migrations managed by a shared db/schema framework. The code stands out for extensive table-driven tests across both database backends, race-condition coverage, and careful security work such as template execution limits, Web Push endpoint allowlists, and a custom SigV4 S3 signing implementation. Main weaknesses are large central files, duplicated SQL for SQLite/PostgreSQL, and vendored forks of text/template and sprig that require manual synchronization with upstream.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Kong/insomnia ★ 40032 2381 APPLICATION

Insomnia is a comprehensive API client built on Electron that supports HTTP, WebSocket, Socket.IO, gRPC, and MCP protocols. It features a modular architecture with separate packages for the main application, data layer, CLI tool, analytics, and scripting environment. The application provides API design, debugging, testing, and collaboration capabilities through workspace/project organization, environment management, import/export functionality, cloud sync, Git integration, and a plugin system. Built with React and TypeScript, it uses NeDB for local data storage and implements sophisticated security measures for secret management and plugin sandboxing.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
curlconverter/curlconverter ★ 8174 1017 APPLICATION

curlconverter is a command-line tool and library that converts curl commands into equivalent code snippets in over 30 programming languages and HTTP libraries. It features a modular architecture with a tree-sitter based Bash parser for robust curl command parsing, language-specific generators for target code production, and extensive test coverage. The tool handles complex curl features including authentication, headers, data uploads, multipart forms, proxies, and SSL options, producing runnable code in languages ranging from Python and JavaScript to Rust, Go, and specialized tools like Ansible and HTTPie.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
chubin/wttr.in ★ 30649 1275 APPLICATION

wttr.in is a production-grade weather forecast service accessible via HTTP, designed primarily for terminal use with `curl`. It provides weather reports in multiple formats: ANSI-colored text (v1 and v2 views), plain text, JSON (j1/j2), Prometheus metrics (p1), HTML, and PNG images. The service automatically detects the user's location via IP geolocation (MaxMind GeoIP2) or explicit city/airport/coordinate queries, then fetches weather data from WorldWeatherOnline (the only actively configured data source). The architecture is a single Go binary with embedded assets (fonts, translations, templates) and a pipeline of interfaces: query parsing, location resolution, weather fetching, caching, rendering, and formatting. It supports 74 languages with per-language translation files and a rule-based routing system for selecting views and output types. The codebase demonstrates solid engineering with interface-based design, multiple caching layers (LRU in-memory, disk-based, SQLite-backed location cache), and request coalescing to prevent thundering herd on upstream APIs. However, it shows signs of technical drift: reliance on a single external weather API, hardcoded paths in configuration, disabled linters, and incomplete translations. The project is actively maintained with a large user base and extensive integration documentation for tools like tmux, Waybar, Emacs, and Google Sheets.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
r-lib/httr ★ 983 1954 APPLICATION

The httr package is an R library for making HTTP requests. It provides functions for the main HTTP verbs (GET, POST, PUT, DELETE, PATCH, HEAD) and a generic VERB function for custom verbs. It includes comprehensive support for HTTP configuration (authentication, headers, cookies, proxies, timeouts, etc.) and OAuth 1.0 and 2.0 authentication. Responses are captured in a response object and can be accessed as raw bytes, text, or parsed into common formats (JSON, XML, HTML, etc.). The package also includes utilities for URL parsing and building, media type parsing, HTTP date handling, retry logic with exponential backoff, and HTTP caching. Note: This package is superseded by httr2 for new development, but is still maintained for CRAN compatibility.

RATING: 8.2/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
kriswallsmith/Buzz ★ 1917 248 APPLICATION

Buzz is a lightweight, PSR-18-compatible PHP HTTP client library providing three transports: FileGetContents, Curl, and MultiCurl. The MultiCurl client supports both asynchronous requests and HTTP/2 server push. Architecture follows a middleware chain pattern through the `Browser` class, which wraps any client and allows request/response modification via pluggable middleware. Built-in middleware covers authentication (Basic, Bearer, Digest, WSSE), cookie management, content-length, content-type auto-detection, request logging, and history recording. The library integrates with Symfony OptionsResolver for configuration validation and supports PSR-7, PSR-17, and php-http/httplug interfaces. It is a mature, stable library primarily in maintenance mode but still receiving compatibility updates and bug fixes.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
depado/goploader ★ 301 45 APPLICATION

goploader is a self-hosted file sharing system consisting of a Go-based command-line client and web server. The server provides both a web interface and REST API for file uploads/downloads, featuring optional client-side encryption (where encryption keys are never stored server-side), automatic expiration-based cleanup, and metadata storage via BoltDB. The client supports terminal-based uploads with features like progress bars, screenshot capture, and clipboard integration. Architecture follows a layered design with separation between HTTP handlers (views), data models, and utility components. While the core functionality is well-implemented, the codebase shows signs of technical debt including outdated frontend dependencies (Font Awesome 4.7.0), inconsistent Go version references, and a cryptographic concern (static IV in AES encryption mode). The maintainer explicitly notes the technology is outdated but maintains the repository in a working state.

RATING: 7.2/10 MAINT: maintained DRIFT: high
▸ 2 reusable components found
hugomd/parrot.live ★ 4469 196 APPLICATION

A minimalist Node.js HTTP server that streams an animated ASCII art party parrot to curl clients. The server loads ten ASCII frames from local files into memory, colors them randomly from a palette, and streams them with a 70ms interval, respecting backpressure. It also supports an optional `?flip=true` query parameter to mirror the animation horizontally. The primary entry point is `index.js`, with an `nginx.conf` for reverse proxy deployment and a PowerShell script for Windows clients. The system is a single-file monolith with no database, no external APIs, and two npm dependencies (colors and mz). It is designed for a single playful purpose: `curl parrot.live` displays the animated parrot in terminals. The code is straightforward, functional, but lacks tests, CI, or modularity beyond the single server file.

RATING: 6.8/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
── end of results ──
$ submit: