Skip to content

clement10601/pyopenvpn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyopenvpn

Finally, a simple OpenVPN client entierely in python as a module.
This is still mostly a WIP but can connect to some OpenVPN servers and use the tunnel to send and receive data and even integrates nicely with scapy.

There is an example ping program that can ping a remote host through an OpenVPN server when given an OpenVPN configuration file, without requiring root privileges or a tun device.

Why would you do that?

  • To try to understand and implement the OpenVPN protocol in less than a fuckton of old C.
  • A small and self contained client, that can be used to test and monitor OpenVPN servers without root privileges and tun. It will make a nice nagios/zabbix plugin.
  • A basic client to use when tun is not available.

OpenVPN Compatibility / TODO list

  • Config file: It get parsed (including inline files), some options are even used.
  • Mode: Only tls-client.
  • Ciphers: BF-CBC, AES-CBC (128, 192, 256 bits)
  • Protocol: Only UDPv4.
  • HMAC: Only SHA1. (default)
  • Compression: TODO
  • tls-auth: TODO
  • Bridged/Routed: Only routed networks are supported for now (tun).

About

Python OpenVPN client without root or tun

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%