File: //usr/local/packages/@appstore/QuickConnect/hook/quickconnect_logout.sh
#!/bin/sh
record_logout_event()
{
# Prepare parameters
CONFIG_FILE="/usr/syno/etc/synorelayd/synorelayd.conf"
if [[ ! -f $CONFIG_FILE ]]; then
echo "Configuration file not found: $CONFIG_FILE"
return
fi
SERVER_ID=$(jq -r '.serverID' "$CONFIG_FILE")
HOST=$(jq -r '.server_control.host' "$CONFIG_FILE")
KEY=$(synocloudserviceauth -a get)
if [[ -z "$SERVER_ID" || -z "$HOST" || -z "$KEY" ]]; then
echo "Invalid configuration: host, serverID, or key is missing"
return
fi
# Send the POST request using curl
RESPONSE=$(curl -s -X POST "https://"$HOST"/Serv.php" \
-H "Content-Type: application/json" \
--connect-timeout 5 -m 10 \
-d '{"version": 1,"command": "log_disconnect_event","serverID": "'$SERVER_ID'", "reason": "Synology Account logout", "key": "'$KEY'"}')
}
case $1 in
--sdk-mod-ver)
#Print SDK support versio
echo "1.0";
;;
--name)
#Print package name
echo "Quickconnect"
;;
--pkg-ver)
#Print package version
echo "1.0";
;;
--vendor)
#Print package vendor
echo "Synology";
;;
--post)
;;
--pre)
record_logout_event
/usr/syno/sbin/synorelayd --quickconnect off
;;
*)
echo "Usage: $0 --sdk-mod-ver|--name|--pkg-ver|--vendor|--pre|--post"
;;
esac