#!/usr/bin/env python3 """Inspect live Otantik Hub (192.168.88.1). Never print WG private keys.""" from mk_hub_exec import run SCRIPT = r""" :put "===IDENTITY===" /system identity print :put "===ROS===" /system resource print :put "===ETHER===" /interface ethernet print :put "===WIFI===" :do { /interface wireless print } on-error={ :put "no /interface wireless" } :do { /interface wifi print } on-error={ :put "no /interface wifi" } :put "===BRIDGES===" /interface bridge print :put "===BRIDGE-SETTINGS===" /interface bridge settings print :put "===BRIDGE-PORTS===" /interface bridge port print detail :put "===ADDRESSES===" /ip address print :put "===HOTSPOT===" /ip hotspot print :put "===HSPROF===" /ip hotspot profile print :put "===BINDINGS===" /ip hotspot ip-binding print :put "===DHCP===" /ip dhcp-server print :put "===DHCP-NET===" /ip dhcp-server network print :put "===POOLS===" /ip pool print :put "===LEASES-COUNT===" :put ("leases=" . [:len [/ip dhcp-server lease find]]) :put "===LIST-MEMBERS===" /interface list member print :put "===WG===" /interface wireguard print :put "===WG-PEERS===" /interface wireguard peers print :put "===WG-PUB===" :put [/interface wireguard get [find name=wg-otantik] public-key] :put "===WG-LISTEN===" :put [/interface wireguard get [find name=wg-otantik] listen-port] :put "===PING-VPS===" /ping 10.88.0.1 count=3 :put "===FILTER===" /ip firewall filter print :put "===NAT===" /ip firewall nat print :put "===PPPOE===" /interface pppoe-client print :put "===HS-USERS===" :put ("hs-users=" . [:len [/ip hotspot user find]]) :put ("ppp-secrets=" . [:len [/ppp secret find]]) """ print(run(SCRIPT, timeout=90))