Search code examples
javascriptnode.jsvpn

OpenVPN with node, How it works?


I am able to connect to a VPN from terminal easily with the following openVPN command:

openvpn --config conf.ovpn

I need connect to the same VPN with Javascript (for selenium test), I already have installed openvpn.client with NPM:

npm install openvpn-client

However, I don't know how it works. I would like how to achieve a terminal application with similar functionalities of openvpn.

Documentation and source code


Solution

  • Solved, more or less...

    After install openvpn in the system just add bit s to the openvpn bin (sudo chmod +s /usr/sbin/openvpn), then you can connect openvpn with this:

    var exec = require("child_process").exec;
    
    cmd = `openvpn --config ${conf.ovpn}&`;
    exec(cmd);
    

    Just that. Maybe isn't the most secure solution, but it works for my purpose.

    Thanks.