user-scanner 1.0.1.5__py3-none-any.whl → 1.0.2.0__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/__init__.py CHANGED
@@ -0,0 +1 @@
1
+
user_scanner/__main__.py CHANGED
@@ -2,6 +2,9 @@ import argparse
2
2
  import re
3
3
  from user_scanner.core.orchestrator import run_checks, load_modules
4
4
  from colorama import Fore, Style
5
+ from .cli import banner
6
+ from .cli.banner import print_banner
7
+
5
8
 
6
9
  CATEGORY_MAPPING = {
7
10
  "dev": "dev",
@@ -37,7 +40,7 @@ def main():
37
40
  description="Scan usernames across multiple platforms."
38
41
  )
39
42
  parser.add_argument(
40
- "-u", "--username", help="Username to scan across platforms"
43
+ "-u", "--username", required = True, help="Username to scan across platforms"
41
44
  )
42
45
  parser.add_argument(
43
46
  "-c", "--category", choices=CATEGORY_MAPPING.keys(),
@@ -59,9 +62,6 @@ def main():
59
62
  list_modules(args.category)
60
63
  return
61
64
 
62
- if not args.username:
63
- print(Fore.RED + "[!] Please provide a username with -u or --username." + Style.RESET_ALL)
64
- return
65
65
 
66
66
  # Special username checks before run
67
67
  if (args.module == "x" or args.category == "social"):
@@ -70,6 +70,10 @@ def main():
70
70
  if (args.module == "bluesky" or args.category == "social"):
71
71
  if re.search(r"[^a-zA-Z0-9\.-]", args.username):
72
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")
73
+ if not args.username:
74
+ pass
75
+ else:
76
+ print_banner()
73
77
 
74
78
 
75
79
  from user_scanner import dev, social, creator, community, gaming
@@ -98,4 +102,4 @@ def main():
98
102
  run_checks(args.username)
99
103
 
100
104
  if __name__ == "__main__":
101
- main()
105
+ main()
File without changes
@@ -0,0 +1,39 @@
1
+ import json
2
+ from colorama import Fore, Style, init
3
+ from ..utils.version import load_local_version
4
+
5
+
6
+ version, version_type = load_local_version()
7
+ init(autoreset=True)
8
+ C_RED = Fore.RED + Style.BRIGHT
9
+ C_CYAN = Fore.CYAN + Style.BRIGHT
10
+ C_GREEN = Fore.GREEN + Style.BRIGHT
11
+ C_WHITE = Fore.WHITE + Style.BRIGHT
12
+ C_MAGENTA = Fore.MAGENTA + Style.BRIGHT
13
+ BANNER_ASCII = fr"""{C_CYAN} _ _ ___ ___ _ __ ___ ___ __ _ _ __ _ __ ___ _ __
14
+ | | | / __|/ _ \ '__|____/ __|/ __/ _` | '_ \| '_ \ / _ \ '__|
15
+ | |_| \__ \ __/ | |_____\__ \ (_| (_| | | | | | | | __/ |
16
+ \__,_|___/\___|_| |___/\___\__,_|_| |_|_| |_|\___|_| Version: {version}
17
+ {Style.RESET_ALL}""".strip()
18
+
19
+ INFO_BOX = f"""{C_MAGENTA} ╔════════════════════════════════════════╗
20
+ ║ {C_RED}♚ {C_GREEN}Project Name{C_WHITE} : UserScanner {C_MAGENTA}║
21
+ ║ {C_RED}♚ {C_GREEN}Author{C_WHITE} : Kaif {C_MAGENTA}║
22
+ ║ {C_RED}♚ {C_GREEN}Github{C_WHITE} : github.com/kaifcodec {C_MAGENTA}║
23
+ ║ {C_RED}♚ {C_GREEN}Email{C_WHITE} : kaifcodec@gmail.com {C_MAGENTA}║
24
+ ══════════════════════════════════════════{Style.RESET_ALL}""".strip()
25
+
26
+ def print_banner():
27
+ print(BANNER_ASCII)
28
+ print(INFO_BOX)
29
+ print(" ")
30
+ if __name__ == "__main__":
31
+ print_banner()
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
File without changes
@@ -0,0 +1,20 @@
1
+ import json
2
+ from pathlib import Path
3
+
4
+ _SCRIPT_DIR = Path(__file__).resolve().parent
5
+ VERSION_FILE = _SCRIPT_DIR.parent / "version.json"
6
+
7
+ def load_local_version():
8
+ try:
9
+ data = json.loads(VERSION_FILE.read_text())
10
+ return data.get("version", "0.0.0"), data.get("version_type", "local")
11
+ except FileNotFoundError:
12
+ return "N/A", "file_missing"
13
+ except json.JSONDecodeError:
14
+ return "N/A", "json_error"
15
+ except Exception:
16
+ return "N/A", "error"
17
+
18
+ if __name__ == "__main__":
19
+ version, version_type = load_local_version()
20
+ print(f"Version: {version}, Type: {version_type}")
@@ -0,0 +1,4 @@
1
+ {
2
+ "version": "1.0.2.0",
3
+ "version_type": "pypi"
4
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: user-scanner
3
- Version: 1.0.1.5
3
+ Version: 1.0.2.0
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>
@@ -15,7 +15,7 @@ Project-URL: Homepage, https://github.com/kaifcodec/user-scanner
15
15
 
16
16
  ![1000136215](https://github.com/user-attachments/assets/49ec8d24-665b-4115-8525-01a8d0ca2ef4)
17
17
  <p align="center">
18
- <img src="https://img.shields.io/badge/Version-1.0.1.6-blueviolet?style=for-the-badge&logo=github" />
18
+ <img src="https://img.shields.io/badge/Version-1.0.2.0-blueviolet?style=for-the-badge&logo=github" />
19
19
  <img src="https://img.shields.io/github/issues/kaifcodec/user-scanner?style=for-the-badge&logo=github" />
20
20
  <img src="https://img.shields.io/badge/Tested%20on-Termux-black?style=for-the-badge&logo=termux" />
21
21
  <img src="https://img.shields.io/badge/Tested%20on-Windows-cyan?style=for-the-badge&logo=Windows" />
@@ -36,6 +36,7 @@ Perfect for finding a **unique username** across GitHub, Twitter, Reddit, Instag
36
36
  - ✅ Fully modular: add new platform modules easily.
37
37
  - ✅ Command-line interface ready: works directly after `pip install`.
38
38
  - ✅ Can be used as username OSINT tool.
39
+ - ✅ Very low and lightweight dependencies, can be run on any machine.
39
40
  ---
40
41
 
41
42
  ### Installation
@@ -63,6 +64,8 @@ user-scanner -u <username> -m github
63
64
  ```
64
65
  ---
65
66
  ### Example Output:
67
+
68
+ - Note*: New modules are constantly getting added so this might have only limited, outdated output:
66
69
  ```bash
67
70
  Checking username: johndoe078
68
71
 
@@ -117,7 +120,7 @@ user_scanner/
117
120
  ├── social/ # Social platforms (Twitter/X, Reddit, Instagram, etc.)
118
121
  ├── creator/ # Creator platforms (Hashnode, Dev.to, Medium, etc.)
119
122
  ├── community/ # Community platforms (forums, niche sites)
120
- ├── gaming/ # Gaming sites (chess.com, and many more(upcoming))
123
+ ├── gaming/ # Gaming sites (chess.com, roblox, monkeytype etc.)
121
124
  ```
122
125
 
123
126
  **Module guidelines:**
@@ -130,6 +133,9 @@ user_scanner/
130
133
 
131
134
  See [CONTRIBUTING.md](CONTRIBUTING.md) for examples.
132
135
 
136
+ ### 📧 Contact:
137
+ - [Email](kaifcodec@gmail.com)
138
+
133
139
  ---
134
140
 
135
141
  ### Dependencies:
@@ -142,5 +148,18 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for examples.
142
148
 
143
149
  This project is licensed under the **MIT License**. See [LICENSE](LICENSE) for details.
144
150
 
151
+
152
+ <!---
153
+ ## 🌟 Stars:
154
+
155
+ <a href="https://www.star-history.com/#kaifcodec/user-scanner&type=date&legend=top-left">
156
+ <picture>
157
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=kaifcodec/user-scanner&type=date&theme=dark&legend=top-left" />
158
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=kaifcodec/user-scanner&type=date&legend=top-left" />
159
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=kaifcodec/user-scanner&type=date&legend=top-left" />
160
+ </picture>
161
+ </a>
162
+ --->
163
+ ---
145
164
  ## ⚠️ `community/` and `gaming/` are small, looking for contributions
146
165
 
@@ -1,5 +1,8 @@
1
- user_scanner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- user_scanner/__main__.py,sha256=ihYZxGeiYebJLG72tegPQBYJtjn8CkKKzu87cSvKBVE,3653
1
+ user_scanner/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
2
+ user_scanner/__main__.py,sha256=CwiTh1JMcc7f007hAULJQUxtBl_T25WwVz5ov50pX-I,3664
3
+ user_scanner/version.json,sha256=Cg76jtg6LF1WMxx8Bh3Bsu6-Bhh0Xf3_CoSKTqU3MV8,49
4
+ user_scanner/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ user_scanner/cli/banner.py,sha256=mg9yKqaK5VRvZKs7vteU1wyUlCnrmWpGC5nq9BmTGNc,1504
3
6
  user_scanner/community/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
7
  user_scanner/community/coderlegion.py,sha256=wva0seSkd4h7kSjIprW0wM7JC0zspFjXGnDHkeIJ3YI,1141
5
8
  user_scanner/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -36,8 +39,10 @@ user_scanner/social/telegram.py,sha256=QxK2jD2QEvrYmnkxysl_yk7-G6CRWvkK5EnK6n5q3
36
39
  user_scanner/social/threads.py,sha256=QRidTYquAMDHJSg68ySpWCbliRYdWJkbOqn8RfWzFQQ,1231
37
40
  user_scanner/social/x.py,sha256=NetPGmPnWEKv6za9E_Ekah9bAeeFlEeY3qbTJQo7AqE,1560
38
41
  user_scanner/social/youtube.py,sha256=zuyWCy5FtEilaIcUZ4dTCctRR9deFnwwWJkf-h_1K0E,1943
39
- user_scanner-1.0.1.5.dist-info/entry_points.txt,sha256=XqU3kssYZ0vXaPy5qYUOTCu4u-48Xie7QWFpBCYc7Nc,59
40
- user_scanner-1.0.1.5.dist-info/licenses/LICENSE,sha256=XH1QyQG68zo1opDIZHTHcTAbe9XMzewvTaFTukcN9vc,1061
41
- user_scanner-1.0.1.5.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
42
- user_scanner-1.0.1.5.dist-info/METADATA,sha256=G5FcuQ-aGzISWtiVSNT7X3vD4B6ShPiOC1_gJsprzp8,4154
43
- user_scanner-1.0.1.5.dist-info/RECORD,,
42
+ user_scanner/utils/update.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
+ user_scanner/utils/version.py,sha256=ou6CF7ndVwEYvSpO4Se-B-71AvVezZcaZJpYFgDQsqM,621
44
+ user_scanner-1.0.2.0.dist-info/entry_points.txt,sha256=XqU3kssYZ0vXaPy5qYUOTCu4u-48Xie7QWFpBCYc7Nc,59
45
+ user_scanner-1.0.2.0.dist-info/licenses/LICENSE,sha256=XH1QyQG68zo1opDIZHTHcTAbe9XMzewvTaFTukcN9vc,1061
46
+ user_scanner-1.0.2.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
47
+ user_scanner-1.0.2.0.dist-info/METADATA,sha256=UcvJmRVaf3R8LOQ6eQqkCA_-b-wt1a32J6chUqLLxN4,4970
48
+ user_scanner-1.0.2.0.dist-info/RECORD,,