summaryrefslogtreecommitdiff
path: root/autopeer_shell.py
diff options
context:
space:
mode:
Diffstat (limited to 'autopeer_shell.py')
-rwxr-xr-xautopeer_shell.py30
1 files changed, 21 insertions, 9 deletions
diff --git a/autopeer_shell.py b/autopeer_shell.py
index abb4100..1939348 100755
--- a/autopeer_shell.py
+++ b/autopeer_shell.py
@@ -2,7 +2,7 @@
#TODO: capture ^C during commands
-import cmd, functools, getpass, os, re, subprocess, sys, time
+import cmd, functools, getpass, os, re, subprocess, sys, time, traceback
try:
import readline
except: pass
@@ -70,6 +70,16 @@ class AutopeerShell(cmd.Cmd):
self.prompt = f'{getpass.getuser()}@{socket.gethostname()}:{SELECTED_ASN}> '
return stop
+ def onecmd(self, line):
+ try:
+ return super().onecmd(line)
+ except Exception as e:
+ traceback.print_exc()
+ return False
+
+ def emptyline(self):
+ return False
+
@parse(0)
def do_ls(self):
'''(no args)
@@ -121,9 +131,7 @@ class AutopeerShell(cmd.Cmd):
print()
self.do_showpeer(name)
print()
- self.do_showbird(name)
- print()
- self.do_showwg(name)
+ self.do_showtemplates(name)
print()
print()
@@ -142,6 +150,8 @@ class AutopeerShell(cmd.Cmd):
@parse(1)
def do_showpeer(self, name):
+ '''<name>
+ Show textual info about a peering'''
me = _get_my_info(SELECTED_ASN)
you = _get_peer_info(name, SELECTED_ASN)
print(f'''
@@ -159,17 +169,19 @@ Your Tunnel IPv6LL: {you.ipll}
''')
@parse(1)
- def do_showbird(self, name):
+ def do_showtemplates(self, name):
'''<name>
- Show basic bird config'''
+ Show basic config templates for your side'''
print(_bird_config(name, _get_my_info(SELECTED_ASN), _get_peer_info(name, SELECTED_ASN)))
+ print(_wg_config(name, _get_my_info(SELECTED_ASN), _get_peer_info(name, SELECTED_ASN)))
@parse(1)
- def do_showwg(self, name):
+ def do_showconf(self, name):
'''<name>
- Show basic Wireguard config
+ Show my side config
'''
- print(_wg_config(name, _get_my_info(SELECTED_ASN), _get_peer_info(name, SELECTED_ASN)))
+ print(_bird_config(name, _get_peer_info(name, SELECTED_ASN), _get_my_info(SELECTED_ASN)))
+ print(_wg_config(name, _get_peer_info(name, SELECTED_ASN), _get_my_info(SELECTED_ASN)))
@parse(1)
def do_as(self, asn):