#!/usr/bin/env python3 import re, subprocess t = open("/var/www/wifi-otantik/config.php").read() def g(k): m = re.search(r"\$" + k + r"\s*=\s*['\"]([^'\"]+)", t) return m.group(1) if m else "" host = g("db_host") or "localhost" user = g("db_user") pw = g("db_pass") name = g("db_name") def mysql(sql): r = subprocess.run( ["mysql", "-h", host, "-u", user, f"-p{pw}", name, "-e", sql], capture_output=True, text=True, ) out = r.stdout if r.returncode: out += r.stderr.replace(pw, "***") return out print("==== ROUTER ====") print(mysql( "SELECT id,name,slug,owner_id,ip_address,username," "IF(password IS NULL OR password='', 'EMPTY', 'SET') AS pw," "ssid,ros_version,pppoe_interface,enabled,status " "FROM tbl_routers WHERE id=15 OR slug='otantik-hub'" )) print("==== PEER ====") print(mysql( "SELECT id,router_id,owner_id,wg_ip,status," "LEFT(public_key,16) AS pub_prefix, CHAR_LENGTH(public_key) AS pub_len," "CHAR_LENGTH(private_key) AS priv_len " "FROM tbl_otantik_peers WHERE router_id=15 OR wg_ip LIKE '10.88.0.6%'" )) print("==== PUB ====") print(mysql("SELECT public_key FROM tbl_otantik_peers WHERE router_id=15"))