work around relative imports
This commit is contained in:
+2
-1
@@ -1,4 +1,4 @@
|
|||||||
from vpn_manager import *
|
from vpn_manager.peers import *
|
||||||
|
|
||||||
def test_format_static_peer():
|
def test_format_static_peer():
|
||||||
sp = Peer('PUB', "PRV", '10.0.0.1/32', '12345', '127.0.0.1')
|
sp = Peer('PUB', "PRV", '10.0.0.1/32', '12345', '127.0.0.1')
|
||||||
@@ -15,3 +15,4 @@ def test_true():
|
|||||||
== '[Interface]\nPrivateKey = PRV\nAddress = 10.0.0.1/32\nListenPort = PORT\nDNS = 1.1.1.1\nPostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE\nPostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE'
|
== '[Interface]\nPrivateKey = PRV\nAddress = 10.0.0.1/32\nListenPort = PORT\nDNS = 1.1.1.1\nPostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE\nPostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE'
|
||||||
assert format_interface(Peer('PUB', 'PRV', '10.0.0.1/32', None), '1.1.1.1', forward=True) \
|
assert format_interface(Peer('PUB', 'PRV', '10.0.0.1/32', None), '1.1.1.1', forward=True) \
|
||||||
== '[Interface]\nPrivateKey = PRV\nAddress = 10.0.0.1/32\nDNS = 1.1.1.1\nPostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE\nPostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE'
|
== '[Interface]\nPrivateKey = PRV\nAddress = 10.0.0.1/32\nDNS = 1.1.1.1\nPostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE\nPostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE'
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
from .__main__ import *
|
from . import peers
|
||||||
|
|
||||||
|
__all__ = ["peers"]
|
||||||
|
|||||||
@@ -1,57 +1,3 @@
|
|||||||
from dataclasses import dataclass
|
|
||||||
from textwrap import dedent
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class Peer:
|
|
||||||
public_key: str
|
|
||||||
private_key: str
|
|
||||||
address_cidr: str
|
|
||||||
port: str
|
|
||||||
endpoint: str = None
|
|
||||||
|
|
||||||
|
|
||||||
def format_static_peer(static_peer, routes, keepalive=30):
|
|
||||||
return f"""
|
|
||||||
[Peer]
|
|
||||||
PublicKey = {static_peer.public_key}
|
|
||||||
AllowedIPs = {routes}
|
|
||||||
Endpoint = {static_peer.endpoint}:{static_peer.port}
|
|
||||||
PersistentKeepAlive = {keepalive}
|
|
||||||
""".strip()
|
|
||||||
|
|
||||||
|
|
||||||
def format_interface(peer, dns, forward=False):
|
|
||||||
if forward:
|
|
||||||
forward = dedent(
|
|
||||||
"""\
|
|
||||||
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
|
||||||
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
|
|
||||||
"""
|
|
||||||
)
|
|
||||||
# wg0 always?
|
|
||||||
# eth0 always?
|
|
||||||
else:
|
|
||||||
forward = ""
|
|
||||||
if peer.port:
|
|
||||||
port = f"ListenPort = {peer.port}\n"
|
|
||||||
else:
|
|
||||||
port = ""
|
|
||||||
dns = f"DNS = {dns}\n"
|
|
||||||
return f"""
|
|
||||||
[Interface]
|
|
||||||
PrivateKey = {peer.private_key}
|
|
||||||
Address = {peer.address_cidr}
|
|
||||||
{port}\
|
|
||||||
{dns}\
|
|
||||||
{forward}\
|
|
||||||
""".strip()
|
|
||||||
|
|
||||||
|
|
||||||
def remove_empty_lines(text):
|
|
||||||
return "\n".join([s for s in text.splitlines() if s.strip()])
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
print("run")
|
print("run")
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
from dataclasses import dataclass
|
||||||
|
from textwrap import dedent
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Peer:
|
||||||
|
public_key: str
|
||||||
|
private_key: str
|
||||||
|
address_cidr: str
|
||||||
|
port: str
|
||||||
|
endpoint: str = None
|
||||||
|
|
||||||
|
|
||||||
|
def format_static_peer(static_peer, routes, keepalive=30):
|
||||||
|
return f"""
|
||||||
|
[Peer]
|
||||||
|
PublicKey = {static_peer.public_key}
|
||||||
|
AllowedIPs = {routes}
|
||||||
|
Endpoint = {static_peer.endpoint}:{static_peer.port}
|
||||||
|
PersistentKeepAlive = {keepalive}
|
||||||
|
""".strip()
|
||||||
|
|
||||||
|
|
||||||
|
def format_interface(peer, dns, forward=False):
|
||||||
|
if forward:
|
||||||
|
forward = dedent(
|
||||||
|
"""\
|
||||||
|
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
||||||
|
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
# wg0 always?
|
||||||
|
# eth0 always?
|
||||||
|
else:
|
||||||
|
forward = ""
|
||||||
|
if peer.port:
|
||||||
|
port = f"ListenPort = {peer.port}\n"
|
||||||
|
else:
|
||||||
|
port = ""
|
||||||
|
dns = f"DNS = {dns}\n"
|
||||||
|
return f"""
|
||||||
|
[Interface]
|
||||||
|
PrivateKey = {peer.private_key}
|
||||||
|
Address = {peer.address_cidr}
|
||||||
|
{port}\
|
||||||
|
{dns}\
|
||||||
|
{forward}\
|
||||||
|
""".strip()
|
||||||
Reference in New Issue
Block a user