Proxyman provides a list of handy built-in add-ons that help you to do many common tasks, such as MD5, SHA1 Hashing, Base64 Encode/Decode, Beautify XML, JSON, ....
You can find sample code for all addons at Addons Snippet Code
Name | Description |
---|---|
Base64.js | Base64 Encoding/Decode. Support Native atob/btoa function |
CamelCase.js | Convert text to Camel Case |
CryptoJS.js | DES, AES, Rabbit encryption/decryption algorithm. A small wrapper of CryptoJS |
DateToTimestamp.js | Convert String Date to Timestamp |
DateToUTC.js | Convert String Date to UTC String |
DecodeURI.js | Decode percent-encoded String |
EncodeURI.js | Encode to percent-encoded String |
FormatCSS.js | Beautify CSS String |
FormatJSON.js | Beautify JSON String |
BeautifyJSON.js | Convert JSON Obj to beauty JSON String |
UglifyJSON.js | Convert JSON Obj to ugly JSON String |
FormatXML.js | Beautify XML String |
HelloWorld.js | Hello World |
Hex2rgb.js | Convert #000000 string to RGB string |
JsonToQuery.js | Convert JSON Objc to Query String |
JSONValidator.js | Validate JSON String |
JWTDecode.js | Decode JWT Token |
KebabCase.js | Conver to Kebab String |
MD5.js | Hash MD5 |
MinifyCSS.js | Minify CSS String |
MinifyJSON.js | Minify JSON String |
MinifyXML.js | Minify XML String |
QueryToJson.js | Convert Query String to JSON Object |
Pako.js | Deflate/Inflate and GZip/UnGZip |
SHA1.js | Hash SHA1 |
SHA256.js | Hash SHA256 |
SHA512.js | Hash SHA512 |
SnakeCase.js | Convert to Snake Case |
StartCase.js | Convert to Start Case |
UUID.js | Generate Unique UUID-v4 string |
Each addon will export the function that you can import by using the require
function
To illustrate, Base64.js addon looks like:
// Base64.js
const Base64 = require('@libs/base64.js');
const { atob } = require("@libs/atob.js");
const { btoa } = require("@libs/btoa.js");
// atob / btoa
// They're equivalent with window.atob and window.btoa
exports.atob = atob;
exports.btoa = btoa;
// Basic Base64
exports.base64Decode = (input) => {
return Base64.decode(input)
};
exports.base64Encode = (input) => {
return Base64.encode(input);
};
Then, you can use it in the script:
const { atob, btoa } = require("@addons/Base64.js")
function onRequest(context, url, request) {
// Encode base64 by using the export function
var text = btoa("Hello World");
console.log(text)
// => SGVsbG8gV29ybGQ=
}
{% hint style="info" %} You can find all addons code at ~/Library/Application\ Support/com.proxyman.NSProxy/addons {% endhint %}
{% hint style="info" %}
The require
function is not a built-in function from JavascriptCore framework, it's a custom function that Proxyman provides to allows the user to import the addons/libs easily.
Thanks to Ivan Mathy for creating Boop app that facilitates Proxyman's built-in add-ons. {% endhint %}
{% hint style="info" %} Addons folder will be overridden for every new Proxyman Update. Make sure you don't edit the addon. If need to modify, please copy to the users folder {% endhint %}