Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,5 +1,4 @@
|
|
1 |
import os
|
2 |
-
import time
|
3 |
import logging
|
4 |
import requests
|
5 |
from requests.adapters import HTTPAdapter
|
@@ -7,30 +6,26 @@ from urllib3.poolmanager import PoolManager
|
|
7 |
from urllib3.util.retry import Retry
|
8 |
import ssl
|
9 |
|
10 |
-
# تكوين التسجيل (Logging)
|
11 |
logging.basicConfig(
|
12 |
level=logging.INFO,
|
13 |
format="%(asctime)s [%(levelname)s] %(message)s",
|
14 |
-
handlers=[logging.StreamHandler()],
|
15 |
)
|
16 |
|
17 |
class SSLAdapter(HTTPAdapter):
|
18 |
def init_poolmanager(self, *args, **kwargs):
|
19 |
context = ssl.create_default_context()
|
20 |
-
context.
|
|
|
21 |
kwargs["ssl_context"] = context
|
22 |
return super().init_poolmanager(*args, **kwargs)
|
23 |
|
24 |
def create_session():
|
25 |
session = requests.Session()
|
26 |
-
# تعيين SSL Adapter مخصص
|
27 |
session.mount("https://", SSLAdapter())
|
28 |
-
# إعادة المحاولة تلقائيًا عند الفشل
|
29 |
retries = Retry(
|
30 |
total=3,
|
31 |
backoff_factor=1,
|
32 |
status_forcelist=[429, 500, 502, 503, 504],
|
33 |
-
allowed_methods=["POST", "GET"],
|
34 |
)
|
35 |
session.mount("https://", HTTPAdapter(max_retries=retries))
|
36 |
return session
|
@@ -45,12 +40,14 @@ def signup_user():
|
|
45 |
"Referer": "https://puter.com/",
|
46 |
"Sec-Ch-Ua": '"Not:A-Brand";v="24", "Chromium";v="134"',
|
47 |
"Sec-Ch-Ua-Mobile": "?0",
|
48 |
-
"Sec-Ch-Ua-Platform": '"Linux"',
|
49 |
"Accept-Language": "en-US,en;q=0.9",
|
50 |
"X-Requested-With": "XMLHttpRequest",
|
|
|
|
|
51 |
}
|
52 |
data = {
|
53 |
-
"username": os.getenv("PUTER_USERNAME", "omarnwregee"),
|
54 |
"email": os.getenv("PUTER_EMAIL", "[email protected]"),
|
55 |
"password": os.getenv("PUTER_PASSWORD", "1QAZ2wsx34$"),
|
56 |
"send_confirmation_code": False,
|
@@ -63,25 +60,16 @@ def signup_user():
|
|
63 |
headers=headers,
|
64 |
json=data,
|
65 |
timeout=10,
|
66 |
-
verify=True,
|
|
|
67 |
)
|
68 |
-
response.
|
69 |
-
logging.info(f"
|
|
|
70 |
return response.json()
|
71 |
-
except requests.exceptions.HTTPError as e:
|
72 |
-
logging.error(f"HTTP Error: {e}")
|
73 |
-
except requests.exceptions.ConnectionError as e:
|
74 |
-
logging.error(f"Connection Error: {e}")
|
75 |
-
except requests.exceptions.Timeout as e:
|
76 |
-
logging.error(f"Timeout Error: {e}")
|
77 |
except Exception as e:
|
78 |
-
logging.error(f"
|
|
|
79 |
|
80 |
if __name__ == "__main__":
|
81 |
-
# تجنب إرسال بياناتك الحقيقية في الكود، استخدم متغيرات البيئة
|
82 |
-
os.environ["PUTER_USERNAME"] = "your_username"
|
83 |
-
os.environ["PUTER_EMAIL"] = "[email protected]"
|
84 |
-
os.environ["PUTER_PASSWORD"] = "your_secure_password"
|
85 |
-
|
86 |
-
# تنفيذ التسجيل
|
87 |
signup_user()
|
|
|
1 |
import os
|
|
|
2 |
import logging
|
3 |
import requests
|
4 |
from requests.adapters import HTTPAdapter
|
|
|
6 |
from urllib3.util.retry import Retry
|
7 |
import ssl
|
8 |
|
|
|
9 |
logging.basicConfig(
|
10 |
level=logging.INFO,
|
11 |
format="%(asctime)s [%(levelname)s] %(message)s",
|
|
|
12 |
)
|
13 |
|
14 |
class SSLAdapter(HTTPAdapter):
|
15 |
def init_poolmanager(self, *args, **kwargs):
|
16 |
context = ssl.create_default_context()
|
17 |
+
context.minimum_version = ssl.TLSVersion.TLSv1_3
|
18 |
+
context.set_ciphers("DEFAULT:@SECLEVEL=1")
|
19 |
kwargs["ssl_context"] = context
|
20 |
return super().init_poolmanager(*args, **kwargs)
|
21 |
|
22 |
def create_session():
|
23 |
session = requests.Session()
|
|
|
24 |
session.mount("https://", SSLAdapter())
|
|
|
25 |
retries = Retry(
|
26 |
total=3,
|
27 |
backoff_factor=1,
|
28 |
status_forcelist=[429, 500, 502, 503, 504],
|
|
|
29 |
)
|
30 |
session.mount("https://", HTTPAdapter(max_retries=retries))
|
31 |
return session
|
|
|
40 |
"Referer": "https://puter.com/",
|
41 |
"Sec-Ch-Ua": '"Not:A-Brand";v="24", "Chromium";v="134"',
|
42 |
"Sec-Ch-Ua-Mobile": "?0",
|
43 |
+
"Sec-Ch-Ua-Platform": '"Linux"',
|
44 |
"Accept-Language": "en-US,en;q=0.9",
|
45 |
"X-Requested-With": "XMLHttpRequest",
|
46 |
+
"Sec-Fetch-User": "?1", # إضافة رأس جديد
|
47 |
+
"Upgrade-Insecure-Requests": "1",
|
48 |
}
|
49 |
data = {
|
50 |
+
"username": os.getenv("PUTER_USERNAME", "omarnwregee"),
|
51 |
"email": os.getenv("PUTER_EMAIL", "[email protected]"),
|
52 |
"password": os.getenv("PUTER_PASSWORD", "1QAZ2wsx34$"),
|
53 |
"send_confirmation_code": False,
|
|
|
60 |
headers=headers,
|
61 |
json=data,
|
62 |
timeout=10,
|
63 |
+
verify=True,
|
64 |
+
# proxies={"https": "http://your_proxy:port"}, # إزالة التعليق إذا كنت تستخدم بروكسي
|
65 |
)
|
66 |
+
logging.info(f"Response: {response.status_code}")
|
67 |
+
logging.info(f"Response Body: {response.text}") # إظهار الرد الكامل
|
68 |
+
response.raise_for_status()
|
69 |
return response.json()
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
except Exception as e:
|
71 |
+
logging.error(f"Error: {e}")
|
72 |
+
return None
|
73 |
|
74 |
if __name__ == "__main__":
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
signup_user()
|