Transloadit
tus is an open-source protocol for resumable uploads, supporting multiple platforms and languages, with contributions from companies like Vimeo and Google.
Overview of tus Protocol
tus is an open protocol designed for resumable uploads built on HTTP. It supports a range of languages, platforms, and networks, and is ready for production use. tus has garnered feedback from companies like Vimeo and Google, highlighting its practical application in various settings. Its minimalistic design and essential feature set make it ideal for both clients and servers. Moreover, tus is community-owned, open source, and accessible under the MIT license, encouraging wide adoption and contribution.
tus Features and Extensions
tus offers a set of essential features for efficient file uploads, supplemented by a rich collection of extensions. These extensions enhance functionality with capabilities like parallel uploading, checksums, and expiration. The extensive support for various extensions ensures that tus can cater to diverse upload needs and scenarios. This flexibility and adaptability make tus a comprehensive solution for resumable uploads.
Supported Platforms and Implementations
tus has official implementations across several major platforms, including Android, Java, JavaScript, .NET, and iOS. The Node.js server, rewritten in TypeScript, is a notable implementation featuring modular packages and support for AWS S3 and Google Cloud Storage. The server also includes a new system for events and hooks, ensuring robust and dynamic performance. The Expiration extension and respect for forwarded headers add to the server's advanced functionality.
tus-js-client Capabilities
tus-js-client is equipped with advanced features such as the Concatenation extension for parallel uploads and automatic file size determination for fs.ReadStream. It has also updated its compatibility, dropping support for Node.js v12 and earlier, and Internet Explorer, while introducing enhancements like storing upload URLs for later resumption. The client ensures that streams are not closed during abort() calls, facilitating future resumption.
Industry Collaboration and Standardization
tus is actively working with the Internet Engineering Task Force (IETF) to formalize resumable uploads as an official standard. This collaborative effort aims to integrate tus's protocols into broader industry practices. Additionally, Apple has announced support for resumable uploads in its native URLSession API starting with iOS 17, indicating a significant step toward wider adoption and standardization of the tus protocol.