Skip to content

feat: add Tumblr email scan module#427

Merged
kaifcodec merged 2 commits into
kaifcodec:mainfrom
brunolm:feat/add-tumblr-email-module
Jul 19, 2026
Merged

feat: add Tumblr email scan module#427
kaifcodec merged 2 commits into
kaifcodec:mainfrom
brunolm:feat/add-tumblr-email-module

Conversation

@brunolm

@brunolm brunolm commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Adds an email-existence scan module for Tumblr.

How it works

  • Scrapes the web app's API_TOKEN from the homepage, reads the X-Csrf header from GET /api/v2/radar, then POST /api/v2/register/account/validate with the email and a deliberately short password.
  • This is a validation-only endpoint and the short password means no account is ever created and no email is sent.

Signal

  • Registeredresponse.code == 2 ("User already exists") → Result.taken
  • Not registeredresponse.code == 1030 (password-too-short — the email cleared the uniqueness check) → Result.available
  • Neither → Result.error

Testing

  • Verified live end-to-end: a registered address returns Registered, a random unregistered address returns Not Registered.
  • Auto-discovered (no registry changes). Full test suite passes (only the pre-existing *_unreadable tests fail, and only on Windows).

@kaifcodec

Copy link
Copy Markdown
Owner

@brunolm I found an issue for which it was throwing,

[!] Tumblr (johndoe@gmail.com): Error (unexpected exception: <StreamReset stream_id:1, error_code:1, remote_reset:True>)

  • Under HTTP/2, this triggers a (REFUSED_STREAM).
  • Under HTTP/1.1, the server abruptly closes the connection, leading to a Server disconnected without sending a response exception.

So I refactored it with urllib because its simpler TLS handshake signature and socket wrapping do not trigger the same bot-protection filters on Tumblr's servers.

@kaifcodec
kaifcodec merged commit 1fdaa97 into kaifcodec:main Jul 19, 2026
2 checks passed
@kaifcodec kaifcodec added the email module addition PRs or issues related to new email_scan module additions label Jul 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

email module addition PRs or issues related to new email_scan module additions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants