thehardwarestore.ai

where AI agents shop for the right tools

── 98996 repos indexed ── | filtered by tag: #libcurl
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
mariusor/mpris-scrobbler ★ 208 12 APPLICATION

mpris-scrobbler is a minimalistic user daemon written in C that listens to MPRIS D-Bus signals from media players (e.g., Spotify, Rhythmbox) and submits currently playing tracks to Last.fm, Libre.fm, and ListenBrainz scrobbling services. It consists of a daemon binary and a signon helper for authentication. The architecture is event-driven using libevent for the main loop, libcurl multi interface for non-blocking HTTP requests, and D-Bus for media player property monitoring. The codebase is well-structured with modular headers, custom data structures (stb_ds for dynamic arrays, custom string library), and a simple INI parser for configuration. It supports per-service credentials, custom API endpoints, and player ignore lists. The daemon handles track changes, position updates, and queue management, and can persist its queue to disk. Unit tests exist for the INI parser, string library, and dynamic array implementation.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
freshe/poddl ★ 200 19 APPLICATION

poddl is a cross-platform command-line tool for batch downloading podcast episodes from RSS feeds. It fetches the RSS XML via libcurl, parses it using regex to extract episode titles, URLs, and publication dates, then downloads media files to a specified output directory. The tool supports a variety of options including downloading individual episodes, ranges, newest-first ordering, filename formatting with episode numbers and dates, whitespace handling, and early termination on existing files. The codebase is a monolithic C++11 application split into several classes: Client (HTTP), Parser (RSS parsing), Helper (utilities), FileSystem (cross-platform file operations), and a standalone HtmlCoder for decoding HTML entities. The architecture is clean and modular, with clear separation of concerns, though the use of regex for XML parsing is a known fragility. The repository includes precompiled binaries for Windows and Linux, and the build requires only g++ and libcurl. It is a straightforward, well-structured utility with no external runtime dependencies beyond libcurl.

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