HEX
Server: Apache/2.4.63 (Unix)
System: Linux Synopilou92 4.4.302+ #72806 SMP Mon Jul 21 23:16:00 CST 2025 x86_64
User: pilou92 (1026)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /volume1/@appstore/VPNCenter/scripts/VPNNetIfnameChange.sh
#!/bin/sh

###############################################################
#   This script should be hooked when interface name changed
#   Usable environment variable:
#	ORIGIN_IFNAME_NUM ORIGIN_IFNAME_1 ... ORIGIN_IFNAME_N
#	IFNAME_NUM IFNAME_1 ... IFNAME_N
#	RESULT
#
#   Note: The script should bear to be invoked multiple times 
###############################################################

#Conf dir/file definition
DIR_PKG_TOP=/var/packages/VPNCenter
FILE_PKG_INFO=${DIR_PKG_TOP}/INFO
FILE_PKG_ENABLE=${DIR_PKG_TOP}/enabled
DIR_PKG_RESOURCE=${DIR_PKG_TOP}/target
SYNOVPNNET=${DIR_PKG_RESOURCE}/bin/synovpnnet

PackageInfoGet(){
    if [ -f "${FILE_PKG_INFO}" ]; then
	PKG_NAME=`/bin/get_key_value ${FILE_PKG_INFO} package`
	PKG_VERSION=`/bin/get_key_value ${FILE_PKG_INFO} version`
	PKG_VENDOR=`/bin/get_key_value ${FILE_PKG_INFO} maintainer`
	PKG_MODVER=`/bin/get_key_value ${FILE_PKG_INFO} sdkmodversion`
    else
	echo "package info file does not exist!";
	exit 1;
    fi
}

PackageEnableGet(){
    if [ -f "${FILE_PKG_ENABLE}" ]; then
        PKG_ENABLE=1;
    else
        PKG_ENABLE=0;
    fi
}

#At begining, acquire package settings
PackageInfoGet

case $1 in
    --sdk-mod-ver)
	#Print SDK support version
	echo ${PKG_MODVER};
    ;;
    --name)
	#Print package name
	echo ${PKG_NAME};
    ;;
    --pkg-ver)
	#Print package version
	echo ${PKG_VERSION};
    ;;
    --vendor)
	#Print package vendor
	echo ${PKG_VENDOR};
    ;;
    --pre)
    ;;
    --post)
	#Check action success or not
	if [ "0" != "${RESULT}" ]; then
		return
	fi

	if [ "${ORIGIN_IFNAME_NUM}" != "${IFNAME_NUM}" ]; then
		return
	fi

	if [ 1 -ne "${IFNAME_NUM}" ]; then
		return
	fi

	${SYNOVPNNET} sync_if --old="${ORIGIN_IFNAME_1}" --new="${IFNAME_1}"
    ;;
    *)
	echo "Usage: $0 --sdk-mod-ver|--name|--pkg-ver|--vendor|--pre|--post"
    ;;
esac