# Escribir tus propios addons

> Escribe tu propio addon de JavaScript para Proxyman Scripting, guárdalo en la carpeta de addons personalizados e impórtalo en cualquier script con require().

## 1. ¿Qué es? {#1-whats-it}

Puedes escribir tu propio addon para hacer lo que todavía no hacen los addons integrados. Puedes:

* Escribir tu propio addon de JavaScript.
* Usar las [librerías integradas](https://proxyman.com/docs/es/scripting/built-in-js-libraries).
* Escribir tu propia librería y compartirla con tus compañeros.

## 2. ¿Cómo escribir un addon? {#2-how-to-write-an-addon}

1. Abre la carpeta de addons de usuario en `~/Library/Application\ Support/com.proxyman.NSProxy/users`. También puedes hacerlo desde el Script Editor: haz clic en **More** -> **Documentations** -> **Open Custom Addons Folder...**

![Menú More del Script Editor de Proxyman con Documentations abierto y Open Custom Addons Folder resaltado](https://proxyman.com/docs/assets/proxyman-script-open-custom-addons-folder.jpg)

_Abre la carpeta Custom Addons_

2\. Duplica el archivo `HelloWorld.js` y cámbiale el nombre a **MyAwesomeAddon.js**

3\. Abre el archivo para ver la plantilla.

4\. Cambia los metadatos y escribe tu código JS

```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;

```

* Puedes importar addons integrados con **require("@addons/\<name.js>")**

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

> **Nota:** Consulta los [addons integrados](https://proxyman.com/docs/es/scripting/addons#2-built-in-addons) que ofrece Proxyman

* Puedes importar una librería integrada con **require("@libs/\<name.js>")**

> **Nota:** Consulta la [librería integrada](https://proxyman.com/docs/es/scripting/built-in-js-libraries) que ofrece Proxyman

5\. Guarda el archivo

6\. Abre tu script en Proxyman e importa el addon

```javascript
// Import your addon
// Make sure you import the functions that you export in the addon
const { sayHello } = require("@users/MyAwesomeAddon.js");

// Usage
sayHello();
```

> **Nota:** En **require("@users/MyAwesomeAddon.js")**, `@users` es la carpeta Custom Addons.

## 3. Nota {#3-note}

> **Nota:** Tus propios addons se guardan en **\~/Library/Application\ Support/com.proxyman.NSProxy/users**
>
> Esta carpeta es segura. Proxyman nunca la sobrescribe ni la elimina.
