2026/8/25 3:31:13

零成本部署OpenListNext:基于Cloudflare Workers的网盘文件列表方案

零成本部署OpenListNext:基于Cloudflare Workers的网盘文件列表方案 1. 先搞清楚“零成本”和“无服务器”到底意味着什么如果你正在找一个能免费、稳定、且不需要自己维护服务器的网盘文件列表工具那么 OpenListNext 配合 Cloudflare Workers 的方案确实值得花时间研究一下。它解决的核心问题是如何用一个几乎零运维成本的公开链接来展示和管理你存放在各类网盘比如夸克、阿里云盘、OneDrive等里的文件并且访问速度还不错。这里的“零成本”主要指 Cloudflare Workers 的免费额度对于个人或小规模使用来说每天10万次请求和每月10GB的出站流量展示一个文件列表页面绰绰有余。“无服务器”也不是真的没有服务器而是你不用操心服务器的购买、系统安装、环境配置、安全更新这些琐事代码直接跑在 Cloudflare 的边缘网络上。但别急着动手这个方案最关键的几个点不是功能列表而是它的运行逻辑和边界条件。它本质上是一个运行在 Cloudflare Workers 上的代理程序负责从你的网盘获取文件列表然后渲染成一个美观的网页。所以它的稳定性取决于两个外部因素一是 Cloudflare Workers 服务本身二是你挂载的网盘 API 的可用性和速率限制。很多人部署完发现列表加载慢或出错问题往往出在后者。2. 部署前必须准备好的三样东西在开始敲命令之前确保你手头已经准备好了以下三样东西。缺了任何一样流程都走不下去。2.1 一个 Cloudflare 账户这是运行 Workers 的基础。去 Cloudflare 官网注册一个免费账户即可。注册后你需要验证邮箱并最好绑定一个支付方式如信用卡。别担心绑定支付方式只是为了提升账户安全等级防止滥用只要你不超出免费额度就不会产生任何费用。没有绑定支付方式的账户Workers 的每日请求限额会低很多可能无法满足正常使用。2.2 一个可用的网盘账号及令牌OpenListNext 支持挂载多种网盘比如阿里云盘、夸克网盘、OneDrive、Google Drive 等。你需要拥有其中一个网盘的账号。获取该网盘的访问令牌Token或刷新令牌Refresh Token。这是最关键的一步因为 Workers 脚本需要通过这个令牌来代表你向网盘请求数据。以近期热门的“夸克网盘”为例获取令牌通常不是直接在官方App里能找到的往往需要通过开发者模式或一些第三方工具来获取。这个过程可能涉及登录、抓包或调用非公开API存在一定的不确定性。务必从可信的、最新的教程中获取方法并且要意识到网盘服务商可能会随时更改其认证机制导致旧的获取方式失效。2.3 基础的命令行操作与代码编辑能力整个部署过程需要在本地电脑上使用命令行终端执行一些命令例如使用npm或pnpm安装依赖使用wranglerCloudflare 的命令行工具进行登录和发布。同时你需要编辑一个配置文件wrangler.toml或环境变量文件填入你的网盘令牌等敏感信息。如果你对命令行感到陌生需要先花点时间熟悉一下基本的cd切换目录、ls列出文件等操作。3. 从零开始部署到 Cloudflare Workers 的完整流程下面我以最常见的流程为例带你走一遍。假设你的本地环境是 macOS 或 LinuxWindows 用户建议使用 WSL2 以获得最佳体验。3.1 环境准备与项目初始化首先确保你的电脑上安装了 Node.js版本 16 或以上和 npm。你可以打开终端输入node -v和npm -v来检查。接下来安装 Cloudflare 的官方命令行工具wrangler它是我们和 Workers 交互的桥梁。npm install -g wrangler安装完成后登录你的 Cloudflare 账户wrangler login执行这个命令后它会自动打开浏览器让你授权wrangler访问你的 Cloudflare 账户。同意即可。然后我们需要获取 OpenListNext 的代码。通常你需要从 GitHub 上克隆或下载项目。这里假设项目提供了一个模板或可以直接部署的版本。# 示例克隆一个假设的 OpenListNext Workers 模板仓库 git clone https://github.com/example/openlist-next-workers-template.git cd openlist-next-workers-template进入项目目录后安装项目依赖npm install # 或者如果你习惯用 pnpm pnpm install3.2 关键配置如何安全地填入你的网盘信息项目根目录下通常会有一个wrangler.toml文件这是 Workers 的配置文件。但绝对不要将你的网盘令牌直接明文写在这个文件里尤其是如果你打算将代码公开到 GitHub。更安全的做法是使用 Workers 的“环境变量”功能。在项目目录下创建一个.dev.vars文件用于本地测试和通过wrangler命令设置生产环境变量。.dev.vars文件内容示例# .dev.vars DRIVE_TYPEQuark # 网盘类型如 Quark, Aliyun, OneDrive DRIVE_REFRESH_TOKEN你的夸克网盘RefreshToken SITE_TITLE我的私人网盘列表重要提示.dev.vars文件包含敏感信息务必将其添加到.gitignore文件中避免误提交。接下来将环境变量设置到你的 Cloudflare Workers 项目中。首先在wrangler.toml中为你的 Worker 起个名字# wrangler.toml name my-openlist-next compatibility_date 2024-01-01然后通过命令行将环境变量上传到 Cloudflarewrangler secret put DRIVE_TYPE # 随后命令行会提示你输入值输入 Quark 后回车。 wrangler secret put DRIVE_REFRESH_TOKEN # 提示时粘贴你的夸克网盘RefreshToken。 wrangler secret put SITE_TITLE # 提示时输入你的站点标题。这样令牌信息就安全地存储在了 Cloudflare 的平台中而不是你的代码仓库里。3.3 本地测试与调试在发布到线上之前强烈建议先在本地运行测试这能帮你提前发现配置错误。npm run dev # 或 pnpm dev如果一切正常终端会输出一个本地服务器地址比如http://localhost:8787。在浏览器中打开这个地址你应该能看到 OpenListNext 的界面。如果页面显示“无法加载目录”或类似的错误请检查DRIVE_TYPE是否设置正确大小写敏感。DRIVE_REFRESH_TOKEN是否有效且未过期。网盘的 Refresh Token 有时效性可能需要重新获取。本地网络是否能正常访问你所配置的网盘服务。打开浏览器的开发者工具F12切换到“网络Network”标签刷新页面查看请求。如果看到向https://drive.quark.cn/...这类地址的请求返回了401或403错误那几乎可以断定是令牌问题。3.4 部署到 Cloudflare Workers本地测试通过后就可以发布到线上了。这个过程非常简单npm run deploy # 或 pnpm deploywrangler会自动将你的代码打包并上传到 Cloudflare。部署成功后命令行会输出你的 Worker 访问地址格式如https://my-openlist-next.your-subdomain.workers.dev。现在用浏览器打开这个地址你的网盘文件列表就应该能正常展示了。恭喜你一个零成本、无服务器的网盘列表页就部署完成了。4. 部署后必须关注的性能、安全与维护要点部署成功只是第一步要让这个服务稳定可用你还需要关注下面这些点。4.1 性能与免费额度监控Cloudflare Workers 免费套餐的限制是每日 100,000 次请求。每月 10GB 出站流量。每个请求最多运行 10 毫秒 CPU 时间在标准计费模式下。对于文件列表展示主要消耗的是请求次数和出站流量。一个用户访问页面可能会触发多个请求加载页面本身、获取列表数据、获取图标等。你需要估算一下你的访问量。可以在 Cloudflare 仪表板的 “Workers Pages” 部分查看你 Worker 的用量统计确保不会意外超标。如果接近限额可以考虑设置一个简单的访问密码来减少非必要访问。4.2 安全配置建议令牌安全如前所述永远不要提交令牌到公开仓库。使用wrangler secret管理。访问限制如果你不希望列表被公开访问OpenListNext 通常支持设置密码。请在环境变量中配置SITE_PASSWORD并同样通过wrangler secret设置。这样访问者需要输入密码才能查看内容。CORS 与防盗链Workers 默认配置比较宽松。如果你发现资源被其他网站盗用可以在 Worker 代码中检查Referer或Origin请求头对非你域名的请求返回错误。网盘账号安全用于挂载的网盘账号尽量不要是主力账号。使用一个专门用于此目的的“小号”会更安全。因为令牌泄露可能导致别人通过你的列表页访问甚至操作你的网盘文件取决于令牌权限。4.3 常见问题排查链路当你的列表页打不开或加载异常时按以下顺序排查检查 Worker 状态首先直接访问你的 Worker 地址看是否返回 Cloudflare 的错误页面如 1015、1020等。这可能是 Worker 本身部署失败或账号受限。查看 Worker 日志在 Cloudflare 仪表板中进入你的 Worker查看“日志Logs”部分。这里会记录 Worker 运行时产生的错误信息比如“无法获取令牌”、“网盘API返回错误”等这是最直接的线索。验证网盘令牌如果 Worker 日志显示认证失败九成是令牌失效。网盘的 Refresh Token 可能过期通常是几个月。你需要重新走一遍获取令牌的流程然后用新的令牌更新 Cloudflare 上的DRIVE_REFRESH_TOKEN秘密值。wrangler secret put DRIVE_REFRESH_TOKEN更新后无需重新部署Worker 会自动使用新的秘密值。检查网盘服务状态偶尔网盘服务商的 API 接口可能出现临时故障或维护。可以尝试直接用该网盘的官方客户端或网页版看是否能正常访问文件以排除服务端问题。列表加载慢如果页面能打开但列表加载特别慢可能是网盘API响应慢或者是列表内文件数量太多比如一个文件夹里有上万个文件。可以尝试在 OpenListNext 的配置中启用分页或设置每次加载的文件数量上限。4.4 更新与维护OpenListNext 项目本身可能会更新修复 bug 或增加对新网盘的支持。维护你的服务意味着关注项目动态留意你使用的项目模板或仓库的更新。本地更新代码定期拉取最新的代码到本地。重新安装依赖代码更新后运行npm install确保依赖也是最新的。重新部署再次运行npm run deploy。更新前最好先备份你的配置文件主要是wrangler.toml和.dev.vars并在本地测试通过后再部署到生产环境。5. 关于“挂载夸克网盘”等热门需求的特别说明最近很多人搜索“alist挂载夸克网盘”并找到了 OpenListNext。这里需要明确几点OpenListNext 与 AList 的关系与区别AList 是一个功能更强大的开源文件列表程序通常需要部署在 VPS 或 NAS 上。OpenListNext 可以看作是一个简化版、专门为 Cloudflare Workers 等无服务器环境设计的实现。它更轻量但功能可能不如 AList 全面比如离线下载、WebDAV 等。夸克网盘挂载的稳定性夸克网盘并未提供官方的公开 API 供第三方挂载。目前社区的各种挂载方案都是通过逆向工程或模拟客户端行为实现的。这意味着随时可能失效夸克网盘一旦更新其客户端或接口现有的挂载方法就可能立即失效。有封号风险使用非官方方式访问服务理论上违反了服务条款存在账号被限制功能甚至封禁的风险。强烈建议使用非主力账号、且仅存放不重要的公开文件进行测试。性能无保障由于是非官方接口响应速度和稳定性都无法保证可能时快时慢也可能突然无法使用。因此如果你主要需求是挂载夸克网盘需要做好心理准备这是一个基于社区研究的、脆弱的解决方案。它的优点是免费和便捷缺点是潜在的不稳定性和风险。对于更稳定、长期的需求考虑使用提供官方 API 的网盘如 OneDrive, Google Drive或直接使用 AList 部署在自有服务器上会是更可靠的选择。我个人更建议先用一个无关紧要的夸克小号测试整个 OpenListNext Workers 的流程跑通之后你就能完全理解这套无服务器部署的逻辑。之后无论是想换用更稳定的网盘还是探索其他类似工具你都有了扎实的基础。