Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Requesty Register

简体中文 | English

这是一个用于自动化注册 Requesty 账号并获取 API Key 的脚本项目。

程序会通过 BitBrowser 本地 API 创建独立浏览器环境,打开 Requesty 注册页面,使用临时邮箱接收验证码,通过邮箱验证后创建 API Key,并把邮箱、密码和 API Key 追加写入 data.txt

项目亮点

基于最新版 DrissionPage 框架,利用其对 iframeshadow 元素的支持,让自动化处理 Cloudflare 验证成为可能。注册、收信、验证、创建 API Key、保存结果均由代码自动完成。

环境要求

  • Python 3.12+
  • 已安装并启动 BitBrowser
  • BitBrowser 本地 API 地址可访问:http://127.0.0.1:54345
  • 可用的临时邮箱服务配置,目前支持 mailnest

安装依赖:

pip install -r requirements.txt

配置文件

首次运行时,如果项目根目录不存在 cfg.yaml,程序会自动从 cfg.example.yaml 复制一份并退出。你需要编辑 cfg.yaml 后再重新运行。

配置示例:

email:
  provider_name: mailnest

  # https://mailnest.top/
  mailnest:
    project_code: 'requesty001'
    api_key: ''

# 如果要使用代理,需要去 proxy.py 里面配置,并运行 proxy.py
use_proxy: false
proxy_backend_port: 5000
timeout: 60
max_workers: 3

字段说明:

  • email.provider_name:邮箱服务提供方名称,目前填写 mailnest
  • email.mailnest.project_code:MailNest 项目编号。
  • email.mailnest.api_key:MailNest API Key,必须填写。获取页面https://mailnest.top/
  • use_proxy:是否给 BitBrowser 浏览器环境配置动态代理。
  • proxy_backend_port:本项目本地代理提取服务端口,对应 proxy.py 启动端口。
  • timeout:单个等待流程的超时时间,单位为秒。
  • max_workers:并发注册任务数量。数值越大,同时打开的浏览器窗口越多,对机器性能、BitBrowser、邮箱服务和代理质量要求越高。

代理配置

如果 cfg.yaml 中是 use_proxy: false,程序不会给 BitBrowser 配置代理,可以直接运行主程序。

如果 use_proxy: true,需要先配置并启动 proxy.py。主程序会把 BitBrowser 的动态代理地址设置为:

http://127.0.0.1:{proxy_backend_port}/get-proxy

也就是说,BitBrowser 每次需要代理时,会请求本地 proxy.py 提供的 /get-proxy 接口。这个接口必须返回一行纯文本代理地址,例如:

127.0.0.1:7899

当前 proxy.py 示例默认返回本机 HTTP 代理:

@app.route("/get-proxy", methods=["GET"])
def get_proxy():
    # ip = requests.get('http://proxy-extract-url').text
    ip = '127.0.0.1:7899'
    return ip, 200, {
        "Content-Type": "text/plain"
    }

如果使用购买的动态代理,可以把 proxy.py 中的示例改成请求代理商提供的提取 URL,然后只返回一个 BitBrowser 能识别的代理地址:

@app.route("/get-proxy", methods=["GET"])
def get_proxy():
    ip = requests.get('http://proxy-extract-url').text.strip()
    return ip, 200, {
        "Content-Type": "text/plain"
    }

启动代理后端:

python proxy.py

保持 proxy.py 运行,再另开一个终端运行主程序。

当前代码默认使用 http 代理。如果使用其他代理类型,需要同步修改 register.py 中的 proxyType

运行

在项目根目录执行:

python main.py

运行后,程序会按 max_workers 启动多个注册任务。每个任务会创建 BitBrowser 浏览器配置、打开浏览器、获取临时邮箱、进入 Requesty 注册页、处理 Cloudflare 验证、读取邮箱验证码、创建 API Key,并在成功后向 data.txt 追加一行:

email@example.com----password----api_key

其中 password 为邮箱地址 @ 前面的部分。

停止程序

程序支持通过 Ctrl+C 停止。

按下 Ctrl+C 后,主线程会停止创建新的注册任务,并等待当前已经提交的任务结束。每个任务结束时会尝试关闭并删除对应的 BitBrowser 浏览器配置,避免留下未清理的浏览器窗口。

不建议直接强制关闭终端或结束 Python 进程,除非程序已经无响应。强制退出可能导致当前浏览器窗口或 BitBrowser 配置没有被清理。

About

基于自动化的 requesty 注册机~ Automated requesty Registration Tool~

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages