---
title: openvpn
slug: develop/es/openvpn
docTags: 
createdAt: 2025-03-26T14:48:06.534Z
---

El objeto *openvpn* se puede usar para conectar reproductores y servidores a través de una VPN, sin hacerlos accesibles para todos.

**IDL de openvpn**

```javascript
interface OpenVpnConfig {
    attribute String archiveFile;
    attribute String? obfuscatedSecret;
};

interface OpenVpn {
    Promise<void> installAndRun(OpenVpnConfig config);
    Promise<void> uninstall();
};
```

## Creación de objetos

```javascript
var openvpn = require('@brightsign/openvpn');
var ovpn = new openvpn();
```

## OpenVpn

**installAndRun()**

```javascript
Promise<void> installAndRun(params: OpenVpnParams)
```

Instale la configuración y ejecute OpenVPN.

**uninstall()**

```javascript
Promise<void> uninstall()
```

Detenga y desinstale la configuración

## OpenVpnConfig

- `archiveFile` <font color="#6554c0">string</font>: Ruta al archivo zip de configuración
- `obfuscatedSecret `<font color="#6554c0">string</font>: Frase de contraseña cifrada para certificados protegidos

## Ejemplo

Este ejemplo envía registros a la tarjeta SD, pero */storage/flash* también se puede usar. Cada método tiene una limitación: Si usa una ubicación en la tarjeta SD, no puede retirar la tarjeta mientras el cliente OpenVPN está activo o recibirá un registro de error y la tarjeta puede dañarse, mientras que */storage/flash* puede no estar disponible según el reproductor que esté usando.

```javascript
var openvpn = require('@brightsign/openvpn');
var ovpn = new openvpn();

var params = {
   archiveFile: '/storage/sd/openvpn.zip'
};
ovpn.installAndRun(params)
.then(function() {
   console.log('success');
})
.catch(function(err){
   console.log('err: ' + JSON.stringify(err));
});
ovpn.uninstall()
.then(function() {
   console.log('success');
})
.catch(function(err){
   console.log('err: ' + JSON.stringify(err));
});
```

