Addons

1. What's it?

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, ....

2. Built-in Addons

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

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

3. How to use addons?

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=
}

You can find all addons code at ~/Library/Application\ Support/com.proxyman.NSProxy/addons

4. Notes

The require function is not a native function from Javascript - Node. As it's not supported from JavascriptCore framework, it's a custom function that Proxyman provides to allows the user imports the addons/libs easily

Thanks Ivan Mathy for creating Boop app that facilitates Proxyman's built-in add-ons.

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