Skip to content

Commit e5dc47f

Browse files
authored
Merge pull request #180 from kaifcodec/add/email-osint-modules
add 2 new modules to adult/
2 parents 4116bde + 302c834 commit e5dc47f

2 files changed

Lines changed: 93 additions & 0 deletions

File tree

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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://www.babestation.tv/user/send/username-reminder"
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+
'Content-Type': "application/json",
12+
'x-requested-with': "XMLHttpRequest",
13+
'origin': "https://www.babestation.tv",
14+
'referer': "https://www.babestation.tv/forgot-password-or-username",
15+
'accept-language': "en-US,en;q=0.9",
16+
}
17+
18+
payload = {
19+
"email": email
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 in [200, 404]:
27+
data = response.json()
28+
success = data.get("success")
29+
30+
if success is True:
31+
return Result.taken()
32+
33+
if success is False:
34+
errors = data.get("errors", [])
35+
if "Email not found" in errors:
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_babestation(email: str) -> Result:
49+
return await _check(email)
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import httpx
2+
from user_scanner.core.result import Result
3+
4+
async def _check(email: str) -> Result:
5+
url = "https://api.flirtbate.com/api/v1/customer/reset-password-email"
6+
7+
headers = {
8+
'User-Agent': "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Mobile Safari/537.36",
9+
'Accept': "application/json",
10+
'Content-Type': "application/json",
11+
'origin': "https://flirtbate.com",
12+
'referer': "https://flirtbate.com/",
13+
'accept-language': "en-US,en;q=0.9",
14+
}
15+
16+
payload = {
17+
"email": email
18+
}
19+
20+
try:
21+
async with httpx.AsyncClient(timeout=5.0) as client:
22+
response = await client.post(url, json=payload, headers=headers)
23+
24+
if response.status_code == 429:
25+
return Result.error("Rate limited (429)")
26+
27+
data = response.json()
28+
message = data.get("message", "")
29+
30+
if "Reset password email sent" in message:
31+
return Result.taken()
32+
33+
if "Email invalid for reset password" in message:
34+
return Result.available()
35+
36+
return Result.error("Unexpected response body, report it via GitHub issues")
37+
38+
except httpx.TimeoutException:
39+
return Result.error("Connection timed out")
40+
except Exception as e:
41+
return Result.error(f"Unexpected Exception: {e}")
42+
43+
async def validate_flirtbate(email: str) -> Result:
44+
return await _check(email)

0 commit comments

Comments
 (0)