hyper-sdk 2.4.1__tar.gz → 2.5.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.
- hyper_sdk-2.5.0/PKG-INFO +373 -0
- hyper_sdk-2.5.0/README.md +331 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/incapsula_input.py +2 -2
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/session.py +1 -1
- hyper_sdk-2.5.0/hyper_sdk.egg-info/PKG-INFO +373 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/pyproject.toml +1 -1
- hyper_sdk-2.4.1/PKG-INFO +0 -65
- hyper_sdk-2.4.1/README.md +0 -23
- hyper_sdk-2.4.1/hyper_sdk.egg-info/PKG-INFO +0 -65
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/LICENSE +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/__init__.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/akamai/__init__.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/akamai/pixel.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/akamai/script_path.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/akamai/sec_cpt.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/akamai/stop_signal.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/akamai_input.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/datadome/__init__.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/datadome/parse.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/datadome_input.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/incapsula/__init__.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/incapsula/dynamic.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/incapsula/utmvc.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/kasada/__init__.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/kasada/parse.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/kasada_input.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk/trustdecision_input.py +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk.egg-info/SOURCES.txt +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk.egg-info/dependency_links.txt +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk.egg-info/requires.txt +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/hyper_sdk.egg-info/top_level.txt +0 -0
- {hyper_sdk-2.4.1 → hyper_sdk-2.5.0}/setup.cfg +0 -0
hyper_sdk-2.5.0/PKG-INFO
ADDED
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hyper_sdk
|
|
3
|
+
Version: 2.5.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
|
+
Requires-Python: >=3.6
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
License-File: LICENSE
|
|
34
|
+
Requires-Dist: certifi>=2024.2.2
|
|
35
|
+
Requires-Dist: charset-normalizer>=3.3.2
|
|
36
|
+
Requires-Dist: idna>=3.6
|
|
37
|
+
Requires-Dist: jsonpickle>=3.0.3
|
|
38
|
+
Requires-Dist: PyJWT>=2.8.0
|
|
39
|
+
Requires-Dist: requests>=2.31.0
|
|
40
|
+
Requires-Dist: urllib3>=2.2.1
|
|
41
|
+
Dynamic: license-file
|
|
42
|
+
|
|
43
|
+
# Hyper Solutions SDK - Python Library for Bot Protection Bypass (Akamai, Incapsula, Kasada, DataDome)
|
|
44
|
+
|
|
45
|
+

|
|
46
|
+

|
|
47
|
+

|
|
48
|
+

|
|
49
|
+
|
|
50
|
+
[](https://discord.gg/akamai)
|
|
51
|
+
|
|
52
|
+
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.
|
|
53
|
+
|
|
54
|
+
Perfect for **web scraping**, **automation**, and **data collection** from protected websites.
|
|
55
|
+
|
|
56
|
+
## 🚀 Quick Start
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
from hyper_sdk import Session, SensorInput
|
|
60
|
+
|
|
61
|
+
session = Session("your-api-key")
|
|
62
|
+
|
|
63
|
+
# Generate Akamai sensor data
|
|
64
|
+
sensor_data, sensor_context = session.generate_sensor_data(SensorInput(
|
|
65
|
+
# sensor input fields
|
|
66
|
+
))
|
|
67
|
+
|
|
68
|
+
print(f"Generated sensor data: {sensor_data}")
|
|
69
|
+
print(f"Sensor context: {sensor_context}")
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## ✨ Features
|
|
73
|
+
|
|
74
|
+
- 🛡️ **Akamai Bot Manager**: Generate sensor data, handle pixel challenges, validate cookies
|
|
75
|
+
- 🔒 **Incapsula Protection**: Generate Reese84 sensors and UTMVC cookies
|
|
76
|
+
- ⚡ **Kasada Bypass**: Generate payload data (CT) and POW tokens (CD)
|
|
77
|
+
- 🎯 **DataDome Solutions**: Solve tags, slider captchas and interstitial challenges
|
|
78
|
+
- 🔧 **Easy Integration**: Simple Python API with async/await support
|
|
79
|
+
- ⚙️ **Flexible Configuration**: Custom HTTP clients and session management
|
|
80
|
+
|
|
81
|
+
## 📦 Installation
|
|
82
|
+
|
|
83
|
+
Install the Hyper Solutions SDK for Python using:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
pip install hyper-sdk
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## 📋 Table of Contents
|
|
90
|
+
|
|
91
|
+
- [Quick Start](#-quick-start)
|
|
92
|
+
- [Installation](#-installation)
|
|
93
|
+
- [Basic Usage](#-basic-usage)
|
|
94
|
+
- [Akamai Bot Manager](#-akamai-bot-manager)
|
|
95
|
+
- [Incapsula Protection](#-incapsula-protection)
|
|
96
|
+
- [Kasada Bypass](#-kasada-bypass)
|
|
97
|
+
- [DataDome Solutions](#-datadome-solutions)
|
|
98
|
+
- [Documentation](#-documentation)
|
|
99
|
+
- [Contributing](#-contributing)
|
|
100
|
+
- [License](#-license)
|
|
101
|
+
|
|
102
|
+
## 🔧 Basic Usage
|
|
103
|
+
|
|
104
|
+
### Creating a Session
|
|
105
|
+
|
|
106
|
+
Initialize the SDK with your API key to start bypassing bot protection:
|
|
107
|
+
|
|
108
|
+
```python
|
|
109
|
+
from hyper_sdk import Session
|
|
110
|
+
|
|
111
|
+
# Basic session
|
|
112
|
+
session = Session("your-api-key")
|
|
113
|
+
|
|
114
|
+
# Advanced session with custom configuration
|
|
115
|
+
session = Session(
|
|
116
|
+
api_key="your-api-key",
|
|
117
|
+
jwt_key="your-jwt-key",
|
|
118
|
+
app_key="your-app-key",
|
|
119
|
+
app_secret="your-app-secret",
|
|
120
|
+
client=custom_http_client
|
|
121
|
+
)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## 🛡️ Akamai Bot Manager
|
|
125
|
+
|
|
126
|
+
Bypass **Akamai Bot Manager** protection with sensor data generation, cookie validation, and challenge solving.
|
|
127
|
+
|
|
128
|
+
### Generating Sensor Data
|
|
129
|
+
|
|
130
|
+
Generate sensor data for valid **Akamai cookies** and bot detection bypass:
|
|
131
|
+
|
|
132
|
+
```python
|
|
133
|
+
sensor_data, context = await session.generate_sensor_data({
|
|
134
|
+
# Configure sensor parameters
|
|
135
|
+
})
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Handling Sec-Cpt Challenges
|
|
139
|
+
|
|
140
|
+
Solve **sec-cpt challenges** with built-in parsing and payload generation:
|
|
141
|
+
|
|
142
|
+
```python
|
|
143
|
+
from hyper_sdk.akamai import SecCptChallenge
|
|
144
|
+
|
|
145
|
+
# Parse sec-cpt challenge from HTML
|
|
146
|
+
challenge = SecCptChallenge.parse(html_content)
|
|
147
|
+
|
|
148
|
+
# Or parse from JSON response
|
|
149
|
+
challenge = SecCptChallenge.parse_from_json(json_response)
|
|
150
|
+
|
|
151
|
+
# Generate challenge response payload
|
|
152
|
+
payload = challenge.generate_sec_cpt_payload(sec_cpt_cookie)
|
|
153
|
+
|
|
154
|
+
# Handle challenge timing requirements
|
|
155
|
+
challenge.sleep()
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Cookie Validation
|
|
159
|
+
|
|
160
|
+
Validate **Akamai _abck cookies** and session states:
|
|
161
|
+
|
|
162
|
+
```python
|
|
163
|
+
from hyper_sdk.akamai import is_cookie_valid, is_cookie_invalidated
|
|
164
|
+
|
|
165
|
+
# Check if cookie is valid for the current request count
|
|
166
|
+
is_valid = is_cookie_valid(cookie_value, request_count)
|
|
167
|
+
|
|
168
|
+
# Check if cookie has been invalidated and needs refresh
|
|
169
|
+
needs_refresh = is_cookie_invalidated(cookie_value)
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Pixel Challenge Solving
|
|
173
|
+
|
|
174
|
+
Handle **Akamai pixel challenges** for advanced bot detection bypass:
|
|
175
|
+
|
|
176
|
+
```python
|
|
177
|
+
from hyper_sdk import PixelInput
|
|
178
|
+
from hyper_sdk.akamai import parse_pixel_html_var, parse_pixel_script_url, parse_pixel_script_var
|
|
179
|
+
|
|
180
|
+
# Parse pixel challenge data
|
|
181
|
+
html_var = parse_pixel_html_var(html_content)
|
|
182
|
+
script_url, post_url = parse_pixel_script_url(html_content)
|
|
183
|
+
script_var = parse_pixel_script_var(script_content)
|
|
184
|
+
|
|
185
|
+
# Generate pixel data
|
|
186
|
+
pixel_data = session.generate_pixel_data(PixelInput(
|
|
187
|
+
# pixel input fields
|
|
188
|
+
))
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## 🔒 Incapsula Protection
|
|
192
|
+
|
|
193
|
+
Bypass **Incapsula bot detection** with Reese84 sensors and UTMVC cookie generation.
|
|
194
|
+
|
|
195
|
+
### Generating Reese84 Sensors
|
|
196
|
+
|
|
197
|
+
Create **Reese84 sensor data** for Incapsula bypass:
|
|
198
|
+
|
|
199
|
+
```python
|
|
200
|
+
from hyper_sdk import ReeseInput
|
|
201
|
+
|
|
202
|
+
sensor_data = session.generate_reese84_sensor("example.com", ReeseInput(
|
|
203
|
+
# reese input fields
|
|
204
|
+
))
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### UTMVC Cookie Generation
|
|
208
|
+
|
|
209
|
+
Generate **UTMVC cookies** for Incapsula protection bypass:
|
|
210
|
+
|
|
211
|
+
```python
|
|
212
|
+
from hyper_sdk import UtmvcInput
|
|
213
|
+
|
|
214
|
+
utmvc_cookie, swhanedl = session.generate_utmvc_cookie(UtmvcInput(
|
|
215
|
+
# utmvc input fields
|
|
216
|
+
))
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Script Path Parsing
|
|
220
|
+
|
|
221
|
+
Parse **UTMVC script paths** and generate submit paths:
|
|
222
|
+
|
|
223
|
+
```python
|
|
224
|
+
from hyper_sdk.incapsula import parse_utmvc_script_path, get_utmvc_submit_path
|
|
225
|
+
|
|
226
|
+
# Parse script path from content
|
|
227
|
+
script_path = parse_utmvc_script_path(script_content)
|
|
228
|
+
|
|
229
|
+
# Generate unique submit path
|
|
230
|
+
submit_path = get_utmvc_submit_path()
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Dynamic Reese Script Parsing
|
|
234
|
+
|
|
235
|
+
Parse dynamic Reese84 script paths from interruption pages:
|
|
236
|
+
|
|
237
|
+
```python
|
|
238
|
+
from hyper_sdk.incapsula import parse_dynamic_reese_script
|
|
239
|
+
|
|
240
|
+
sensor_path, script_path = parse_dynamic_reese_script(html_content, "https://example.com")
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## ⚡ Kasada Bypass
|
|
244
|
+
|
|
245
|
+
Defeat **Kasada Bot Manager** with payload generation and POW solving.
|
|
246
|
+
|
|
247
|
+
### Generating Payload Data (CT)
|
|
248
|
+
|
|
249
|
+
Create **x-kpsdk-ct tokens** for Kasada bypass:
|
|
250
|
+
|
|
251
|
+
```python
|
|
252
|
+
from hyper_sdk import KasadaPayloadInput
|
|
253
|
+
|
|
254
|
+
payload, headers = session.generate_kasada_payload(KasadaPayloadInput(
|
|
255
|
+
# kasada payload input fields
|
|
256
|
+
))
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### Generating POW Data (CD)
|
|
260
|
+
|
|
261
|
+
Solve **Kasada Proof-of-Work** challenges for x-kpsdk-cd tokens:
|
|
262
|
+
|
|
263
|
+
```python
|
|
264
|
+
from hyper_sdk import KasadaPowInput
|
|
265
|
+
|
|
266
|
+
pow_payload = session.generate_kasada_pow(KasadaPowInput(
|
|
267
|
+
# kasada pow input fields
|
|
268
|
+
))
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Script Path Extraction
|
|
272
|
+
|
|
273
|
+
Extract **Kasada script paths** from blocked pages (HTTP 429):
|
|
274
|
+
|
|
275
|
+
```python
|
|
276
|
+
from hyper_sdk.kasada import parse_script_path
|
|
277
|
+
|
|
278
|
+
script_path = parse_script_path(blocked_page_html)
|
|
279
|
+
# Returns: /ips.js?timestamp=...
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
## 🎯 DataDome Solutions
|
|
283
|
+
|
|
284
|
+
Solve **DataDome captchas** including slider challenges and interstitial pages.
|
|
285
|
+
|
|
286
|
+
### Interstitial Challenge Solving
|
|
287
|
+
|
|
288
|
+
Bypass **DataDome interstitial pages**:
|
|
289
|
+
|
|
290
|
+
```python
|
|
291
|
+
from hyper_sdk import DataDomeInterstitialInput
|
|
292
|
+
|
|
293
|
+
result = session.generate_interstitial_payload(DataDomeInterstitialInput(
|
|
294
|
+
# interstitial input fields
|
|
295
|
+
))
|
|
296
|
+
|
|
297
|
+
payload = result["payload"]
|
|
298
|
+
headers = result["headers"]
|
|
299
|
+
# POST payload to https://geo.captcha-delivery.com/interstitial/
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Slider Captcha Solving
|
|
303
|
+
|
|
304
|
+
Solve **DataDome slider captchas** automatically:
|
|
305
|
+
|
|
306
|
+
```python
|
|
307
|
+
from hyper_sdk import DataDomeSliderInput
|
|
308
|
+
|
|
309
|
+
result = session.generate_slider_payload(DataDomeSliderInput(
|
|
310
|
+
# slider input fields
|
|
311
|
+
))
|
|
312
|
+
|
|
313
|
+
check_url = result["payload"]
|
|
314
|
+
headers = result["headers"]
|
|
315
|
+
# GET request to check_url
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Tags Payload Generation
|
|
319
|
+
|
|
320
|
+
Generate **DataDome tags payload**:
|
|
321
|
+
|
|
322
|
+
```python
|
|
323
|
+
from hyper_sdk import DataDomeTagsInput
|
|
324
|
+
|
|
325
|
+
tags_payload = session.generate_tags_payload(DataDomeTagsInput(
|
|
326
|
+
# tags input fields
|
|
327
|
+
))
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### DeviceLink URL Parsing
|
|
331
|
+
|
|
332
|
+
Extract **DataDome device check URLs** from blocked pages:
|
|
333
|
+
|
|
334
|
+
```python
|
|
335
|
+
from hyper_sdk.datadome import parse_interstitial_device_check_link, parse_slider_device_check_link
|
|
336
|
+
|
|
337
|
+
# Parse interstitial device links
|
|
338
|
+
device_link = parse_interstitial_device_check_link(
|
|
339
|
+
html_content,
|
|
340
|
+
datadome_cookie,
|
|
341
|
+
referer_url
|
|
342
|
+
)
|
|
343
|
+
|
|
344
|
+
# Parse slider device links
|
|
345
|
+
device_link = parse_slider_device_check_link(
|
|
346
|
+
html_content,
|
|
347
|
+
datadome_cookie,
|
|
348
|
+
referer_url
|
|
349
|
+
)
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
## 📖 Documentation
|
|
353
|
+
|
|
354
|
+
For detailed documentation on how to use the SDK, including examples and API reference, please visit our documentation website:
|
|
355
|
+
|
|
356
|
+
[https://docs.justhyped.dev/](https://docs.justhyped.dev/)
|
|
357
|
+
|
|
358
|
+
### Getting Help
|
|
359
|
+
|
|
360
|
+
- Check our [documentation](https://docs.justhyped.dev)
|
|
361
|
+
- Join our [Discord community](https://discord.gg/akamai)
|
|
362
|
+
|
|
363
|
+
## 🤝 Contributing
|
|
364
|
+
|
|
365
|
+
If you find any issues or have suggestions for improvement, please open an issue or submit a pull request.
|
|
366
|
+
|
|
367
|
+
## 📄 License
|
|
368
|
+
|
|
369
|
+
This SDK is licensed under the [MIT License](LICENSE).
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
**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
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
# Hyper Solutions SDK - Python Library for Bot Protection Bypass (Akamai, Incapsula, Kasada, DataDome)
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
[](https://discord.gg/akamai)
|
|
9
|
+
|
|
10
|
+
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.
|
|
11
|
+
|
|
12
|
+
Perfect for **web scraping**, **automation**, and **data collection** from protected websites.
|
|
13
|
+
|
|
14
|
+
## 🚀 Quick Start
|
|
15
|
+
|
|
16
|
+
```python
|
|
17
|
+
from hyper_sdk import Session, SensorInput
|
|
18
|
+
|
|
19
|
+
session = Session("your-api-key")
|
|
20
|
+
|
|
21
|
+
# Generate Akamai sensor data
|
|
22
|
+
sensor_data, sensor_context = session.generate_sensor_data(SensorInput(
|
|
23
|
+
# sensor input fields
|
|
24
|
+
))
|
|
25
|
+
|
|
26
|
+
print(f"Generated sensor data: {sensor_data}")
|
|
27
|
+
print(f"Sensor context: {sensor_context}")
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## ✨ Features
|
|
31
|
+
|
|
32
|
+
- 🛡️ **Akamai Bot Manager**: Generate sensor data, handle pixel challenges, validate cookies
|
|
33
|
+
- 🔒 **Incapsula Protection**: Generate Reese84 sensors and UTMVC cookies
|
|
34
|
+
- ⚡ **Kasada Bypass**: Generate payload data (CT) and POW tokens (CD)
|
|
35
|
+
- 🎯 **DataDome Solutions**: Solve tags, slider captchas and interstitial challenges
|
|
36
|
+
- 🔧 **Easy Integration**: Simple Python API with async/await support
|
|
37
|
+
- ⚙️ **Flexible Configuration**: Custom HTTP clients and session management
|
|
38
|
+
|
|
39
|
+
## 📦 Installation
|
|
40
|
+
|
|
41
|
+
Install the Hyper Solutions SDK for Python using:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pip install hyper-sdk
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 📋 Table of Contents
|
|
48
|
+
|
|
49
|
+
- [Quick Start](#-quick-start)
|
|
50
|
+
- [Installation](#-installation)
|
|
51
|
+
- [Basic Usage](#-basic-usage)
|
|
52
|
+
- [Akamai Bot Manager](#-akamai-bot-manager)
|
|
53
|
+
- [Incapsula Protection](#-incapsula-protection)
|
|
54
|
+
- [Kasada Bypass](#-kasada-bypass)
|
|
55
|
+
- [DataDome Solutions](#-datadome-solutions)
|
|
56
|
+
- [Documentation](#-documentation)
|
|
57
|
+
- [Contributing](#-contributing)
|
|
58
|
+
- [License](#-license)
|
|
59
|
+
|
|
60
|
+
## 🔧 Basic Usage
|
|
61
|
+
|
|
62
|
+
### Creating a Session
|
|
63
|
+
|
|
64
|
+
Initialize the SDK with your API key to start bypassing bot protection:
|
|
65
|
+
|
|
66
|
+
```python
|
|
67
|
+
from hyper_sdk import Session
|
|
68
|
+
|
|
69
|
+
# Basic session
|
|
70
|
+
session = Session("your-api-key")
|
|
71
|
+
|
|
72
|
+
# Advanced session with custom configuration
|
|
73
|
+
session = Session(
|
|
74
|
+
api_key="your-api-key",
|
|
75
|
+
jwt_key="your-jwt-key",
|
|
76
|
+
app_key="your-app-key",
|
|
77
|
+
app_secret="your-app-secret",
|
|
78
|
+
client=custom_http_client
|
|
79
|
+
)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## 🛡️ Akamai Bot Manager
|
|
83
|
+
|
|
84
|
+
Bypass **Akamai Bot Manager** protection with sensor data generation, cookie validation, and challenge solving.
|
|
85
|
+
|
|
86
|
+
### Generating Sensor Data
|
|
87
|
+
|
|
88
|
+
Generate sensor data for valid **Akamai cookies** and bot detection bypass:
|
|
89
|
+
|
|
90
|
+
```python
|
|
91
|
+
sensor_data, context = await session.generate_sensor_data({
|
|
92
|
+
# Configure sensor parameters
|
|
93
|
+
})
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Handling Sec-Cpt Challenges
|
|
97
|
+
|
|
98
|
+
Solve **sec-cpt challenges** with built-in parsing and payload generation:
|
|
99
|
+
|
|
100
|
+
```python
|
|
101
|
+
from hyper_sdk.akamai import SecCptChallenge
|
|
102
|
+
|
|
103
|
+
# Parse sec-cpt challenge from HTML
|
|
104
|
+
challenge = SecCptChallenge.parse(html_content)
|
|
105
|
+
|
|
106
|
+
# Or parse from JSON response
|
|
107
|
+
challenge = SecCptChallenge.parse_from_json(json_response)
|
|
108
|
+
|
|
109
|
+
# Generate challenge response payload
|
|
110
|
+
payload = challenge.generate_sec_cpt_payload(sec_cpt_cookie)
|
|
111
|
+
|
|
112
|
+
# Handle challenge timing requirements
|
|
113
|
+
challenge.sleep()
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Cookie Validation
|
|
117
|
+
|
|
118
|
+
Validate **Akamai _abck cookies** and session states:
|
|
119
|
+
|
|
120
|
+
```python
|
|
121
|
+
from hyper_sdk.akamai import is_cookie_valid, is_cookie_invalidated
|
|
122
|
+
|
|
123
|
+
# Check if cookie is valid for the current request count
|
|
124
|
+
is_valid = is_cookie_valid(cookie_value, request_count)
|
|
125
|
+
|
|
126
|
+
# Check if cookie has been invalidated and needs refresh
|
|
127
|
+
needs_refresh = is_cookie_invalidated(cookie_value)
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Pixel Challenge Solving
|
|
131
|
+
|
|
132
|
+
Handle **Akamai pixel challenges** for advanced bot detection bypass:
|
|
133
|
+
|
|
134
|
+
```python
|
|
135
|
+
from hyper_sdk import PixelInput
|
|
136
|
+
from hyper_sdk.akamai import parse_pixel_html_var, parse_pixel_script_url, parse_pixel_script_var
|
|
137
|
+
|
|
138
|
+
# Parse pixel challenge data
|
|
139
|
+
html_var = parse_pixel_html_var(html_content)
|
|
140
|
+
script_url, post_url = parse_pixel_script_url(html_content)
|
|
141
|
+
script_var = parse_pixel_script_var(script_content)
|
|
142
|
+
|
|
143
|
+
# Generate pixel data
|
|
144
|
+
pixel_data = session.generate_pixel_data(PixelInput(
|
|
145
|
+
# pixel input fields
|
|
146
|
+
))
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## 🔒 Incapsula Protection
|
|
150
|
+
|
|
151
|
+
Bypass **Incapsula bot detection** with Reese84 sensors and UTMVC cookie generation.
|
|
152
|
+
|
|
153
|
+
### Generating Reese84 Sensors
|
|
154
|
+
|
|
155
|
+
Create **Reese84 sensor data** for Incapsula bypass:
|
|
156
|
+
|
|
157
|
+
```python
|
|
158
|
+
from hyper_sdk import ReeseInput
|
|
159
|
+
|
|
160
|
+
sensor_data = session.generate_reese84_sensor("example.com", ReeseInput(
|
|
161
|
+
# reese input fields
|
|
162
|
+
))
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### UTMVC Cookie Generation
|
|
166
|
+
|
|
167
|
+
Generate **UTMVC cookies** for Incapsula protection bypass:
|
|
168
|
+
|
|
169
|
+
```python
|
|
170
|
+
from hyper_sdk import UtmvcInput
|
|
171
|
+
|
|
172
|
+
utmvc_cookie, swhanedl = session.generate_utmvc_cookie(UtmvcInput(
|
|
173
|
+
# utmvc input fields
|
|
174
|
+
))
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Script Path Parsing
|
|
178
|
+
|
|
179
|
+
Parse **UTMVC script paths** and generate submit paths:
|
|
180
|
+
|
|
181
|
+
```python
|
|
182
|
+
from hyper_sdk.incapsula import parse_utmvc_script_path, get_utmvc_submit_path
|
|
183
|
+
|
|
184
|
+
# Parse script path from content
|
|
185
|
+
script_path = parse_utmvc_script_path(script_content)
|
|
186
|
+
|
|
187
|
+
# Generate unique submit path
|
|
188
|
+
submit_path = get_utmvc_submit_path()
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Dynamic Reese Script Parsing
|
|
192
|
+
|
|
193
|
+
Parse dynamic Reese84 script paths from interruption pages:
|
|
194
|
+
|
|
195
|
+
```python
|
|
196
|
+
from hyper_sdk.incapsula import parse_dynamic_reese_script
|
|
197
|
+
|
|
198
|
+
sensor_path, script_path = parse_dynamic_reese_script(html_content, "https://example.com")
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## ⚡ Kasada Bypass
|
|
202
|
+
|
|
203
|
+
Defeat **Kasada Bot Manager** with payload generation and POW solving.
|
|
204
|
+
|
|
205
|
+
### Generating Payload Data (CT)
|
|
206
|
+
|
|
207
|
+
Create **x-kpsdk-ct tokens** for Kasada bypass:
|
|
208
|
+
|
|
209
|
+
```python
|
|
210
|
+
from hyper_sdk import KasadaPayloadInput
|
|
211
|
+
|
|
212
|
+
payload, headers = session.generate_kasada_payload(KasadaPayloadInput(
|
|
213
|
+
# kasada payload input fields
|
|
214
|
+
))
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Generating POW Data (CD)
|
|
218
|
+
|
|
219
|
+
Solve **Kasada Proof-of-Work** challenges for x-kpsdk-cd tokens:
|
|
220
|
+
|
|
221
|
+
```python
|
|
222
|
+
from hyper_sdk import KasadaPowInput
|
|
223
|
+
|
|
224
|
+
pow_payload = session.generate_kasada_pow(KasadaPowInput(
|
|
225
|
+
# kasada pow input fields
|
|
226
|
+
))
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Script Path Extraction
|
|
230
|
+
|
|
231
|
+
Extract **Kasada script paths** from blocked pages (HTTP 429):
|
|
232
|
+
|
|
233
|
+
```python
|
|
234
|
+
from hyper_sdk.kasada import parse_script_path
|
|
235
|
+
|
|
236
|
+
script_path = parse_script_path(blocked_page_html)
|
|
237
|
+
# Returns: /ips.js?timestamp=...
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## 🎯 DataDome Solutions
|
|
241
|
+
|
|
242
|
+
Solve **DataDome captchas** including slider challenges and interstitial pages.
|
|
243
|
+
|
|
244
|
+
### Interstitial Challenge Solving
|
|
245
|
+
|
|
246
|
+
Bypass **DataDome interstitial pages**:
|
|
247
|
+
|
|
248
|
+
```python
|
|
249
|
+
from hyper_sdk import DataDomeInterstitialInput
|
|
250
|
+
|
|
251
|
+
result = session.generate_interstitial_payload(DataDomeInterstitialInput(
|
|
252
|
+
# interstitial input fields
|
|
253
|
+
))
|
|
254
|
+
|
|
255
|
+
payload = result["payload"]
|
|
256
|
+
headers = result["headers"]
|
|
257
|
+
# POST payload to https://geo.captcha-delivery.com/interstitial/
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### Slider Captcha Solving
|
|
261
|
+
|
|
262
|
+
Solve **DataDome slider captchas** automatically:
|
|
263
|
+
|
|
264
|
+
```python
|
|
265
|
+
from hyper_sdk import DataDomeSliderInput
|
|
266
|
+
|
|
267
|
+
result = session.generate_slider_payload(DataDomeSliderInput(
|
|
268
|
+
# slider input fields
|
|
269
|
+
))
|
|
270
|
+
|
|
271
|
+
check_url = result["payload"]
|
|
272
|
+
headers = result["headers"]
|
|
273
|
+
# GET request to check_url
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### Tags Payload Generation
|
|
277
|
+
|
|
278
|
+
Generate **DataDome tags payload**:
|
|
279
|
+
|
|
280
|
+
```python
|
|
281
|
+
from hyper_sdk import DataDomeTagsInput
|
|
282
|
+
|
|
283
|
+
tags_payload = session.generate_tags_payload(DataDomeTagsInput(
|
|
284
|
+
# tags input fields
|
|
285
|
+
))
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### DeviceLink URL Parsing
|
|
289
|
+
|
|
290
|
+
Extract **DataDome device check URLs** from blocked pages:
|
|
291
|
+
|
|
292
|
+
```python
|
|
293
|
+
from hyper_sdk.datadome import parse_interstitial_device_check_link, parse_slider_device_check_link
|
|
294
|
+
|
|
295
|
+
# Parse interstitial device links
|
|
296
|
+
device_link = parse_interstitial_device_check_link(
|
|
297
|
+
html_content,
|
|
298
|
+
datadome_cookie,
|
|
299
|
+
referer_url
|
|
300
|
+
)
|
|
301
|
+
|
|
302
|
+
# Parse slider device links
|
|
303
|
+
device_link = parse_slider_device_check_link(
|
|
304
|
+
html_content,
|
|
305
|
+
datadome_cookie,
|
|
306
|
+
referer_url
|
|
307
|
+
)
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
## 📖 Documentation
|
|
311
|
+
|
|
312
|
+
For detailed documentation on how to use the SDK, including examples and API reference, please visit our documentation website:
|
|
313
|
+
|
|
314
|
+
[https://docs.justhyped.dev/](https://docs.justhyped.dev/)
|
|
315
|
+
|
|
316
|
+
### Getting Help
|
|
317
|
+
|
|
318
|
+
- Check our [documentation](https://docs.justhyped.dev)
|
|
319
|
+
- Join our [Discord community](https://discord.gg/akamai)
|
|
320
|
+
|
|
321
|
+
## 🤝 Contributing
|
|
322
|
+
|
|
323
|
+
If you find any issues or have suggestions for improvement, please open an issue or submit a pull request.
|
|
324
|
+
|
|
325
|
+
## 📄 License
|
|
326
|
+
|
|
327
|
+
This SDK is licensed under the [MIT License](LICENSE).
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
**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
|
|
@@ -8,11 +8,11 @@ class UtmvcInput:
|
|
|
8
8
|
self.script = script
|
|
9
9
|
|
|
10
10
|
class ReeseInput:
|
|
11
|
-
def __init__(self, user_agent: str, acceptLanguage: str, ip: str, pageUrl: str, pow: str,
|
|
11
|
+
def __init__(self, user_agent: str, acceptLanguage: str, ip: str, pageUrl: str, pow: str, script: str, scriptUrl: str = ""):
|
|
12
12
|
self.user_agent = user_agent
|
|
13
13
|
self.acceptLanguage = acceptLanguage
|
|
14
14
|
self.ip = ip
|
|
15
15
|
self.scriptUrl = scriptUrl
|
|
16
16
|
self.pow = pow
|
|
17
|
-
self.
|
|
17
|
+
self.script = script
|
|
18
18
|
self.pageUrl = pageUrl
|
|
@@ -142,7 +142,7 @@ class Session:
|
|
|
142
142
|
'scriptUrl': input_data.scriptUrl,
|
|
143
143
|
'pageUrl': input_data.pageUrl,
|
|
144
144
|
'pow': input_data.pow,
|
|
145
|
-
'
|
|
145
|
+
'script': input_data.script,
|
|
146
146
|
})
|
|
147
147
|
|
|
148
148
|
def generate_utmvc_cookie(self, input_data: UtmvcInput) -> str:
|
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hyper_sdk
|
|
3
|
+
Version: 2.5.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
|
+
Requires-Python: >=3.6
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
License-File: LICENSE
|
|
34
|
+
Requires-Dist: certifi>=2024.2.2
|
|
35
|
+
Requires-Dist: charset-normalizer>=3.3.2
|
|
36
|
+
Requires-Dist: idna>=3.6
|
|
37
|
+
Requires-Dist: jsonpickle>=3.0.3
|
|
38
|
+
Requires-Dist: PyJWT>=2.8.0
|
|
39
|
+
Requires-Dist: requests>=2.31.0
|
|
40
|
+
Requires-Dist: urllib3>=2.2.1
|
|
41
|
+
Dynamic: license-file
|
|
42
|
+
|
|
43
|
+
# Hyper Solutions SDK - Python Library for Bot Protection Bypass (Akamai, Incapsula, Kasada, DataDome)
|
|
44
|
+
|
|
45
|
+

|
|
46
|
+

|
|
47
|
+

|
|
48
|
+

|
|
49
|
+
|
|
50
|
+
[](https://discord.gg/akamai)
|
|
51
|
+
|
|
52
|
+
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.
|
|
53
|
+
|
|
54
|
+
Perfect for **web scraping**, **automation**, and **data collection** from protected websites.
|
|
55
|
+
|
|
56
|
+
## 🚀 Quick Start
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
from hyper_sdk import Session, SensorInput
|
|
60
|
+
|
|
61
|
+
session = Session("your-api-key")
|
|
62
|
+
|
|
63
|
+
# Generate Akamai sensor data
|
|
64
|
+
sensor_data, sensor_context = session.generate_sensor_data(SensorInput(
|
|
65
|
+
# sensor input fields
|
|
66
|
+
))
|
|
67
|
+
|
|
68
|
+
print(f"Generated sensor data: {sensor_data}")
|
|
69
|
+
print(f"Sensor context: {sensor_context}")
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## ✨ Features
|
|
73
|
+
|
|
74
|
+
- 🛡️ **Akamai Bot Manager**: Generate sensor data, handle pixel challenges, validate cookies
|
|
75
|
+
- 🔒 **Incapsula Protection**: Generate Reese84 sensors and UTMVC cookies
|
|
76
|
+
- ⚡ **Kasada Bypass**: Generate payload data (CT) and POW tokens (CD)
|
|
77
|
+
- 🎯 **DataDome Solutions**: Solve tags, slider captchas and interstitial challenges
|
|
78
|
+
- 🔧 **Easy Integration**: Simple Python API with async/await support
|
|
79
|
+
- ⚙️ **Flexible Configuration**: Custom HTTP clients and session management
|
|
80
|
+
|
|
81
|
+
## 📦 Installation
|
|
82
|
+
|
|
83
|
+
Install the Hyper Solutions SDK for Python using:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
pip install hyper-sdk
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## 📋 Table of Contents
|
|
90
|
+
|
|
91
|
+
- [Quick Start](#-quick-start)
|
|
92
|
+
- [Installation](#-installation)
|
|
93
|
+
- [Basic Usage](#-basic-usage)
|
|
94
|
+
- [Akamai Bot Manager](#-akamai-bot-manager)
|
|
95
|
+
- [Incapsula Protection](#-incapsula-protection)
|
|
96
|
+
- [Kasada Bypass](#-kasada-bypass)
|
|
97
|
+
- [DataDome Solutions](#-datadome-solutions)
|
|
98
|
+
- [Documentation](#-documentation)
|
|
99
|
+
- [Contributing](#-contributing)
|
|
100
|
+
- [License](#-license)
|
|
101
|
+
|
|
102
|
+
## 🔧 Basic Usage
|
|
103
|
+
|
|
104
|
+
### Creating a Session
|
|
105
|
+
|
|
106
|
+
Initialize the SDK with your API key to start bypassing bot protection:
|
|
107
|
+
|
|
108
|
+
```python
|
|
109
|
+
from hyper_sdk import Session
|
|
110
|
+
|
|
111
|
+
# Basic session
|
|
112
|
+
session = Session("your-api-key")
|
|
113
|
+
|
|
114
|
+
# Advanced session with custom configuration
|
|
115
|
+
session = Session(
|
|
116
|
+
api_key="your-api-key",
|
|
117
|
+
jwt_key="your-jwt-key",
|
|
118
|
+
app_key="your-app-key",
|
|
119
|
+
app_secret="your-app-secret",
|
|
120
|
+
client=custom_http_client
|
|
121
|
+
)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## 🛡️ Akamai Bot Manager
|
|
125
|
+
|
|
126
|
+
Bypass **Akamai Bot Manager** protection with sensor data generation, cookie validation, and challenge solving.
|
|
127
|
+
|
|
128
|
+
### Generating Sensor Data
|
|
129
|
+
|
|
130
|
+
Generate sensor data for valid **Akamai cookies** and bot detection bypass:
|
|
131
|
+
|
|
132
|
+
```python
|
|
133
|
+
sensor_data, context = await session.generate_sensor_data({
|
|
134
|
+
# Configure sensor parameters
|
|
135
|
+
})
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Handling Sec-Cpt Challenges
|
|
139
|
+
|
|
140
|
+
Solve **sec-cpt challenges** with built-in parsing and payload generation:
|
|
141
|
+
|
|
142
|
+
```python
|
|
143
|
+
from hyper_sdk.akamai import SecCptChallenge
|
|
144
|
+
|
|
145
|
+
# Parse sec-cpt challenge from HTML
|
|
146
|
+
challenge = SecCptChallenge.parse(html_content)
|
|
147
|
+
|
|
148
|
+
# Or parse from JSON response
|
|
149
|
+
challenge = SecCptChallenge.parse_from_json(json_response)
|
|
150
|
+
|
|
151
|
+
# Generate challenge response payload
|
|
152
|
+
payload = challenge.generate_sec_cpt_payload(sec_cpt_cookie)
|
|
153
|
+
|
|
154
|
+
# Handle challenge timing requirements
|
|
155
|
+
challenge.sleep()
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Cookie Validation
|
|
159
|
+
|
|
160
|
+
Validate **Akamai _abck cookies** and session states:
|
|
161
|
+
|
|
162
|
+
```python
|
|
163
|
+
from hyper_sdk.akamai import is_cookie_valid, is_cookie_invalidated
|
|
164
|
+
|
|
165
|
+
# Check if cookie is valid for the current request count
|
|
166
|
+
is_valid = is_cookie_valid(cookie_value, request_count)
|
|
167
|
+
|
|
168
|
+
# Check if cookie has been invalidated and needs refresh
|
|
169
|
+
needs_refresh = is_cookie_invalidated(cookie_value)
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Pixel Challenge Solving
|
|
173
|
+
|
|
174
|
+
Handle **Akamai pixel challenges** for advanced bot detection bypass:
|
|
175
|
+
|
|
176
|
+
```python
|
|
177
|
+
from hyper_sdk import PixelInput
|
|
178
|
+
from hyper_sdk.akamai import parse_pixel_html_var, parse_pixel_script_url, parse_pixel_script_var
|
|
179
|
+
|
|
180
|
+
# Parse pixel challenge data
|
|
181
|
+
html_var = parse_pixel_html_var(html_content)
|
|
182
|
+
script_url, post_url = parse_pixel_script_url(html_content)
|
|
183
|
+
script_var = parse_pixel_script_var(script_content)
|
|
184
|
+
|
|
185
|
+
# Generate pixel data
|
|
186
|
+
pixel_data = session.generate_pixel_data(PixelInput(
|
|
187
|
+
# pixel input fields
|
|
188
|
+
))
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## 🔒 Incapsula Protection
|
|
192
|
+
|
|
193
|
+
Bypass **Incapsula bot detection** with Reese84 sensors and UTMVC cookie generation.
|
|
194
|
+
|
|
195
|
+
### Generating Reese84 Sensors
|
|
196
|
+
|
|
197
|
+
Create **Reese84 sensor data** for Incapsula bypass:
|
|
198
|
+
|
|
199
|
+
```python
|
|
200
|
+
from hyper_sdk import ReeseInput
|
|
201
|
+
|
|
202
|
+
sensor_data = session.generate_reese84_sensor("example.com", ReeseInput(
|
|
203
|
+
# reese input fields
|
|
204
|
+
))
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### UTMVC Cookie Generation
|
|
208
|
+
|
|
209
|
+
Generate **UTMVC cookies** for Incapsula protection bypass:
|
|
210
|
+
|
|
211
|
+
```python
|
|
212
|
+
from hyper_sdk import UtmvcInput
|
|
213
|
+
|
|
214
|
+
utmvc_cookie, swhanedl = session.generate_utmvc_cookie(UtmvcInput(
|
|
215
|
+
# utmvc input fields
|
|
216
|
+
))
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Script Path Parsing
|
|
220
|
+
|
|
221
|
+
Parse **UTMVC script paths** and generate submit paths:
|
|
222
|
+
|
|
223
|
+
```python
|
|
224
|
+
from hyper_sdk.incapsula import parse_utmvc_script_path, get_utmvc_submit_path
|
|
225
|
+
|
|
226
|
+
# Parse script path from content
|
|
227
|
+
script_path = parse_utmvc_script_path(script_content)
|
|
228
|
+
|
|
229
|
+
# Generate unique submit path
|
|
230
|
+
submit_path = get_utmvc_submit_path()
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Dynamic Reese Script Parsing
|
|
234
|
+
|
|
235
|
+
Parse dynamic Reese84 script paths from interruption pages:
|
|
236
|
+
|
|
237
|
+
```python
|
|
238
|
+
from hyper_sdk.incapsula import parse_dynamic_reese_script
|
|
239
|
+
|
|
240
|
+
sensor_path, script_path = parse_dynamic_reese_script(html_content, "https://example.com")
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## ⚡ Kasada Bypass
|
|
244
|
+
|
|
245
|
+
Defeat **Kasada Bot Manager** with payload generation and POW solving.
|
|
246
|
+
|
|
247
|
+
### Generating Payload Data (CT)
|
|
248
|
+
|
|
249
|
+
Create **x-kpsdk-ct tokens** for Kasada bypass:
|
|
250
|
+
|
|
251
|
+
```python
|
|
252
|
+
from hyper_sdk import KasadaPayloadInput
|
|
253
|
+
|
|
254
|
+
payload, headers = session.generate_kasada_payload(KasadaPayloadInput(
|
|
255
|
+
# kasada payload input fields
|
|
256
|
+
))
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### Generating POW Data (CD)
|
|
260
|
+
|
|
261
|
+
Solve **Kasada Proof-of-Work** challenges for x-kpsdk-cd tokens:
|
|
262
|
+
|
|
263
|
+
```python
|
|
264
|
+
from hyper_sdk import KasadaPowInput
|
|
265
|
+
|
|
266
|
+
pow_payload = session.generate_kasada_pow(KasadaPowInput(
|
|
267
|
+
# kasada pow input fields
|
|
268
|
+
))
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Script Path Extraction
|
|
272
|
+
|
|
273
|
+
Extract **Kasada script paths** from blocked pages (HTTP 429):
|
|
274
|
+
|
|
275
|
+
```python
|
|
276
|
+
from hyper_sdk.kasada import parse_script_path
|
|
277
|
+
|
|
278
|
+
script_path = parse_script_path(blocked_page_html)
|
|
279
|
+
# Returns: /ips.js?timestamp=...
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
## 🎯 DataDome Solutions
|
|
283
|
+
|
|
284
|
+
Solve **DataDome captchas** including slider challenges and interstitial pages.
|
|
285
|
+
|
|
286
|
+
### Interstitial Challenge Solving
|
|
287
|
+
|
|
288
|
+
Bypass **DataDome interstitial pages**:
|
|
289
|
+
|
|
290
|
+
```python
|
|
291
|
+
from hyper_sdk import DataDomeInterstitialInput
|
|
292
|
+
|
|
293
|
+
result = session.generate_interstitial_payload(DataDomeInterstitialInput(
|
|
294
|
+
# interstitial input fields
|
|
295
|
+
))
|
|
296
|
+
|
|
297
|
+
payload = result["payload"]
|
|
298
|
+
headers = result["headers"]
|
|
299
|
+
# POST payload to https://geo.captcha-delivery.com/interstitial/
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Slider Captcha Solving
|
|
303
|
+
|
|
304
|
+
Solve **DataDome slider captchas** automatically:
|
|
305
|
+
|
|
306
|
+
```python
|
|
307
|
+
from hyper_sdk import DataDomeSliderInput
|
|
308
|
+
|
|
309
|
+
result = session.generate_slider_payload(DataDomeSliderInput(
|
|
310
|
+
# slider input fields
|
|
311
|
+
))
|
|
312
|
+
|
|
313
|
+
check_url = result["payload"]
|
|
314
|
+
headers = result["headers"]
|
|
315
|
+
# GET request to check_url
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Tags Payload Generation
|
|
319
|
+
|
|
320
|
+
Generate **DataDome tags payload**:
|
|
321
|
+
|
|
322
|
+
```python
|
|
323
|
+
from hyper_sdk import DataDomeTagsInput
|
|
324
|
+
|
|
325
|
+
tags_payload = session.generate_tags_payload(DataDomeTagsInput(
|
|
326
|
+
# tags input fields
|
|
327
|
+
))
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### DeviceLink URL Parsing
|
|
331
|
+
|
|
332
|
+
Extract **DataDome device check URLs** from blocked pages:
|
|
333
|
+
|
|
334
|
+
```python
|
|
335
|
+
from hyper_sdk.datadome import parse_interstitial_device_check_link, parse_slider_device_check_link
|
|
336
|
+
|
|
337
|
+
# Parse interstitial device links
|
|
338
|
+
device_link = parse_interstitial_device_check_link(
|
|
339
|
+
html_content,
|
|
340
|
+
datadome_cookie,
|
|
341
|
+
referer_url
|
|
342
|
+
)
|
|
343
|
+
|
|
344
|
+
# Parse slider device links
|
|
345
|
+
device_link = parse_slider_device_check_link(
|
|
346
|
+
html_content,
|
|
347
|
+
datadome_cookie,
|
|
348
|
+
referer_url
|
|
349
|
+
)
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
## 📖 Documentation
|
|
353
|
+
|
|
354
|
+
For detailed documentation on how to use the SDK, including examples and API reference, please visit our documentation website:
|
|
355
|
+
|
|
356
|
+
[https://docs.justhyped.dev/](https://docs.justhyped.dev/)
|
|
357
|
+
|
|
358
|
+
### Getting Help
|
|
359
|
+
|
|
360
|
+
- Check our [documentation](https://docs.justhyped.dev)
|
|
361
|
+
- Join our [Discord community](https://discord.gg/akamai)
|
|
362
|
+
|
|
363
|
+
## 🤝 Contributing
|
|
364
|
+
|
|
365
|
+
If you find any issues or have suggestions for improvement, please open an issue or submit a pull request.
|
|
366
|
+
|
|
367
|
+
## 📄 License
|
|
368
|
+
|
|
369
|
+
This SDK is licensed under the [MIT License](LICENSE).
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
**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
|
hyper_sdk-2.4.1/PKG-INFO
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: hyper_sdk
|
|
3
|
-
Version: 2.4.1
|
|
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
|
-
Requires-Python: >=3.6
|
|
32
|
-
Description-Content-Type: text/markdown
|
|
33
|
-
License-File: LICENSE
|
|
34
|
-
Requires-Dist: certifi>=2024.2.2
|
|
35
|
-
Requires-Dist: charset-normalizer>=3.3.2
|
|
36
|
-
Requires-Dist: idna>=3.6
|
|
37
|
-
Requires-Dist: jsonpickle>=3.0.3
|
|
38
|
-
Requires-Dist: PyJWT>=2.8.0
|
|
39
|
-
Requires-Dist: requests>=2.31.0
|
|
40
|
-
Requires-Dist: urllib3>=2.2.1
|
|
41
|
-
Dynamic: license-file
|
|
42
|
-
|
|
43
|
-
# Hyper Solutions SDK for Python
|
|
44
|
-
|
|
45
|
-
## Installation
|
|
46
|
-
|
|
47
|
-
To use the Hyper Solutions SDK in your Python project, you need to install it using the following command:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
pip install hyper-sdk
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Documentation
|
|
54
|
-
|
|
55
|
-
For detailed documentation on how to use the SDK, including examples and API reference, please visit our documentation website:
|
|
56
|
-
|
|
57
|
-
[https://docs.justhyped.dev/](https://docs.justhyped.dev/)
|
|
58
|
-
|
|
59
|
-
## Contributing
|
|
60
|
-
|
|
61
|
-
If you find any issues or have suggestions for improvement, please open an issue or submit a pull request.
|
|
62
|
-
|
|
63
|
-
## License
|
|
64
|
-
|
|
65
|
-
This SDK is licensed under the [MIT License](LICENSE).
|
hyper_sdk-2.4.1/README.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Hyper Solutions SDK for Python
|
|
2
|
-
|
|
3
|
-
## Installation
|
|
4
|
-
|
|
5
|
-
To use the Hyper Solutions SDK in your Python project, you need to install it using the following command:
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
pip install hyper-sdk
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Documentation
|
|
12
|
-
|
|
13
|
-
For detailed documentation on how to use the SDK, including examples and API reference, please visit our documentation website:
|
|
14
|
-
|
|
15
|
-
[https://docs.justhyped.dev/](https://docs.justhyped.dev/)
|
|
16
|
-
|
|
17
|
-
## Contributing
|
|
18
|
-
|
|
19
|
-
If you find any issues or have suggestions for improvement, please open an issue or submit a pull request.
|
|
20
|
-
|
|
21
|
-
## License
|
|
22
|
-
|
|
23
|
-
This SDK is licensed under the [MIT License](LICENSE).
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: hyper_sdk
|
|
3
|
-
Version: 2.4.1
|
|
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
|
-
Requires-Python: >=3.6
|
|
32
|
-
Description-Content-Type: text/markdown
|
|
33
|
-
License-File: LICENSE
|
|
34
|
-
Requires-Dist: certifi>=2024.2.2
|
|
35
|
-
Requires-Dist: charset-normalizer>=3.3.2
|
|
36
|
-
Requires-Dist: idna>=3.6
|
|
37
|
-
Requires-Dist: jsonpickle>=3.0.3
|
|
38
|
-
Requires-Dist: PyJWT>=2.8.0
|
|
39
|
-
Requires-Dist: requests>=2.31.0
|
|
40
|
-
Requires-Dist: urllib3>=2.2.1
|
|
41
|
-
Dynamic: license-file
|
|
42
|
-
|
|
43
|
-
# Hyper Solutions SDK for Python
|
|
44
|
-
|
|
45
|
-
## Installation
|
|
46
|
-
|
|
47
|
-
To use the Hyper Solutions SDK in your Python project, you need to install it using the following command:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
pip install hyper-sdk
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Documentation
|
|
54
|
-
|
|
55
|
-
For detailed documentation on how to use the SDK, including examples and API reference, please visit our documentation website:
|
|
56
|
-
|
|
57
|
-
[https://docs.justhyped.dev/](https://docs.justhyped.dev/)
|
|
58
|
-
|
|
59
|
-
## Contributing
|
|
60
|
-
|
|
61
|
-
If you find any issues or have suggestions for improvement, please open an issue or submit a pull request.
|
|
62
|
-
|
|
63
|
-
## License
|
|
64
|
-
|
|
65
|
-
This SDK is licensed under the [MIT License](LICENSE).
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|