user-scanner 1.0.0.6__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)
@@ -0,0 +1,45 @@
1
+ import httpx
2
+ from httpx import ConnectError, TimeoutException
3
+
4
+ def validate_patreon(user):
5
+ url = f"https://www.patreon.com/{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 = 15.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_patreon(user)
39
+
40
+ if result == 1:
41
+ print("Available!")
42
+ elif result == 0:
43
+ print("Unavailable!")
44
+ else:
45
+ print("Error occured!")
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.6
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
@@ -9,6 +9,7 @@ user_scanner/creator/devto.py,sha256=K9jXlwSlhJxwZomGJB7m8u_22kTejLPJ_-AvwFZahsY
9
9
  user_scanner/creator/hashnode.py,sha256=2Q-K9Yuy-6qOoJJPMq3UD0JHP4d9XeO9OGpBeHuMims,1351
10
10
  user_scanner/creator/kaggle.py,sha256=pCq7QQ62wxunEmBIWNjKyWIH2ENXK76BM3zt4HWi0zM,927
11
11
  user_scanner/creator/medium.py,sha256=dWNialp0QTo4GRq64afA00G3PDXVOLZM3mnO3WnmR8c,1008
12
+ user_scanner/creator/patreon.py,sha256=drjlB5XDFs1TW6J3W1LqBwZhc6PWtn-5nLBG8OtnFhU,1274
12
13
  user_scanner/dev/__init__.py,sha256=qUR0eLwN-gO6oKk-1cmCVT4G_AxUHHMgpV3wJ7URXi4,7
13
14
  user_scanner/dev/codeberg.py,sha256=WuGisrD2-OVolXB1T_5Dn-J8Nx5BTX_Fh2MTsK-F7os,930
14
15
  user_scanner/dev/cratesio.py,sha256=n1yJFJ2uWfRzpARSNSZ9s53iPm-5IiAxTOMTq0hOVis,999
@@ -18,17 +19,20 @@ user_scanner/dev/gitlab.py,sha256=0-3vYg5G5_uguH2I68zZdPyq5VaMUS76766Db7uWrR8,14
18
19
  user_scanner/dev/launchpad.py,sha256=ank50BpTsN7m5_MuQNxAbLpfQOrwjnwS_olO9nhPwgk,1074
19
20
  user_scanner/dev/npmjs.py,sha256=Tv2YgCpuSxJKWEPdcTWwm9CCl2rmfKlGdQe2rnMnXM8,1141
20
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
21
24
  user_scanner/social/__init__.py,sha256=jaCkFwX1uYtF0ENifVwF8OfHrYYUTm64B9wlBq9BBfQ,9
22
25
  user_scanner/social/bluesky.py,sha256=r5UIFCStlwEM4UxE6cDTrDb5w_EqPCgJ2iYz27GpjA8,2157
23
26
  user_scanner/social/instagram.py,sha256=oskZgHagkyl_p-bi7CMYqCh0wsoqfCFnR7GZcbKX1-U,1229
27
+ user_scanner/social/mastodon.py,sha256=KbhdutPe_M0bvtkJXz2VEhalSEgA7n-bUbrkR3pYAb4,1276
24
28
  user_scanner/social/pinterest.py,sha256=LHCiTmPALPLYXDClz09EBKRREhs5u3CajeFiQg5Vvlg,1168
25
29
  user_scanner/social/reddit.py,sha256=DQYWedJeeyUuk-6EARU_52rPQHNkjfSbahOl5AHENa0,1194
26
30
  user_scanner/social/snapchat.py,sha256=ZG-SIv6RopT45dudfOm5sRxmV_ihWG1Vh1Z766fm8XE,1527
27
31
  user_scanner/social/threads.py,sha256=QRidTYquAMDHJSg68ySpWCbliRYdWJkbOqn8RfWzFQQ,1231
28
32
  user_scanner/social/x.py,sha256=NetPGmPnWEKv6za9E_Ekah9bAeeFlEeY3qbTJQo7AqE,1560
29
33
  user_scanner/social/youtube.py,sha256=zuyWCy5FtEilaIcUZ4dTCctRR9deFnwwWJkf-h_1K0E,1943
30
- user_scanner-1.0.0.6.dist-info/entry_points.txt,sha256=XqU3kssYZ0vXaPy5qYUOTCu4u-48Xie7QWFpBCYc7Nc,59
31
- user_scanner-1.0.0.6.dist-info/licenses/LICENSE,sha256=XH1QyQG68zo1opDIZHTHcTAbe9XMzewvTaFTukcN9vc,1061
32
- user_scanner-1.0.0.6.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
33
- user_scanner-1.0.0.6.dist-info/METADATA,sha256=dCf8wfkFEUjHzPV4IcowAQNGbuzKEY1D0g1oKlm9KUE,2363
34
- user_scanner-1.0.0.6.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,,