user-scanner 1.1.0.5__tar.gz → 1.1.0.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/PKG-INFO +2 -2
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/README.md +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/pyproject.toml +18 -2
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/core/orchestrator.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/dev/bitbucket.py +1 -1
- user_scanner-1.1.0.7/user_scanner/email_scan/entertainment/appletv.py +51 -0
- user_scanner-1.1.0.7/user_scanner/email_scan/entertainment/justwatch.py +51 -0
- user_scanner-1.1.0.7/user_scanner/email_scan/entertainment/netflix.py +71 -0
- user_scanner-1.1.0.7/user_scanner/email_scan/entertainment/stremio.py +46 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/music/lastfm.py +8 -0
- user_scanner-1.1.0.7/user_scanner/email_scan/sports/espn.py +49 -0
- user_scanner-1.1.0.7/user_scanner/email_scan/sports/marca.py +40 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/community/coderlegion.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/creator/patreon.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/github.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/gaming/chess_com.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/gaming/monkeytype.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/gaming/roblox.py +1 -1
- user_scanner-1.1.0.7/user_scanner/user_scan/shopping/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/bluesky.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/discord.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/instagram.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/pinterest.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/reddit.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/snapchat.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/soundcloud.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/telegram.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/threads.py +1 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/x.py +1 -1
- user_scanner-1.1.0.7/user_scanner/utils/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/version.json +1 -1
- user_scanner-1.1.0.5/user_scanner/.ruff_cache/.gitignore +0 -2
- user_scanner-1.1.0.5/user_scanner/.ruff_cache/0.14.10/12603567674167520802 +0 -0
- user_scanner-1.1.0.5/user_scanner/.ruff_cache/0.14.10/12688104075811904861 +0 -0
- user_scanner-1.1.0.5/user_scanner/.ruff_cache/0.14.10/15694509833576274574 +0 -0
- user_scanner-1.1.0.5/user_scanner/.ruff_cache/0.14.10/301008395129872757 +0 -0
- user_scanner-1.1.0.5/user_scanner/.ruff_cache/0.14.10/4908403194175060721 +0 -0
- user_scanner-1.1.0.5/user_scanner/.ruff_cache/0.14.10/572980360641624523 +0 -0
- user_scanner-1.1.0.5/user_scanner/.ruff_cache/0.14.10/5935143038219898089 +0 -0
- user_scanner-1.1.0.5/user_scanner/.ruff_cache/CACHEDIR.TAG +0 -1
- user_scanner-1.1.0.5/user_scanner/email_scan/community/.ruff_cache/.gitignore +0 -2
- user_scanner-1.1.0.5/user_scanner/email_scan/community/.ruff_cache/0.14.10/3933329632096143294 +0 -0
- user_scanner-1.1.0.5/user_scanner/email_scan/community/.ruff_cache/CACHEDIR.TAG +0 -1
- user_scanner-1.1.0.5/user_scanner/email_scan/dev/.ruff_cache/.gitignore +0 -2
- user_scanner-1.1.0.5/user_scanner/email_scan/dev/.ruff_cache/0.14.10/10328336453267387919 +0 -0
- user_scanner-1.1.0.5/user_scanner/email_scan/dev/.ruff_cache/CACHEDIR.TAG +0 -1
- user_scanner-1.1.0.5/user_scanner/email_scan/hosting/.ruff_cache/.gitignore +0 -2
- user_scanner-1.1.0.5/user_scanner/email_scan/hosting/.ruff_cache/0.14.10/6358275293999347997 +0 -0
- user_scanner-1.1.0.5/user_scanner/email_scan/hosting/.ruff_cache/CACHEDIR.TAG +0 -1
- user_scanner-1.1.0.5/user_scanner/email_scan/music/.ruff_cache/.gitignore +0 -2
- user_scanner-1.1.0.5/user_scanner/email_scan/music/.ruff_cache/0.14.10/14677874048998292530 +0 -0
- user_scanner-1.1.0.5/user_scanner/email_scan/music/.ruff_cache/0.14.10/7544735312652879689 +0 -0
- user_scanner-1.1.0.5/user_scanner/email_scan/music/.ruff_cache/CACHEDIR.TAG +0 -1
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/LICENSE +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/__main__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/cli/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/cli/banner.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/config.json +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/core/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/core/email_orchestrator.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/core/formatter.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/core/helpers.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/core/result.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/core/version.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/adult/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/adult/pornhub.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/adult/sexvid.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/adult/xnxx.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/adult/xvideos.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/community/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/community/quora.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/community/stackoverflow.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/creator/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/creator/gumroad.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/creator/patreon.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/dev/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/dev/codecademy.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/dev/codepen.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/dev/devrant.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/dev/github.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/dev/huggingface.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/dev/leetcode.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/dev/replit.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/dev/wordpress.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/email_scan/gaming → user_scanner-1.1.0.7/user_scanner/email_scan/entertainment}/__init__.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/email_scan/hosting → user_scanner-1.1.0.7/user_scanner/email_scan/gaming}/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/gaming/chess_com.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/email_scan/learning → user_scanner-1.1.0.7/user_scanner/email_scan/hosting}/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/hosting/render.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/email_scan/music → user_scanner-1.1.0.7/user_scanner/email_scan/learning}/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/learning/duolingo.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/email_scan/other → user_scanner-1.1.0.7/user_scanner/email_scan/music}/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/music/spotify.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/email_scan/pipeline → user_scanner-1.1.0.7/user_scanner/email_scan/other}/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/other/eventbrite.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/email_scan/shopping → user_scanner-1.1.0.7/user_scanner/email_scan/pipeline}/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/pipeline/axonaut.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/pipeline/hubspot.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/pipeline/insightly.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/pipeline/zoho.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/email_scan/social → user_scanner-1.1.0.7/user_scanner/email_scan/shopping}/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/shopping/envato.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/shopping/flipkart.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/shopping/naturabuy.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/shopping/vivino.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/user_scan/creator → user_scanner-1.1.0.7/user_scanner/email_scan/social}/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/social/facebook.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/social/instagram.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/social/mastodon.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/social/x.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/user_scan/donation → user_scanner-1.1.0.7/user_scanner/email_scan/sports}/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/community/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/community/hackernews.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/community/lemmy.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/community/stackoverflow.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/user_scan/gaming → user_scanner-1.1.0.7/user_scanner/user_scan/creator}/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/creator/devto.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/creator/gumroad.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/creator/hashnode.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/creator/itch_io.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/creator/kaggle.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/creator/medium.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/creator/producthunt.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/creator/substack.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/creator/twitch.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/bitbucket.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/codeberg.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/cratesio.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/dockerhub.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/gitlab.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/huggingface.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/launchpad.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/leetcode.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/npmjs.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/replit.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/dev/sourceforge.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/user_scan/shopping → user_scanner-1.1.0.7/user_scanner/user_scan/donation}/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/donation/buymeacoffee.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/donation/liberapay.py +0 -0
- {user_scanner-1.1.0.5/user_scanner/utils → user_scanner-1.1.0.7/user_scanner/user_scan/gaming}/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/gaming/battlenet.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/gaming/lichess.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/gaming/minecraft.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/gaming/osu.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/gaming/steam.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/shopping/vinted.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/__init__.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/mastodon.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/tiktok.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/social/youtube.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/utils/update.py +0 -0
- {user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/utils/updater_logic.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: user-scanner
|
|
3
|
-
Version: 1.1.0.
|
|
3
|
+
Version: 1.1.0.7
|
|
4
4
|
Summary: Check username availability across multiple popular platforms
|
|
5
5
|
Keywords: username,checker,availability,social,tech,python,user-scanner
|
|
6
6
|
Author-email: Kaif <kafcodec@gmail.com>
|
|
@@ -16,7 +16,7 @@ Project-URL: Homepage, https://github.com/kaifcodec/user-scanner
|
|
|
16
16
|
|
|
17
17
|

|
|
18
18
|
<p align="center">
|
|
19
|
-
<img src="https://img.shields.io/badge/Version-1.1.0.
|
|
19
|
+
<img src="https://img.shields.io/badge/Version-1.1.0.7-blueviolet?style=for-the-badge&logo=github" />
|
|
20
20
|
<img src="https://img.shields.io/github/issues/kaifcodec/user-scanner?style=for-the-badge&logo=github" />
|
|
21
21
|
<img src="https://img.shields.io/badge/Tested%20on-Termux-black?style=for-the-badge&logo=termux" />
|
|
22
22
|
<img src="https://img.shields.io/badge/Tested%20on-Windows-cyan?style=for-the-badge&logo=Windows" />
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
<p align="center">
|
|
5
|
-
<img src="https://img.shields.io/badge/Version-1.1.0.
|
|
5
|
+
<img src="https://img.shields.io/badge/Version-1.1.0.7-blueviolet?style=for-the-badge&logo=github" />
|
|
6
6
|
<img src="https://img.shields.io/github/issues/kaifcodec/user-scanner?style=for-the-badge&logo=github" />
|
|
7
7
|
<img src="https://img.shields.io/badge/Tested%20on-Termux-black?style=for-the-badge&logo=termux" />
|
|
8
8
|
<img src="https://img.shields.io/badge/Tested%20on-Windows-cyan?style=for-the-badge&logo=Windows" />
|
|
@@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "user-scanner"
|
|
7
|
-
version = "1.1.0.
|
|
7
|
+
version = "1.1.0.7"
|
|
8
8
|
description = "Check username availability across multiple popular platforms"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {file = "LICENSE"}
|
|
@@ -27,8 +27,24 @@ Homepage = "https://github.com/kaifcodec/user-scanner"
|
|
|
27
27
|
[project.scripts]
|
|
28
28
|
user-scanner = "user_scanner.__main__:main"
|
|
29
29
|
|
|
30
|
+
[tool.flit.module]
|
|
31
|
+
name = "user_scanner"
|
|
32
|
+
|
|
30
33
|
[tool.flit.sdist]
|
|
31
|
-
exclude = [
|
|
34
|
+
exclude = [
|
|
35
|
+
"tests/",
|
|
36
|
+
"docs/",
|
|
37
|
+
".github/",
|
|
38
|
+
".git",
|
|
39
|
+
".gitignore",
|
|
40
|
+
".ruff_cache/",
|
|
41
|
+
"**/.ruff_cache/**",
|
|
42
|
+
"__pycache__/",
|
|
43
|
+
"**/__pycache__/**",
|
|
44
|
+
"*.pyc",
|
|
45
|
+
"rm_pycache.py",
|
|
46
|
+
"che.py"
|
|
47
|
+
]
|
|
32
48
|
|
|
33
49
|
[tool.pytest.ini_options]
|
|
34
50
|
pythonpath = "."
|
|
@@ -108,7 +108,7 @@ def generic_validate(url: str, func: Callable[[httpx.Response], Result], **kwarg
|
|
|
108
108
|
def status_validate(url: str, available: int | List[int], taken: int | List[int], **kwargs) -> Result:
|
|
109
109
|
"""
|
|
110
110
|
Function that takes a **url** and **kwargs** for the request and
|
|
111
|
-
checks if the request status matches the
|
|
111
|
+
checks if the request status matches the available or taken.
|
|
112
112
|
**Available** and **Taken** must either be whole numbers or lists of whole numbers.
|
|
113
113
|
"""
|
|
114
114
|
def inner(response: httpx.Response):
|
|
@@ -26,7 +26,7 @@ async def _check(email: str) -> Result:
|
|
|
26
26
|
elif is_reg is False:
|
|
27
27
|
return Result.taken()
|
|
28
28
|
else:
|
|
29
|
-
return Result.error(f"Unexpected error
|
|
29
|
+
return Result.error(f"Unexpected error occurred [{response.status_code}]")
|
|
30
30
|
except Exception as e:
|
|
31
31
|
return Result.error(f"Unexpected exception:{e}")
|
|
32
32
|
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import httpx
|
|
2
|
+
from user_scanner.core.result import Result
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
async def _check(email: str) -> Result:
|
|
6
|
+
url = "https://idmsa.apple.com/appleauth/auth/federate"
|
|
7
|
+
params = {'isRememberMeEnabled': "false"}
|
|
8
|
+
headers = {
|
|
9
|
+
'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",
|
|
10
|
+
'Accept': "application/json, text/javascript, */*; q=0.01",
|
|
11
|
+
'Content-Type': "application/json",
|
|
12
|
+
'X-Apple-Domain-Id': "2",
|
|
13
|
+
'X-Apple-Locale': "en_us",
|
|
14
|
+
'X-Apple-Auth-Context': "tv",
|
|
15
|
+
'X-Requested-With': "XMLHttpRequest",
|
|
16
|
+
'Origin': "https://idmsa.apple.com",
|
|
17
|
+
'Referer': "https://idmsa.apple.com/",
|
|
18
|
+
}
|
|
19
|
+
payload = {
|
|
20
|
+
"accountName": email,
|
|
21
|
+
"rememberMe": False
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
try:
|
|
25
|
+
async with httpx.AsyncClient(timeout=5.0) as client:
|
|
26
|
+
response = await client.post(
|
|
27
|
+
url,
|
|
28
|
+
params=params,
|
|
29
|
+
json=payload,
|
|
30
|
+
headers=headers
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
if response.status_code == 200:
|
|
34
|
+
data = response.json()
|
|
35
|
+
if "primaryAuthOptions" in data:
|
|
36
|
+
return Result.taken()
|
|
37
|
+
elif "primaryAuthOptions" not in data:
|
|
38
|
+
return Result.available()
|
|
39
|
+
else:
|
|
40
|
+
return Result.error("Unexpected response body, report it via GitHub issues")
|
|
41
|
+
|
|
42
|
+
return Result.error(f"HTTP {response.status_code}")
|
|
43
|
+
|
|
44
|
+
except httpx.TimeoutException:
|
|
45
|
+
return Result.error("Connection timed out")
|
|
46
|
+
except Exception as e:
|
|
47
|
+
return Result.error(f"Unexpected exception: {e}")
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
async def validate_appletv(email: str) -> Result:
|
|
51
|
+
return await _check(email)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import httpx
|
|
2
|
+
from user_scanner.core.result import Result
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
async def _check(email: str) -> Result:
|
|
6
|
+
url = "https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri"
|
|
7
|
+
params = {
|
|
8
|
+
'key': "AIzaSyDv6JIzdDvbTBS-JWdR4Kl22UvgWGAyuo8"
|
|
9
|
+
}
|
|
10
|
+
headers = {
|
|
11
|
+
'User-Agent': "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Mobile Safari/537.36",
|
|
12
|
+
'Content-Type': "application/json",
|
|
13
|
+
'x-client-version': "Chrome/JsCore/10.14.1/FirebaseCore-web",
|
|
14
|
+
'origin': "https://www.justwatch.com",
|
|
15
|
+
'referer': "https://www.justwatch.com/",
|
|
16
|
+
}
|
|
17
|
+
payload = {
|
|
18
|
+
"identifier": email,
|
|
19
|
+
"continueUri": "https://www.justwatch.com/"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
try:
|
|
23
|
+
async with httpx.AsyncClient(timeout=5.0) as client:
|
|
24
|
+
response = await client.post(
|
|
25
|
+
url,
|
|
26
|
+
params=params,
|
|
27
|
+
json=payload,
|
|
28
|
+
headers=headers
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
if response.status_code == 200:
|
|
32
|
+
data = response.json()
|
|
33
|
+
registered = data.get("registered")
|
|
34
|
+
|
|
35
|
+
if registered is True:
|
|
36
|
+
return Result.taken()
|
|
37
|
+
elif registered is False:
|
|
38
|
+
return Result.available()
|
|
39
|
+
|
|
40
|
+
return Result.error("Unexpected response body, report it via GitHub issues")
|
|
41
|
+
|
|
42
|
+
return Result.error(f"HTTP {response.status_code}")
|
|
43
|
+
|
|
44
|
+
except httpx.TimeoutException:
|
|
45
|
+
return Result.error("Connection timed out")
|
|
46
|
+
except Exception as e:
|
|
47
|
+
return Result.error(f"Unexpected Exception: {e}")
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
async def validate_justwatch(email: str) -> Result:
|
|
51
|
+
return await _check(email)
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import httpx
|
|
2
|
+
from user_scanner.core.result import Result
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
async def _check(email: str) -> Result:
|
|
6
|
+
headers = {
|
|
7
|
+
'User-Agent': "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Mobile Safari/537.36",
|
|
8
|
+
'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8",
|
|
9
|
+
'Accept-Language': "en-US,en;q=0.9",
|
|
10
|
+
'Origin': "https://www.netflix.com",
|
|
11
|
+
'Referer': "https://www.netflix.com/",
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
try:
|
|
15
|
+
async with httpx.AsyncClient(timeout=5.0, follow_redirects=True) as client:
|
|
16
|
+
await client.get("https://www.netflix.com/in/", headers=headers)
|
|
17
|
+
|
|
18
|
+
flwssn = client.cookies.get("flwssn")
|
|
19
|
+
if not flwssn:
|
|
20
|
+
return Result.error("Session token not found")
|
|
21
|
+
|
|
22
|
+
url = "https://web.prod.cloud.netflix.com/graphql"
|
|
23
|
+
|
|
24
|
+
graphql_headers = headers.copy()
|
|
25
|
+
graphql_headers.update({
|
|
26
|
+
'content-type': 'application/json',
|
|
27
|
+
'x-netflix.context.operation-name': 'CLCSWebInitSignup',
|
|
28
|
+
'x-netflix.request.clcs.bucket': 'high'
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
payload = {
|
|
32
|
+
"operationName": "CLCSWebInitSignup",
|
|
33
|
+
"variables": {
|
|
34
|
+
"inputUserJourneyNode": "WELCOME",
|
|
35
|
+
"locale": "en-IN",
|
|
36
|
+
"inputFields": [
|
|
37
|
+
{"name": "flwssn", "value": {"stringValue": flwssn}},
|
|
38
|
+
{"name": "email", "value": {"stringValue": email}}
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"extensions": {
|
|
42
|
+
"persistedQuery": {
|
|
43
|
+
"id": "f6e8ddc6-79fb-4ff2-8e55-893d707887a4",
|
|
44
|
+
"version": 102
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
response = await client.post(url, headers=graphql_headers, json=payload)
|
|
50
|
+
|
|
51
|
+
if response.status_code == 200:
|
|
52
|
+
resp_text = response.text
|
|
53
|
+
|
|
54
|
+
if "sign-up link to" in resp_text:
|
|
55
|
+
return Result.available()
|
|
56
|
+
|
|
57
|
+
elif "Welcome back!" in resp_text:
|
|
58
|
+
return Result.taken()
|
|
59
|
+
else:
|
|
60
|
+
return Result.error("Unexpected response body, report it via GitHub issues")
|
|
61
|
+
|
|
62
|
+
return Result.error(f"HTTP {response.status_code}")
|
|
63
|
+
|
|
64
|
+
except httpx.TimeoutException:
|
|
65
|
+
return Result.error("Connection timed out")
|
|
66
|
+
except Exception as e:
|
|
67
|
+
return Result.error(f"Unexpected exception: {e}")
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
async def validate_netflix(email: str) -> Result:
|
|
71
|
+
return await _check(email)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import httpx
|
|
2
|
+
from user_scanner.core.result import Result
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
async def _check(email: str) -> Result:
|
|
6
|
+
url = "https://api.strem.io/api/login"
|
|
7
|
+
|
|
8
|
+
headers = {
|
|
9
|
+
'User-Agent': "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Mobile Safari/537.36",
|
|
10
|
+
'Content-Type': "application/json",
|
|
11
|
+
'Origin': "https://www.stremio.com",
|
|
12
|
+
'Referer': "https://www.stremio.com/",
|
|
13
|
+
'Accept-Language': "en-US,en;q=0.9",
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
payload = {
|
|
17
|
+
"authKey": None,
|
|
18
|
+
"email": email,
|
|
19
|
+
"password": "wrongpassword123"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
try:
|
|
23
|
+
async with httpx.AsyncClient(timeout=5.0) as client:
|
|
24
|
+
response = await client.post(url, json=payload, headers=headers)
|
|
25
|
+
|
|
26
|
+
if response.status_code == 200:
|
|
27
|
+
data = response.json()
|
|
28
|
+
error_data = data.get("error", {})
|
|
29
|
+
|
|
30
|
+
if error_data.get("wrongPass") is True:
|
|
31
|
+
return Result.taken()
|
|
32
|
+
elif error_data.get("wrongEmail") is True:
|
|
33
|
+
return Result.available()
|
|
34
|
+
|
|
35
|
+
return Result.error("Unexpected response body, report it via GitHub issues")
|
|
36
|
+
|
|
37
|
+
return Result.error(f"HTTP {response.status_code}")
|
|
38
|
+
|
|
39
|
+
except httpx.TimeoutException:
|
|
40
|
+
return Result.error("Connection timed out")
|
|
41
|
+
except Exception as e:
|
|
42
|
+
return Result.error(f"Unexpected Exception: {e}")
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
async def validate_stremio(email: str) -> Result:
|
|
46
|
+
return await _check(email)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import httpx
|
|
2
|
+
from user_scanner.core.result import Result
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
async def _check(email: str) -> Result:
|
|
6
|
+
url = "https://registerdisney.go.com/jgc/v8/client/ESPN-ONESITE.WEB-PROD/guest-flow"
|
|
7
|
+
params = {
|
|
8
|
+
'langPref': "en",
|
|
9
|
+
'feature': "no-password-reuse"
|
|
10
|
+
}
|
|
11
|
+
headers = {
|
|
12
|
+
'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",
|
|
13
|
+
'Content-Type': "application/json",
|
|
14
|
+
'origin': "https://cdn.registerdisney.go.com",
|
|
15
|
+
'referer': "https://cdn.registerdisney.go.com/",
|
|
16
|
+
'accept-language': "en-US,en;q=0.9",
|
|
17
|
+
}
|
|
18
|
+
payload = {"email": email}
|
|
19
|
+
|
|
20
|
+
try:
|
|
21
|
+
async with httpx.AsyncClient(timeout=5.0) as client:
|
|
22
|
+
response = await client.post(
|
|
23
|
+
url,
|
|
24
|
+
params=params,
|
|
25
|
+
json=payload,
|
|
26
|
+
headers=headers
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
if response.status_code == 200:
|
|
30
|
+
data = response.json().get("data", {})
|
|
31
|
+
flow = data.get("guestFlow")
|
|
32
|
+
|
|
33
|
+
if flow == "LOGIN_FLOW":
|
|
34
|
+
return Result.taken()
|
|
35
|
+
elif flow == "REGISTRATION_FLOW":
|
|
36
|
+
return Result.available()
|
|
37
|
+
|
|
38
|
+
return Result.error("Unexpected response body, report it via GitHub issues")
|
|
39
|
+
|
|
40
|
+
return Result.error(f"HTTP {response.status_code}")
|
|
41
|
+
|
|
42
|
+
except httpx.TimeoutException:
|
|
43
|
+
return Result.error("Connection timed out")
|
|
44
|
+
except Exception as e:
|
|
45
|
+
return Result.error(f"Unexpected Exception: {e}")
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
async def validate_espn(email: str) -> Result:
|
|
49
|
+
return await _check(email)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import httpx
|
|
2
|
+
from user_scanner.core.result import Result
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
async def _check(email: str) -> Result:
|
|
6
|
+
url = f"https://seguro.marca.com/ueregistro/v2/usuarios/comprobacion/{email}/2"
|
|
7
|
+
|
|
8
|
+
headers = {
|
|
9
|
+
'User-Agent': "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Mobile Safari/537.36",
|
|
10
|
+
'Accept': "application/json, text/plain, */*",
|
|
11
|
+
'Origin': "https://www.marca.com",
|
|
12
|
+
'Referer': "https://www.marca.com/",
|
|
13
|
+
'Accept-Language': "en-US,en;q=0.9",
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
try:
|
|
17
|
+
async with httpx.AsyncClient(timeout=5.0) as client:
|
|
18
|
+
response = await client.get(url, headers=headers)
|
|
19
|
+
|
|
20
|
+
if response.status_code in [200, 404]:
|
|
21
|
+
data = response.json()
|
|
22
|
+
status = data.get("status")
|
|
23
|
+
|
|
24
|
+
if status == "OK":
|
|
25
|
+
return Result.taken()
|
|
26
|
+
elif status == "NOK":
|
|
27
|
+
return Result.available()
|
|
28
|
+
|
|
29
|
+
return Result.error("Unexpected response body, report it via GitHub issues")
|
|
30
|
+
|
|
31
|
+
return Result.error(f"HTTP {response.status_code}")
|
|
32
|
+
|
|
33
|
+
except httpx.TimeoutException:
|
|
34
|
+
return Result.error("Connection timed out")
|
|
35
|
+
except Exception as e:
|
|
36
|
+
return Result.error(f"Unexpected Exception: {e}")
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
async def validate_marca(email: str) -> Result:
|
|
40
|
+
return await _check(email)
|
|
@@ -13,7 +13,7 @@ def validate_roblox(user: str) -> Result:
|
|
|
13
13
|
return Result.error("Too many requests")
|
|
14
14
|
|
|
15
15
|
if response.status_code == 400:
|
|
16
|
-
# Api states
|
|
16
|
+
# Api states there's always an error
|
|
17
17
|
error = search_results["errors"][0]
|
|
18
18
|
if error["code"] == 6:
|
|
19
19
|
return Result.error("Username is too short")
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Signature: 8a477f597d28d172789f06886806bc55
|
user_scanner-1.1.0.5/user_scanner/email_scan/community/.ruff_cache/0.14.10/3933329632096143294
DELETED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Signature: 8a477f597d28d172789f06886806bc55
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Signature: 8a477f597d28d172789f06886806bc55
|
user_scanner-1.1.0.5/user_scanner/email_scan/hosting/.ruff_cache/0.14.10/6358275293999347997
DELETED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Signature: 8a477f597d28d172789f06886806bc55
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Signature: 8a477f597d28d172789f06886806bc55
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/email_scan/community/stackoverflow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/community/hackernews.py
RENAMED
|
File without changes
|
|
File without changes
|
{user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/community/stackoverflow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{user_scanner-1.1.0.5 → user_scanner-1.1.0.7}/user_scanner/user_scan/donation/buymeacoffee.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|