Skip to content

A way to use libopenvpn3 as a true library, on Rust, with your own tun implementation, therefore sending/receiving VPN packets on userspace.

License

Notifications You must be signed in to change notification settings

lattice0/true_libopenvpn3_rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

True OpenVPN library Rust

This is a Rust interface to https://github.com/lattice0/true_libopenvpn3. I need to review the C++ interface, and maybe switch for usage with the CXX crate. PRs are appreciated!

For a full example putting everything together to do an HTTP request over userspace OpenVPN, check https://github.com/lattice0/hyper_vpn

Why?

This library is useful because you don't need privileged capabilities to create/access tun/tap interfaces, so you can support OpenVPN connections on your app on Android for example without requiring VPN permissions. Also, you can connect to multiple OpenVPN servers through multiple profiles and send packets through them on Android, where traditionally it would let you have just one connection at the same time.

TODO

About

A way to use libopenvpn3 as a true library, on Rust, with your own tun implementation, therefore sending/receiving VPN packets on userspace.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages