user-scanner 1.1.0.6__py3-none-any.whl → 1.1.0.7__py3-none-any.whl

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.
Files changed (33) hide show
  1. user_scanner/core/orchestrator.py +1 -1
  2. user_scanner/email_scan/dev/bitbucket.py +1 -1
  3. user_scanner/email_scan/entertainment/__init__.py +0 -0
  4. user_scanner/email_scan/entertainment/appletv.py +51 -0
  5. user_scanner/email_scan/entertainment/justwatch.py +51 -0
  6. user_scanner/email_scan/entertainment/netflix.py +71 -0
  7. user_scanner/email_scan/entertainment/stremio.py +46 -0
  8. user_scanner/email_scan/music/lastfm.py +8 -0
  9. user_scanner/email_scan/sports/__init__.py +0 -0
  10. user_scanner/email_scan/sports/espn.py +49 -0
  11. user_scanner/email_scan/sports/marca.py +40 -0
  12. user_scanner/user_scan/community/coderlegion.py +1 -1
  13. user_scanner/user_scan/creator/patreon.py +1 -1
  14. user_scanner/user_scan/dev/github.py +1 -1
  15. user_scanner/user_scan/gaming/chess_com.py +1 -1
  16. user_scanner/user_scan/gaming/monkeytype.py +1 -1
  17. user_scanner/user_scan/gaming/roblox.py +1 -1
  18. user_scanner/user_scan/social/bluesky.py +1 -1
  19. user_scanner/user_scan/social/discord.py +1 -1
  20. user_scanner/user_scan/social/instagram.py +1 -1
  21. user_scanner/user_scan/social/pinterest.py +1 -1
  22. user_scanner/user_scan/social/reddit.py +1 -1
  23. user_scanner/user_scan/social/snapchat.py +1 -1
  24. user_scanner/user_scan/social/soundcloud.py +1 -1
  25. user_scanner/user_scan/social/telegram.py +1 -1
  26. user_scanner/user_scan/social/threads.py +1 -1
  27. user_scanner/user_scan/social/x.py +1 -1
  28. user_scanner/version.json +1 -1
  29. {user_scanner-1.1.0.6.dist-info → user_scanner-1.1.0.7.dist-info}/METADATA +2 -2
  30. {user_scanner-1.1.0.6.dist-info → user_scanner-1.1.0.7.dist-info}/RECORD +33 -25
  31. {user_scanner-1.1.0.6.dist-info → user_scanner-1.1.0.7.dist-info}/WHEEL +0 -0
  32. {user_scanner-1.1.0.6.dist-info → user_scanner-1.1.0.7.dist-info}/entry_points.txt +0 -0
  33. {user_scanner-1.1.0.6.dist-info → user_scanner-1.1.0.7.dist-info}/licenses/LICENSE +0 -0
@@ -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 availabe or taken.
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 occured [{response.status_code}]")
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
 
File without changes
@@ -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)
@@ -58,3 +58,11 @@ async def _check(email: str) -> Result:
58
58
 
59
59
  async def validate_lastfm(email: str) -> Result:
60
60
  return await _check(email)
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
File without changes
@@ -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)
@@ -16,4 +16,4 @@ if __name__ == "__main__":
16
16
  elif result == 0:
17
17
  print("Unavailable!")
18
18
  else:
19
- print("Error occured!")
19
+ print("Error occurred!")
@@ -16,4 +16,4 @@ if __name__ == "__main__":
16
16
  elif result == 0:
17
17
  print("Unavailable!")
18
18
  else:
19
- print("Error occured!")
19
+ print("Error occurred!")
@@ -47,4 +47,4 @@ if __name__ == "__main__":
47
47
  elif result == 0:
48
48
  print("Unavailable!")
49
49
  else:
50
- print("Error occured!")
50
+ print("Error occurred!")
@@ -35,4 +35,4 @@ if __name__ == "__main__":
35
35
  elif result == 0:
36
36
  print("Unavailable!")
37
37
  else:
38
- print("Error occured!")
38
+ print("Error occurred!")
@@ -53,4 +53,4 @@ if __name__ == "__main__":
53
53
  elif result == 0:
54
54
  print("Unavailable!")
55
55
  else:
56
- print("Error occured!")
56
+ print("Error occurred!")
@@ -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 theres always an error
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")
@@ -51,4 +51,4 @@ if __name__ == "__main__":
51
51
  elif result == 0:
52
52
  print("Unavailable!")
53
53
  else:
54
- print("Error occured!")
54
+ print("Error occurred!")
@@ -36,4 +36,4 @@ if __name__ == "__main__":
36
36
  elif result == 0:
37
37
  print("Unavailable!")
38
38
  else:
39
- print("Error occured!")
39
+ print("Error occurred!")
@@ -26,4 +26,4 @@ if __name__ == "__main__":
26
26
  elif result == 0:
27
27
  print("Unavailable!")
28
28
  else:
29
- print("Error occured!")
29
+ print("Error occurred!")
@@ -25,4 +25,4 @@ if __name__ == "__main__":
25
25
  elif result == 0:
26
26
  print("Unavailable!")
27
27
  else:
28
- print("Error occured!")
28
+ print("Error occurred!")
@@ -26,4 +26,4 @@ if __name__ == "__main__":
26
26
  elif result == 0:
27
27
  print("Unavailable!")
28
28
  else:
29
- print("Error occured!")
29
+ print("Error occurred!")
@@ -32,4 +32,4 @@ if __name__ == "__main__":
32
32
  elif result == 0:
33
33
  print("Unavailable!")
34
34
  else:
35
- print("Error occured!")
35
+ print("Error occurred!")
@@ -35,4 +35,4 @@ if __name__ == "__main__":
35
35
  elif result == 0:
36
36
  print("Unavailable!")
37
37
  else:
38
- print("Error occured!")
38
+ print("Error occurred!")
@@ -26,4 +26,4 @@ if __name__ == "__main__":
26
26
  elif result == 0:
27
27
  print("Unavailable!")
28
28
  else:
29
- print("Error occured!")
29
+ print("Error occurred!")
@@ -26,4 +26,4 @@ if __name__ == "__main__":
26
26
  elif result == 0:
27
27
  print("Unavailable!")
28
28
  else:
29
- print("Error occured!")
29
+ print("Error occurred!")
@@ -43,4 +43,4 @@ if __name__ == "__main__":
43
43
  elif result == 0:
44
44
  print("Unavailable!")
45
45
  else:
46
- print("Error occured!")
46
+ print("Error occurred!")
user_scanner/version.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "version": "1.1.0.6",
2
+ "version": "1.1.0.7",
3
3
  "version_type": "pypi"
4
4
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: user-scanner
3
- Version: 1.1.0.6
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
  ![User Scanner Logo](https://github.com/user-attachments/assets/49ec8d24-665b-4115-8525-01a8d0ca2ef4)
18
18
  <p align="center">
19
- <img src="https://img.shields.io/badge/Version-1.1.0.6-blueviolet?style=for-the-badge&logo=github" />
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" />
@@ -1,14 +1,14 @@
1
1
  user_scanner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  user_scanner/__main__.py,sha256=6ecuWBMKZQLwmz7hSYcOk2uwSxj3jpYqYVI-2ti0zmA,10848
3
3
  user_scanner/config.json,sha256=QZoyeipL-558-lO5bwmAImgBJLG2za3lritYwoQ5kb0,33
4
- user_scanner/version.json,sha256=pl0iSQOJ7Sb9OaO-TSRSPHrGBO-p_U58BJj37-IatSA,49
4
+ user_scanner/version.json,sha256=XzIRMhowsYvoCeAAw-nJ-162Hc10ISdT4bdnwjRRcwQ,49
5
5
  user_scanner/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  user_scanner/cli/banner.py,sha256=3b4PIggnJrmxF4DfbuPMqSavpwNl0m5uedaOL2SXN3o,766
7
7
  user_scanner/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  user_scanner/core/email_orchestrator.py,sha256=E813-i_acOEEb9Q_n1aQANBkDrlB6dglUjzVrC0-L-g,2349
9
9
  user_scanner/core/formatter.py,sha256=CMwyR6PuP15HqyS6oWe40ye_4dne14lrIj7_5T7rla4,725
10
10
  user_scanner/core/helpers.py,sha256=g_WMbEJvT98TA4Db9c-LPIDl6ExjLQ1dSE3cIyKRUos,6406
11
- user_scanner/core/orchestrator.py,sha256=uYs6WBUNPo8fFGZzenwCc9DB246zNVEC_DrlZgVxqNo,4485
11
+ user_scanner/core/orchestrator.py,sha256=qv0vd6CuLS6OinH5UKCUMU6WT6yzZV1gKRD88EvhgNw,4486
12
12
  user_scanner/core/result.py,sha256=VCIJvte_SXCq59j2o3wQsQYpmXjHTrGKy8Ayn211Rkc,4982
13
13
  user_scanner/core/version.py,sha256=k1_KTZdRLKBAxp8_PtOhTAtj8mBO_AUnUGdqI4epypY,855
14
14
  user_scanner/email_scan/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -24,7 +24,7 @@ user_scanner/email_scan/creator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
24
24
  user_scanner/email_scan/creator/gumroad.py,sha256=wJfY_CPT2aiGShuL73XYPw_Oni7sEYn8nQ7avc0mrJg,3354
25
25
  user_scanner/email_scan/creator/patreon.py,sha256=1A3tPNAyQ6WDLU_XY6PJUYe4FIVWzlALyEgOWzlZ-bE,1904
26
26
  user_scanner/email_scan/dev/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
27
- user_scanner/email_scan/dev/bitbucket.py,sha256=ymNc7FWQD-eH8uPXkpQseksKTKzYgdPdU7J1H2Qk0lg,1354
27
+ user_scanner/email_scan/dev/bitbucket.py,sha256=bPltCEcIE4jO68zLVTKw3sC2To_NA0FkR4DEbZ6SMMw,1355
28
28
  user_scanner/email_scan/dev/codecademy.py,sha256=-ElwmawP3anLi_JSW9j4wJBBxiANB0SpOdsO0HNG-VM,1725
29
29
  user_scanner/email_scan/dev/codepen.py,sha256=7R0i4eNQQrO8cFp6A3aUyW_kwc-GeHNgt9bPCHeNFZo,1851
30
30
  user_scanner/email_scan/dev/devrant.py,sha256=KEp24JsAk_OJ5dCN20PQ_BV2_lVZWipy2h-zoBudj7I,1550
@@ -33,6 +33,11 @@ user_scanner/email_scan/dev/huggingface.py,sha256=GjFNkuVZ_8eFgs9OrFakhiEb8pVRwE
33
33
  user_scanner/email_scan/dev/leetcode.py,sha256=R728E0fVI-f8_WFCHBEI0Oe18bqg6UgRSKX9psQAkEU,2277
34
34
  user_scanner/email_scan/dev/replit.py,sha256=Jj4YA1OIibpZ17rvJbccGsJDDnOXCoiH3ybhIwj5d3E,1697
35
35
  user_scanner/email_scan/dev/wordpress.py,sha256=G4xBKZ-xB-EHbYwXNoza1KwehCuh_sR10A50M4FkzCk,1813
36
+ user_scanner/email_scan/entertainment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
+ user_scanner/email_scan/entertainment/appletv.py,sha256=jg8T0Ljmv4F8-x4By2OaupPbuuCxsl35t4QPKPyXqZ4,1748
38
+ user_scanner/email_scan/entertainment/justwatch.py,sha256=TlzvK03dOo3JVT8RS1Q_AZF3JJV9-ddn4zG4RpQ9bRU,1690
39
+ user_scanner/email_scan/entertainment/netflix.py,sha256=VGbsW0sWDoUPFCpJQDsneRkI8DUAVILwabrc4mEyMyY,2643
40
+ user_scanner/email_scan/entertainment/stremio.py,sha256=6WdKB-CAzSaF1EpAp7JxLUmcNNoUlM9zruZ1CjDRBH8,1496
36
41
  user_scanner/email_scan/gaming/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
42
  user_scanner/email_scan/gaming/chess_com.py,sha256=EJF3OTxYtzDC-F4OAVfT0mRWUopmNZdwdYChw97VpE4,1841
38
43
  user_scanner/email_scan/hosting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -40,7 +45,7 @@ user_scanner/email_scan/hosting/render.py,sha256=6G66ftbCzSW_taMoqIyF9CQ9sVIL7PD
40
45
  user_scanner/email_scan/learning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
46
  user_scanner/email_scan/learning/duolingo.py,sha256=rLKLH-iwCvNtCxPd7UZcgTXssOzVKaDLl3d8TePYjHo,1297
42
47
  user_scanner/email_scan/music/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
- user_scanner/email_scan/music/lastfm.py,sha256=VWuwRIgeW-hgE-0VkEgMF8Muwvz523DyFUfO4RTntSU,2005
48
+ user_scanner/email_scan/music/lastfm.py,sha256=uKzWBaWydX3M-y2wj8adqKllrhIrALicSFwMuos4ZB8,2013
44
49
  user_scanner/email_scan/music/spotify.py,sha256=jzFa9p1IWnAYDK7k7NTJ7ipmrGqmK_PVrUQ4otjldkU,3659
45
50
  user_scanner/email_scan/other/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
51
  user_scanner/email_scan/other/eventbrite.py,sha256=WLSN5xTlG9YkZbP4lyyE8Ob0NyGcv_T9BVb5bQ-SzaE,1748
@@ -59,8 +64,11 @@ user_scanner/email_scan/social/facebook.py,sha256=dnCDZfqRYLXDT7GjJQ-bSqGfC-rO8G
59
64
  user_scanner/email_scan/social/instagram.py,sha256=qGDub3d4pSY_KW4aNYDQOGVNSrmWQkZWMHadCFkDa64,2022
60
65
  user_scanner/email_scan/social/mastodon.py,sha256=Qm13Nl_9j_7sHlc4wN6QF9jgfLlaxbOVgacvXK3hLRY,2478
61
66
  user_scanner/email_scan/social/x.py,sha256=WoHaecbR1qGte-mwyODsY0YGNf-iRZyGS7s9fw0SQgg,1475
67
+ user_scanner/email_scan/sports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
+ user_scanner/email_scan/sports/espn.py,sha256=YKbaNqwoMSDCk_GCIrIDKrwSqB6oG_R0E-Bpp7X7LH4,1633
69
+ user_scanner/email_scan/sports/marca.py,sha256=0ts5ZgRN4vkFz6WtD0dYT3uYT_WnDlVtcgZ4cF1aUWA,1374
62
70
  user_scanner/user_scan/community/__init__.py,sha256=5EzlM991pJqvqIRc05_QV5BureJZ7wiCRm1AyEY6pms,12
63
- user_scanner/user_scan/community/coderlegion.py,sha256=W_bdjzdFPRgUrNFFlylvToSJ4AzaFCtTsUy_MRVDdSo,451
71
+ user_scanner/user_scan/community/coderlegion.py,sha256=FRUlnCdGq_ZpyWJTMHABTGHMZ-N0LhgB56jN8XRNGjk,452
64
72
  user_scanner/user_scan/community/hackernews.py,sha256=lKVuEVoGnXWYSANcuUyiSHzUr-VtcXHC7sEX1rxZi0Y,1068
65
73
  user_scanner/user_scan/community/lemmy.py,sha256=IURvkdxbqt4riyGEFO2vC3RxcyyC2g1E8Gx-5GJJUaY,927
66
74
  user_scanner/user_scan/community/stackoverflow.py,sha256=MTL8O0TLHkjVbugBh1pLxELJLU3hkX_YEHjGjaKTJi4,1007
@@ -71,7 +79,7 @@ user_scanner/user_scan/creator/hashnode.py,sha256=3RRkVgU7t26-F4ZqjfnC_lwnP7DWwy
71
79
  user_scanner/user_scan/creator/itch_io.py,sha256=2a8UVh-_OaWQPcSUHUuijDGpWDxsR8DoCcU1BdTRqqs,854
72
80
  user_scanner/user_scan/creator/kaggle.py,sha256=QaXIG02OGxvQZEvwHm50RKNd7joxGOq0Ht3cFfrYEiU,445
73
81
  user_scanner/user_scan/creator/medium.py,sha256=zHU5h2VQwde1P4XihQpV7ww2P_fgGKgWZ_S0_4TTyUI,1648
74
- user_scanner/user_scan/creator/patreon.py,sha256=g-r85pxirf0ihK3STyGYPIzp59MB7JH64Opb4wq1fyU,461
82
+ user_scanner/user_scan/creator/patreon.py,sha256=rcMVUKhHRYXwvt1M9s39PO5h_oBePi6WScsRtqST31g,462
75
83
  user_scanner/user_scan/creator/producthunt.py,sha256=wb7b3hsa2Er-IQTfNFRBnU7KV5EqW_KRhL5pFvuCY88,1227
76
84
  user_scanner/user_scan/creator/substack.py,sha256=tisTUQmauteYZOZ0tULp9GGUuf4ZBEcpqv4ZmEvjyK0,1288
77
85
  user_scanner/user_scan/creator/twitch.py,sha256=blsh5sMT7miF5-xqVXYLieTILzkop2PsWqv9HhP8G40,2509
@@ -80,7 +88,7 @@ user_scanner/user_scan/dev/bitbucket.py,sha256=qAIlFCmMaNTUx2-a5wJKHjbQjERcJt0zK
80
88
  user_scanner/user_scan/dev/codeberg.py,sha256=Z6nV0_8xZhMiCcNn9Hn79VVh6y0ar9fqL7KS2b7IaDo,447
81
89
  user_scanner/user_scan/dev/cratesio.py,sha256=mJnlLJoMLlQ7f_95QD7LgH1xCj-e6FooOFkpYypBfG4,724
82
90
  user_scanner/user_scan/dev/dockerhub.py,sha256=sPEnomGiPM2mKv2HsA-9WxaXHjzz21A6ox3IXK1etLc,643
83
- user_scanner/user_scan/dev/github.py,sha256=9Q4G84WTAeWfNliApKdRFl1MJLfHvDPJ09mwr8P1ePo,1702
91
+ user_scanner/user_scan/dev/github.py,sha256=bopuFu_eQ0VJyIMJWjprqm3E76wgKJLLuSgklI_SHAc,1703
84
92
  user_scanner/user_scan/dev/gitlab.py,sha256=kMDSd74XbofmJocfS4Fd9DxPryIHBMek3N_5c7Z_AJQ,1351
85
93
  user_scanner/user_scan/dev/huggingface.py,sha256=hDanOZ45LeUg3hrN0CYrBnBnLqHCYtOWS0_HCvAbmDw,454
86
94
  user_scanner/user_scan/dev/launchpad.py,sha256=N58ioX_dEHq2uwyyGrWnDKWwbqK9_RiuBQ1uWR5cDfg,799
@@ -93,34 +101,34 @@ user_scanner/user_scan/donation/buymeacoffee.py,sha256=86LGyChv_UKQFp2D7nIoK1B-F
93
101
  user_scanner/user_scan/donation/liberapay.py,sha256=njClxpbRLZQ_L2-lUYCY6QFnF4IcwfCJPCIg1iEqo7M,1120
94
102
  user_scanner/user_scan/gaming/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
103
  user_scanner/user_scan/gaming/battlenet.py,sha256=bMFJIIp9dPCQ74NyRolo1tZZWm908F0m-LSvdfArLaQ,2386
96
- user_scanner/user_scan/gaming/chess_com.py,sha256=74tMgukSUXwdmD9G7Jij_gudRlSfs46Xho5KNMVeyt4,1262
104
+ user_scanner/user_scan/gaming/chess_com.py,sha256=iCE8tj-pAhCidVxwk1yUX-C2aoUh3akr1HIfUzPEXrg,1263
97
105
  user_scanner/user_scan/gaming/lichess.py,sha256=8b7DNRENh2UwjbsJNXRs2HIwC80OwGe5D0y-96_xjzs,1324
98
106
  user_scanner/user_scan/gaming/minecraft.py,sha256=7a9H9ebLlRzGB0SjxLmzqLiDPDBZAuuNq3KKe2DZAvo,481
99
- user_scanner/user_scan/gaming/monkeytype.py,sha256=IWt_0sXPaiTfKVpYVNW9KLMGtDzU55P-SnBjVtSAsU0,1748
107
+ user_scanner/user_scan/gaming/monkeytype.py,sha256=ShcDCKslazi1QtHHLWk9DDRdxBzzHABn_0RHMApby4U,1749
100
108
  user_scanner/user_scan/gaming/osu.py,sha256=2Xs1iM0CJ-3dNHu4tyF50_s0Ei_1mA5Zd6D6M5RmiVg,448
101
- user_scanner/user_scan/gaming/roblox.py,sha256=5q8vWlO5mdUZpQg_rx3ewBrDOHnLprSHJj7uEJ2S934,1813
109
+ user_scanner/user_scan/gaming/roblox.py,sha256=x2_41-FsqM0-FRp3fQbA9g11r517qlg_ymkdNfUJfpA,1814
102
110
  user_scanner/user_scan/gaming/steam.py,sha256=l8xk_p9aiYQWCPoogQnO1iwkfojPhg6yd76OZHhKN50,740
103
111
  user_scanner/user_scan/shopping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
112
  user_scanner/user_scan/shopping/vinted.py,sha256=YwuHl1LFJHdqmQ2OEjFHjh2Bt8Ce5m4pq67aDGTWk_U,1299
105
113
  user_scanner/user_scan/social/__init__.py,sha256=jaCkFwX1uYtF0ENifVwF8OfHrYYUTm64B9wlBq9BBfQ,9
106
- user_scanner/user_scan/social/bluesky.py,sha256=11Y_vRj3txEDQqoD0iANgSWVSB8L87OotPQZquhneR0,1994
107
- user_scanner/user_scan/social/discord.py,sha256=KA7Uw8RBuid-YZZglIKQwWbg8PIKdrMwXP3fKH3c-go,1180
108
- user_scanner/user_scan/social/instagram.py,sha256=GgmKGvi3meKdZ_nQJbJSBZDJTEKSoE6Cn4_VARmo62I,953
114
+ user_scanner/user_scan/social/bluesky.py,sha256=epY1d5pLlIfrppXlDVx-GcKlZwr6Iv6qgw_BE2fFxrk,1995
115
+ user_scanner/user_scan/social/discord.py,sha256=dIhDZneHas_9VR8eleUx9YLNeQTnSVHtyYEf3AenhYA,1181
116
+ user_scanner/user_scan/social/instagram.py,sha256=Z44X6nb8-x1oZqjb7A236vXFA9EXwUEmekRrAHQx-0I,954
109
117
  user_scanner/user_scan/social/mastodon.py,sha256=bLZ2VR_ty4inY47ENSSt_021wEUEDKwvuE4EL7eLq2A,967
110
- user_scanner/user_scan/social/pinterest.py,sha256=JIJ-HPtMoGvxW7NQzm02lChFKMmE6k6GxFoUZ6OvCec,784
111
- user_scanner/user_scan/social/reddit.py,sha256=PJ46v8WpcUY1nNSbPhbiY6B9ynB9bcakcDjopXTX2ME,787
112
- user_scanner/user_scan/social/snapchat.py,sha256=XEW_W4jEBX4AiHREcfHGstt97Ez3GI-3bKSzhtMyn28,1277
113
- user_scanner/user_scan/social/soundcloud.py,sha256=rCXyOY1qXOW0iIAcgeyVEcv15ufWb18749PBvBnQWnU,1035
114
- user_scanner/user_scan/social/telegram.py,sha256=CNhrUdOEaonOGswuGUn-_PgA1aoWvcXVACOC4qDY-vw,767
115
- user_scanner/user_scan/social/threads.py,sha256=rK8Gm_riDdr0djo23tk38fNVVEBuC6nj2iTXvWrqXeE,951
118
+ user_scanner/user_scan/social/pinterest.py,sha256=kYbsGhpFwR_GxpDCejq4oaUULzAb2FmrhLpHjquXONs,785
119
+ user_scanner/user_scan/social/reddit.py,sha256=Z4RTNsNFXmjMqhmqe71_gC5acsMxzQZ-shYvT3dwcLQ,788
120
+ user_scanner/user_scan/social/snapchat.py,sha256=xXqHw9EQulGHItHG1hNKcZQBaA2KpNwAVV4dieBDmkE,1278
121
+ user_scanner/user_scan/social/soundcloud.py,sha256=RFu7R5gb8tZgTg3v74E4uojIUfsRjWid_QnP7X1gors,1036
122
+ user_scanner/user_scan/social/telegram.py,sha256=acr8AS8dBBQJFGrcUDi8u--vR2icLflpGMgCEqeIt5g,768
123
+ user_scanner/user_scan/social/threads.py,sha256=DEcpnCjVO3oWioS5ag8Skfz7es8qQOKAvWpFqP3cSYw,952
116
124
  user_scanner/user_scan/social/tiktok.py,sha256=y3KqIFIgeT8rk5bM_FirSgdAD2hFN-a_cVCB2S5amAc,1691
117
- user_scanner/user_scan/social/x.py,sha256=sAnboHHZN2DWyKeds46GLZHxGG-G_bjzfVNIkblSHx8,1406
125
+ user_scanner/user_scan/social/x.py,sha256=Gf3P-KxpRyGRxEk8iNHj9cKkjeR-Ae2Ej4PiMu5_VVU,1407
118
126
  user_scanner/user_scan/social/youtube.py,sha256=UPu584teg75P7FT05RFG3nobbHgPmzjr-ZwyN2sw6gw,1980
119
127
  user_scanner/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
128
  user_scanner/utils/update.py,sha256=Rj3kLuUrQ-LlKGB7bkndqVjj0IUqugbDSj2SUrPRidE,936
121
129
  user_scanner/utils/updater_logic.py,sha256=tl6kbKL02DrP-R1dkQWhHr12juVDgkJZZvKAfbI1ruU,2381
122
- user_scanner-1.1.0.6.dist-info/entry_points.txt,sha256=XqU3kssYZ0vXaPy5qYUOTCu4u-48Xie7QWFpBCYc7Nc,59
123
- user_scanner-1.1.0.6.dist-info/licenses/LICENSE,sha256=XH1QyQG68zo1opDIZHTHcTAbe9XMzewvTaFTukcN9vc,1061
124
- user_scanner-1.1.0.6.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
125
- user_scanner-1.1.0.6.dist-info/METADATA,sha256=ZFrUsSSjeeBvtS-T3-1-wzkpf54YkuNSDRq1MtFfTyY,8768
126
- user_scanner-1.1.0.6.dist-info/RECORD,,
130
+ user_scanner-1.1.0.7.dist-info/entry_points.txt,sha256=XqU3kssYZ0vXaPy5qYUOTCu4u-48Xie7QWFpBCYc7Nc,59
131
+ user_scanner-1.1.0.7.dist-info/licenses/LICENSE,sha256=XH1QyQG68zo1opDIZHTHcTAbe9XMzewvTaFTukcN9vc,1061
132
+ user_scanner-1.1.0.7.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
133
+ user_scanner-1.1.0.7.dist-info/METADATA,sha256=4nopjSPw1hvqIUgRt2oJene-5R-cEiTYJE6CzfBlyGk,8768
134
+ user_scanner-1.1.0.7.dist-info/RECORD,,