datadome-interstital-encryptor
v1.0.0
Published
Node.js module for encrypting signals as per the Datadome 5s Interstitial Challenge, requiring only a Datadome cookie and website hash.
Downloads
4
Maintainers
Readme
datadome-interstital-encryptor
The datadome-interstital-encryptor
is a Node.js module designed to assist in encrypting signals for the Datadome Interstitial Challenge, commonly referred to as the "5s challenge". This module replicates the same encryption process used in Datadome, allowing developers to handle Datadome-related encryption tasks within a Node.js environment.
Checkout the source code on GitHub
Table of Contents
Installation
Install the package via npm:
npm install datadome-interstital-encryptor
Usage
To use datadome-interstital-encryptor
, you need the initial Datadome cookie set by the website and the website's hash. The seed value is typically consistent across most websites.
Here's a basic example of how to use the module:
const InterstitalEncryptor = require('datadome-interstital-encryptor');
// Initialize with your Datadome cookie, website hash, and optional seed
const cid = 'your-datadome-cookie'; // Replace with your Datadome cookie
const hash = 'your-website-hash'; // Replace with your website's hash
const encryptor = new InterstitalEncryptor(cid, hash);
// Add signals to be encrypted
encryptor.addSignal('signal1', 'value1');
encryptor.addSignal('signal2', 'value2');
// Retrieve the encrypted payload
const encryptedPayload = encryptor.getPayload();
console.log(encryptedPayload);
Features
- Easy to Integrate: Designed to be easily integrated into any Node.js project requiring Datadome challenge encryption.
- Customizable: While a default seed value is provided, it allows for customization if your application requires a different seed value.
- Efficient Encryption: Efficiently encrypts signals as required by the Datadome 5s challenge.
API
The module provides the following methods:
constructor(cid, hash, seed?)
: Initializes the encryptor with the provided Datadome cookie, website hash, and an optional seed.addSignal(signal, value)
: Adds a new signal and its value to the encryptor.getPayload()
: Returns the current encrypted payload.getSignals()
: Retrieves all signals currently added to the encryptor.
Examples
For more detailed examples, please refer to the examples
folder in this package.
Contributing
Contributions to the datadome-interstital-encryptor
module are welcome. Please ensure that your code adheres to the existing style and includes tests covering new functionality.
License
This project is licensed under the MIT License.