@amilajack/node-openvpn

0.0.0 • Public • Published

node-openvpn

Build Status NPM version Dependency Status npm

Communicate to an OpenVpn client instance via telenet, for node.

Installation

npm install @amilajack/node-openvpn

Example

import openvpnmanager from '@amilajack/node-openvpn';

const opts = {
  host: '127.0.0.1', // normally '127.0.0.1', will default to if undefined
  port: 1337, //port openvpn management console
  timeout: 1500, //timeout for connection - optional, will default to 1500ms if undefined
  logpath: 'log.txt' //optional write openvpn console output to file, can be relative path or absolute
};
const auth = {
  user: 'vpnUserName',
  pass: 'vpnPassword'
};

const openvpn = openvpnmanager.connect(opts);

openvpn.on('connected', () => {
  //will be emited on successful interfacing with openvpn instance
  openvpnmanager.authorize(auth);
});

openvpn.on('console-output', output => {
  //emits console output of openvpn instance as a string
  console.log(output);
});

openvpn.on('state-change', state => {
  //emits console output of openvpn state as a array
  console.log(state);
});

openvpn.on('error', error => {
  //emits console output of openvpn state as a string
  console.log(error);
});

openvpnmanager.getLog(console.log); //get all console logs up to this point

// and finally when/if you want to
openvpnmanager.disconnect();

openvpn.on('disconnected', () => {
  //emits on disconnect
  openvpnmanager.destroy(); //finally destroy the disconnected manager
});

/@amilajack/node-openvpn/

    Package Sidebar

    Install

    npm i @amilajack/node-openvpn

    Weekly Downloads

    1

    Version

    0.0.0

    License

    GPL-3.0

    Unpacked Size

    71.1 kB

    Total Files

    7

    Last publish

    Collaborators

    • amilajack