#!/usr/bin/lua
--[[
Part of AREDN -- Used for creating Amateur Radio Emergency Data Networks
Copyright (C) 2022 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
iperf is disabled") elseif not server then print("
Provide a server name to run a test between this client and a server [/cgi-bin/iperf?server=<ServerName>&protocol=<udp|tcp>]") elseif server == "" then os.execute("killall iperf3; iperf3 -s -D -1 -B " .. node) for _ = 1,5 do if io.popen("netstat -ln | grep 0.0.0.0:5201"):read("*a") ~= "" then break end nixio.nanosleep(1, 0) end print("
iperf server running (one time)") elseif server:match("[^%w-%.]") then print("
Illegal server name") else if not server:match("%.") then server = server .. ".local.mesh" end luci.sys.httpget("http://" .. server .. ":8080/cgi-bin/iperf?server=") print("
" .. io.popen("/usr/bin/iperf3 -b 0 -c " .. server .. (protocol == "udp" and " -u" or "") .. " 2>&1"):read("*a") .. "") end