fish-not-phish/pixurebyte

GitHub: fish-not-phish/pixurebyte

一个开源可自托管的网站捕获与分析平台,能够绕过Cloudflare挑战,灵感源自URLScan但更注重速度、控制和隐私。

Stars: 0 | Forks: 0

# Pixurebyte

Pixurebyte Logo

**Pixurebyte** 是一个开源、可自托管的网站捕获与分析平台 —— 灵感源自 URLScan,但专为速度、控制和隐私而构建。 与那些难以应对 Cloudflare 或机器人保护挑战的传统 Web 扫描器不同,Pixurebyte 允许您通过托管自己的计算基础设施来**完全绕过挑战页面**。 您可以在几分钟内获取任何网站的**屏幕截图、元数据和原始 HTML** —— 同时保持对数据的完全控制。 [![Stars](https://img.shields.io/github/stars/fish-not-phish/pixurebyte?style=social)](https://github.com/fish-not-phish/pixurebyte/stargazers) [![Forks](https://img.shields.io/github/forks/fish-not-phish/pixurebyte?style=social)](https://github.com/fish-not-phish/pixurebyte/network/members) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) ![Status](https://img.shields.io/badge/status-Alpha-red) ## 核心功能 - 🧠 **可自托管架构** 在本地运行您的 Web 应用、数据库和 Redis,同时利用 AWS 实现可扩展的计算和对象存储。 - ⚡ **绕过 Cloudflare 与机器人挑战** PixureByte 利用多个库,包括 [Scrapling](https://github.com/D4Vinci/Scrapling),协助绕过与 Cloudflare 相关的机器人挑战。 - 🖼️ **整页屏幕截图** 自动捕获页面的高分辨率屏幕截图。 - 🌐 **丰富的站点元数据收集** 收集 HTML、响应/请求数据、Headers 等。 - 🧩 **模块化与可扩展** 专为轻松集成到您的研究工作流而设计。新的数据收集器即将推出。 - 🔒 **注重隐私的设计** 您扫描和存储的所有内容都在您的控制之下 —— 不会向外部服务发送任何数据。 ## AWS 计算模型 Pixurebyte 使用 **AWS ECS Fargate** 按需启动短生命周期的扫描容器。 - 主要 **容量提供商:** `FARGATE_SPOT` - 备用:**标准 FARGATE**(如果 Spot 不可用) - 任务大小:**0.5 vCPU / 2 GB RAM** - 典型运行时间:**每次扫描约 1–3 分钟** 此配置平衡了**性能、可靠性和成本效益** —— 让您以极低的成本获得完整的浏览器功能。 ## 成本细分 —— 真正的低成本 Pixurebyte 的设计考虑了 **极小的 AWS 资源占用**。 所有繁重的服务(数据库、Web、Redis、API)都使用 Docker Compose 在**本地**运行 —— 这意味着您只需为**临时的 AWS 任务**和 **S3 存储**付费。 以下是适度的个人/研究部署的大致成本估算: | 资源 | 描述 | 预估月成本 (USD) | |-----------|--------------|--------------------------| | **ECS Fargate Spot Tasks** | 每次扫描 0.5 vCPU / 2 GB RAM,平均约 2 分钟。Spot 价格 ≈ $0.0008/分钟。 | **每次扫描 $0.02 – $0.05** | | **备用 Fargate (按需)** | 仅在 Spot 容量不可用时使用(成本约 2 倍)。 | **每次扫描 $0.04 – $0.10** | | **S3 Storage** | 屏幕截图、HTML 和 JSON 元数据(每次扫描约 10–20 MB)。 | **每月 $0.02 – $0.10**(数百次扫描) | | **CloudFront (可选)** | 用于公开图像访问的 CDN 分发。 | **免费(在免费套餐内)** 或约 $0.01/GB | | **AWS Data Transfer** | 由于使用 CDN,可忽略不计。 | **每月 <$0.10** | ## 系统概览 Pixurebyte 由两部分组成: | 组件 | 描述 | |------------|-------------| | **本地堆栈 (Local Stack)** | Django 后端、Redis、PostgreSQL 和前端 (NextJS),通过 Docker Compose 在本地提供服务 | | **AWS 基础设施** | 用于媒体存储的 S3 + 用于临时扫描工作进程的 ECS Fargate | 这种混合模型允许通过**弹性远程计算**实现**快速的本地管理**。 ## 前置条件 在安装之前,请确保您拥有: - [Terraform](https://developer.hashicorp.com/terraform/downloads) ≥ **1.6.0** - [AWS CLI](https://aws.amazon.com/cli/)(已配置凭证) - [Docker](https://docs.docker.com/get-docker/) - [OpenSSL](https://www.openssl.org/)(用于生成 Django 密钥) ## 安装 ## 安装 Terraform (Linux) 要运行 Pixurebytes 的基础设施组件,您需要 [Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)。以下是在基于 Debian 的 Linux 系统(例如 Ubuntu)上安装它的方法: **1. 更新并安装前置条件** ``` sudo apt-get update -y && sudo apt-get install -y gnupg software-properties-common ``` **2. 安装 HashiCorp GPG 密钥** ``` wget -O- https://apt.releases.hashicorp.com/gpg | \ gpg --dearmor | \ sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null ``` **3. 将官方 HashiCorp 仓库添加到您的 Linux 系统中。** ``` echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \ https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | \ sudo tee /etc/apt/sources.list.d/hashicorp.list ``` **4. 下载软件包信息** ``` sudo apt update -y ``` **5. 安装 Terraform** ``` sudo apt-get install -y terraform ``` ## AWS 凭证设置 (Root 用户) 为了让 Terraform 能够通过 AWS 进行身份验证,您需要提供您的 **Access Key ID** 和 **Secret Access Key**。以下是如何从您的 AWS Root 账户获取它们的方法(IAM 用户也可以): ### 1. 登录 AWS 前往 [https://aws.amazon.com/console/](https://aws.amazon.com/console/) 并以 **root 用户**(邮箱 + 密码)身份登录。只要权限正确,也可以使用 IAM 用户。 ### 2. 创建 Access Keys (针对 root) 1. 导航至 **My Security Credentials**(右上角下拉菜单 → _“My Security Credentials”_)。 2. 向下滚动至 **Access keys** 部分。 3. 点击 **Create access key**。 4. 安全地**下载**或**复制**凭证: - `AWS_ACCESS_KEY_ID` - `AWS_SECRET_ACCESS_KEY` ### 3. 为 Terraform 配置环境 您可以通过环境变量传递凭证: ``` export AWS_ACCESS_KEY_ID="your-access-key-id" export AWS_SECRET_ACCESS_KEY="your-secret-access-key" export AWS_DEFAULT_REGION="us-east-2" ``` ### 4. 克隆仓库 ``` git clone https://github.com/fish-not-phish/pixurebyte.git cd pixurebyte ``` ### 5. 部署 AWS 基础设施 ``` cd terraform ./setup.sh ``` 系统将提示您输入自定义域和其他配置选项。 该脚本会自动配置: - 用于存储屏幕截图和原始 HTML 的 S3 bucket - 用于扫描工作进程的 ECS 任务定义 - CloudFront CDN(以便您的 S3 bucket 保持非公开状态) 完成后,您的 AWS 资源即可使用。 ### 6. 启动本地环境 ``` cd .. docker compose up -d ``` 这将启动: - Django 后端 (localhost:8000) - Next.js 前端 (localhost:3000) - Redis + Postgres 容器 ## 拆除 ### 停止本地服务 ``` docker compose down ``` 要删除所有存储的数据: ``` docker compose down -v ``` ### 销毁 AWS 基础设施 ``` cd terraform ./destroy.sh ``` 这将彻底清除所有已配置的 AWS 资源(ECS 任务、S3 bucket 等)。 ## 免责声明
标签:AWS无服务器, HTML源码分析, Scrapling, 云存储安全, 元数据提取, 反爬虫对抗, 头部浏览器检测, 密码管理, 搜索引擎查询, 数据可视化, 测试用例, 绕过Cloudflare, 网站截图, 网络安全, 网络扫描, 自动化攻击, 自动化攻击, 自动化攻击, 自动化采集, 自托管平台, 请求响应分析, 请求拦截, 进程保护, 逆向工具, 钓鱼网站分析, 隐私保护