Files
OpenList/README_cn.md
D@' 3z K!7 ae2d2d1021 feat(drivers): add ProtonDrive driver (#1368)
* feat(drivers): add ProtonDrive driver

- Implement complete ProtonDrive storage driver with end-to-end encryption support
- Add authentication via username/password with credential caching and reusable login
- Support all core operations: List, Link, Put, Copy, Move, Remove, Rename, MakeDir
- Include encrypted file operations with PGP key management and node passphrase handling
- Add temporary HTTP server for secure file downloads with range request support
- Support media streaming using temp server range requests
- Implement progress tracking for uploads and downloads
- Support directory operations with circular move detection
- Add proper error handling and panic recovery for external library integration
- Support buffered upload for specific sequential and encrypted, but optimized transmission.

* Update drivers/proton_drive/util.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: D@' 3z K!7 <99719341+Da3zKi7@users.noreply.github.com>

* chore

* feat(drivers): enhance ProtonDrive temp server

- Implement separate listen and public port configuration for complex network deployments
- Add intelligent port detection with 8080 as preferred default, fallback to auto-assignment
- Support Container/NAT/VM environments through configurable external host and port mapping
- Add port availability validation with graceful fallback to listen port
- Enable users to specify external domain/IP for client connections (e.g., 192.168.1.5)
- Follow FTP server configuration patterns for network flexibility
- Maintain localhost development simplicity while supporting production deployments

* feat(proton_drive): refactor directory handling and improve link retrieval

* fix(proton_drive): add NoLinkURL configuration option

* fix(proton_drive): update file size retrieval and enforce TwoFACode requirement

* feat(proton_drive): add expiration to link response

* fix(proton_drive): handle empty RootFolderID in Init method

* fix(proton_drive): update credential handling to use email and reusable login

* fix(proton_drive): update credential handling to use reusableCredential variable

* fix(proton_drive): update DirectRename to use GetLink for source object retrieval

* fix(proton_drive): refactor uploadFile to return model.Obj and handle errors correctly

* fix(proton_drive): refactor DirectMove to use getLink for source retrieval and simplify destination handling

* fix(proton_drive): simplify Copy method by removing temporary file creation and directly using FileStream

* refactor(proton_drive): remove unused temporary server and related code

* chore

* fix(proton_drive): fix driver

- Handle fresh login if ProtonDrive rejects AccessToken or RefreshToken
- Update stored credentials

* fix(proton_drive): simplify reusable login handling in Init method

* fix(proton_drive): fix driver

- Update stored credentials, now is failing

* feat(proton_drive): improve authentication handling and remove unused variables

* fix(proton_drive): fix driver

- Update stored credentials, now is failing

* fix(proton_drive): improve authentication handling

* refactor(proton_drive): move client initialization to initClient method

* feat(proton_drive): move addrs and addrKRs

* feat(proton_drive): optimize upload threads

- Change ConcurrentBlockUploadCount to user configured upload threads number
- Comment ConcurrentFileCryptoCount, default is runtime.GOMAXPROCS(0)

---------

Signed-off-by: D@' 3z K!7 <99719341+Da3zKi7@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: KirCute <951206789@qq.com>
Co-authored-by: j2rong4cn <j2rong@qq.com>
Co-authored-by: KirCute <kircute@foxmail.com>
2025-10-19 12:07:11 +08:00

7.7 KiB
Raw Permalink Blame History

logo

OpenList 是一个有韧性、长期治理、社区驱动的 AList 分支,旨在防御基于信任的开源攻击。

latest version License Build status latest version

discussions Downloads


免责声明

OpenList 是一个由 OpenList 团队独立维护的开源项目,遵循 AGPL-3.0 许可证,致力于保持完整的代码开放性和修改透明性。

我们注意到社区中出现了一些与本项目名称相似的第三方项目,如 OpenListApp/OpenListApp以及部分采用相同或近似命名的收费专有软件。为避免用户误解现声明如下

  • OpenList 与任何第三方衍生项目无官方关联。

  • 本项目的全部软件、代码与服务由 OpenList 团队维护,可在 GitHub 免费获取。

  • 项目文档与 API 服务均主要依托于 Cloudflare 提供的公益资源,目前无任何收费计划或商业部署,现有功能使用不涉及任何支出。

我们尊重社区的自由使用与衍生开发权利,但也强烈呼吁下游项目:

  • 不应以“OpenList”名义进行冒名宣传或获取商业利益

  • 不得将基于 OpenList 的代码进行闭源分发或违反 AGPL 许可证条款。

为了更好地维护生态健康发展,我们建议:

  • 明确注明项目来源,并以符合开源精神的方式选择适当的开源许可证;

  • 如涉及商业用途请避免使用“OpenList”或任何会产生混淆的方式作为项目名称

  • 若需使用本项目位于 OpenListTeam/Logo 下的素材,可在遵守协议的前提下进行修改后使用。

感谢您对 OpenList 项目的支持与理解。

功能

文档

演示

N/A待重建

讨论

如有一般性问题请前往 Discussions 讨论区,Issues 仅用于错误报告和功能请求。

许可证

OpenList 是基于 AGPL-3.0 许可证的开源软件。

免责声明

  • 本项目为免费开源软件,旨在通过网盘便捷分享文件,主要用于 Go 语言的下载与学习。
  • 使用本软件时请遵守相关法律法规,严禁任何形式的滥用。
  • 本软件基于官方 SDK 或 API 实现,未对其行为进行任何修改、破坏或干扰。
  • 仅进行 HTTP 302 跳转或流量转发,不拦截、存储或篡改任何用户数据。
  • 本项目与任何官方平台或服务提供商无关。
  • 本软件按“原样”提供,不附带任何明示或暗示的担保,包括但不限于适销性或特定用途的适用性。
  • 维护者不对因使用或无法使用本软件而导致的任何直接或间接损失负责。
  • 您需自行承担使用本软件的所有风险,包括但不限于账号被封、下载限速等。
  • 本项目遵循 AGPL-3.0 许可证,详情请参见 LICENSE 文件。

联系我们

贡献者

我们衷心感谢原项目 AlistGo/alist 的作者 Xhofe 及所有其他贡献者。

感谢这些优秀的人:

Contributors