user-scanner 1.0.0.7__py3-none-any.whl → 1.0.0.8__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.
user_scanner/__main__.py CHANGED
@@ -7,16 +7,18 @@ CATEGORY_MAPPING = {
7
7
  "dev": "dev",
8
8
  "social": "social",
9
9
  "creator": "creator",
10
- "community": "community"
10
+ "community": "community",
11
+ "gaming": "gaming"
11
12
  }
12
13
 
13
14
  def list_modules(category=None):
14
- from user_scanner import dev, social, creator, community
15
+ from user_scanner import dev, social, creator, community, gaming
15
16
  packages = {
16
17
  "dev": dev,
17
18
  "social": social,
18
19
  "creator": creator,
19
- "community": community
20
+ "community": community,
21
+ "gaming": gaming
20
22
  }
21
23
 
22
24
  categories_to_list = [category] if category else packages.keys()
@@ -60,17 +62,21 @@ def main():
60
62
  if not args.username:
61
63
  print(Fore.RED + "[!] Please provide a username with -u or --username." + Style.RESET_ALL)
62
64
  return
63
- if re.search(r"[^a-zA-Z0-9._-]", args.username):
64
- print(Fore.RED + f"[!] Username '{args.username}' contains unsupported special characters. X (Twitter) doesn't support these." + Style.RESET_ALL)
65
- if re.search(r"[^a-zA-Z0-9\.-]", args.username):
66
- print(Fore.RED + f"[!] Username '{args.username}' contains unsupported special characters. Bluesky will throw error. (Supported: only hyphens and digits)" + Style.RESET_ALL +"\n")
67
65
 
66
+ # Special username checks before run
67
+ if (args.module == "x" or args.category == "social"):
68
+ if re.search(r"[^a-zA-Z0-9._-]", args.username):
69
+ print(Fore.RED + f"[!] Username '{args.username}' contains unsupported special characters. X (Twitter) doesn't support these." + Style.RESET_ALL)
70
+ if (args.module == "bluesky" or args.category == "social"):
71
+ if re.search(r"[^a-zA-Z0-9\.-]", args.username):
72
+ print(Fore.RED + f"[!] Username '{args.username}' contains unsupported special characters. Bluesky will throw error. (Supported: only hyphens and digits)" + Style.RESET_ALL +"\n")
68
73
 
69
- from user_scanner import dev, social, creator, community
74
+
75
+ from user_scanner import dev, social, creator, community, gaming
70
76
 
71
77
  if args.module:
72
78
  # Single module search across all categories
73
- packages = [dev, social, creator, community]
79
+ packages = [dev, social, creator, community, gaming]
74
80
  found = False
75
81
  for package in packages:
76
82
  modules = load_modules(package)
File without changes
@@ -0,0 +1,54 @@
1
+ import httpx
2
+ from httpx import ConnectError, TimeoutException
3
+ import json
4
+
5
+ def validate_chess_com(user):
6
+ url = f"https://www.chess.com/callback/user/valid?username={user}"
7
+
8
+ headers = {
9
+ 'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36",
10
+ 'Accept': "application/json, text/plain, */*",
11
+ 'Accept-Encoding': "gzip, deflate, br",
12
+ 'Accept-Language': "en-US,en;q=0.9",
13
+ }
14
+
15
+ try:
16
+ response = httpx.get(url, headers=headers, timeout = 3.0)
17
+ status = response.status_code
18
+
19
+ if status == 200:
20
+ data = response.json()
21
+ if data.get('valid') is True:
22
+ # 'valid': true means the username is NOT taken
23
+ return 1
24
+ elif data.get('valid') is False:
25
+ # 'valid': false means the username IS taken
26
+ return 0
27
+ else:
28
+ return 2
29
+ else:
30
+ return 2
31
+
32
+ except (ConnectError, TimeoutException):
33
+ return 2
34
+ except json.JSONDecodeError:
35
+ return 2
36
+ except Exception:
37
+ return 2
38
+
39
+ if __name__ == "__main__":
40
+ try:
41
+ import httpx
42
+ except ImportError:
43
+ print("Error: 'httpx' library is not installed.")
44
+ exit()
45
+
46
+ user = input ("Username?: ").strip()
47
+ result = validate_chess_com(user)
48
+
49
+ if result == 1:
50
+ print("Available!")
51
+ elif result == 0:
52
+ print("Unavailable!")
53
+ else:
54
+ print("Error occured!")
@@ -0,0 +1,45 @@
1
+ import httpx
2
+ from httpx import ConnectError, TimeoutException
3
+
4
+ def validate_mastodon(user):
5
+ url = f"https://mastodon.social/@{user}"
6
+
7
+ headers = {
8
+ 'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36",
9
+ 'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
10
+ 'Accept-Encoding': "gzip, deflate, br",
11
+ 'Accept-Language': "en-US,en;q=0.9",
12
+ }
13
+
14
+ try:
15
+ response = httpx.get(url, headers=headers, timeout = 3.0, follow_redirects=True)
16
+ status = response.status_code
17
+
18
+ if status == 200:
19
+ return 0
20
+ elif status == 404:
21
+ return 1
22
+ else:
23
+ return 2
24
+
25
+ except (ConnectError, TimeoutException):
26
+ return 2
27
+ except Exception:
28
+ return 2
29
+
30
+ if __name__ == "__main__":
31
+ try:
32
+ import httpx
33
+ except ImportError:
34
+ print("Error: 'httpx' library is not installed.")
35
+ exit()
36
+
37
+ user = input ("Username?: ").strip()
38
+ result = validate_mastodon(user)
39
+
40
+ if result == 1:
41
+ print("Available!")
42
+ elif result == 0:
43
+ print("Unavailable!")
44
+ else:
45
+ print("Error occured!")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: user-scanner
3
- Version: 1.0.0.7
3
+ Version: 1.0.0.8
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>
@@ -1,5 +1,5 @@
1
1
  user_scanner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- user_scanner/__main__.py,sha256=ND5nN2WF2RYyHo0hkuNVzmyDAjd9jE-6M1Yl_4hasz8,3406
2
+ user_scanner/__main__.py,sha256=6lVLWjArkDXSv0HxYf-iEjOHlwAED_piigfeP26IIXs,3654
3
3
  user_scanner/community/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  user_scanner/community/coderlegion.py,sha256=wva0seSkd4h7kSjIprW0wM7JC0zspFjXGnDHkeIJ3YI,1141
5
5
  user_scanner/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -19,17 +19,20 @@ user_scanner/dev/gitlab.py,sha256=0-3vYg5G5_uguH2I68zZdPyq5VaMUS76766Db7uWrR8,14
19
19
  user_scanner/dev/launchpad.py,sha256=ank50BpTsN7m5_MuQNxAbLpfQOrwjnwS_olO9nhPwgk,1074
20
20
  user_scanner/dev/npmjs.py,sha256=Tv2YgCpuSxJKWEPdcTWwm9CCl2rmfKlGdQe2rnMnXM8,1141
21
21
  user_scanner/dev/replit.py,sha256=GN1Q8PecTzBsd6TpOT-qRnMvKhFTh1P6uCa8CDlXkpw,925
22
+ user_scanner/gaming/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ user_scanner/gaming/chess_com.py,sha256=f634Js-KvBVpQC2AOi5TpIR9S5ttxjnAhI6eQtoYtXw,1514
22
24
  user_scanner/social/__init__.py,sha256=jaCkFwX1uYtF0ENifVwF8OfHrYYUTm64B9wlBq9BBfQ,9
23
25
  user_scanner/social/bluesky.py,sha256=r5UIFCStlwEM4UxE6cDTrDb5w_EqPCgJ2iYz27GpjA8,2157
24
26
  user_scanner/social/instagram.py,sha256=oskZgHagkyl_p-bi7CMYqCh0wsoqfCFnR7GZcbKX1-U,1229
27
+ user_scanner/social/mastodon.py,sha256=KbhdutPe_M0bvtkJXz2VEhalSEgA7n-bUbrkR3pYAb4,1276
25
28
  user_scanner/social/pinterest.py,sha256=LHCiTmPALPLYXDClz09EBKRREhs5u3CajeFiQg5Vvlg,1168
26
29
  user_scanner/social/reddit.py,sha256=DQYWedJeeyUuk-6EARU_52rPQHNkjfSbahOl5AHENa0,1194
27
30
  user_scanner/social/snapchat.py,sha256=ZG-SIv6RopT45dudfOm5sRxmV_ihWG1Vh1Z766fm8XE,1527
28
31
  user_scanner/social/threads.py,sha256=QRidTYquAMDHJSg68ySpWCbliRYdWJkbOqn8RfWzFQQ,1231
29
32
  user_scanner/social/x.py,sha256=NetPGmPnWEKv6za9E_Ekah9bAeeFlEeY3qbTJQo7AqE,1560
30
33
  user_scanner/social/youtube.py,sha256=zuyWCy5FtEilaIcUZ4dTCctRR9deFnwwWJkf-h_1K0E,1943
31
- user_scanner-1.0.0.7.dist-info/entry_points.txt,sha256=XqU3kssYZ0vXaPy5qYUOTCu4u-48Xie7QWFpBCYc7Nc,59
32
- user_scanner-1.0.0.7.dist-info/licenses/LICENSE,sha256=XH1QyQG68zo1opDIZHTHcTAbe9XMzewvTaFTukcN9vc,1061
33
- user_scanner-1.0.0.7.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
34
- user_scanner-1.0.0.7.dist-info/METADATA,sha256=ayoDpbluRCqOSt_hRZ60SJHadEtuvdJYZah_uOazaFg,2363
35
- user_scanner-1.0.0.7.dist-info/RECORD,,
34
+ user_scanner-1.0.0.8.dist-info/entry_points.txt,sha256=XqU3kssYZ0vXaPy5qYUOTCu4u-48Xie7QWFpBCYc7Nc,59
35
+ user_scanner-1.0.0.8.dist-info/licenses/LICENSE,sha256=XH1QyQG68zo1opDIZHTHcTAbe9XMzewvTaFTukcN9vc,1061
36
+ user_scanner-1.0.0.8.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
37
+ user_scanner-1.0.0.8.dist-info/METADATA,sha256=qx0AglYRkTqKOQWYjUhaa8Q7McPPS8oJ0PuLJul31xk,2363
38
+ user_scanner-1.0.0.8.dist-info/RECORD,,