autowebx 1.0.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.
autowebx/tempm.py ADDED
@@ -0,0 +1,36 @@
1
+ import re
2
+ from time import time
3
+ from bs4 import BeautifulSoup, Tag, ResultSet
4
+ from requests import get, post
5
+
6
+
7
+ def get_suggestions():
8
+ html = get("https://tempm.com/").text
9
+ soup = BeautifulSoup(html, "html.parser")
10
+ return [child.text for child in soup.find('div', class_="tt-suggestions").children]
11
+
12
+
13
+ def get_message(email: str, timeout: int | float = 30) -> Tag | ResultSet[Tag]:
14
+ url = "https://tempm.com/"
15
+ username, domain = email.split("@")
16
+ surl = f'{domain}/{username}'
17
+ start = time()
18
+ exception = None
19
+ while time() - start < timeout:
20
+ try:
21
+ response = get(url, cookies={'surl': surl})
22
+ soup = BeautifulSoup(response.text, 'html.parser')
23
+ tag = soup.find('div', class_='mess_bodiyy')
24
+ if tag:
25
+ delll = re.search(r'delll: "([^"]+)"', response.text).group(1)
26
+ cookies = {'surl': surl, 'embx': f'["{email}"]'}
27
+ post('https://tempm.com/del_mail.php', {'delll': delll}, cookies=cookies)
28
+ return tag
29
+ else:
30
+ exception = TimeoutError("No message received")
31
+ tags = soup.select('#email-table a')
32
+ if len(tags) > 0:
33
+ return tags
34
+ except ConnectionError:
35
+ exception = ConnectionError("There is no connection")
36
+ raise exception
@@ -0,0 +1,68 @@
1
+ from random import randint
2
+ from time import time, sleep
3
+
4
+ from requests import post
5
+
6
+
7
+ class CaptchaError(Exception):
8
+ def __init__(self, *args):
9
+ super().__init__(*args)
10
+
11
+
12
+ class CaptchaType:
13
+ recaptchaV3 = 'RecaptchaV3TaskProxyless'
14
+ recaptchaV2 = 'RecaptchaV2TaskProxyless'
15
+
16
+
17
+ class TwoCaptcha:
18
+ def __init__(
19
+ self,
20
+ apikey: str,
21
+ captcha_type: str,
22
+ website_url: str,
23
+ website_key: str,
24
+ is_invisible: bool = False,
25
+ user_agent: str = None,
26
+ cookies: str = None,
27
+ ):
28
+ self.client_key = apikey
29
+
30
+ data = {
31
+ "clientKey": apikey,
32
+ "task": {
33
+ "type": captcha_type,
34
+ "websiteURL": website_url,
35
+ "websiteKey": website_key,
36
+ "isInvisible": is_invisible,
37
+ "userAgent": user_agent,
38
+ "cookies": cookies,
39
+ }
40
+ }
41
+
42
+ response = post('https://api.2captcha.com/createTask', json=data).json()
43
+ self.task_id = response.get('taskId', None)
44
+ if self.task_id is None:
45
+ raise CaptchaError(
46
+ f'{response["errorCode"]}: {response["errorDescription"]} (error id: {response['errorId']})'
47
+ )
48
+ self.submit_time = time()
49
+
50
+ def solution(self, timeout=100):
51
+ while time() < self.submit_time + randint(15, 20):
52
+ pass
53
+
54
+ data = {
55
+ "clientKey": self.client_key,
56
+ "taskId": self.task_id
57
+ }
58
+ start = time()
59
+ while time() < start + timeout:
60
+ response = post('https://api.2captcha.com/getTaskResult', json=data).json()
61
+ if response.get('status', None) == 'processing':
62
+ print('.', end='')
63
+ sleep(5)
64
+ elif (error_id := response['errorId']) != 0:
65
+ raise CaptchaError(f'{response["errorCode"]}: {response["errorDescription"]} (error id: {error_id})')
66
+ else:
67
+ return response['solution']['gRecaptchaResponse']
68
+ raise CaptchaError(f'CaptchaTimeout: {timeout}s exceeded')
@@ -0,0 +1,12 @@
1
+ Metadata-Version: 2.4
2
+ Name: autowebx
3
+ Version: 1.0.0
4
+ Requires-Dist: requests>=2.32.3
5
+ Requires-Dist: beautifulsoup4>=4.13.4
6
+ Requires-Dist: names>=0.3.0
7
+ Requires-Dist: phonenumbers>=9.0.6
8
+ Requires-Dist: colorama>=0.4.6
9
+ Requires-Dist: art>=6.5
10
+ Requires-Dist: multipledispatch>=1.0.0
11
+ Requires-Dist: ntplib>=0.4.0
12
+ Dynamic: requires-dist
@@ -0,0 +1,24 @@
1
+ autowebx/__init__.py,sha256=GvNTxV7Ain7Ihj7PfukQTEADuCG4Yp56ZCS3WE-a6jY,7988
2
+ autowebx/account.py,sha256=Vd-C3tjiiIpoSOOiwm5a2u7F--dAdrQau8gDYFveUyk,3656
3
+ autowebx/auto_save_dict.py,sha256=YHzKOf_JPTAX-bu55PfQ5uj_6bnt6rRgfCfNZm53n4k,2344
4
+ autowebx/auto_save_queue.py,sha256=smbhdvibf1AAsTtBH_5U-1mu5kwjltnnzT32rsa9NfA,2243
5
+ autowebx/auto_save_set.py,sha256=jQIYd6KzJxk6JHvQ_m6GcGbKYXswwx5PhxKb02Zutw8,1350
6
+ autowebx/capsolver.py,sha256=uYl4JWwb1jsvA1fCnmKtYUKzmVt_RP0HIELiTzD7Wgk,1367
7
+ autowebx/communications.py,sha256=vxPD9zCAPOnd5tlpRU9_qSSpv_2dU5QsKh7IrGmAgu0,534
8
+ autowebx/email_fake.py,sha256=HLT8qrkCkzZFz2OgPr_8EAch6vHSqQpN1Vzrnbn2UHA,3094
9
+ autowebx/files.py,sha256=AsUPMigE5dZOm68BMkgYnljbSxWRmMv_l1Qdqln6rU8,2639
10
+ autowebx/five_sim.py,sha256=-Ql2B6x_wTp8mu3H_2KyxYVvMk3DnytTw0qWCyErDsQ,2045
11
+ autowebx/inboxes.py,sha256=Z-4Zc8FJIEpkoJKcwgX6XutF-7zySkZGATsbdhnncko,3285
12
+ autowebx/mail_tm.py,sha256=CRLw-sNOQmyZnAHiJyKZrcwzCcwNQK_koeIu7SUIT-I,2349
13
+ autowebx/mediafire.py,sha256=hEBbyz65yHgeMHjrWsk2pDvV6rbNiX9-ArrOGM2tRKo,552
14
+ autowebx/panels.py,sha256=n8vcFvFlzwgJCPmwuS7AR_dL-2FZhwFK-ndLZo3l_Nc,5811
15
+ autowebx/proxy.py,sha256=OXjraw0Kr49-Tvo0GZpPfMjY5m6iyCbxkvQHgZIuq8s,1954
16
+ autowebx/remotix.py,sha256=-yyDa0RARsDDJnOSjWIqgR7NXmeBCRB6aOmnI3xU3WA,2688
17
+ autowebx/temp_mail.py,sha256=GKRRyvXIZPFt-PnkZSsAN0CKX2EdsFDjlvZ3gFTt1S8,1784
18
+ autowebx/tempm.py,sha256=iM-cep9mZAXW5ljhZAGCiZi_scy0Uj3ZJaH2HE6UXMQ,1386
19
+ autowebx/two_captcha.py,sha256=dXvB0NuC0qILCYnTtIzcK4ckOZt2JoN3Axl1HEFMBXI,2195
20
+ autowebx-1.0.0.dist-info/METADATA,sha256=vazJhCOVSnNAx1RfFIXwwg-n6idqK3zA2ecRTQHum4k,343
21
+ autowebx-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
+ autowebx-1.0.0.dist-info/entry_points.txt,sha256=qKtDfyaIzDrbKfxbQeMGyDAM_9wwjw-BWGqybZvA5kE,65
23
+ autowebx-1.0.0.dist-info/top_level.txt,sha256=uKb6diD5ecntUTgrENBXGzmrrSoVD3g3GsLuzxgl1r8,9
24
+ autowebx-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ functioner = autoweb.__init__:__get_function__
@@ -0,0 +1 @@
1
+ autowebx