通用 Web 批量注册框架:

  • Camoufox 反检测浏览器引擎(官方 Python Async API)
  • Site Pack 可分享 / 可导入的站点注册流程包(浏览器 YAML 或 协议 http.request
  • Web 逆向:抓包、依赖图、强签名(crypto hooks / 浏览器预言机)、一键写协议 pack
  • 用户 Chrome:扩展一键完整逆向 / 整机 CDP 附着(已登录态即时分析)
  • AI Agent 接口:CLI / Python / MCP(easy-reg ai call
  • 邮箱 / 短信 / 验证码 / 代理 可插拔 Provider

仅用于自有系统压测、授权测试与合法自动化场景。

安装

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env   # 按需填写

# 真机浏览器(Camoufox)
pip install -e ".[camoufox]"
python -m camoufox fetch

# 可选:协议 TLS 指纹(curl_cffi)
pip install -e ".[tls]"

# 可选:MCP
pip install -e ".[mcp]"

功能清单

能力 状态
Site Pack(YAML flow + hooks)
本地 / zip / URL / GitHub 安装与导出
跑任务引擎:Camoufox / mock / http(纯协议)
逆向附着:CDP(用户 Chrome)/ Chrome 扩展 bridge
协议动作:http.request / http.from_browser / http.sign_via_browser
Web 逆向:re.explore · capture · auto_sign · 依赖图 · HAR 1.2
Chrome 扩展完整逆向(hooks+crypto+签名,免改启动参数)
拟人输入、cookie/session 落盘
代理池 + geoip
邮箱 stub / IMAP / mail.tm / ms_oauth(gr/o2 双令牌 IMAP+Graph)
短信 stub / 通用 HTTP API / 5sim 等
验证码 stub / manual / 2captcha(说明
重试、限速、并发
批量农场:Job 状态 / 后台 / cancel / retry failed / 付费预算
Browser pool 热回收 · 分层限速 · sticky 代理 · job metrics
Checkpoint resume · 成本账本 · 拟人点击/滚动
代理健康(mark_bad + 冷却)· SMS release · mail.tm 并发安全
SQLite + CSV/JSON 导出(排除 dry-run)
AI tools / schema / playbook / MCP

快速开始

easy-reg doctor
easy-reg config
easy-reg pack install ./packs/demo-local
easy-reg run demo-local -n 2 --dry-run          # → skipped(非真实 success)
easy-reg run demo-local -n 1 --engine mock
# 大批量后台(农场模式)
easy-reg run demo-local -n 20 -c 3 --background \
  --max-paid-retries 0 --browser-pool --checkpoint-resume
easy-reg run-status <job_id>

浏览器 / 逆向入口怎么选

场景 用法
干净环境、自动填表/点向导、批量 run Camoufox
SPA / 多 XHR / 要协议化 re.exploresite.capturepack.from_capture
已登录的 Chrome 即时分析 Easy-Rev 扩展 + bridge;capture 再交给 Easy-Reg 写包
多 tab 深度控制同一 Chrome CDP--remote-debugging-port=9222
纯 API 批量(弱签名或已合成 HMAC) engine=http(可选 [tls]

详细规范:docs/reverse-engineering.md

Camoufox 一键逆向写包

easy-reg ai call re.explore -i '{
  "url":"https://授权站/signup",
  "auto_fill":true,
  "submit":true,
  "write_pack":true,
  "scaffold_hooks":true,
  "pack_id":"my-site"
}'

Chrome 扩展完整逆向(已登录页)

# 1) 在和 Easy-Reg 相同的 venv 安装 Easy-Rev Web RE(扩展和 bridge 只在该仓库维护)
pip install -e "/path/to/easy-rev[web]"

# 2) 本机接收端(前台兼容启动器,底层实现来自 Easy-Rev)
easy-reg re bridge
# → http://127.0.0.1:18766

# 3) Chrome → chrome://extensions → 开发者模式
#    加载已解压:easy-rev/extensions/easy-rev-chrome

# 4) 打开已登录页 → 扩展开始录制
#    在页面完成注册/提交操作后停止录制

# 5) 从扩展结果或 bridge status 取 capture 路径
easy-reg ai call re.bridge.status -i '{}'
# 6) 用 Easy-Reg 消费 capture 并写注册包
easy-reg ai call pack.from_capture -i '{"capture_path":"<last_capture_path>","pack_id":"my-site"}'

扩展能力对齐 Camoufox site.capture:Network + page hooks(fetch/XHR/crypto)+ auto_sign + 依赖图。扩展和 bridge 的唯一维护位置是 easy-rev,其中的 capture JSON 可直接交给 Easy-Reg 的 pack.from_capture

整机 CDP(可选)

# Chrome 需带 --remote-debugging-port=9222
easy-reg re browser-list --cdp http://127.0.0.1:9222
easy-reg ai call re.explore -i '{
  "url":"https://…",
  "cdp_url":"http://127.0.0.1:9222",
  "tab_url":"signup",
  "navigate":false,
  "write_pack":true,
  "pack_id":"from-chrome"
}'

如何让 AI 快速使用

目标:给 AI 配一次规则,之后 一句话 就能写注册包 / 探站 / 逆向 / 跑任务。 AI 只调 CLI(easy-reg ai call),站点逻辑写进 Site Pack,不改框架源码。

三步接入

① 安装并自检(人做一次)

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev,camoufox]"
python -m camoufox fetch
cp .env.example .env
easy-reg doctor

② 把系统提示词交给 AI(人做一次)

方式 做法
推荐 docs/AGENT_PROMPT.md「完整系统提示词」 贴到 Cursor / Claude Code / Agent System 规则
省上下文 同文件 「精简系统提示词」
本仓库 Agent 直接遵循 AGENTS.md(含逆向三入口)
MCP pip install -e ".[mcp]"easy-reg ai mcp

接口总览:docs/ai-interface.md

③ 一句话(日常)

Easy-Reg 写包:https://你的授权站/signup id=my-app
你说 AI 做什么
Easy-Reg 写包:https://… id=xxx 完整写包 + 试跑 + export
Easy-Reg 探站 https://… site.inspect
Easy-Reg 逆向 https://… re.explore / capture → 协议 pack
Easy-Reg 分析我已登录的 Chrome bridge + 扩展,或 CDP 附着
Easy-Reg 跑 xxx 数量10 已装 pack 的 run.start
Easy-Reg 修包 xxx … 改 flow → validate → 试跑
Easy-Reg 诊断 job_id=… run.diagnose / re.diagnose

AI 常用命令示例

source .venv/bin/activate

easy-reg ai schema
easy-reg ai playbook
easy-reg ai call doctor -i '{}'

# 浏览器写包
easy-reg ai call site.inspect -i '{"url":"https://…","engine":"camoufox","multi_step":true}'
easy-reg ai call run.start -i '{"pack_id":"my-app","count":1,"engine":"camoufox","trust":true}'

# 逆向 → 协议 / hybrid pack
easy-reg ai call re.explore -i '{"url":"https://…","write_pack":true,"pack_id":"my-app"}'
easy-reg re bridge
easy-reg ai call pack.from_capture -i '{"capture_path":"…","pack_id":"my-app"}'
easy-reg ai call run.start -i '{"pack_id":"my-app","count":1,"engine":"http"}'   # 弱签名纯协议
# hybrid(from_browser / sign_via_browser)请用 camoufox

配置

环境变量前缀 EASY_REG_,见 .env.example

EASY_REG_ENGINE=camoufox
EASY_REG_EMAIL_PROVIDER=mailtm          # 或 imap
EASY_REG_CAPTCHA_PROVIDER=2captcha
EASY_REG_CAPTCHA_API_KEY=...
EASY_REG_SMS_PROVIDER=http              # 强制 SMS 站需真接码,stub 不可用
EASY_REG_PROXY_FILE=./proxies/proxies.txt
EASY_REG_RETRY_MAX=2
EASY_REG_MIN_INTERVAL_S=1.5

CLI

命令 说明
easy-reg doctor / config 自检 / 配置
easy-reg run <pack> 批量农场(--background / --max-paid-retries / --retry-job
easy-reg run-status / run-cancel 进度轮询 / 取消
easy-reg pack … init / validate / install / export / list
easy-reg site inspect|capture 探站 / 抓包
easy-reg re bridge Chrome 扩展本机接收端(默认 :18766,实现来自 easy-rev)
easy-reg re bridge-status 扩展 bridge 最近一次 capture
easy-reg re browser-list --cdp … 整机 CDP 列标签
easy-reg re start --cdp … RE 会话附着用户 Chrome
easy-reg re list|snapshot|stop 持久 RE 会话管理
easy-reg account … generate / export / list
easy-reg ai tools|call|schema|playbook|mcp AI 主接口

Pack 来源

easy-reg pack install ./packs/demo-local
easy-reg pack install ./my.zip
easy-reg pack install https://example.com/pack.zip
easy-reg pack install github:org/repo//packs/acme@v1.0.0
easy-reg pack export acme -o acme.zip

Site Pack

规范:docs/pack-spec.md

浏览器声明式:

steps:
  - action: goto
    url: "{{ vars.signup_url }}"
  - action: fill_form
    fields:
      - { selector: 'input[name=email]', value: '{{ account.email }}' }
      - { selector: 'input[name=password]', value: '{{ account.password }}' }
  - action: click_when_enabled
    selector: 'button[type=submit]'

协议 / Hybrid(逆向产物):

steps:
  - action: http.from_browser          # hybrid:从浏览器灌 cookie
  - action: http.request
    method: POST
    url: "https://api.example.com/v1/register"
    sign_via_browser: true             # 强签名:页面 JS 预言机
    signer_path: "signRequest"
    json:
      email: "{{ account.email }}"
      password: "{{ account.password }}"
    assert_status: [200, 201]

文���

文档 内容
AGENTS.md AI 主规则(写包 + 逆向三入口)
docs/ai-interface.md AI 工具与 Playbook
docs/AGENT_PROMPT.md 可复制系统提示词
docs/reverse-engineering.md Web 逆向 / 扩展 / CDP / 强签名
docs/pack-spec.md Site Pack 规范
docs/captcha-2captcha.md 2captcha / CaptchaFox 等
easy-rev Chrome 扩展、bridge 与 Web RE 安装使用

开发

source .venv/bin/activate
pip install -e ".[dev,camoufox]"
pytest -q

许可证

MIT