hyper-sdk 2.4.1__tar.gz → 2.6.0__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.
Files changed (35) hide show
  1. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/LICENSE +21 -21
  2. hyper_sdk-2.6.0/PKG-INFO +374 -0
  3. hyper_sdk-2.6.0/README.md +331 -0
  4. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/__init__.py +1 -0
  5. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/akamai/__init__.py +4 -4
  6. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/akamai/pixel.py +83 -83
  7. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/akamai/script_path.py +28 -28
  8. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/akamai/sec_cpt.py +129 -129
  9. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/akamai/stop_signal.py +52 -52
  10. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/akamai_input.py +38 -38
  11. {hyper_sdk-2.4.1/hyper_sdk/kasada → hyper_sdk-2.6.0/hyper_sdk/datadome}/__init__.py +1 -1
  12. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/datadome/parse.py +83 -83
  13. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/datadome_input.py +87 -87
  14. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/incapsula/__init__.py +2 -2
  15. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/incapsula/dynamic.py +47 -47
  16. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/incapsula/utmvc.py +42 -42
  17. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/incapsula_input.py +18 -18
  18. {hyper_sdk-2.4.1/hyper_sdk/datadome → hyper_sdk-2.6.0/hyper_sdk/kasada}/__init__.py +1 -1
  19. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/kasada/parse.py +27 -27
  20. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/kasada_input.py +40 -40
  21. hyper_sdk-2.6.0/hyper_sdk/session.py +485 -0
  22. hyper_sdk-2.6.0/hyper_sdk/session_async.py +501 -0
  23. hyper_sdk-2.6.0/hyper_sdk/shared.py +78 -0
  24. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk/trustdecision_input.py +44 -44
  25. hyper_sdk-2.6.0/hyper_sdk.egg-info/PKG-INFO +374 -0
  26. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk.egg-info/SOURCES.txt +2 -0
  27. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk.egg-info/requires.txt +1 -1
  28. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/pyproject.toml +11 -4
  29. hyper_sdk-2.4.1/PKG-INFO +0 -65
  30. hyper_sdk-2.4.1/README.md +0 -23
  31. hyper_sdk-2.4.1/hyper_sdk/session.py +0 -415
  32. hyper_sdk-2.4.1/hyper_sdk.egg-info/PKG-INFO +0 -65
  33. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk.egg-info/dependency_links.txt +0 -0
  34. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/hyper_sdk.egg-info/top_level.txt +0 -0
  35. {hyper_sdk-2.4.1 → hyper_sdk-2.6.0}/setup.cfg +0 -0
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 Hyper Solutions
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Hyper Solutions
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,374 @@
1
+ Metadata-Version: 2.4
2
+ Name: hyper_sdk
3
+ Version: 2.6.0
4
+ Summary: Hyper Solutions Python SDK
5
+ License: MIT License
6
+
7
+ Copyright (c) 2024 Hyper Solutions
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ SOFTWARE.
26
+
27
+ Project-URL: homepage, https://github.com/Hyper-Solutions/hyper-sdk-py
28
+ Classifier: Intended Audience :: Developers
29
+ Classifier: License :: OSI Approved :: MIT License
30
+ Classifier: Programming Language :: Python :: 3
31
+ Classifier: Framework :: AsyncIO
32
+ Requires-Python: >=3.7
33
+ Description-Content-Type: text/markdown
34
+ License-File: LICENSE
35
+ Requires-Dist: httpx[http2]>=0.24.0
36
+ Requires-Dist: certifi>=2024.2.2
37
+ Requires-Dist: charset-normalizer>=3.3.2
38
+ Requires-Dist: idna>=3.6
39
+ Requires-Dist: jsonpickle>=3.0.3
40
+ Requires-Dist: PyJWT>=2.8.0
41
+ Requires-Dist: urllib3>=2.2.1
42
+ Dynamic: license-file
43
+
44
+ # Hyper Solutions SDK - Python Library for Bot Protection Bypass (Akamai, Incapsula, Kasada, DataDome)
45
+
46
+ ![Python Version](https://img.shields.io/badge/Python-3.8+-blue)
47
+ ![License](https://img.shields.io/badge/license-MIT-green)
48
+ ![PyPI Version](https://img.shields.io/pypi/v/hyper-sdk)
49
+ ![PyPI Downloads](https://img.shields.io/pypi/dm/hyper-sdk)
50
+
51
+ [![](https://dcbadge.limes.pink/api/server/akamai)](https://discord.gg/akamai)
52
+
53
+ A powerful **Python SDK** for bypassing modern bot protection systems including **Akamai Bot Manager**, **Incapsula**, **Kasada**, and **DataDome**. Generate valid cookies, solve anti-bot challenges, and automate protected endpoints with ease.
54
+
55
+ Perfect for **web scraping**, **automation**, and **data collection** from protected websites.
56
+
57
+ ## 🚀 Quick Start
58
+
59
+ ```python
60
+ from hyper_sdk import Session, SensorInput
61
+
62
+ session = Session("your-api-key")
63
+
64
+ # Generate Akamai sensor data
65
+ sensor_data, sensor_context = session.generate_sensor_data(SensorInput(
66
+ # sensor input fields
67
+ ))
68
+
69
+ print(f"Generated sensor data: {sensor_data}")
70
+ print(f"Sensor context: {sensor_context}")
71
+ ```
72
+
73
+ ## ✨ Features
74
+
75
+ - 🛡️ **Akamai Bot Manager**: Generate sensor data, handle pixel challenges, validate cookies
76
+ - 🔒 **Incapsula Protection**: Generate Reese84 sensors and UTMVC cookies
77
+ - ⚡ **Kasada Bypass**: Generate payload data (CT) and POW tokens (CD)
78
+ - 🎯 **DataDome Solutions**: Solve tags, slider captchas and interstitial challenges
79
+ - 🔧 **Easy Integration**: Simple Python API with async/await support
80
+ - ⚙️ **Flexible Configuration**: Custom HTTP clients and session management
81
+
82
+ ## 📦 Installation
83
+
84
+ Install the Hyper Solutions SDK for Python using:
85
+
86
+ ```bash
87
+ pip install hyper-sdk
88
+ ```
89
+
90
+ ## 📋 Table of Contents
91
+
92
+ - [Quick Start](#-quick-start)
93
+ - [Installation](#-installation)
94
+ - [Basic Usage](#-basic-usage)
95
+ - [Akamai Bot Manager](#-akamai-bot-manager)
96
+ - [Incapsula Protection](#-incapsula-protection)
97
+ - [Kasada Bypass](#-kasada-bypass)
98
+ - [DataDome Solutions](#-datadome-solutions)
99
+ - [Documentation](#-documentation)
100
+ - [Contributing](#-contributing)
101
+ - [License](#-license)
102
+
103
+ ## 🔧 Basic Usage
104
+
105
+ ### Creating a Session
106
+
107
+ Initialize the SDK with your API key to start bypassing bot protection:
108
+
109
+ ```python
110
+ from hyper_sdk import Session
111
+
112
+ # Basic session
113
+ session = Session("your-api-key")
114
+
115
+ # Advanced session with custom configuration
116
+ session = Session(
117
+ api_key="your-api-key",
118
+ jwt_key="your-jwt-key",
119
+ app_key="your-app-key",
120
+ app_secret="your-app-secret",
121
+ client=custom_http_client
122
+ )
123
+ ```
124
+
125
+ ## 🛡️ Akamai Bot Manager
126
+
127
+ Bypass **Akamai Bot Manager** protection with sensor data generation, cookie validation, and challenge solving.
128
+
129
+ ### Generating Sensor Data
130
+
131
+ Generate sensor data for valid **Akamai cookies** and bot detection bypass:
132
+
133
+ ```python
134
+ sensor_data, context = await session.generate_sensor_data({
135
+ # Configure sensor parameters
136
+ })
137
+ ```
138
+
139
+ ### Handling Sec-Cpt Challenges
140
+
141
+ Solve **sec-cpt challenges** with built-in parsing and payload generation:
142
+
143
+ ```python
144
+ from hyper_sdk.akamai import SecCptChallenge
145
+
146
+ # Parse sec-cpt challenge from HTML
147
+ challenge = SecCptChallenge.parse(html_content)
148
+
149
+ # Or parse from JSON response
150
+ challenge = SecCptChallenge.parse_from_json(json_response)
151
+
152
+ # Generate challenge response payload
153
+ payload = challenge.generate_sec_cpt_payload(sec_cpt_cookie)
154
+
155
+ # Handle challenge timing requirements
156
+ challenge.sleep()
157
+ ```
158
+
159
+ ### Cookie Validation
160
+
161
+ Validate **Akamai _abck cookies** and session states:
162
+
163
+ ```python
164
+ from hyper_sdk.akamai import is_cookie_valid, is_cookie_invalidated
165
+
166
+ # Check if cookie is valid for the current request count
167
+ is_valid = is_cookie_valid(cookie_value, request_count)
168
+
169
+ # Check if cookie has been invalidated and needs refresh
170
+ needs_refresh = is_cookie_invalidated(cookie_value)
171
+ ```
172
+
173
+ ### Pixel Challenge Solving
174
+
175
+ Handle **Akamai pixel challenges** for advanced bot detection bypass:
176
+
177
+ ```python
178
+ from hyper_sdk import PixelInput
179
+ from hyper_sdk.akamai import parse_pixel_html_var, parse_pixel_script_url, parse_pixel_script_var
180
+
181
+ # Parse pixel challenge data
182
+ html_var = parse_pixel_html_var(html_content)
183
+ script_url, post_url = parse_pixel_script_url(html_content)
184
+ script_var = parse_pixel_script_var(script_content)
185
+
186
+ # Generate pixel data
187
+ pixel_data = session.generate_pixel_data(PixelInput(
188
+ # pixel input fields
189
+ ))
190
+ ```
191
+
192
+ ## 🔒 Incapsula Protection
193
+
194
+ Bypass **Incapsula bot detection** with Reese84 sensors and UTMVC cookie generation.
195
+
196
+ ### Generating Reese84 Sensors
197
+
198
+ Create **Reese84 sensor data** for Incapsula bypass:
199
+
200
+ ```python
201
+ from hyper_sdk import ReeseInput
202
+
203
+ sensor_data = session.generate_reese84_sensor("example.com", ReeseInput(
204
+ # reese input fields
205
+ ))
206
+ ```
207
+
208
+ ### UTMVC Cookie Generation
209
+
210
+ Generate **UTMVC cookies** for Incapsula protection bypass:
211
+
212
+ ```python
213
+ from hyper_sdk import UtmvcInput
214
+
215
+ utmvc_cookie, swhanedl = session.generate_utmvc_cookie(UtmvcInput(
216
+ # utmvc input fields
217
+ ))
218
+ ```
219
+
220
+ ### Script Path Parsing
221
+
222
+ Parse **UTMVC script paths** and generate submit paths:
223
+
224
+ ```python
225
+ from hyper_sdk.incapsula import parse_utmvc_script_path, get_utmvc_submit_path
226
+
227
+ # Parse script path from content
228
+ script_path = parse_utmvc_script_path(script_content)
229
+
230
+ # Generate unique submit path
231
+ submit_path = get_utmvc_submit_path()
232
+ ```
233
+
234
+ ### Dynamic Reese Script Parsing
235
+
236
+ Parse dynamic Reese84 script paths from interruption pages:
237
+
238
+ ```python
239
+ from hyper_sdk.incapsula import parse_dynamic_reese_script
240
+
241
+ sensor_path, script_path = parse_dynamic_reese_script(html_content, "https://example.com")
242
+ ```
243
+
244
+ ## ⚡ Kasada Bypass
245
+
246
+ Defeat **Kasada Bot Manager** with payload generation and POW solving.
247
+
248
+ ### Generating Payload Data (CT)
249
+
250
+ Create **x-kpsdk-ct tokens** for Kasada bypass:
251
+
252
+ ```python
253
+ from hyper_sdk import KasadaPayloadInput
254
+
255
+ payload, headers = session.generate_kasada_payload(KasadaPayloadInput(
256
+ # kasada payload input fields
257
+ ))
258
+ ```
259
+
260
+ ### Generating POW Data (CD)
261
+
262
+ Solve **Kasada Proof-of-Work** challenges for x-kpsdk-cd tokens:
263
+
264
+ ```python
265
+ from hyper_sdk import KasadaPowInput
266
+
267
+ pow_payload = session.generate_kasada_pow(KasadaPowInput(
268
+ # kasada pow input fields
269
+ ))
270
+ ```
271
+
272
+ ### Script Path Extraction
273
+
274
+ Extract **Kasada script paths** from blocked pages (HTTP 429):
275
+
276
+ ```python
277
+ from hyper_sdk.kasada import parse_script_path
278
+
279
+ script_path = parse_script_path(blocked_page_html)
280
+ # Returns: /ips.js?timestamp=...
281
+ ```
282
+
283
+ ## 🎯 DataDome Solutions
284
+
285
+ Solve **DataDome captchas** including slider challenges and interstitial pages.
286
+
287
+ ### Interstitial Challenge Solving
288
+
289
+ Bypass **DataDome interstitial pages**:
290
+
291
+ ```python
292
+ from hyper_sdk import DataDomeInterstitialInput
293
+
294
+ result = session.generate_interstitial_payload(DataDomeInterstitialInput(
295
+ # interstitial input fields
296
+ ))
297
+
298
+ payload = result["payload"]
299
+ headers = result["headers"]
300
+ # POST payload to https://geo.captcha-delivery.com/interstitial/
301
+ ```
302
+
303
+ ### Slider Captcha Solving
304
+
305
+ Solve **DataDome slider captchas** automatically:
306
+
307
+ ```python
308
+ from hyper_sdk import DataDomeSliderInput
309
+
310
+ result = session.generate_slider_payload(DataDomeSliderInput(
311
+ # slider input fields
312
+ ))
313
+
314
+ check_url = result["payload"]
315
+ headers = result["headers"]
316
+ # GET request to check_url
317
+ ```
318
+
319
+ ### Tags Payload Generation
320
+
321
+ Generate **DataDome tags payload**:
322
+
323
+ ```python
324
+ from hyper_sdk import DataDomeTagsInput
325
+
326
+ tags_payload = session.generate_tags_payload(DataDomeTagsInput(
327
+ # tags input fields
328
+ ))
329
+ ```
330
+
331
+ ### DeviceLink URL Parsing
332
+
333
+ Extract **DataDome device check URLs** from blocked pages:
334
+
335
+ ```python
336
+ from hyper_sdk.datadome import parse_interstitial_device_check_link, parse_slider_device_check_link
337
+
338
+ # Parse interstitial device links
339
+ device_link = parse_interstitial_device_check_link(
340
+ html_content,
341
+ datadome_cookie,
342
+ referer_url
343
+ )
344
+
345
+ # Parse slider device links
346
+ device_link = parse_slider_device_check_link(
347
+ html_content,
348
+ datadome_cookie,
349
+ referer_url
350
+ )
351
+ ```
352
+
353
+ ## 📖 Documentation
354
+
355
+ For detailed documentation on how to use the SDK, including examples and API reference, please visit our documentation website:
356
+
357
+ [https://docs.justhyped.dev/](https://docs.justhyped.dev/)
358
+
359
+ ### Getting Help
360
+
361
+ - Check our [documentation](https://docs.justhyped.dev)
362
+ - Join our [Discord community](https://discord.gg/akamai)
363
+
364
+ ## 🤝 Contributing
365
+
366
+ If you find any issues or have suggestions for improvement, please open an issue or submit a pull request.
367
+
368
+ ## 📄 License
369
+
370
+ This SDK is licensed under the [MIT License](LICENSE).
371
+
372
+ ---
373
+
374
+ **Keywords**: Python SDK, bot protection bypass, web scraping, Akamai bypass, Incapsula bypass, Kasada bypass, DataDome bypass, anti-bot, captcha solver, automation, reverse engineering, bot detection, web automation