# 提示词 我想制作一个UE资源下载网站,功能与风格样式参照: https://www.fab.com/ https://www.fab.com/channels/unreal-engine https://www.fab.com/listings/bb7df0df-a2e7-430f-a382-7c3b121bf767 ## 主要功能 1. 使用爬虫爬取Fab.com的资源信息,使用该站点承载、显示这些信息。 2. 部分已有资源使用**Cloudreve**网盘系统进行存储,点击按钮就可以下载到本地。 3. 简单的账户登录机制, 并且提供OpenID登录方式。 ## 技术选型 我打算使用: 前端技术:TypeScript、Vue 3、Vite;Vue Router、Pinia;前端组件请使用Element Plus,使用pnpm install element-plus 进行安装;除此之外还有Lucide Icons, Tailwind CSS (可选)。 后端技术:nodejs、Fastify、Mongoose、fastify-jwt 数据库:MongoDB、MySQL。 工具函数:Axios、VueUse、pnpm ## 部署方式 1. 该网站项目使用gitea托管,使用CI/CD进行生成与部署。 2. 部署到同IP Nodejs Docker容器中。 # 资产批量下载方式 将 https://github.com/legendary-gl/legendary 下载到./docs/legendary,之后学习里面的代码。这是一个第三方开源客户端,可以用来下载fab中的资产。 1. 将相关内容写到./docs/legendary,并在skill.md添加引用。 2. 检查这个项目是否存在安全问题。 3. 尝试运行legendary来下载我的资产库,我会告诉你账号密码。 4. 先下载10个资产,按照Clouderve的结构将下载资产库上传到clouderve。 clouderve的目录结构: - Fab - UnrealEngine - Plugins - ProInstanceToolPlugin - UE5.5 - UE5.6 - UE5.7 --- 在使用 **Claude Code** 或类似的 AI 开发工具编写爬取脚本时,绕过 Cloudflare 的核心在于**“去自动化特征”**。Cloudflare 的防护(如 5 秒盾、Turnstile)不仅检查你的 IP,还会深入分析你的浏览器指纹、TLS 握手以及行为模式。 以下是针对 2026 年技术环境,在 Claude Code 中实现避开风控的实战策略: ### 1. 使用具备“隐身”能力的浏览器框架 传统的 Selenium 或普通的 Puppeteer 极易被识别。你应该指示 Claude Code 使用以下增强库: - **Playwright + Stealth 插件**:目前最主流的选择。 - **SeleniumBase (UC Mode)**:这是目前绕过 Cloudflare 最强的工具之一,其 `undetected-chromedriver` 模式能有效隐藏自动化痕迹。 - **npx Claude Code 提示词示例**: > "请使用 Python 的 SeleniumBase 库,并开启 UC Mode(Undetected Mode)编写爬取脚本,以绕过目标的 Cloudflare 检测。" ### 2. 模拟真实浏览器的指纹 Cloudflare 会检查你的 HTTP 请求头是否与底层的 TLS 握手特征匹配(例如,如果你自称是 Chrome 但 TLS 握手特征是 Python-requests,会被秒封)。 - **TLS 指纹模拟**:使用 `curl_cffi` 库,它可以模拟真实浏览器(如 Chrome 120+)的 TLS 握手特征。 - **请求头伪造**:确保 `User-Agent`、`Accept-Language`、`Sec-Ch-Ua` 等字段与真实浏览器完全一致。 ### 3. IP 质量与地理位置 即使代码再完美,数据中心的 IP(如 AWS, Google Cloud)也是 Cloudflare 的重点监控对象。 - **使用住宅代理(Residential Proxies)**:这些 IP 看起来像普通家庭用户。 - **轮换代理**:每次请求或每隔几次操作更换一次 IP。 - **IPv6 优先**:2026 年很多防护系统对 IPv6 的限制相对宽松,且资源更丰富。 ### 4. 绕过交互挑战 (CAPTCHA/Turnstile) 当 Cloudflare 弹出验证码时,纯代码通常无法处理。 - **验证码识别服务**:在代码中集成如 CapSolver 或 2Captcha 的 API。 - **Cloudflare Workers 代理**:有时通过部署在 Cloudflare 内部的 Workers 作为跳板(利用其内部信任机制)会有奇效,但这取决于目标的具体配置。 --- ### 综合架构建议 |**维度**|**推荐技术栈**|**作用**| |---|---|---| |**底层驱动**|`SeleniumBase (UC Mode)` 或 `Playwright`|隐藏 WebDriver 特征| |**网络请求**|`curl_cffi` (Python)|解决 TLS 指纹识别问题| |**IP 资源**|动态住宅代理 (Residential Proxies)|绕过 IP 频率限制和黑名单| |**行为模拟**|`B-Splines` 曲线模拟鼠标移动|模拟真人操作轨迹| ### Claude Code 实战操作小贴士: 在 Claude Code 终端中,你可以这样引导它: 1. **第一步:环境检查**。先让它写一个简单的脚本访问 `https://nowsecure.nl`(这是一个专门测试 Cloudflare 绕过程度的网站)并截图。 2. **第二步:迭代优化**。如果截图显示被拦截,要求它:“目前的脚本被拦截了,请尝试集成 `stealth` 插件并随机化延迟时间。” 3. **第三步:添加随机性**。 Python ``` import time import random # 绝不要使用固定的 sleep(5) time.sleep(random.uniform(2.5, 7.8)) ``` **重要提醒:** 爬取数据请务必遵守目标网站的 `robots.txt` 协议及当地法律法规。过度高频的爬取不仅会被封禁,还可能面临法律风险。 # Clouderve 我部署了一个Clouderve http://10.145.96.67:5212/ 用于提供artlib具体的资产下载。请学习 API以及相关文档,之后进行构建。 ## 主要逻辑 1. 构建一个工具使用fab的账号密码登录并下载资产(暂缓开发,目前手工下载,并上传到clouderve上) 2. Artlib每过一年就对Clouderve进行扫描,之后将数据库中的项目与Clouderve项对应。确保用户可以下载到指定引擎版本的资产, 3. 用户进入资产详细页面后,如果该资产在Clouderve上存在,页面按钮就是 下载,点击后显示下拉菜单,显示可现在的版本,选择版本后进行下载;如果没有则显示访问Fab,点击后跳转到fab资产的原界面。 4. ## Clouderve目录说明 clouderve的目录结构: - Fab - UnrealEngine - Plugins - ProInstanceToolPlugin - UE5.5 - UE5.6 - UE5.7 说明 1. UnrealEngine层级目录为资产种类,除此之外还可以是Unity、MetaHuman等。 2. Plugins为资产类型与Fab资产分类有关,除此之外还可以Decal、Material、Texture。 3. ProInstanceToolPlugin层级为具体的资产名文件夹,我这边上传了ProInstanceToolPlugin作为案例。 4. UE5.5层级目录为引擎版本,目前我只打算托管UE4.27、UE5.0~最新版本。 ## API文档 - API - https://docs.cloudreve.org/zh/api/overview - [https://docs.cloudreve.org/zh/api/overview](https://cloudrevev4.apifox.cn/)