- Add VSL support,

- Display VSL tab in VPN Admin Board,
- Support now rx3-base 1.2.0.
This commit is contained in:
2026-09-11 20:21:19 +02:00
parent 3dc7f6bdd5
commit c250bfe433
17 changed files with 431 additions and 245 deletions

View File

@@ -1,3 +1,14 @@
------------------------------------------------------------------------------------------------------------------------------------
Network Tools V 1.2.4 - A. GIBERT - 2026/09/12
------------------------------------------------------------------------------------------------------------------------------------
- Add VSL support,
- Display VSL tab in VPN Admin Board,
- Fix unset QUERY_STRING & REMOTE_USER variables case in VPN Admin Board,
- Support now rx3-base 1.2.0.
------------------------------------------------------------------------------------------------------------------------------------
Network Tools V 1.2.3 - A. GIBERT - 2026/08/25
------------------------------------------------------------------------------------------------------------------------------------

View File

@@ -24,7 +24,7 @@
%define name network_tools
%define version 1.2.3
%define version 1.2.4
%define release %mkrel 1rx3
%global debug_package %{nil}
@@ -213,6 +213,9 @@ cp www/cgi-bin/*.cgi %{buildroot}%{_webcgi}
#-----------------------------------------------------------------------------------------------------------------------------------
%changelog
* Sat Sep 12 2026 Arnaud G. GIBERT <arnaud@rx3.net> - 1.2.4-1rx3.mga9
- Update to 1.2.4
* Tue Aug 25 2026 Arnaud G. GIBERT <arnaud@rx3.net> - 1.2.3-1rx3.mga9
- Update to 1.2.3

View File

@@ -46,15 +46,18 @@ fi
# Global Variable
#-----------------------------------------------------------------------------------------------------------------------------------
declare -Ag DNS_A_TAB=()
declare -g DNS_A_ID_LIST=""
declare LIB_NAME="DNS"
declare LIB_VERSION="1.2.4"
declare -Ag DNS_PTR_TAB=()
declare -g DNS_PTR_ID_LIST=""
declare -Ag DNS_A_TAB=()
declare -g DNS_A_ID_LIST=""
declare -g DNS_CACHE_FILE=""
declare -g DNS_CACHE_LOCK=""
#declare -g DNS_CACHE_LOCK="${DNS_CACHE_FILE}"
declare -Ag DNS_PTR_TAB=()
declare -g DNS_PTR_ID_LIST=""
declare -g DNS_CACHE_FILE=""
declare -g DNS_CACHE_LOCK=""
#declare -g DNS_CACHE_LOCK="${DNS_CACHE_FILE}"
declare -g DNS_CACHE_UPDATED=0
@@ -358,3 +361,12 @@ dns_deinit()
# :;
}
#--------------------------------------------------------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------------------------------------------------------
vsl_add

View File

@@ -46,6 +46,9 @@ fi
# Global Variable
#-----------------------------------------------------------------------------------------------------------------------------------
declare LIB_NAME="IP"
declare LIB_VERSION="1.2.4"
@@ -143,3 +146,10 @@ ip_ip_filter()
#--------------------------------------------------------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------------------------------------------------------
vsl_add

View File

@@ -46,34 +46,37 @@ fi
# Global Variable
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g NETWORK_OPENVPN_STATUS
declare LIB_NAME="Network"
declare LIB_VERSION="1.2.4"
declare -Ag NETWORK_IP_ROUTE_TAB=()
declare -g N ETWORK_OPENVPN_STATUS
declare -Ag NETWORK_IP_ROUTE_TAB=()
declare -g NETWORK_IP_ROUTE_ID_LIST=""
declare -Ag NETWORK_IP_ROUTE_IP_IDX=()
declare -Ag NETWORK_IP_ROUTE_IP_IDX=()
declare -g NETWORK_SRC_TYPE=""
declare -Ag NETWORK_SRC_TAB=()
declare -g NETWORK_SRC_ID_LIST=""
declare -Ag NETWORK_SRC_IP_IDX=""
declare -g NETWORK_SRC_TYPE=""
declare -Ag NETWORK_SRC_TAB=()
declare -g NETWORK_SRC_ID_LIST=""
declare -Ag NETWORK_SRC_IP_IDX=""
declare -g NETWORK_DST_TYPE=""
declare -Ag NETWORK_DST_TAB=()
declare -g NETWORK_DST_ID_LIST=""
declare -Ag NETWORK_DST_NAME_IDX=()
declare -Ag NETWORK_DST_DEV_IDX=()
declare -g NETWORK_DST_TYPE=""
declare -Ag NETWORK_DST_TAB=()
declare -g NETWORK_DST_ID_LIST=""
declare -Ag NETWORK_DST_NAME_IDX=()
declare -Ag NETWORK_DST_DEV_IDX=()
declare -g NETWORK_CONFIG_FILE="/etc/sysconfig/rx3-network"
declare -g NETWORK_CONFIG_LOCK="/var/lock/network/config"
#declare -g NETWORK_CONFIG_LOCK="${NETWORK_CONFIG_FILE}"
declare -g NETWORK_CONFIG_FILE="/etc/sysconfig/rx3-network"
declare -g NETWORK_CONFIG_LOCK="/var/lock/network/config"
#declare -g NETWORK_CONFIG_LOCK="${NETWORK_CONFIG_FILE}"
declare -g NETWORK_LOG_FILE
declare -g NETWORK_LOG_LOCK
#declare -g NETWORK_LOG_LOCK="${NETWORK_LOG_FILE}"
declare -g NETWORK_LOG_FILE
declare -g NETWORK_LOG_LOCK
#declare -g NETWORK_LOG_LOCK="${NETWORK_LOG_FILE}"
declare -g NETWORK_LOG_TRACE="DISABLED"
declare -g NETWORK_LOG_TRACE="DISABLED"
declare -g NETWORK_NC_TIMEOUT
declare -g NETWORK_NC_TIMEOUT
@@ -1669,3 +1672,13 @@ network_status()
iptables -t nat -L PREROUTING-VPN -v -n || true
}
#--------------------------------------------------------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------------------------------------------------------
vsl_add

View File

@@ -46,13 +46,16 @@ fi
# Global Variable
#-----------------------------------------------------------------------------------------------------------------------------------
declare -Ag VPN_JOB_TAB=()
declare -g VPN_JOB_ID_LIST=""
declare LIB_NAME="VPN"
declare LIB_VERSION="1.2.4"
declare -Ag VPN_JOB_TAB=()
declare -g VPN_JOB_ID_LIST=""
declare -Ag VPN_JOB_NAME_IDX=()
declare -g VPN_PID_FILE
declare -g VPN_STATUS_FILE
declare -g VPN_STATUS_LOCK
declare -g VPN_PID_FILE
declare -g VPN_STATUS_FILE
declare -g VPN_STATUS_LOCK
@@ -572,3 +575,13 @@ vpn_status()
printf "%-*s | %-*s | %-*s | %-*s | %-*s | %-*s | %-*s\n" 8 "${job_id}" 24 "${job_name}" 8 "${job_status}" 8 "${job_pid}" 32 "${job_date}" 15 "${dst_ip}" 8 "${job_cmd}"
done
}
#--------------------------------------------------------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------------------------------------------------------
vsl_add

View File

@@ -37,14 +37,14 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.2.0"
declare -g VERSION="1.2.4"
declare -g NAME="cert_dump"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] {ca|tc|key|csr|crt} [host]"
declare -g EXIT_CODE=0
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g RETVAL=0
declare -g DEBUG=""
#declare -g DEBUG="echo"
@@ -81,7 +81,6 @@ cdu_version_print()
cdu_help_print()
{
cdu_version_print
help_print
}
@@ -104,25 +103,26 @@ cdu_args_parse()
while true
do
case "$1" in
# Options
-h|--help) MODE="EXIT"; cdu_help_print; shift;;
-V|--version) MODE="EXIT"; cdu_version_print; shift;;
-v|--verbose) VERBOSE="TRUE"; shift;;
# Mode switches
-h|--help) MODE="HELP"; shift;;
-V|--version) MODE="VERSION"; shift;;
# Global options
-v|--verbose) VERBOSE="TRUE"; shift;;
# End of options
--) shift; break;;
*) echo "args_parse internal error [$1]!"; exit 1;;
--) shift; break;;
*) echo "args_parse internal error [$1]!"; exit 1;;
esac
done
if [[ "${MODE}" != "EXIT" ]]
if [[ "${MODE}" == "DEFAULT" ]]
then
if [[ "${#}" -lt "1" ]]
then
MODE="EXIT"
echo_error "Not enough args!"
cdu_help_print
MODE="HELP"
EXIT_CODE=1
else
case "$1" in
"ca"|"tc")
@@ -132,10 +132,9 @@ cdu_args_parse()
"key"|"csr"|"crt")
if [[ "${#}" -lt "2" ]]
then
MODE="EXIT"
echo_error "Missing host argument for type: [$1]"
cdu_help_print
MODE="HELP"
EXIT_CODE=1
else
MODE="$(echo "$1" | tr '[:lower:]' '[:upper:]')"
HOST="$2"
@@ -143,10 +142,9 @@ cdu_args_parse()
;;
*)
MODE="EXIT"
echo_error "Invalid type: [$1]"
cdu_help_print
MODE="HELP"
EXIT_CODE=1
;;
esac
fi
@@ -232,15 +230,26 @@ cdu_cert_dump_crt()
# Main
#-----------------------------------------------------------------------------------------------------------------------------------
vsl_add
cdu_args_parse "$@"
case "${MODE}" in
"EXIT")
exit ${EXIT_CODE}
;;
if [[ "${MODE}" == "EXIT" ]]
then
exit 0
fi
"HELP")
cdu_help_print
exit ${EXIT_CODE}
;;
"VERSION")
cdu_version_print
exit ${EXIT_CODE}
;;
esac
case "${MODE}" in
@@ -266,10 +275,10 @@ case "${MODE}" in
*)
cdu_help_print
RETVAL=1
EXIT_CODE=1
;;
esac
exit ${RETVAL}
exit ${EXIT_CODE}

View File

@@ -39,27 +39,27 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.0.0"
declare -g NAME="ip_host_update"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] <host> <zone> <ip> <ttl>"
declare -g VERSION="1.2.4"
declare -g NAME="ip_host_update"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] <host> <zone> <ip> <ttl>"
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g RETVAL=0
declare -g EXIT_CODE=0
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g DEBUG=""
#declare -g DEBUG="echo"
#declare -g DEBUG=":"
declare -g DEBUG=""
#declare -g DEBUG="echo"
#declare -g DEBUG=":"
declare -g LOG=""
#declare -g LOG=":"
#declare -g LOG="echo"
declare -g LOG=""
#declare -g LOG=":"
#declare -g LOG="echo"
declare -g HOST=""
declare -g ZONE=""
declare -g IP=""
declare -g TTL=""
declare -g HOST=""
declare -g ZONE=""
declare -g IP=""
declare -g TTL=""
@@ -84,7 +84,6 @@ ihu_version_print()
ihu_help_print()
{
ihu_version_print
help_print
}
@@ -107,25 +106,26 @@ ihu_args_parse()
while true
do
case "$1" in
# Options
-h|--help) MODE="EXIT"; ihu_help_print; shift;;
-V|--version) MODE="EXIT"; ihu_version_print; shift;;
-v|--verbose) VERBOSE="TRUE"; shift;;
# Mode switches
-h|--help) MODE="HELP"; shift;;
-V|--version) MODE="VERSION"; shift;;
# Global options
-v|--verbose) VERBOSE="TRUE"; shift;;
# End of options
--) shift; break;;
*) echo "args_parse internal error [$1]!"; exit 1;;
--) shift; break;;
*) echo "args_parse internal error [$1]!"; exit 1;;
esac
done
if [[ "${MODE}" != "EXIT" ]]
if [[ "${MODE}" == "DEFAULT" ]]
then
if [[ "${#}" -lt "4" ]]
then
MODE="EXIT"
echo_error "Not enough args!"
ihu_help_print
MODE="HELP"
EXIT_CODE=1
else
MODE="UPDATE"
HOST="$1"
@@ -162,12 +162,27 @@ ihu_host_update()
# Main
#-----------------------------------------------------------------------------------------------------------------------------------
vsl_add
ihu_args_parse "$@"
if [[ "${MODE}" == "EXIT" ]]
then
exit 0
fi
case "${MODE}" in
"EXIT")
exit ${EXIT_CODE}
;;
"HELP")
ihu_help_print
exit ${EXIT_CODE}
;;
"VERSION")
ihu_version_print
exit ${EXIT_CODE}
;;
esac
case "${MODE}" in
UPDATE)
@@ -176,8 +191,8 @@ case "${MODE}" in
*)
echo "Usage: $0 <host> <zone> <ip> <ttl>"
RETVAL=1
EXIT_CODE=1
;;
esac
exit ${RETVAL}
exit ${EXIT_CODE}

View File

@@ -39,7 +39,7 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.2.0"
declare -g VERSION="1.2.4"
declare -g NAME="openvpn-client-down"
declare -g DEBUG=""

View File

@@ -39,7 +39,7 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.0.0"
declare -g VERSION="1.2.4"
declare -g NAME="openvpn-client-up"
declare -g DEBUG=""

View File

@@ -39,7 +39,7 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.0.0"
declare -g VERSION="1.2.4"
declare -g NAME="openvpn-down"
declare -g DEBUG=""

View File

@@ -39,25 +39,25 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.0.0"
declare -g NAME="openvpn-status"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] [dev]"
declare -g VERSION="1.2.4"
declare -g NAME="openvpn-status"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] [dev]"
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g RETVAL=0
declare -g EXIT_CODE=0
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g DEBUG=""
#declare -g DEBUG="echo"
#declare -g DEBUG=":"
declare -g DEBUG=""
#declare -g DEBUG="echo"
#declare -g DEBUG=":"
declare -g LOG=""
#declare -g LOG=":"
#declare -g LOG="echo"
declare -g LOG=""
#declare -g LOG=":"
#declare -g LOG="echo"
declare -g STATUS_DIR="/var/lib/openvpn"
declare -g DEV=""
declare -g STATUS_DIR="/var/lib/openvpn"
declare -g DEV=""
@@ -105,18 +105,20 @@ ovs_args_parse()
while true
do
case "$1" in
# Options
-h|--help) MODE="EXIT"; ovs_help_print; shift;;
-V|--version) MODE="EXIT"; ovs_version_print; shift;;
-v|--verbose) VERBOSE="TRUE"; shift;;
# Mode switches
-h|--help) MODE="HELP"; shift;;
-V|--version) MODE="VERSION"; shift;;
# Global options
-v|--verbose) VERBOSE="TRUE"; shift;;
# End of options
--) shift; break;;
*) echo "args_parse internal error [$1]!"; exit 1;;
--) shift; break;;
*) echo "args_parse internal error [$1]!"; exit 1;;
esac
done
if [[ "${MODE}" != "EXIT" ]]
if [[ "${MODE}" == "DEFAULT" ]]
then
if [[ "${#}" -ge "1" ]]
then
@@ -164,15 +166,26 @@ ovs_status_all()
# Main
#-----------------------------------------------------------------------------------------------------------------------------------
vsl_add
ovs_args_parse "$@"
case "${MODE}" in
"EXIT")
exit ${EXIT_CODE}
;;
if [[ "${MODE}" == "EXIT" ]]
then
exit 0
fi
"HELP")
ovs_help_print
exit ${EXIT_CODE}
;;
"VERSION")
ovs_version_print
exit ${EXIT_CODE}
;;
esac
case "${MODE}" in
@@ -186,8 +199,9 @@ case "${MODE}" in
*)
echo "Usage: $0 [dev]"
RETVAL=1
EXIT_CODE=1
;;
esac
exit ${RETVAL}
exit ${EXIT_CODE}

View File

@@ -37,7 +37,7 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.0.0"
declare -g VERSION="1.2.4"
declare -g NAME="openvpn-up"
declare -g DEBUG=""

View File

@@ -39,26 +39,26 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.2.0"
declare -g NAME="rx3_net_adm"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] {start|stop|restart|status|dump|table_set|refresh_address} [args...]"
declare -g VERSION="1.2.4"
declare -g NAME="rx3_net_adm"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] {start|stop|restart|status|dump|table_set|refresh_address} [args...]"
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g RETVAL=0
declare -g prog="rx3-net"
declare -g EXIT_CODE=0
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g prog="rx3-net"
declare -g DEBUG="${DEBUG-}"
#declare -g DEBUG=""
#declare -g DEBUG="echo"
#declare -g DEBUG=":"
declare -g DEBUG="${DEBUG-}"
#declare -g DEBUG=""
#declare -g DEBUG="echo"
#declare -g DEBUG=":"
declare -g ECHO="${ECHO-}"
#declare -g ECHO="echo"
#declare -g ECHO=":"
declare -g ECHO="${ECHO-}"
#declare -g ECHO="echo"
#declare -g ECHO=":"
#declare -g LOG=""
#declare -g LOG=""
@@ -83,7 +83,7 @@ rna_version_print()
rna_help_print()
{
rna_version_print
version_print ""
help_print
}
@@ -106,9 +106,11 @@ rna_args_parse()
while true
do
case "$1" in
# Options
-h|--help) MODE="EXIT"; rna_help_print; shift;;
-V|--version) MODE="EXIT"; rna_version_print; shift;;
# Mode switches
-h|--help) MODE="HELP"; shift;;
-V|--version) MODE="VERSION"; shift;;
# Global options
-v|--verbose) VERBOSE="TRUE"; shift;;
# End of options
@@ -117,14 +119,13 @@ rna_args_parse()
esac
done
if [[ "${MODE}" != "EXIT" ]]
if [[ "${MODE}" == "DEFAULT" ]]
then
if [[ "${#}" -lt "1" ]]
then
MODE="EXIT"
echo_error "Not enough args!"
rna_help_print
MODE="HELP"
EXIT_CODE=1
else
case "$1" in
start|stop|restart|status|dump|table_set|refresh_address)
@@ -132,10 +133,9 @@ rna_args_parse()
;;
*)
MODE="EXIT"
echo_error "Invalid command: [$1]"
rna_help_print
MODE="HELP"
EXIT_CODE=1
;;
esac
fi
@@ -157,12 +157,12 @@ rna_start()
if [ -r /var/lock/subsys/rx3-net ]
then
echo "already started"
RETVAL=0
EXIT_CODE=0
else
network_start
RETVAL=$?
[ "${RETVAL}" = 0 ] && touch /var/lock/subsys/rx3-net
EXIT_CODE=$?
[ "${EXIT_CODE}" = 0 ] && touch /var/lock/subsys/rx3-net
fi
echo
@@ -184,13 +184,13 @@ rna_stop()
then
network_stop
RETVAL=$?
EXIT_CODE=$?
else
echo "already stopped"
RETVAL=0
EXIT_CODE=0
fi
[ "${RETVAL}" = 0 ] && rm -f /var/lock/subsys/rx3-net
[ "${EXIT_CODE}" = 0 ] && rm -f /var/lock/subsys/rx3-net
echo
}
@@ -269,12 +269,27 @@ rna_address_refresh()
# Main
#-----------------------------------------------------------------------------------------------------------------------------------
vsl_add
rna_args_parse "$@"
if [[ "${MODE}" == "EXIT" ]]
then
exit 0
fi
case "${MODE}" in
"EXIT")
exit ${EXIT_CODE}
;;
"HELP")
rna_help_print
exit ${EXIT_CODE}
;;
"VERSION")
rna_version_print
exit ${EXIT_CODE}
;;
esac
network_init
@@ -311,10 +326,11 @@ case "${MODE}" in
*)
echo "Usage: $0 {start|stop|restart|status|dump|table_set|refresh_address}"
RETVAL=1
EXIT_CODE=1
;;
esac
network_deinit
exit ${RETVAL}
exit ${EXIT_CODE}

View File

@@ -39,23 +39,23 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.2.0"
declare -g NAME="rx3_vpn_adm"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] {start | stop | restart | status | dump} [args...]"
declare -g VERSION="1.2.4"
declare -g NAME="Rx3_VPN_Adm"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] {start | stop | restart | status | dump} [args...]"
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g RETVAL=0
declare -g prog="rx3-vpn"
declare -g EXIT_CODE=0
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g prog="rx3-vpn"
declare -g DEBUG=""
#declare -g DEBUG="echo"
#declare -g DEBUG=":"
declare -g DEBUG=""
#declare -g DEBUG="echo"
#declare -g DEBUG=":"
declare -g LOG=""
#declare -g LOG=":"
#declare -g LOG="echo"
declare -g LOG=""
#declare -g LOG=":"
#declare -g LOG="echo"
@@ -80,7 +80,6 @@ rva_version_print()
rva_help_print()
{
rva_version_print
help_print
}
@@ -103,9 +102,11 @@ rva_args_parse()
while true
do
case "$1" in
# Options
-h|--help) MODE="EXIT"; rva_help_print; shift;;
-V|--version) MODE="EXIT"; rva_version_print; shift;;
# Mode switches
-h|--help) MODE="HELP"; shift;;
-V|--version) MODE="VERSION"; shift;;
# Global options
-v|--verbose) VERBOSE="TRUE"; shift;;
# End of options
@@ -114,14 +115,14 @@ rva_args_parse()
esac
done
if [[ "${MODE}" != "EXIT" ]]
if [[ "${MODE}" == "DEFAULT" ]]
then
if [[ "${#}" -lt "1" ]]
then
MODE="EXIT"
echo_error "Not enough args!"
rva_help_print
MODE="HELP"
EXIT_CODE=1
else
case "$1" in
start|stop|restart|status|dump)
@@ -129,10 +130,10 @@ rva_args_parse()
;;
*)
MODE="EXIT"
echo_error "Invalid command: [$1]"
rva_help_print
MODE="HELP"
EXIT_CODE=1
;;
esac
fi
@@ -154,12 +155,12 @@ rva_start()
if [ -r /var/lock/subsys/rx3-vpn ]
then
echo "already started"
RETVAL=0
EXIT_CODE=0
else
vpn_start
RETVAL=$?
[ "${RETVAL}" = 0 ] && touch /var/lock/subsys/rx3-vpn
EXIT_CODE=$?
[ "${EXIT_CODE}" = 0 ] && touch /var/lock/subsys/rx3-vpn
fi
echo
@@ -181,13 +182,13 @@ rva_stop()
then
vpn_stop
RETVAL=$?
EXIT_CODE=$?
else
echo "already stopped"
RETVAL=0
EXIT_CODE=0
fi
[ "${RETVAL}" = 0 ] && rm -f /var/lock/subsys/rx3-vpn
[ "${EXIT_CODE}" = 0 ] && rm -f /var/lock/subsys/rx3-vpn
echo
}
@@ -226,14 +227,27 @@ rva_dump()
# Main
#-----------------------------------------------------------------------------------------------------------------------------------
vsl_add
rva_args_parse "$@"
case "${MODE}" in
"EXIT")
exit ${EXIT_CODE}
;;
"HELP")
rva_help_print
exit ${EXIT_CODE}
;;
"VERSION")
rva_version_print
exit ${EXIT_CODE}
;;
esac
if [[ "${MODE}" == "EXIT" ]]
then
exit 0
fi
vpn_init
@@ -262,10 +276,11 @@ case "${MODE}" in
*)
echo "Usage: $0 {start|stop|restart|status|dump}"
RETVAL=1
EXIT_CODE=1
;;
esac
vpn_deinit
exit ${RETVAL}
exit ${EXIT_CODE}

View File

@@ -41,8 +41,8 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.2.0"
declare -g NAME="ns-admin_board.cgi"
declare -g VERSION="1.2.4"
declare -g NAME="NS Admin Board"
declare -g DEBUG=""
#declare -g DEBUG="echo"

137
www/cgi-bin/vpn-admin_board.cgi Normal file → Executable file
View 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