Open
Conversation
本次提交对 cf-worker/index.js 进行了多项改进,旨在提高其安全性、性能和代码质量。 安全增强: 引入 ALLOWED_DOMAINS 白名单机制,以精确控制允许通过代理访问的域名,有效防止代理被恶意利用。 性能优化: 将 blocker 中的域名和扩展名列表从数组改为 Set,利用其 O(1) 的时间复杂度进行查找,提升了过滤性能。 代码重构与健壮性: 使用标准的 URL 对象来解析和处理传入的 URL,替代了原有的字符串操作,使逻辑更清晰且不易出错。 优化了对请求头(Headers)的处理逻辑。 完善了错误处理机制,能更好地捕获和响应异常。 为 OPTIONS 预检请求提供了标准的响应处理。
本次提交包含两项主要更新:增强 Cloudflare Worker 的功能性,并提供一份全面的项目说明文档。
- **Cloudflare Worker (`cf-worker/index.js`):**
- 重构了域名验证逻辑,**增加了对通配符规则的支持** (例如 `*.mypikpak.com`)。
- 这使得白名单配置更灵活、易于维护,能够轻松覆盖 PikPak 大量的下载和视频子域名,避免了频繁手动添加的麻烦。
- 已在脚本中预置 PikPak Web 应用正常运行所需的域名规则。
- **文档 (`README.md`):**
- **全面重写了 `README.md` 文件**,使其成为一份自包含的完整指南。
- 新增了详细的“功能特性”部分,让用户可以快速了解项目能力。
- 提供了从零开始的“部署指南”,包括如何打包项目、如何创建并配置 Cloudflare Worker 反向代理的详细步骤。
``` fix(login): 修复邮箱登录时缺少人机验证的问题 修复了在特定情况下(如API认为登录行为异常时)邮箱登录会失败并提示“Please add captcha before you register”的错误。 - **问题原因:** 原有的 `src/views/login.vue` 组件在发起登录请求时,未处理人机验证(Captcha)流程,直接提交了空的 `captcha_token`。 - **解决方案:** 从 `sms.vue`(手机登录)组件中移植了 `initCaptcha` 的逻辑到 `login.vue` 中。现在,在点击登录按钮后,会先向 PikPak 的 `captcha/init` 接口请求一个有效的 `captcha_token`,然后再携带此 `token` 进行登录,从而解决了因缺少验证而被服务器拒绝的问题。 ```
修复了在特定情况下(如API认为登录行为异常时)邮箱登录会失败并提示“Please add captcha before you register”的错误。 - **问题原因:** 原有的 `src/views/login.vue` 组件在发起登录请求时,未处理人机验证(Captcha)流程,直接提交了空的 `captcha_token`。 - **解决方案:** 从 `sms.vue`(手机登录)组件中移植了 `initCaptcha` 的逻辑到 `login.vue` 中。现在,在点击登录按钮后,会先向 PikPak 的 `captcha/init` 接口请求一个有效的 `captcha_token`,然后再携带此 `token` 进行登录,从而解决了因缺少验证而被服务器拒绝的问题。
修复了在特定情况下(如API认为登录行为异常时)邮箱登录会失败并提示“Please add captcha before you register”的错误。 - **问题原因:** 原有的 `src/views/login.vue` 组件在发起登录请求时,未处理人机验证(Captcha)流程,直接提交了空的 `captcha_token`。 - **解决方案:** 从 `sms.vue`(手机登录)组件中移植了 `initCaptcha` 的逻辑到 `login.vue` 中。现在,在点击登录按钮后,会先向 PikPak 的 `captcha/init` 接口请求一个有效的 `captcha_token`,然后再携带此 `token` 进行登录,从而解决了因缺少验证而被服务器拒绝的问题。
|
captcha问题好像又回来了 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
本次更新主要包含三个方面:修复了邮箱登录时的人机验证问题,增强了 Cloudflare Worker 代理的安全性和灵活性,并完全重写了项目文档,为新用户提供了全面的部署指南。
🐛 Bug 修复 (Bug Fixes)
login.vue) 因缺少人机验证(Captcha)流程而失败的问题。通过引入initCaptcha逻辑,确保了登录流程的稳定性。🚀 功能增强 (Feature Enhancements)
cf-worker/index.js),增加了对域名白名单的通配符支持(例如*.mypikpak.com)。这使得代理规则配置更加灵活和便捷,无需再手动添加大量子域名。📝 文档完善 (Documentation Improvements)