# Write your own Addons

## 1. What's it?

You can write your own Addon to achieve what Proxyman hasn't provided yet. You can do:

* Write your own Javascript Addon.
* Use [Built-in Libraries](/scripting/built-in-js-libraries.md).
* Write your library and share it with your colleauges.

## 2. How to write an addon?

1. Open User Addon folder at `~/Library/Application\ Support/com.proxyman.NSProxy/users` or you can open by opening the More Button -> Documentations -> Open Custom Addons Folder...

![](/files/-MgzivyyrfR93vyj9hMZ)

2\. Duplicate `HelloWorld.js` file and rename it to **MyAwesomeAddon.js**

3\. Open the file and you can see the template.

4\. Change the metadata and write your JS Code

```javascript
/**
    {
        "name":"My Awesome Addon",
        "description":"The first User Addons",
        "author":"Proxyman",
        "tags":"helloworld"
    }
**/

const { md5 } = require("@addons/MD5.js");

const sayHello = () => {
  var content = "Hello World. My first custom Addon.";
  var hash = md5(content);
  return content + ". MD5 = " + hash;
};

// Make sure you export the function at the end of method
exports.sayHello = sayHello;

```

* You can import built-in addons by using **require(@"addons/\<name.js>")**

```javascript
const { md5 } = require("@addons/MD5.js");
```

{% hint style="info" %}
Check out the [built-in addons ](/scripting/addons.md#2-built-in-addons)that Proxyman provides
{% endhint %}

* You can import a built-in library by using **require(@"lib/\<name.js>")**

{% hint style="info" %}
Check out the [built-in library](/scripting/built-in-js-libraries.md) that Proxyman provides
{% endhint %}

5\. Save the file

6\. Open your Script in Proxyman app and import the script

```javascript
// Import your addon
// Make sure you imports the function that you exports in the addons
const { sayHello } = require("@users/MyAwesomeAddon.js");

// Usage
sayHello();
```

{% hint style="info" %}
**require("@users/MyAwesomeAddon.js")** is your addon directory

@users is the Custom Addons Folder.
{% endhint %}

## 3. Note

{% hint style="info" %}
Your own scripts are stored at **\~/Library/Application\ Support/com.proxyman.NSProxy/users**

This folder is safe. It's never overridden or removed by Proxyman.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.proxyman.com/scripting/write-your-own-addons.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
