Skip to content

bendlas/openvpn-tuna

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenVPN Tuna

OpenVPN with ocproxy/tunsocks/VPN-to-proxy/socks2tun support, as well as AWS VPC support.

Ported from

Usage

Preparation

To follow this readme, you'll need Nix installed. There should be nothing, however, to preclude you from just building it as a regular OpenVPN fork.

Also you don't need to clone the repository to try it out, if you have Nix installed. Instead you can just run it directly from github: e.g. nix run github:bendlas/openvpn-tuna#server

Replace .# with github:bendlas/openvpn-tuna# in the examples, in order to do so.

First get an OVPN file for your endpoint from the AWS Client VPN Self-Service Portal

Start the shim server

In a new terminal: Start the go server, that will push the browser response back to the connection script.

nix run .#server

Run one or more clients

Then you can use whatever client works for you. Tunsocks is tested.

Each client will be a full, but rootless OpenVPN instance, that runs the connection script on a proxy pipe, similar to an OpenConnect script tunnel.

tunsocks

nix run .#tunsocks -- /home/user/code/project/tmp/cvpn-endpoint-<vpn-id>.ovpn

then check your public ip from within VPN

curl --socks5-hostname 127.0.0.1:10080 -v https://icanhazip.com/

ocproxy

nix run .#ocproxy -- /home/user/code/project/tmp/cvpn-endpoint-<vpn-id>.ovpn

ocproxy/vpnns

nix run .#vpnns -- /home/user/code/project/tmp/cvpn-endpoint-<vpn-id>.ovpn

then

vpnns

to get into the isolated vpn network namespace.

Releases

No releases published

Packages

No packages published

Languages

  • C 96.0%
  • Shell 1.5%
  • M4 1.3%
  • Makefile 0.7%
  • Python 0.2%
  • Nix 0.1%
  • Other 0.2%