wowo515151/Scrape

GitHub: wowo515151/Scrape

一个基于关键词的网络采集与英文正文提取工具,集成多层级搜索回退和 prompt 注入检测,将清洗后的文本打包下载。

Stars: 0 | Forks: 0

# Scrape Engine 🌐 **在线演示:** [https://wowo515151.github.io/Scrape/](https://wowo515151.github.io/Scrape/) Scrape Engine 是一个高性能的 HTML/文本采集器和自动化的 prompt 注入安全分析扫描器。它允许你使用多层级的 DuckDuckGo 搜索网络,在绕过常见屏蔽机制的同时直接下载目标内容,提取纯净文本,并检查自然英文文本中是否存在潜在的 prompt 注入威胁。 ## 🎨 功能与技术 - **多层级 DuckDuckGo 抓取代理**:通过级联回退策略(DuckDuckGo Lite 表单 POST -> DuckDuckGo HTML GET -> DuckDuckGo Lite GET -> Wikipedia OpenSearch -> 静态回退)绕过速率限制和抓取保护,无需任何付费的 API 密钥。 - **Wayback Machine 回退**:如果实时页面返回访问限制代码(例如 HTTP 403 Forbidden 或 401 Unauthorized),引擎会自动检查并从 Internet Archive 的 Wayback Machine 下载最接近的文本快照。 - **智能英文正文提取器**:通过清除 HTML 标记、剥离代码块/语法、过滤脚本/样式表资源、排除标题格式的促销标头以及过滤嘈杂的短段文本(无句号且 <=3 个词),启发式地提取核心文章正文。 - **Security Guard 分析**:使用滚动窗口拆分评估提取的文本,以检测 prompt 注入攻击。 - **React 19 & Tailwind CSS**:优雅、深色模式优先的石板色仪表板,具备实时日志记录、状态标签和布局动画。 - **Express 后端**:安全的全栈 Node.js 服务器,提供 API endpoint(`/api/search` 和 `/api/fetch`)。 ## 🚀 快速开始 ### 前置条件 你需要安装 [Node.js](https://nodejs.org/)(v18 或更高版本)。 ### 安装说明 1. 克隆仓库: git clone https://github.com/wowo515151/Scrape.git cd Scrape 2. 安装依赖: npm install 3. (可选)配置环境变量。请参阅 `.env.example` 来定义所需的任何自定义 API 密钥或值。 ### 运行 Naabu 启动全栈开发服务器: ``` npm run dev ``` 应用程序将在 **http://localhost:3000** 上启动。 ### 运行测试 运行启发式提取器和 Security Guard 的集成测试套件: ``` npm run test ``` ### 构建生产版本 编译 React bundle 并将 TypeScript Express 服务器编译为经过生产优化的 bundle: ``` npm run build npm start ``` ## 🚀 GitHub Pages 与静态环境兼容性 为了最大限度地提高通用性,Scrape Engine 采用了 **双引擎设计**,无论是作为全栈系统还是纯静态网站,都能完美运行: 1. **自动后端检测**:在启动时,UI 会自动检查 `/api/health`。如果检测到 Express 服务器且状态正常,应用程序将以 **全栈模式** 运行,通过安全的服务器端代理路由搜索和下载步骤。 2. **Serverless 静态模式回退**:如果托管在像 **GitHub Pages** 这样仅支持静态环境的提供商上,且后端无法访问,系统会优雅地禁用 Express 模式并强制使用 **静态模式**。 3. **CORS 代理支持**:在静态模式下: - 搜索查询将回退到直接的、客户端安全的 endpoint(例如 Wikipedia OpenSearch API 及支持浏览器请求的相关集成)。 - 文章获取利用可自定义的 CORS-Anywhere 代理(如 `https://api.allorigins.win/raw?url=`),可在侧边栏设置中直接配置。 ### 📦 部署到 GitHub Pages 我们已经在 `.github/workflows/deploy.yml` 中预先配置了完全自动化的部署流水线: 1. 在 GitHub 上创建一个新仓库并提交此代码库。 2. 转到你仓库的 **Settings** -> **Pages**(位于侧边栏)。 3. 在 **Build and deployment** -> **Source** 下,选择 **GitHub Actions**。 4. 将你的更改推送到 `main` 或 `master` 分支。Actions 流水线将编译生产就绪的构建并立即发布! ## ☁️ 推荐的全栈部署主机 如果你更喜欢运行全栈版本以利用直接的、无代理的服务器端抓取: - **Google Cloud Run**:预配置的容器主机(使用仓库中的标准文件自动构建和运行)。 - **Render**:将你的仓库作为“Web Service”连接: - **Build Command**:`npm run build` - **Start Command**:`npm run start` - **Fly.io**:在你的目录中执行 `fly launch` 以自动配置并建立 Express 后端服务。 - **Railway**:链接你的仓库以立即启动容器。 ## 📄 License 该项目是开源的,并基于 [MIT License](LICENSE) 授权。
标签:AI安全, Chat Copilot, CISA项目, GNU通用公共许可证, MITM代理, Node.js, React, Syscalls, Web安全, 提示词注入检测, 数据提取, 自动化攻击, 蓝队分析