148 lines
6.5 KiB
Markdown
148 lines
6.5 KiB
Markdown
# 提示词
|
||
我想制作一个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/)
|