- Add VSL support,
- Display VSL tab in VPN Admin Board, - Support now rx3-base 1.2.0.
This commit is contained in:
137
www/cgi-bin/vpn-admin_board.cgi
Normal file → Executable file
137
www/cgi-bin/vpn-admin_board.cgi
Normal file → Executable file
@@ -37,8 +37,8 @@
|
||||
# Global Variables
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
declare -g VERSION="1.0.0"
|
||||
declare -g NAME="vpn-admin_board.cgi"
|
||||
declare -g VERSION="1.2.4"
|
||||
declare -g NAME="VPN Admin Board"
|
||||
|
||||
declare -g DEBUG=""
|
||||
#declare -g DEBUG="echo"
|
||||
@@ -104,6 +104,26 @@ vab_header_print()
|
||||
echo " <meta http-equiv=\"REFRESH\" content=\"1; URL=${REDIRECT}\">"
|
||||
fi
|
||||
|
||||
echo " <style>"
|
||||
echo " #vsl-tab td { font: 12px/1.5em arial, helvetica, verdana, sans-serif; color: #333; }"
|
||||
echo " #vsl-tab table { width: 100%; border: 1px solid #919191; }"
|
||||
echo " #vsl-tab th { background-color: #919191; color: #fff; }"
|
||||
echo " #vsl-tab table th:first-child, #vsl-tab table td:first-child { text-align: left; }"
|
||||
echo " #vsl-tab table th:last-child, #vsl-tab table td:last-child { text-align: right; }"
|
||||
echo " #vsl-tab th.state { text-align: center; width: 44px; }"
|
||||
echo " #vsl-tab th.desc { width: 200px; }"
|
||||
echo " #vsl-tab th.name { width: 200px; }"
|
||||
echo " #vsl-tab th.action { }"
|
||||
echo " #vsl-tab td, th { padding: 4px 8px; border-bottom: 1px solid #fff; }"
|
||||
echo " #vsl-tab tr td { background-color: #FBFBFB; }"
|
||||
echo " #vsl-tab tr.shade td { background-color: #F0F0F0; }"
|
||||
echo " #vsl { position: relative; display: inline-block; cursor: pointer; }"
|
||||
echo " #vsl-tab { visibility: hidden; width: fit-content; background: #00000000; color: white; padding: 2px; border-radius: 4px; position: absolute; z-index: 1; right: auto; left: 0; top: auto; bottom: 100%; transform: none; opacity: 0; transition: opacity 0.3s; }"
|
||||
echo " #vsl:hover #vsl-tab { visibility: visible; opacity: 1; }"
|
||||
echo " #vsl-tab table td, #vsl-tab table th { white-space: nowrap; padding: 4px 8px; border: 0px solid #666; font-size: 12px; }"
|
||||
echo " #vsl-tab table th { background: #333; }"
|
||||
echo " #vsl-tab table { border-collapse: collapse; width: fit-content; max-width: 500px; overflow-x: auto; }"
|
||||
echo " </style>"
|
||||
echo " </HEAD>"
|
||||
echo " <BODY>"
|
||||
;;
|
||||
@@ -147,6 +167,59 @@ vab_footer_print()
|
||||
case "${FORMAT}"
|
||||
in
|
||||
"html")
|
||||
|
||||
time_out=$(date +%s%N)
|
||||
elaps=$(( time_out - TIME_IN))
|
||||
elaps_sec=$(( elaps / 1000000000))
|
||||
elaps_mili=$(( ( elaps / 1000000) - ( elaps_sec * 1000)))
|
||||
|
||||
echo " <P>"
|
||||
echo " <BR>"
|
||||
echo " <BR>"
|
||||
echo " <div id=\"vsl\">Page generated by <b>${NAME}</b> V <b>${VERSION}</b>"
|
||||
echo " <div id=\"vsl-tab\">"
|
||||
echo " <table>"
|
||||
echo " <thead>"
|
||||
echo " <tr>"
|
||||
echo " <th>Id</th>"
|
||||
echo " <th>Name</th>"
|
||||
echo " <th>Version</th>"
|
||||
|
||||
if [[ "${ADMIN}" == "true" ]]
|
||||
then
|
||||
export VERBOSE="TRUE"
|
||||
echo " <th>File</th>"
|
||||
fi
|
||||
|
||||
echo " </tr>"
|
||||
echo " </thead>"
|
||||
echo " <tbody>"
|
||||
|
||||
|
||||
vsl_html_dump "TRUE" ""
|
||||
|
||||
unset VERBOSE
|
||||
|
||||
echo " </tbody>"
|
||||
echo " </table>"
|
||||
echo " </div>"
|
||||
printf " in <b>%d.%03d seconds</b>\n" "${elaps_sec}" "${elaps_mili}"
|
||||
echo " </div>"
|
||||
echo " </P>"
|
||||
echo ""
|
||||
echo " <HR>"
|
||||
echo ""
|
||||
echo " <P>"
|
||||
echo " <A HREF=\"/tdsots/admin/\">Rx3 Admin</A>"
|
||||
echo " </P>"
|
||||
echo ""
|
||||
echo " <HR>"
|
||||
echo ""
|
||||
echo " <P>"
|
||||
echo " <A HREF=\"http://www.hertgen.com/anybrowser/\"> <IMG SRC=\"/images/anyb09.png\" ALT=\"Best Viewed With Any Browser\"></A>"
|
||||
echo " <A HREF=\"http://validator.w3.org/check?uri=referer\"><IMG SRC=\"/images/valid-html401.png\" ALT=\"Valid HTML 4.01!\"></A>"
|
||||
echo " <A HREF=\"http://jigsaw.w3.org/css-validator/\"> <IMG SRC=\"/images/valid-css.png\" ALT=\"Valid CSS!\"></A>"
|
||||
echo " </P>"
|
||||
echo " </BODY>"
|
||||
echo ""
|
||||
echo "</HTML>"
|
||||
@@ -666,31 +739,6 @@ vab_main_board_print()
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo " </P>"
|
||||
|
||||
time_out=$(date +%s%N)
|
||||
elaps=$(( time_out - TIME_IN))
|
||||
elaps_sec=$(( elaps / 1000000000))
|
||||
elaps_mili=$(( ( elaps / 1000000) - ( elaps_sec * 1000)))
|
||||
|
||||
echo " <P>"
|
||||
echo " <BR>"
|
||||
echo " <BR>"
|
||||
printf " Page generated in %d.%03d seconds\n" "${elaps_sec}" "${elaps_mili}"
|
||||
echo " </P>"
|
||||
echo ""
|
||||
echo " <HR>"
|
||||
echo ""
|
||||
echo " <P>"
|
||||
echo " <A HREF=\"/tdsots/admin/\">Rx3 Admin</A>"
|
||||
echo " </P>"
|
||||
echo ""
|
||||
echo " <HR>"
|
||||
echo ""
|
||||
echo " <P>"
|
||||
echo " <A HREF=\"http://www.hertgen.com/anybrowser/\"> <IMG SRC=\"/images/anyb09.png\" ALT=\"Best Viewed With Any Browser\"></A>"
|
||||
echo " <A HREF=\"http://validator.w3.org/check?uri=referer\"><IMG SRC=\"/images/valid-html401.png\" ALT=\"Valid HTML 4.01!\"></A>"
|
||||
echo " <A HREF=\"http://jigsaw.w3.org/css-validator/\"> <IMG SRC=\"/images/valid-css.png\" ALT=\"Valid CSS!\"></A>"
|
||||
echo " </P>"
|
||||
fi
|
||||
}
|
||||
@@ -709,21 +757,22 @@ vab_query_string_parse()
|
||||
local arg
|
||||
local i
|
||||
|
||||
CMD=""
|
||||
FORMAT=""
|
||||
USER=""
|
||||
STATUS=""
|
||||
IP=""
|
||||
VPN=""
|
||||
TYPE=""
|
||||
REDIRECT=""
|
||||
CMD_STATUS=""
|
||||
ADMIN=""
|
||||
FILTER=""
|
||||
DEFROUTE=""
|
||||
FILENAME=""
|
||||
CMD=""
|
||||
FORMAT=""
|
||||
USER=""
|
||||
STATUS=""
|
||||
IP=""
|
||||
VPN=""
|
||||
TYPE=""
|
||||
REDIRECT=""
|
||||
CMD_STATUS=""
|
||||
ADMIN=""
|
||||
FILTER=""
|
||||
DEFROUTE=""
|
||||
FILENAME=""
|
||||
|
||||
|
||||
if [[ "${QUERY_STRING}" != "" ]]
|
||||
if [[ "${QUERY_STRING:-}" != "" ]]
|
||||
then
|
||||
local OIFS="${IFS}"
|
||||
IFS="&"
|
||||
@@ -958,6 +1007,12 @@ vab_command_handler()
|
||||
# Main
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
QUERY_STRING=${QUERY_STRING:-}
|
||||
REMOTE_USER=${REMOTE_USER:-}
|
||||
|
||||
|
||||
vsl_add
|
||||
|
||||
vab_query_string_parse
|
||||
|
||||
network_init
|
||||
|
||||
Reference in New Issue
Block a user