OpenList API 扫码登录 115 网盘

背景

OpenList 文档中 115 QRCode 扫码方式登录显示仍在开发中, 手动抓取移动端 Cookie 方式较为繁琐。

值得庆幸的是:文档中提供了 Python 脚本可以通过扫描二维码获取 Cookie,缺点是需要本地部署Python 环境,且较依赖 PC 端。

优化方案

本项目借助 gemini pro 改写为 Javascript 实现并直接部署在前端,减少对 PC 端的依赖,由于前端直接请求 115 官方 API 存在跨域问题,本项目通过 Cloudflare 实现代理以解决跨域问题。

项目模板地址:GitHub - KrxkGit/115-fetch-cookie: 扫码读取115 Cookie
可基于模板修改自行完成部署。大致步骤如下:


  1. 注册 Cloudflare: 如果您还没有账户,请注册一个。
  2. 进入 Workers & Pages: 在仪表盘中找到并进入。
  3. 创建 Worker:
  4. 点击 “Create Application” → “Create Worker”。
  5. 给你的 Worker 起一个名字 (例如 my-115-proxy),然后点击 “Deploy”。
  6. 编辑代码:点击新创建的 Worker 上的 “Edit code” 按钮。
  7. 将编辑器中的默认代码替换为worker_index.js中代码
  8. 保存并部署: 点击 “Save and deploy”。
  9. 部署后,你的 Worker 会有一个 URL,例如 my-115-proxy.your-username.workers.dev。
  10. 修改 index.html 文件,修改 PROXY_URL 常量:

const PROXY_URL = ‘https://my-115-proxy.your-username.workers.dev/?target=’;

  1. 修改worker_index.js中的 ALLOWED_ORIGINS

const ALLOWED_ORIGINS = [ ‘https://my-115-login.vercel.app’, ‘null’, ‘http://localhost’, ];

完成上述步骤后,当用浏览器访问部署后的 index.html 时,所有的 API 请求都会通过 Cloudflare Worker 代理,成功绕过 CORS 限制。


项目模板仓库:GitHub - KrxkGit/115-fetch-cookie: 扫码读取115 Cookie
Demo:https://115-fetch-cookie-krxk.vercel.app/

只是需要115的cookie的话,我感觉使用脚本不二助手方便点吧

1 Like

这个cookie可以切换为微信小程序端等类型的cookie吗?如果不可以的话是不行的,openlist一般是需要长期占着一端的cookie的

有的,安卓,ios,小程序等都有的

好的,我看看。


看了下脚本代码,学到了,这里是通过油猴扩展程序来绕过浏览器的同源策略,请求和轮询获取cookie 的前端请求思路是一致的。