Skip to content

marneu/wireguard

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wireguard Utilities

This is a helper module for creating configs for WireGuard VPN for both the server side and the client side.

Quick Start

Setup a WireGuard server:

from wireguard import Server

server = Server('myvpnserver.com', '192.168.24.0/24', address='192.168.24.1')

# Write out the server config to the default location: /etc/wireguard/wg0.conf
server.config().write()

Create a client within the previously created server:

peer = server.peer('my-client')

# Output this peer's config for copying to the peer device
print(peer.config().local_config)

# Rewrite the server config file including the newly created peer
server.config().write()

Create a standalone client:

from wireguard import Peer

peer = Peer('my-client', '192.168.24.0/24', address='192.168.24.45')

# Write out the peer config to the default location: /etc/wireguard/wg0.conf
peer.config().write()

Note: Both the server and peer config files are named the same by default. This is because they would typically be on different machines and would not interfere with one another. Be aware of this when generating peer configs on a server node, or on any node that has a pre-existing wireguard config at the default file location.

About

development only, see https://github.com/fictivekin/wireguard for a working product

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%