cloudevil 1.0.4__tar.gz → 1.0.6__tar.gz

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.

Potentially problematic release.


This version of cloudevil might be problematic. Click here for more details.

@@ -0,0 +1,109 @@
1
+ Metadata-Version: 2.4
2
+ Name: cloudevil
3
+ Version: 1.0.6
4
+ Summary: Cloudflare Turnstile + hCaptcha token library for Termux (CPython 3.14 only).
5
+ Home-page: https://t.me/A_9_A_6
6
+ Author: Devil
7
+ Classifier: Programming Language :: Python :: 3.14
8
+ Classifier: Programming Language :: Python :: 3 :: Only
9
+ Classifier: Operating System :: Android
10
+ Requires-Python: >=3.14,<3.15
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: requests>=2.28
13
+ Requires-Dist: nodriver>=0.34
14
+ Dynamic: author
15
+ Dynamic: classifier
16
+ Dynamic: description
17
+ Dynamic: description-content-type
18
+ Dynamic: home-page
19
+ Dynamic: requires-dist
20
+ Dynamic: requires-python
21
+ Dynamic: summary
22
+
23
+ # cloudevil
24
+
25
+ مكتبة بايثون لجلب توكن Cloudflare Turnstile و hCaptcha.
26
+
27
+ ## التثبيت
28
+
29
+ pip install cloudevil
30
+
31
+ ## Turnstile
32
+
33
+ import cloudevil
34
+
35
+ r = cloudevil.get_token(url="https://example.com/login")
36
+ print(r["data"]["Token"])
37
+
38
+ مع مفتاح الموقع:
39
+
40
+ import cloudevil
41
+
42
+ r = cloudevil.get_token(sitekey="0x4AAAAAAA...", url="https://example.com/login")
43
+ print(r["data"]["Token"])
44
+
45
+ غير متزامن:
46
+
47
+ import asyncio
48
+ import cloudevil
49
+
50
+ async def main():
51
+ r = await cloudevil.get_token_async(url="https://example.com/login")
52
+ print(r["data"]["Token"])
53
+
54
+ asyncio.run(main())
55
+
56
+ ## hCaptcha
57
+
58
+ import cloudevil
59
+
60
+ r = cloudevil.get_htoken(url="https://example.com/signup")
61
+ print(r["data"]["Token"])
62
+
63
+ غير متزامن:
64
+
65
+ import asyncio
66
+ import cloudevil
67
+
68
+ async def main():
69
+ r = await cloudevil.get_htoken_async(url="https://example.com/signup")
70
+ print(r["data"]["Token"])
71
+
72
+ asyncio.run(main())
73
+
74
+ ## استخراج مفتاح الموقع
75
+
76
+ import cloudevil
77
+
78
+ sitekey, err = cloudevil.extract_sitekey("https://example.com/signup")
79
+ print(sitekey)
80
+
81
+ ## الحالة
82
+
83
+ import cloudevil
84
+
85
+ print(cloudevil.status())
86
+
87
+ ## CLI
88
+
89
+ python -m cloudevil --url https://example.com/login
90
+
91
+ python -m cloudevil --url https://example.com/login --sitekey 0x4AAAAAAA...
92
+
93
+ python -m cloudevil --url https://example.com/signup --kind hcaptcha
94
+
95
+ python -m cloudevil --url https://example.com/login --headless
96
+
97
+ python -m cloudevil doctor
98
+
99
+ ## شكل الناتج
100
+
101
+ {
102
+ "data": {
103
+ "dev": "Devil",
104
+ "Token": "...",
105
+ "Channel": "https://t.me/A_9_A_6",
106
+ "Private": "https://t.me/iKingNow",
107
+ "url": "https://example.com/login"
108
+ }
109
+ }
@@ -0,0 +1,87 @@
1
+ # cloudevil
2
+
3
+ مكتبة بايثون لجلب توكن Cloudflare Turnstile و hCaptcha.
4
+
5
+ ## التثبيت
6
+
7
+ pip install cloudevil
8
+
9
+ ## Turnstile
10
+
11
+ import cloudevil
12
+
13
+ r = cloudevil.get_token(url="https://example.com/login")
14
+ print(r["data"]["Token"])
15
+
16
+ مع مفتاح الموقع:
17
+
18
+ import cloudevil
19
+
20
+ r = cloudevil.get_token(sitekey="0x4AAAAAAA...", url="https://example.com/login")
21
+ print(r["data"]["Token"])
22
+
23
+ غير متزامن:
24
+
25
+ import asyncio
26
+ import cloudevil
27
+
28
+ async def main():
29
+ r = await cloudevil.get_token_async(url="https://example.com/login")
30
+ print(r["data"]["Token"])
31
+
32
+ asyncio.run(main())
33
+
34
+ ## hCaptcha
35
+
36
+ import cloudevil
37
+
38
+ r = cloudevil.get_htoken(url="https://example.com/signup")
39
+ print(r["data"]["Token"])
40
+
41
+ غير متزامن:
42
+
43
+ import asyncio
44
+ import cloudevil
45
+
46
+ async def main():
47
+ r = await cloudevil.get_htoken_async(url="https://example.com/signup")
48
+ print(r["data"]["Token"])
49
+
50
+ asyncio.run(main())
51
+
52
+ ## استخراج مفتاح الموقع
53
+
54
+ import cloudevil
55
+
56
+ sitekey, err = cloudevil.extract_sitekey("https://example.com/signup")
57
+ print(sitekey)
58
+
59
+ ## الحالة
60
+
61
+ import cloudevil
62
+
63
+ print(cloudevil.status())
64
+
65
+ ## CLI
66
+
67
+ python -m cloudevil --url https://example.com/login
68
+
69
+ python -m cloudevil --url https://example.com/login --sitekey 0x4AAAAAAA...
70
+
71
+ python -m cloudevil --url https://example.com/signup --kind hcaptcha
72
+
73
+ python -m cloudevil --url https://example.com/login --headless
74
+
75
+ python -m cloudevil doctor
76
+
77
+ ## شكل الناتج
78
+
79
+ {
80
+ "data": {
81
+ "dev": "Devil",
82
+ "Token": "...",
83
+ "Channel": "https://t.me/A_9_A_6",
84
+ "Private": "https://t.me/iKingNow",
85
+ "url": "https://example.com/login"
86
+ }
87
+ }
@@ -1,4 +1,7 @@
1
1
  import sys
2
2
  from .cloudevil_core import main
3
+
3
4
  if __name__ == "__main__":
4
- sys.exit(main())
5
+ rc = main()
6
+ if rc:
7
+ raise SystemExit(rc)
@@ -0,0 +1,109 @@
1
+ Metadata-Version: 2.4
2
+ Name: cloudevil
3
+ Version: 1.0.6
4
+ Summary: Cloudflare Turnstile + hCaptcha token library for Termux (CPython 3.14 only).
5
+ Home-page: https://t.me/A_9_A_6
6
+ Author: Devil
7
+ Classifier: Programming Language :: Python :: 3.14
8
+ Classifier: Programming Language :: Python :: 3 :: Only
9
+ Classifier: Operating System :: Android
10
+ Requires-Python: >=3.14,<3.15
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: requests>=2.28
13
+ Requires-Dist: nodriver>=0.34
14
+ Dynamic: author
15
+ Dynamic: classifier
16
+ Dynamic: description
17
+ Dynamic: description-content-type
18
+ Dynamic: home-page
19
+ Dynamic: requires-dist
20
+ Dynamic: requires-python
21
+ Dynamic: summary
22
+
23
+ # cloudevil
24
+
25
+ مكتبة بايثون لجلب توكن Cloudflare Turnstile و hCaptcha.
26
+
27
+ ## التثبيت
28
+
29
+ pip install cloudevil
30
+
31
+ ## Turnstile
32
+
33
+ import cloudevil
34
+
35
+ r = cloudevil.get_token(url="https://example.com/login")
36
+ print(r["data"]["Token"])
37
+
38
+ مع مفتاح الموقع:
39
+
40
+ import cloudevil
41
+
42
+ r = cloudevil.get_token(sitekey="0x4AAAAAAA...", url="https://example.com/login")
43
+ print(r["data"]["Token"])
44
+
45
+ غير متزامن:
46
+
47
+ import asyncio
48
+ import cloudevil
49
+
50
+ async def main():
51
+ r = await cloudevil.get_token_async(url="https://example.com/login")
52
+ print(r["data"]["Token"])
53
+
54
+ asyncio.run(main())
55
+
56
+ ## hCaptcha
57
+
58
+ import cloudevil
59
+
60
+ r = cloudevil.get_htoken(url="https://example.com/signup")
61
+ print(r["data"]["Token"])
62
+
63
+ غير متزامن:
64
+
65
+ import asyncio
66
+ import cloudevil
67
+
68
+ async def main():
69
+ r = await cloudevil.get_htoken_async(url="https://example.com/signup")
70
+ print(r["data"]["Token"])
71
+
72
+ asyncio.run(main())
73
+
74
+ ## استخراج مفتاح الموقع
75
+
76
+ import cloudevil
77
+
78
+ sitekey, err = cloudevil.extract_sitekey("https://example.com/signup")
79
+ print(sitekey)
80
+
81
+ ## الحالة
82
+
83
+ import cloudevil
84
+
85
+ print(cloudevil.status())
86
+
87
+ ## CLI
88
+
89
+ python -m cloudevil --url https://example.com/login
90
+
91
+ python -m cloudevil --url https://example.com/login --sitekey 0x4AAAAAAA...
92
+
93
+ python -m cloudevil --url https://example.com/signup --kind hcaptcha
94
+
95
+ python -m cloudevil --url https://example.com/login --headless
96
+
97
+ python -m cloudevil doctor
98
+
99
+ ## شكل الناتج
100
+
101
+ {
102
+ "data": {
103
+ "dev": "Devil",
104
+ "Token": "...",
105
+ "Channel": "https://t.me/A_9_A_6",
106
+ "Private": "https://t.me/iKingNow",
107
+ "url": "https://example.com/login"
108
+ }
109
+ }
@@ -9,7 +9,7 @@ def _read(name):
9
9
 
10
10
  setup(
11
11
  name="cloudevil",
12
- version="1.0.4",
12
+ version="1.0.6",
13
13
  description="Cloudflare Turnstile + hCaptcha token library for Termux (CPython 3.14 only).",
14
14
  long_description=_read("README.md"),
15
15
  long_description_content_type="text/markdown",
cloudevil-1.0.4/PKG-INFO DELETED
@@ -1,84 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: cloudevil
3
- Version: 1.0.4
4
- Summary: Cloudflare Turnstile + hCaptcha token library for Termux (CPython 3.14 only).
5
- Home-page: https://t.me/A_9_A_6
6
- Author: Devil
7
- Classifier: Programming Language :: Python :: 3.14
8
- Classifier: Programming Language :: Python :: 3 :: Only
9
- Classifier: Operating System :: Android
10
- Requires-Python: >=3.14,<3.15
11
- Description-Content-Type: text/markdown
12
- Requires-Dist: requests>=2.28
13
- Requires-Dist: nodriver>=0.34
14
- Dynamic: author
15
- Dynamic: classifier
16
- Dynamic: description
17
- Dynamic: description-content-type
18
- Dynamic: home-page
19
- Dynamic: requires-dist
20
- Dynamic: requires-python
21
- Dynamic: summary
22
-
23
- # cloudevil
24
-
25
- Cloudflare Turnstile **and** hCaptcha token library for Termux, shipped as a
26
- precompiled CPython **3.14** extension (aarch64-linux-android).
27
-
28
- > This release targets **CPython 3.14 only**. Python 3.11 and 3.13 are not supported.
29
-
30
- ## Install
31
-
32
- pip install cloudevil
33
-
34
- Requires `requests` and `nodriver` (auto-installed) plus Termux packages
35
- `chromium` and `xorg-server-xvfb` (auto-installed on import on Termux).
36
-
37
- ## Turnstile
38
-
39
- import cloudevil
40
- r = cloudevil.get_token(url="https://example.com/login")
41
- print(r["data"]["Token"])
42
-
43
- ## hCaptcha
44
-
45
- import cloudevil
46
- r = cloudevil.get_htoken(url="https://example.com/signup")
47
- print(r["data"]["Token"])
48
-
49
- The hCaptcha flow:
50
-
51
- 1. Injects `https://js.hcaptcha.com/1/api.js?render=explicit` and renders the
52
- widget in a small floating div.
53
- 2. Calls `hcaptcha.execute()` to trigger passive challenges.
54
- 3. Clicks the compact checkbox with real CDP mouse events (`Input.dispatchMouseEvent`)
55
- at the widget rect — `(x+28, y+40)` for the checkbox.
56
- 4. If hCaptcha opens the image-grid challenge, it is **not** spammed; you need a
57
- solver key for interactive challenges (see below).
58
-
59
- ### Interactive (image) hCaptcha — solver keys
60
-
61
- Set one of:
62
-
63
- export CAPSOLVER_KEY=...
64
- export TWOCAPTCHA_KEY=...
65
-
66
- Providers are appended to `CLOUDEVIL_ORDER` automatically when their key is set,
67
- and are called with `HCaptchaTaskProxyLess` (CapSolver) / `method=hcaptcha`
68
- (2Captcha), so interactive hCaptcha is solved server-side.
69
-
70
- ## Env
71
-
72
- - `CLOUDEVIL_ORDER` provider order, default `browser`
73
- - `CLOUDEVIL_TIMEOUT` seconds, default 90
74
- - `CLOUDEVIL_HEADLESS` 1/0
75
- - `CLOUDEVIL_VERBOSE` 1 to print debug logs
76
- - `CLOUDEVIL_BROWSER` explicit chromium path
77
- - `CAPSOLVER_KEY`, `TWOCAPTCHA_KEY`
78
-
79
- ## CLI
80
-
81
- python -m cloudevil --url https://example.com --kind hcaptcha
82
- python -m cloudevil doctor
83
-
84
- Channel: https://t.me/A_9_A_6
cloudevil-1.0.4/README.md DELETED
@@ -1,62 +0,0 @@
1
- # cloudevil
2
-
3
- Cloudflare Turnstile **and** hCaptcha token library for Termux, shipped as a
4
- precompiled CPython **3.14** extension (aarch64-linux-android).
5
-
6
- > This release targets **CPython 3.14 only**. Python 3.11 and 3.13 are not supported.
7
-
8
- ## Install
9
-
10
- pip install cloudevil
11
-
12
- Requires `requests` and `nodriver` (auto-installed) plus Termux packages
13
- `chromium` and `xorg-server-xvfb` (auto-installed on import on Termux).
14
-
15
- ## Turnstile
16
-
17
- import cloudevil
18
- r = cloudevil.get_token(url="https://example.com/login")
19
- print(r["data"]["Token"])
20
-
21
- ## hCaptcha
22
-
23
- import cloudevil
24
- r = cloudevil.get_htoken(url="https://example.com/signup")
25
- print(r["data"]["Token"])
26
-
27
- The hCaptcha flow:
28
-
29
- 1. Injects `https://js.hcaptcha.com/1/api.js?render=explicit` and renders the
30
- widget in a small floating div.
31
- 2. Calls `hcaptcha.execute()` to trigger passive challenges.
32
- 3. Clicks the compact checkbox with real CDP mouse events (`Input.dispatchMouseEvent`)
33
- at the widget rect — `(x+28, y+40)` for the checkbox.
34
- 4. If hCaptcha opens the image-grid challenge, it is **not** spammed; you need a
35
- solver key for interactive challenges (see below).
36
-
37
- ### Interactive (image) hCaptcha — solver keys
38
-
39
- Set one of:
40
-
41
- export CAPSOLVER_KEY=...
42
- export TWOCAPTCHA_KEY=...
43
-
44
- Providers are appended to `CLOUDEVIL_ORDER` automatically when their key is set,
45
- and are called with `HCaptchaTaskProxyLess` (CapSolver) / `method=hcaptcha`
46
- (2Captcha), so interactive hCaptcha is solved server-side.
47
-
48
- ## Env
49
-
50
- - `CLOUDEVIL_ORDER` provider order, default `browser`
51
- - `CLOUDEVIL_TIMEOUT` seconds, default 90
52
- - `CLOUDEVIL_HEADLESS` 1/0
53
- - `CLOUDEVIL_VERBOSE` 1 to print debug logs
54
- - `CLOUDEVIL_BROWSER` explicit chromium path
55
- - `CAPSOLVER_KEY`, `TWOCAPTCHA_KEY`
56
-
57
- ## CLI
58
-
59
- python -m cloudevil --url https://example.com --kind hcaptcha
60
- python -m cloudevil doctor
61
-
62
- Channel: https://t.me/A_9_A_6
@@ -1,84 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: cloudevil
3
- Version: 1.0.4
4
- Summary: Cloudflare Turnstile + hCaptcha token library for Termux (CPython 3.14 only).
5
- Home-page: https://t.me/A_9_A_6
6
- Author: Devil
7
- Classifier: Programming Language :: Python :: 3.14
8
- Classifier: Programming Language :: Python :: 3 :: Only
9
- Classifier: Operating System :: Android
10
- Requires-Python: >=3.14,<3.15
11
- Description-Content-Type: text/markdown
12
- Requires-Dist: requests>=2.28
13
- Requires-Dist: nodriver>=0.34
14
- Dynamic: author
15
- Dynamic: classifier
16
- Dynamic: description
17
- Dynamic: description-content-type
18
- Dynamic: home-page
19
- Dynamic: requires-dist
20
- Dynamic: requires-python
21
- Dynamic: summary
22
-
23
- # cloudevil
24
-
25
- Cloudflare Turnstile **and** hCaptcha token library for Termux, shipped as a
26
- precompiled CPython **3.14** extension (aarch64-linux-android).
27
-
28
- > This release targets **CPython 3.14 only**. Python 3.11 and 3.13 are not supported.
29
-
30
- ## Install
31
-
32
- pip install cloudevil
33
-
34
- Requires `requests` and `nodriver` (auto-installed) plus Termux packages
35
- `chromium` and `xorg-server-xvfb` (auto-installed on import on Termux).
36
-
37
- ## Turnstile
38
-
39
- import cloudevil
40
- r = cloudevil.get_token(url="https://example.com/login")
41
- print(r["data"]["Token"])
42
-
43
- ## hCaptcha
44
-
45
- import cloudevil
46
- r = cloudevil.get_htoken(url="https://example.com/signup")
47
- print(r["data"]["Token"])
48
-
49
- The hCaptcha flow:
50
-
51
- 1. Injects `https://js.hcaptcha.com/1/api.js?render=explicit` and renders the
52
- widget in a small floating div.
53
- 2. Calls `hcaptcha.execute()` to trigger passive challenges.
54
- 3. Clicks the compact checkbox with real CDP mouse events (`Input.dispatchMouseEvent`)
55
- at the widget rect — `(x+28, y+40)` for the checkbox.
56
- 4. If hCaptcha opens the image-grid challenge, it is **not** spammed; you need a
57
- solver key for interactive challenges (see below).
58
-
59
- ### Interactive (image) hCaptcha — solver keys
60
-
61
- Set one of:
62
-
63
- export CAPSOLVER_KEY=...
64
- export TWOCAPTCHA_KEY=...
65
-
66
- Providers are appended to `CLOUDEVIL_ORDER` automatically when their key is set,
67
- and are called with `HCaptchaTaskProxyLess` (CapSolver) / `method=hcaptcha`
68
- (2Captcha), so interactive hCaptcha is solved server-side.
69
-
70
- ## Env
71
-
72
- - `CLOUDEVIL_ORDER` provider order, default `browser`
73
- - `CLOUDEVIL_TIMEOUT` seconds, default 90
74
- - `CLOUDEVIL_HEADLESS` 1/0
75
- - `CLOUDEVIL_VERBOSE` 1 to print debug logs
76
- - `CLOUDEVIL_BROWSER` explicit chromium path
77
- - `CAPSOLVER_KEY`, `TWOCAPTCHA_KEY`
78
-
79
- ## CLI
80
-
81
- python -m cloudevil --url https://example.com --kind hcaptcha
82
- python -m cloudevil doctor
83
-
84
- Channel: https://t.me/A_9_A_6
File without changes
File without changes
File without changes