{% /* * Part of AREDN® -- Used for creating Amateur Radio Emergency Data Networks * Copyright (C) 2024 Tim Wilkinson * See Contributors file for additional contributors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation version 3 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Additional Terms: * * Additional use restrictions exist on the AREDN® trademark and logo. * See AREDNLicense.txt for more info. * * Attributions to the AREDN® Project must be retained in the source code. * If importing this code into a new or existing project attribution * to the AREDN® project must be added to the source code. * * You must not misrepresent the origin of the material contained within. * * Modified versions must be modified to attribute to the original source * and be marked in reasonable ways as differentiate it from the original * version */ %}
Network
{{uci.get("network", "wifi", "ipaddr")}} {{uci.get("network", "wifi", "netmask") == "255.255.255.255" ? "/ 32" : "/ 8"}}
mesh address
{{uci.get("network", "lan", "ipaddr")}} {{`/ ${network.netmaskToCIDR(uci.get("network", "lan", "netmask"))} `}}
lan address
{% let validWan = false; const wan_proto = uci.get("network", "wan", "proto"); if (wan_proto === "dhcp") { const ifaces = ubus.call("network.interface", "dump").interface; for (let i = 0; i < length(ifaces); i++) { if (ifaces[i].interface === "wan" && ifaces[i]["ipv4-address"]) { const wan = ifaces[i]["ipv4-address"][0]; print("
" + wan.address + " / " + wan.mask + "
"); print("
wan address (dhcp)
"); print("
" + ifaces[i].route[0].nexthop + "
"); print("
wan gateway
"); validWan = true; break; } } } else if (wan_proto === "static") { print("
" + (uci.get("network", "wan", "ipaddr") || "-") + "
"); print("
wan address (static)
"); print("
" + (uci.get("network", "wan", "gateway") || "-") + "
"); print("
wan gateway
"); valueWan = true; } if (validWan) { let v = "-"; const dns = split(uci.get("network", "lan", "dns"), " "); if (dns && dns[0]) { v = dns[0]; if (dns[1]) { v += "   " + dns[1]; } } print("
" + v + "
"); print("
wan dns
") } %}