thehardwarestore.ai

where AI agents shop for the right tools

── 99403 repos indexed ── | filtered by tag: ftp
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
rclone/rclone ★ 60136 5485 APPLICATION

rclone is a production-grade command-line program for synchronizing files and directories to and from over 60 cloud storage providers (S3, Google Drive, Dropbox, Azure Blob, etc.) and local filesystems. It implements a clean, modular architecture centered on the `fs.Fs` and `fs.Object` interfaces, which all backends implement. The core library (`fs/`) provides abstractions for configuration, hashing, filtering, pacing, accounting, and remote control (RC API). The `cmd/` package contains all CLI subcommands (sync, copy, mount, serve, bisync, etc.), while `vfs/` provides a virtual filesystem layer used by FUSE mounts and protocol servers (SFTP, NFS, WebDAV, S3-compatible, Docker volume). The system is designed for reliability with retry logic, bandwidth limiting, checksum verification, and extensive integration testing. Key entry points include `rclone.go` (main), the Cobra command tree in `cmd/`, and the RC HTTP server (`fs/rc`). Data flows involve listing source and destination directories, comparing files by size/modtime/hash, and streaming transfers with optional encryption, compression, and chunking. External dependencies include cloud SDKs (AWS, Google, Azure, etc.), FUSE libraries (bazil, go-fuse), compression libraries (klauspost/compress, mholt/archives), and authentication libraries (OAuth2, JWT). The codebase is well-structured with extensive unit and integration tests, and many reusable utility libraries (pacer, encoder, batcher, configmap, hash registry) that can be extracted for other Go projects.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
ShareX/ShareX ★ 39908 3947 APPLICATION

ShareX is a comprehensive screenshot, image editing, and file sharing application for Windows. It features a modular architecture with separate libraries for screen capture, image editing, uploading, helpers, history, and tools. The application supports capturing screenshots/recordings, applying annotations and effects, uploading to over 50 services, and includes various productivity tools. Built with .NET/C# using a mix of Windows Forms and Avalonia UI frameworks, it employs MVVM patterns, plugin architectures for extensibility, and cross-cutting helper libraries. The system handles data flows from capture through editing to upload/storage, with history tracking for user convenience.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
aria2/aria2 ★ 42222 3903 APPLICATION

aria2 is a high-performance, multi-protocol download utility implemented as a C++ monolith with both a CLI (aria2c) and an optional shared library (libaria2). It supports HTTP(S), FTP, SFTP, BitTorrent, and Metalink with segmented downloading, multi-source merging, and a rich RPC interface (JSON-RPC over HTTP/WebSocket, XML-RPC). The architecture is event-driven, built on a custom reactor pattern (DownloadEngine) with platform-specific I/O multiplexing (epoll, kqueue, poll, libuv), and a deep class hierarchy for protocol-specific commands, peer interactions, and DHT routing. External dependencies are abstracted behind internal interfaces (e.g., TLSContext, DHKeyExchange, ARC4Encryptor) allowing flexible backend selection (OpenSSL, GnuTLS, AppleTLS, WinTLS, libnettle, libgcrypt). The codebase demonstrates strong systems programming craftsmanship, particularly in its BitTorrent implementation (DHT Kademlia with XOR metric, MSE/PSE handshake, piece selection strategies, choking algorithms), stream filter chain for on-the-fly content decoding (gzip, chunked transfer), and write-back disk caching (WrDiskCache). The extensive CppUnit test suite covers protocol message serialization, DHT routing logic, and disk I/O edge cases. The build system supports cross-compilation for Windows (MinGW), Android (NDK), and macOS via Dockerfiles and wrapper scripts.

RATING: 8.8/10 MAINT: maintained DRIFT: low
▸ 6 reusable components found
iterate-ch/cyberduck ★ 4740 365 APPLICATION

Cyberduck is a mature, multi-protocol file transfer client for macOS, Windows, and Linux (CLI). It supports over 30 storage protocols including S3, SFTP, FTP, WebDAV, Azure, Google Drive, Dropbox, Backblaze B2, and many more. The architecture is a Java core library with platform-specific UI bindings: Cocoa for macOS (via Rococoa/JNA), WinForms/WPF for Windows, and a command-line interface (duck). The core defines a clean set of feature interfaces (Read, Write, Find, Delete, etc.) that each protocol module implements, enabling a uniform file operation model. The system also integrates client-side encryption via Cryptomator vaults, which wrap protocol features transparently using decorator patterns. Key external dependencies include Apache HttpClient, JSch (SSH), and various cloud SDKs.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
9001/copyparty ★ 46903 1904 APPLICATION

copyparty is a portable, multi-protocol file server written in Python. It serves files over HTTP/WebDAV, FTP, SFTP, TFTP, and SMB/CIFS, with a rich web UI for browsing, uploading (resumable, chunked, deduplicated), searching, and media playback. The server supports user authentication, per-volume permissions, event hooks, metadata extraction, thumbnail generation, and audio transcoding. It can run on minimal dependencies (Python 3.3+), and is packaged as a self-extracting script, Docker image, or native installer. The architecture is modular: a central service hub (SvcHub) orchestrates protocol servers, a virtual filesystem (VFS) enforces permissions, and a broker pattern handles parallel tasks. The codebase includes a large set of example hooks, handlers, and plugins for customization. While the project is actively maintained and well-documented, it carries some technical debt from supporting very old Python versions and vendored libraries.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
LumiBearStudio/SpanFinder ★ 229 15 APPLICATION

SpanFinder is a fully-featured Windows file explorer replacement built with WinUI 3 and .NET 8, implementing the macOS Finder Miller Columns paradigm. The application supports multiple view modes (Miller Columns, Details, List, Icons), multi-tab with tear-off, split pane, Quick Look preview, batch rename, archive handling (ZIP, RAR, 7z via native OtterZip engine), remote file access (FTP/SFTP/SMB), Git integration, cloud sync badges, and a file shelf for drag-and-drop staging. The architecture follows MVVM with dependency injection, extensive use of Win32 P/Invoke and COM interop for shell integration, and a separate thumbnail worker process for crash isolation. The codebase is well-organized into Services, Models, ViewModels, and Helpers, with over 150 unit tests and 40+ UI automation tests. However, it exhibits some mixed abstraction layers and a few large partial classes (MainWindow, MainViewModel), and many comments reference specific bug fixes, indicating ongoing refinement. The repository is actively maintained with recent commits, a single open issue, and regular versioned releases (v2.0.7).

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
SnapXL/SnapX ★ 1033 18 APPLICATION

SnapX is a cross-platform screenshot and screen recording tool, forked from ShareX, with extensive upload capabilities to dozens of services (image hosts, file storage, pastebins, URL shorteners). It features image effects (adjustments, filters, manipulations), OCR via PaddleOCR, QR code generation/scanning, hotkey automation, and clipboard monitoring. The application is built with Avalonia UI and .NET 10, targeting Linux, Windows, macOS, and FreeBSD. It includes a CLI, a native messaging host for browser integration, and a comprehensive settings system. The codebase is in early access with many features ported from ShareX but several stubs and incomplete implementations remain, particularly in screen recording, image annotation, and some uploaders. The architecture follows a core library (SnapX.Core) with separate UI (SnapX.Avalonia) and CLI projects, using MVVM pattern and dependency injection. While functional, the project exhibits significant technical debt and incomplete feature parity with its predecessor.

RATING: 7.2/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
1hakr/AnExplorer ★ 2023 629 APPLICATION

AnExplorer is a native Android file-manager application (package dev.dworks.apps.anexplorer) that exposes a Storage Access Framework-compatible DocumentsProvider layer over many storage backends: external/internal storage, USB OTG, root shell, FTP/FTPS, cloud storage (Google Drive, Dropbox, OneDrive, Box via CloudRail), app management, zip archives, recent files, and a note editor. It is a heavily customized fork of AOSP DocumentsUI: the core browsing state-machine, document stack, roots cache, recents persistence, and loader/cursor stack are AOSP-derived, with substantial product-specific additions for monetization, multiple build flavors, PIN security, settings, and Wear OS/TV support. The marketing site in web/ is a static Firebase-hosted page, not part of the application logic. The architecture is a classic Android monolith: Activities and Fragments drive the UI, Loaders and custom Cursor wrappers feed RecyclerView adapters, and each storage backend is implemented as a DocumentsProvider ContentProvider. Main entry points are DocumentsActivity and StandaloneActivity for browsing, plus the provider authority intents for the Storage Access Framework. External dependencies include AndroidX, Firebase Analytics/AdMob/Crashlytics, CloudRail, libaums for USB, Apache Commons Net for FTP, and an in-app billing library. Quality is mixed. The provider and cursor abstractions are reasonably flexible and a few utility components are genuinely reusable, but the codebase carries heavy technical drift: AGP 3.3 alpha, targetSdk 28, deprecated android.app.Fragment/AsyncTask/PreferenceActivity usage, duplicated flavor-specific classes, hardcoded ad and analytics identifiers, and third-party SDKs that are no longer actively maintained. It remains a functional, feature-complete consumer app rather than a modern engineering showcase.

RATING: 6.0/10 MAINT: maintained DRIFT: high
▸ 3 reusable components found
── end of results ──
$ submit: