digital-one/kirby-chunky

使用 Kirby Chunky,您可以轻松绕过服务器或代理的上传限制,并使用 tus 协议提供快速、安全且可恢复的上传。

安装: 29

依赖关系: 0

建议者: 0

安全: 0

星星: 41

关注者: 2

分支: 3

开放问题: 7

类型:kirby 插件

1.0.1 2023-04-09 19:02 UTC

This package is auto-updated.

Last update: 2024-09-09 22:21:07 UTC


README

Chunky Logo

Chunky – 为 Kirby CMS 提供的大文件上传和可恢复上传

Packagist Version Kirby Version Packagist PHP Version Packagist License

Chunky 是一个 Kirby CMS 插件,允许用户轻松上传和管理非常大的文件。它支持从几MB到多个TB的文件上传,Chunky 提供了一种快速安全的方法来传输任何大小的文件,而无需修改服务器设置或绕过由托管提供商、代理(如 Cloudflare)、防火墙或 CDN 施加的上传限制。

Chunky 的一个关键特性是支持可恢复上传,允许用户在面板内的任何地方稍后恢复上传。这对于通过慢速或不稳定的互联网连接传输大文件尤其有用。

Chunky 还自动扩展所有文件部分,无缝集成到 Kirby UI 中,使面板用户能够在无需任何额外设置或配置的情况下轻松处理大文件。

在内部,Chunky 使用 tus 协议 v1 和官方的 tus-js-library,确保与包括 NGINX、Apache 和 Caddy 在内的各种网络服务器和托管提供商兼容。Chunky 与 PHP 7.2.5 及更高版本兼容,并允许在网站配置中配置自己的块大小。

特性

■ 在 Kirby 面板内部上传非常大的文件,大小从几MB到多个TB不等。
■ 可在任何点从 Kirby 面板内部开始可恢复的上传。
■ 可以绕过由 PHP.ini、代理(如 Cloudflare)、防火墙或托管提供商设定的文件上传限制。
■ 无需修改服务器设置即可实现快速安全的任何大小文件上传。
■ 自动计算服务器上可用的最大块大小。
■ 可以在网站配置中配置自定义块大小。
■ 自动扩展所有文件部分,无需修改蓝图。
■ 深度集成自定义文件相关钩子和与其他文件相关插件的兼容性。
■ 与任何网络服务器和托管提供商兼容,包括 NGINX、Apache 和 Caddy。
■ 对面板用户无缝工作,并与已知的 Kirby 上传 UI 完美匹配。

浏览器支持

Chunky 插件建立在 tus-js-client 之上,经过测试并已知与多种网络浏览器兼容。虽然 Chunky 很可能在其他浏览器中也工作,但这尚未得到确认。然而,由于 tus 客户端仅依赖于 Web 存储、XMLHttpRequest2、文件 API 和 Blob API,因此预计能够访问 Kirby 面板的用户也应该能够无问题地使用 Chunky。

■ Microsoft Edge 12+
■ Mozilla Firefox 14+
■ Google Chrome 20+
■ Safari 6+
■ Opera 12.1+
■ iOS 6.0+
■ Android 5.0+

如何使用 Chunky

安装 Chunky 非常简单。只需使用您喜欢的任何方法将其添加到 Kirby CMS 插件文件夹中,然后设置完成。Chunky 自动增强 Kirby 面板中的所有上传功能,无需在蓝图中进行任何额外的配置。如果您决定不再使用 Chunky,只需将其从插件文件夹中删除,一切都会恢复正常。

安装

下载

下载并复制此存储库到 /site/plugins/chunky

Git 子模块

git submodule add https://github.com/dgtl-one/kirby-chunky.git site/plugins/chunky

Composer

composer require dgtl-one/kirby-chunky

配置选项

您也可以在config.php中定义自己的块大小,但请注意,如果该值超过了PHP.ini中定义的限制或Cloudflare(100 MB)等代理的限制,它将被覆盖。如果可能的话,Chunky会自动将块大小设置为5 MB。

return [
    'dgtlone.kirby-chunky.chunk_size' => '5M', // shortcuts 'K', 'M', 'G' are supported
];

可重传的TUS上传的理想块大小将取决于多种因素,包括正在上传的文件大小、网络连接的带宽和延迟,以及接收上传的服务器的能力。

一般来说,建议从大约5 MB的块大小开始,然后根据上传性能进行调整。较大的块大小可能会更快,但如果连接不稳定,也可能更容易出错。较小的块大小可能会较慢,但可能更可靠,并在发生错误时更容易恢复。

总的来说,最佳的块大小将取决于您网站上平均文件大小的具体需求以及使用该块的网络环境的特性。

变更日志

v1.0.1

  • 修复了有关具有模板的文件的问题(#1
  • 更新了依赖项

v1.0.0

  • 首次提交

什么是TUS?

TUS协议(全称为"The Upload Server Protocol",即“上传服务器协议”)是一种可靠且流行的互联网上传大文件的方法。它通过允许客户端将多个小数据块发送到服务器,而不是一次性发送整个文件来实现。这使得可以在中断上传的地方继续上传,以及执行其他功能,如文件连接、修改和删除。TUS是一个开源协议,这意味着它是免费提供给任何人的。它被广泛应用于各种应用程序中,包括文件共享平台和在线备份服务。

更多信息请访问 tus.io

许可证

Chunky是在MIT许可证下发布的。