30 open-source projects similar to tus/tus-resumable-upload-protocol, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Tus Resumable Upload Protocol alternative.
resumable.js is a JavaScript library for managing large file uploads using the HTML5 File API. It functions as a chunked data transmitter and resumable upload manager, dividing files into smaller segments to ensure reliable delivery to a remote server. The library is distinguished by its ability to recover upload progress after network interruptions or browser restarts. It achieves this through resumable data transfer and server-side chunk verification, which checks for existing segments on the server to avoid redundant data transmission. The system manages concurrent file uploads and reques
go-fastdfs is a distributed file system and object storage server designed for building private cloud storage. It provides a FastDFS compatible storage implementation that manages clusters of storage nodes to handle large-scale file uploads and downloads. The system focuses on high availability through a decentralized architecture that automatically synchronizes data and repairs failures across multiple machines without a central coordinator. It specifically supports resumable file storage via HTTP, allowing large transfers to be paused and resumed from the last successful byte to handle netw
GPAC is an open-source multimedia framework built around a pluggable filter graph pipeline, where modular processing units called filters connect into a directed graph to handle media workflows. At its core, the framework centers all media packaging and manipulation on the ISO Base Media File Format (ISOBMFF), with specialized tools for reading, writing, fragmenting, and encrypting MP4 and related containers. It also provides a declarative scene graph composition system for describing interactive multimedia scenes using MPEG-4 BIFS, X3D, SVG, or VRML syntax, alongside a hardware-accelerated re
ng-file-upload is an Angular directive for handling multipart file uploads and drag-and-drop selection within Angular applications. It functions as a client-side tool for validating file attributes, processing images, and generating media previews before transmission to a server. The project includes a client-side image processor for resizing, center-cropping, and correcting JPEG EXIF orientation. It also features a browser-based media previewer for images, audio, and video files, and an HTML5 File API shim to provide upload and reader functionality for legacy browsers. Additional capabiliti
This project is a REST API client library and Google Cloud SDK component that integrates Python applications with Google services. It functions as a discovery-based API client, utilizing an OAuth 2.0 integration library to secure requests and verify identity through access tokens and service accounts. The library is distinguished by its use of discovery documents to dynamically generate clients at runtime. By parsing JSON metadata, it maps Python method calls to HTTP requests and builds interface-based resource models that mirror the hierarchical structure of the remote service. Its broader
The AWS SDK for PHP is a software development kit that provides HTTP client classes for every supported Amazon Web Service, enabling PHP applications to send authenticated requests and receive structured, typed response objects. It includes a credential resolution chain that automatically locates credentials from environment variables, instance profiles, or configuration files, and supports promise-based asynchronous execution for running multiple API calls concurrently to improve throughput. The SDK distinguishes itself through a middleware pipeline architecture that allows interception and
This project is a JavaScript-based HTTP download manager and accelerator designed to increase file transfer rates within a web browser. It functions as a multi-threaded download accelerator that retrieves remote resources by splitting files into smaller segments for simultaneous downloading. The tool utilizes HTTP range requests to fetch multiple file segments in parallel, maximizing available network bandwidth. It manages this process through a client-side blob buffer and memory management system that stores binary data before assembling the segments into the final file. The system covers c
This project is a collection of specialized HTTP servers designed for static file hosting, secure file uploads, and encrypted web traffic. It provides implementations for delivering local files and directories over HTTP and HTTPS, including support for index pages and single-page application routing. The software differentiates itself through dedicated server roles, including a secure file upload server with size limits and token validation, and an HTTPS web server that utilizes PKCS#12 certificates for TLS encryption. It also includes a specialized gateway for managing cross-origin resource
PMTiles is a cloud-native geospatial data format and a set of tools for creating cloud-optimized map tile archives. It organizes map tile pyramids into a single-file archive, allowing map data to be stored and retrieved from remote buckets without a dedicated backend database. The project provides a map tile format converter to transform various data sources into this unified archive and a map tile server proxy that serves these archives to display systems using standard protocols. It enables the use of HTTP byte-range requests and metadata-driven indexing to retrieve specific tiles without d
Musl-cross-make is a build system that automatically downloads, patches, and compiles source components to generate relocatable cross-compilation toolchains targeting the musl C library. It functions as an automated build environment for creating custom cross-compilers and standard library toolchains for alternative target architectures. The system orchestrates the sequential downloading, patching, configuring, and compiling of multi-component toolchains, applying distribution-specific bug fixes and architecture patches directly to extracted source trees. It downloads required upstream source
Lux is a command line video downloader written in Go designed for extracting and saving video and audio from various websites. It functions as a concurrent media downloader that increases transfer speeds by splitting files into fragments and downloading them using multiple threads. The tool serves as a playlist download manager capable of retrieving entire video collections or specific ranges of items. It also operates as a proxy-enabled media client, supporting HTTP and SOCKS5 proxies and session cookies to access region-locked, private, or age-gated content. Additional capabilities include
Uploadthing is a tool for integrating file uploads into web applications, providing a system to accept and store files through serverless file handling. It manages the end-to-end upload process, from creating backend endpoints to delivering content via a content delivery network. The project utilizes a presigned URL workflow to allow clients to upload files directly to cloud storage, reducing server ingress. It features a route-based validation system to enforce constraints on file types and sizes, alongside middleware for request authorization and secure post-upload callback webhooks. The p
U-Boot is an embedded bootloader that initializes hardware components and loads operating system kernels into memory. It functions as a hardware abstraction layer providing standardized access to networking, storage, and peripheral buses, while also serving as a secure boot loader and a firmware update interface. The project distinguishes itself through the implementation of secure boot sequences that verify cryptographic signatures and interface with TPM modules to establish hardware-rooted trust. It further provides specialized capabilities for updating device firmware via standardized prot
This project is an Objective-C HTTP networking library that provides an object-oriented wrapper for CFNetwork to execute synchronous and asynchronous requests on macOS and iOS. It functions as a framework for managing HTTP sessions, performing resumable file transfers, and handling offline content caching. The library distinguishes itself through a resumable file transfer manager that tracks byte offsets and utilizes disk-backed streaming for large uploads and downloads. It also includes a secure credential manager that integrates with the system keychain to handle client certificates and aut
gdown is a command-line tool that downloads public files and folders from Google Drive without requiring authentication. It bypasses the mandatory virus-scan warning page to retrieve large files that conventional download tools block, and can resume interrupted transfers using HTTP range requests. Beyond simple file downloads, gdown can recursively download entire folder hierarchies while preserving the local directory structure. It lists the contents of a public folder as structured JSON without downloading the files themselves, and resolves a file's real name and extension without retrievin
uPic is a native macOS application designed for uploading images and files to cloud hosting services and private backends. It functions as a cloud image hosting tool and a custom API upload client that generates formatted links for shared content. The project distinguishes itself by allowing users to configure private backend endpoints with specific HTTP methods, headers, and server URLs. It converts uploaded file addresses into Markdown or HTML snippets, which are then written back to the system clipboard via customizable URL templates. The application integrates with macOS system framework
Uppy is a modular web file upload framework designed for building browser-based uploaders. It functions as a resumable upload client and a system for integrating file uploads from a browser to backend servers or cloud storage. The project provides a headless UI upload component, offering logic hooks and headless elements that allow for the development of custom upload interfaces. It also serves as a cloud storage file importer, utilizing OAuth flows to authenticate and import files directly from remote providers, and as a browser-based media capture tool for uploading images or video clips fr
sql.js-httpvfs is a virtual file system and loader designed to execute SQL queries against read-only SQLite databases hosted on remote static file servers. It enables the retrieval of database files over HTTP without requiring the entire file to be downloaded to the client. The project distinguishes itself by using byte-range HTTP fetching to simulate local random-access reads. It includes a chunking tool that splits large databases into smaller pieces via a JSON configuration, which helps bypass file size limits and optimizes caching. The system covers a range of capabilities including remo
This project is a jQuery-based file upload widget that provides a browser interface for selecting and transferring files to a server. It functions as a chunked file uploader and a resumable upload client, enabling the transfer of large files by splitting them into smaller segments or continuing interrupted uploads from the last successfully sent byte. The tool includes a client-side image processor for validating, resizing, and generating previews of images before transmission. It also serves as a cross-domain upload tool, using various transport mechanisms to send files to different domains
Plupload is a JavaScript file upload library that provides a standardized interface for managing file transfers across different browser runtimes and environments. It functions as a cross-browser upload interface and manager, supporting multiple file selections and browser-based file filtering. The library distinguishes itself through specialized capabilities for handling large data and cloud integration. It includes a chunked file upload manager to split large files into smaller parts to bypass server size limits and a client-side image processor to downsize images and strip metadata before
dufs is a self-hosted file manager and static file server that provides HTTP file hosting and WebDAV capabilities. It functions as a tool for sharing files over HTTP and managing folders remotely through both a web-based interface and the WebDAV protocol. The server distinguishes itself by mapping incoming requests directly to a local directory structure and offering a single-binary distribution for deployment. It supports the mounting of the server as a network drive via WebDAV and allows for the replacement of the default web interface using customizable asset overlays. The project covers
Faraday is an HTTP client library for Ruby that sends requests and processes responses through a middleware pipeline with pluggable adapters. Its core identity is built around a middleware-pipeline architecture where HTTP requests and responses flow through a chain of components that can modify, log, or transform data before reaching the backend, combined with an adapter-based backend abstraction that delegates HTTP execution to interchangeable backends like Net::HTTP or Typhoeus. The library distinguishes itself through a parallel-execution engine that dispatches multiple HTTP requests concu
Converse.js is an embeddable, self-hosted XMPP chat client that runs entirely in the browser. It communicates with XMPP servers using standard XML stanzas over WebSocket or BOSH transports, and provides end-to-end encryption through the OMEMO protocol with double ratchet algorithm and X3DH key exchange. The client is built on a plugin-based architecture that allows extending core functionality at runtime without modifying the client itself, and uses a DOM-based rendering approach with an event-driven message bus for internal coordination. The client manages message history through XEP-0313 Me
Typhoeus is a Ruby wrapper for libcurl that functions as a session-based HTTP client. It provides an interface for making both synchronous and asynchronous network requests. The project acts as a parallel request manager, using a managed queue to execute multiple network requests concurrently. It further distinguishes itself as a mocking tool for stubbing requests with predefined responses and as a caching layer that stores responses to avoid redundant network calls. The library covers a broad range of capabilities including session cookie management, response body streaming for large files,
Helm is a package manager for Kubernetes that simplifies the deployment and management of multi-component applications. It functions as a template rendering engine and release coordinator, allowing users to bundle, version, and deploy software as standardized packages. By maintaining a persistent metadata layer within the cluster, it tracks release history and manages the full lifecycle of applications, including installations, upgrades, and rollbacks. What distinguishes Helm is its ability to handle complex application hierarchies through automated dependency resolution and the composition o
This project is a container image transfer library and programmatic toolkit designed for moving and managing container images between distinct registries, storage backends, and file formats. It provides an OCI image specification toolkit for inspecting, parsing, and converting image formats across different registry implementations without format loss, acting as a registry client library for interacting with remote endpoints to pull, push, and inspect manifests. The library features a transport-plugin architecture that uses modular communication handlers to connect remote registries, local st
HTTParty is a Ruby HTTP client library designed for building standardized API clients. It abstracts low-level network primitives into a high-level interface, allowing developers to encapsulate base URIs and request configurations within classes to maintain consistent interactions with remote web services. The library automates the transformation of raw network response data into native Ruby structures by using a registry-based system that parses content based on response headers. It also provides specialized mechanisms for sending multipart form data and streaming large payloads to maintain m
Goofys is a POSIX-compliant cloud object storage gateway that presents remote storage buckets as local system directories. It implements a user-space filesystem that maps S3-compliant and Azure Blob storage services to local mount points, allowing remote objects to be accessed through standard file system operations. The project provides specific mounting capabilities for Amazon S3, Azure Blob Storage, and Azure Data Lake accounts. It utilizes a FUSE-based implementation to interface cloud object storage with the operating system kernel. The system includes performance optimizations such as
Kan is a self-hosted kanban project management tool that organizes work into boards, lists, and cards. It provides a REST API for managing all project resources, including boards, cards, labels, checklists, comments, and attachments, with standard HTTP responses for every request. The application supports granular permission and role management at both the workspace and board level, allowing administrators to control access to resources and actions. It includes webhook support for receiving card event notifications, and offers integration capabilities for importing projects from Trello and Gi