{
}
const axios = require('axios');
const url = 'https://api.safekodo.com/api/v1';
const data = {
config: {
model: "3",
env: "浏览器",
noformat: true,
renameFNGlobals: true,
domain: [],
constword: [],
timeLock: false,
domainNotIn: "",
diecode: true,
noconsole: true,
norewrite: true,
banRobotization: true,
controlFlow: true,
nodebug: true,
/**...更多参数,自定义传入 */
},
code: `console.log('替换为您需要加密的js代码')`,
token: '填写您的apiToken'
};
axios.post(url, data)
.then(response => {
console.log('Response:', response.data);/**do something */
})
.catch(error => {
console.error('Error:', error);
});
JavaScript API Request Encryption
Hover over the blue icon for help on each setting.- VIP
- CustVer Requires membership. Set a custom version number here. If empty, the version number display will be removed.
- RemHdr Requires membership to unlock.
- Domain Lock Format should be www.safekodo.com or safekodo.com. Supports wildcard subdomains, e.g., *.safekodo.com
- Non-locked Configure actions for running code outside locked domains.
- ResNames When obfuscating variable and function names, add those you don't want obfuscated here.
- Time Lock Note: Default lock time is one year. Modify as needed.
- EncSet Note: Not all historical versions are selectable. Versions with bugs are excluded. Typically, only two options are available: Stable and Latest.
- Per-use Infrequent users can buy a per-use package to access VIP features.
will not be consumed
Per-use
👉safekodo will not save any of your code. Ownership of encrypted and unencrypted code remains with you.
👉safekodo will not insert any malicious code into encrypted code.
👉safekodo will never accept any decryption requests under any circumstances. All users, whether free or sponsored, are treated equally. Paying users will not receive special treatment.
👉safekodo is a free tool. If it helps you, please click on the upper right corner of the encryption editor.😄 Support Us
👉Even paid users only get more customization options. Encryption strength is not significantly different from the free version.
👉safekodo provides professional JavaScript code protection. It aims to offer professional protection for more websites. Early protection means more security!
When using multi-file encryption, compress the JS code into a zip file. All .js files should be in the same directory (i.e., unzip to get multiple JS files directly, not a folder containing files).
Multi-file encryption will not recursively get JS files from folders within the zip. It only encrypts JS files in the default path.
Highly recommended parameters to keep during encryption: Obfuscate code injection, Remove console functions, Disable F12 key, Flatten control flow, Disable console debugging, Prevent code formatting. If the encrypted code does not reference other JS files, select 'Obfuscate variable and function names'. If there are references, add the variable and function names in 'Reserved Words'. For website applications, enable domain lock. For strong encryption, choose 'Strongest Encryption'. For performance, choose 'Best Performance'. For a balance, choose 'Balanced Encryption'. To limit code execution to a specific time, use 'Time Lock'.
Do not re-encrypt already encrypted code. It reduces encryption security. Encrypt once.
If you don't want your site displayed through an iframe by other sites or in environments like Electron, typically you add an HTTP response header, but this can be bypassed (e.g., intercept and modify the response header in Electron). Therefore, select this option. Note that current version disallows iframe loading regardless of same-origin.
Select to run code in strict mode. If encrypted code runs in a mini-program, select this option. (If not selected, disable strict mode in the mini-program developer tool. Different mini-programs may have different terms. For mini-program environments, select strict mode.)
If the code runs without errors but has no effect, check if it is allowed on the specified (locked domain) domain. Also check if time lock is configured and if it is within the specified time.
If the code causes the browser to freeze, check if 'Disable Console Debugging' is configured and if the browser is blocking it. Also check if 'Flatten Control Flow' or 'Prevent Code Formatting' causes the issue. Test with a simpler configuration.
If the code encounters errors, verify if 'Obfuscate variable and function names' causes variable name conflicts. Add conflicting variables to 'Reserved Words'. Also check if the code uses external references that need special handling.
Refer to the 'API Encryption Settings' section for more configuration options.