New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

python-openvpn-client

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

python-openvpn-client

An API for managing an OpenVPN connection

  • 0.0.1
  • PyPI
  • Socket score

Maintainers
1

Python OpenVPN Client

This package allows an OpenVPN connection to be established seamlessly given a config.ovpn file and then later be disconnected when instructed to. The functionality is tested to work on macOS and Linux (images: macOS-latest and ubuntu-24.04).

Note: Testing requires openvpn >= 2.6 since the used peer-fingerprint feature was first introduced then.

Authors

  • Ludvig Larsson - lular@kth.se
  • Nikolaos Kakouros - nkak@kth.se
  • Benjamin Kelley - bekelley@kth.se

Command line usage

# connect
python3 -m openvpnclient --config=path/to/ovpn/config

# disconnect
python3 -m openvpnclient --disconnect

Usage in code

from openvpnclient import OpenVPNClient

# manually connect and disconnect
vpn = OpenVPNClient(ovpn_file)
vpn.connect()
# interact with network
vpn.disconnect()

# utilize context handler
with OpenVPNClient(ovpn_file):
    # interact with network

Contributing

Create virtual environment and install dependencies:

python3 -m venv venv
source venv/bin/activate
pip install -r prod-requirements.txt

After making changes, make sure the tests pass:

pip install -r test-requirements.txt
pytest tests/test_openvpnclient.py -s -v

Create a PR from the feature branch with the incorporated changes.

Test cases

  1. Manually connect and disconnect the OpenVPN client
  2. Use context manager to connect and disconnect the OpenVPN client
  3. Disconnect client on SIGINT (ctrl+c)
  4. Disconnect when not connected
  5. Connect when already connected
  6. Invalid configuration syntax
  7. Unreachable server
  8. Invalid path to ovpn config file
  9. Connection attempt timeout

An autouse fixture (await_openvpn_cleanup) forces a delay between all tests. Given the rapid closing and opening of the same socket, this timeout can be adjusted to make sure the socket is ready for subsequent test.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc