user-scanner 1.0.3.0__py3-none-any.whl → 1.0.4.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/__main__.py +0 -1
- user_scanner/core/orchestrator.py +1 -1
- user_scanner/creator/itch_io.py +45 -0
- user_scanner/gaming/steam.py +46 -0
- user_scanner/version.json +1 -1
- {user_scanner-1.0.3.0.dist-info → user_scanner-1.0.4.0.dist-info}/METADATA +2 -2
- {user_scanner-1.0.3.0.dist-info → user_scanner-1.0.4.0.dist-info}/RECORD +10 -8
- {user_scanner-1.0.3.0.dist-info → user_scanner-1.0.4.0.dist-info}/WHEEL +0 -0
- {user_scanner-1.0.3.0.dist-info → user_scanner-1.0.4.0.dist-info}/entry_points.txt +0 -0
- {user_scanner-1.0.3.0.dist-info → user_scanner-1.0.4.0.dist-info}/licenses/LICENSE +0 -0
user_scanner/__main__.py
CHANGED
|
@@ -23,7 +23,7 @@ def worker_single(module, username, i):
|
|
|
23
23
|
|
|
24
24
|
func = next((getattr(module, f) for f in dir(module)
|
|
25
25
|
if f.startswith("validate_") and callable(getattr(module, f))), None)
|
|
26
|
-
site_name = module.__name__.split('.')[-1].capitalize()
|
|
26
|
+
site_name = module.__name__.split('.')[-1].capitalize().replace("_",".")
|
|
27
27
|
if site_name == "X":
|
|
28
28
|
site_name = "X (Twitter)"
|
|
29
29
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import httpx
|
|
2
|
+
from httpx import ConnectError, TimeoutException
|
|
3
|
+
|
|
4
|
+
def validate_itch_io(user):
|
|
5
|
+
"""
|
|
6
|
+
Checks if a itch.io username is available.
|
|
7
|
+
Returns: 1 -> available, 0 -> taken, 2 -> error
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
url = f"https://{user}.itch.io"
|
|
11
|
+
|
|
12
|
+
headers = {
|
|
13
|
+
'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",
|
|
14
|
+
'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
|
|
15
|
+
'Accept-Encoding': "gzip, deflate, br",
|
|
16
|
+
'Accept-Language': "en-US,en;q=0.9",
|
|
17
|
+
'sec-fetch-dest': "document",
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
try:
|
|
21
|
+
response = httpx.get(url, headers = headers, timeout = 5, follow_redirects=True)
|
|
22
|
+
status = response.status_code
|
|
23
|
+
|
|
24
|
+
if status == 200:
|
|
25
|
+
return 0
|
|
26
|
+
elif status == 404:
|
|
27
|
+
return 1
|
|
28
|
+
else:
|
|
29
|
+
return 2
|
|
30
|
+
|
|
31
|
+
except (ConnectError, TimeoutException):
|
|
32
|
+
return 2
|
|
33
|
+
except Exception as e:
|
|
34
|
+
return 2
|
|
35
|
+
|
|
36
|
+
if __name__ == "__main__":
|
|
37
|
+
user = input ("Username?: ").strip()
|
|
38
|
+
result = validate_itch_io(user)
|
|
39
|
+
|
|
40
|
+
if result == 1:
|
|
41
|
+
print("Available!")
|
|
42
|
+
elif result == 0:
|
|
43
|
+
print("Unavailable!")
|
|
44
|
+
else:
|
|
45
|
+
print("Error occurred!")
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import httpx
|
|
2
|
+
from httpx import ConnectError, TimeoutException
|
|
3
|
+
|
|
4
|
+
def validate_steam(user):
|
|
5
|
+
"""
|
|
6
|
+
Checks if a steam username is available.
|
|
7
|
+
Returns: 1 -> available, 0 -> taken, 2 -> error
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
url = f"https://steamcommunity.com/id/{user}/"
|
|
11
|
+
|
|
12
|
+
headers = {
|
|
13
|
+
'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",
|
|
14
|
+
'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
|
|
15
|
+
'Accept-Encoding': "gzip, deflate, br",
|
|
16
|
+
'Accept-Language': "en-US,en;q=0.9",
|
|
17
|
+
'sec-fetch-dest': "document",
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
try:
|
|
21
|
+
response = httpx.get(url, headers = headers, timeout = 5)
|
|
22
|
+
|
|
23
|
+
if response.status_code == 200:
|
|
24
|
+
|
|
25
|
+
if response.text.find("Error</title>") != -1:
|
|
26
|
+
return 1
|
|
27
|
+
else:
|
|
28
|
+
return 0
|
|
29
|
+
|
|
30
|
+
return 2
|
|
31
|
+
|
|
32
|
+
except (ConnectError, TimeoutException):
|
|
33
|
+
return 2
|
|
34
|
+
except Exception as e:
|
|
35
|
+
return 2
|
|
36
|
+
|
|
37
|
+
if __name__ == "__main__":
|
|
38
|
+
user = input ("Username?: ").strip()
|
|
39
|
+
result = validate_steam(user)
|
|
40
|
+
|
|
41
|
+
if result == 1:
|
|
42
|
+
print("Available!")
|
|
43
|
+
elif result == 0:
|
|
44
|
+
print("Unavailable!")
|
|
45
|
+
else:
|
|
46
|
+
print("Error occurred!")
|
user_scanner/version.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: user-scanner
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.4.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
|

|
|
17
17
|
<p align="center">
|
|
18
|
-
<img src="https://img.shields.io/badge/Version-1.0.
|
|
18
|
+
<img src="https://img.shields.io/badge/Version-1.0.4.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" />
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
user_scanner/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
2
|
-
user_scanner/__main__.py,sha256=
|
|
3
|
-
user_scanner/version.json,sha256=
|
|
2
|
+
user_scanner/__main__.py,sha256=hQzywObikBcfGXDQFSwhxWhNlSEvglhOLGcHN1prIN4,3675
|
|
3
|
+
user_scanner/version.json,sha256=kvj2vtcev_9wGpWnK3NmRLXKEgx4JdVz8QmomtDeAd0,49
|
|
4
4
|
user_scanner/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
user_scanner/cli/banner.py,sha256=A3uMAwkyf-WHQH3ki3XlslAxAEMPQYZiIGeawnctZEA,1497
|
|
6
6
|
user_scanner/community/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
user_scanner/community/coderlegion.py,sha256=wva0seSkd4h7kSjIprW0wM7JC0zspFjXGnDHkeIJ3YI,1141
|
|
8
8
|
user_scanner/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
user_scanner/core/orchestrator.py,sha256=
|
|
9
|
+
user_scanner/core/orchestrator.py,sha256=pWvT3yBwvyyIhMTcOCFQ059GlT09CW6RX-r_OBKRT9g,2744
|
|
10
10
|
user_scanner/creator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
user_scanner/creator/devto.py,sha256=K9jXlwSlhJxwZomGJB7m8u_22kTejLPJ_-AvwFZahsY,1034
|
|
12
12
|
user_scanner/creator/hashnode.py,sha256=2Q-K9Yuy-6qOoJJPMq3UD0JHP4d9XeO9OGpBeHuMims,1351
|
|
13
|
+
user_scanner/creator/itch_io.py,sha256=fgxIHIlw4Lk40L479MDsMTCLlRlMIzw1sTHLhxwQ8uM,1223
|
|
13
14
|
user_scanner/creator/kaggle.py,sha256=pCq7QQ62wxunEmBIWNjKyWIH2ENXK76BM3zt4HWi0zM,927
|
|
14
15
|
user_scanner/creator/medium.py,sha256=dWNialp0QTo4GRq64afA00G3PDXVOLZM3mnO3WnmR8c,1008
|
|
15
16
|
user_scanner/creator/patreon.py,sha256=drjlB5XDFs1TW6J3W1LqBwZhc6PWtn-5nLBG8OtnFhU,1274
|
|
@@ -27,6 +28,7 @@ user_scanner/gaming/chess_com.py,sha256=QDUdijyQQi7fwy6roYWzDyAQv6gbtV-Zh_uZyHXi
|
|
|
27
28
|
user_scanner/gaming/monkeytype.py,sha256=k4wgDR5lQTJBIcyeMRjPE_F5KC3kJfeAuS2eez43yAs,1665
|
|
28
29
|
user_scanner/gaming/osu.py,sha256=Jz_s6qNURC-L10-MSfTh6mEywoEqOh8Stvb_bWJR_0I,1239
|
|
29
30
|
user_scanner/gaming/roblox.py,sha256=eCiAEiC8BaMwcd_6k3PE30FebtsjVCBkvUTZkaaJhHY,1605
|
|
31
|
+
user_scanner/gaming/steam.py,sha256=uhjc9ccVCcB2j113_0Y4-Kj4lmJpemJcdvyns38zdzY,1253
|
|
30
32
|
user_scanner/social/__init__.py,sha256=jaCkFwX1uYtF0ENifVwF8OfHrYYUTm64B9wlBq9BBfQ,9
|
|
31
33
|
user_scanner/social/bluesky.py,sha256=r5UIFCStlwEM4UxE6cDTrDb5w_EqPCgJ2iYz27GpjA8,2157
|
|
32
34
|
user_scanner/social/discord.py,sha256=3TaYAzqK9sPKzL_GPzli4P-U22Dwe-mSmeH6kVHJXI4,1137
|
|
@@ -41,8 +43,8 @@ user_scanner/social/x.py,sha256=NetPGmPnWEKv6za9E_Ekah9bAeeFlEeY3qbTJQo7AqE,1560
|
|
|
41
43
|
user_scanner/social/youtube.py,sha256=zuyWCy5FtEilaIcUZ4dTCctRR9deFnwwWJkf-h_1K0E,1943
|
|
42
44
|
user_scanner/utils/update.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
45
|
user_scanner/utils/version.py,sha256=ou6CF7ndVwEYvSpO4Se-B-71AvVezZcaZJpYFgDQsqM,621
|
|
44
|
-
user_scanner-1.0.
|
|
45
|
-
user_scanner-1.0.
|
|
46
|
-
user_scanner-1.0.
|
|
47
|
-
user_scanner-1.0.
|
|
48
|
-
user_scanner-1.0.
|
|
46
|
+
user_scanner-1.0.4.0.dist-info/entry_points.txt,sha256=XqU3kssYZ0vXaPy5qYUOTCu4u-48Xie7QWFpBCYc7Nc,59
|
|
47
|
+
user_scanner-1.0.4.0.dist-info/licenses/LICENSE,sha256=XH1QyQG68zo1opDIZHTHcTAbe9XMzewvTaFTukcN9vc,1061
|
|
48
|
+
user_scanner-1.0.4.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
49
|
+
user_scanner-1.0.4.0.dist-info/METADATA,sha256=sb2Ie5jUu50bdkePMEMmFvHrjhKObCpx9xx3t7PAJKQ,4970
|
|
50
|
+
user_scanner-1.0.4.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|