thehardwarestore.ai

where AI agents shop for the right tools

── 99071 repos indexed ── | filtered by tag: #autotools
ircd-hybrid/ircd-hybrid ★ 200 40 APPLICATION

ircd-hybrid is a high-performance, modular IRC daemon written in C. It implements the full IRC protocol (RFC 1459, 2812, 2813) with modern IRCv3 capabilities (account-notify, extended-join, etc.), server-to-server linking (TS6), TLS support (GnuTLS, OpenSSL, wolfSSL), and a dynamic module system via GNU libltdl. The architecture is event-driven with selectable I/O backends (epoll, kqueue, poll) and a self-contained I/O abstraction library (libio) that provides networking, DNS resolution, event timers, data structures (patricia trie, doubly-linked lists, dynamic buffers), and TLS abstraction. Configuration is parsed by a Bison/Flex-generated parser supporting a rich set of server options. The codebase is well-structured with a clear separation between core daemon, library, and loadable modules, making it extensible and maintainable. Originally forked from the hybrid IRCD project in 1997, it has evolved to support modern IRC standards while maintaining backwards compatibility.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 7 reusable components found
rakshasa/rtorrent ★ 4855 482 APPLICATION

rtorrent is a mature, high-performance BitTorrent client for Unix-like systems, built with ncurses for a terminal UI and supporting a wide range of features: DHT, PEX, encryption, magnet links, granular bandwidth throttling, and extensive scripting. It provides a rich command system that can be used interactively, via configuration files (`rtorrent.rc`), or remotely through SCGI, XMLRPC, and JSONRPC interfaces. Lua scripting is also supported for advanced automation. The architecture is modular and event-driven: the core handles download management, peer/tracker communication, and session persistence; the display layer manages ncurses windows and layouts; the input system processes keyboard events; and the RPC layer dispatches commands to the appropriate handlers. The codebase is well-organized into directories (`core/`, `display/`, `input/`, `rpc/`, `session/`, `ui/`, `utils/`) and uses a custom object system for command arguments and RPC values. The build system is Autotools with optional dependencies (e.g., Lua, XMLRPC backends). Key entry points include `src/main.cc`, `src/control.cc`, and `src/setup.cc`. The project is actively maintained with a strong CI pipeline (static analysis, unit tests, commit linting) and enforces modern C++20 standards. The code is generally clean but contains some manual memory management and legacy idioms; however, the overall engineering quality is high, with several reusable utility components.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
rakshasa/libtorrent ★ 1000 250 APPLICATION

This repository is a high-performance C++ BitTorrent client library (libtorrent) designed for embedding in client applications. It implements the full BitTorrent protocol stack, including peer-to-peer communication, Distributed Hash Table (DHT) support, tracker interaction (HTTP/UDP), and file storage management. The architecture is event-driven and multi-threaded, utilizing dedicated threads for main logic, networking, disk I/O, and tracker communication. It relies on external dependencies like OpenSSL for encryption, libcurl for HTTP requests, and a custom embedded DNS resolver (UDNS). The codebase uses Autotools for building and C++20 as the baseline standard, though significant portions of the logic reflect older C++ patterns (C++11/14). It features extensive unit testing using CppUnit and a sophisticated mocking framework for isolating system calls. The library is intended for use in clients like rtorrent, providing a robust engine for torrent management without exposing the complexity of the underlying protocol to the application developer. While the core functionality is mature and well-tested, the project shows signs of technical debt. The reliance on Autotools and mixed C/C++ code (specifically the embedded UDNS library) creates integration friction compared to modern CMake-based ecosystems. Additionally, the use of deprecated OpenSSL functions requires careful maintenance to ensure security compliance. Despite these issues, the library remains a critical component for P2P file sharing applications requiring high performance and protocol fidelity.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
esnet/iperf ★ 8820 1461 APPLICATION

iperf3 is a mature, widely-deployed network bandwidth measurement tool developed by ESnet/LBNL. It measures maximum achievable throughput on IP networks using TCP, UDP, and SCTP, and provides detailed per-interval statistics including jitter, packet loss, retransmits, congestion window, and CPU utilization. The tool operates as a client-server application with a control channel for parameter exchange and data channels for bulk transfer, supporting parallel streams, reverse mode, bidirectional tests, and various pacing/affinity options. The codebase is written in C and built with GNU Autotools (autoconf, automake, libtool). It exposes a public library API (libiperf) that allows embedding iperf functionality into other programs, demonstrated by minimal examples in the examples/ directory. The architecture follows a protocol vtable pattern (struct protocol) for pluggable transport protocols, a callback system for test lifecycle events, and a timer subsystem for pacing and reporting intervals. JSON output is generated via a vendored cJSON library. Key strengths include its cross-platform support (Linux, FreeBSD, macOS, and others via #ifdef), extensive command-line options, and integration with perfSONAR for research and education networks. However, the codebase shows signs of organic growth: large monolithic files (iperf_api.c ~3000 lines), platform-specific #ifdef sprawl, manual release test scripts, and some unresolved TODOs. Security advisories have been issued for past vulnerabilities, and the authentication module uses OpenSSL RSA with multiple padding modes. Overall, iperf3 is a high-quality, production-grade tool with a few areas of technical debt.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: