#!/bin/bash DIRECTADMIN_PLUGIN="/usr/local/directadmin/plugins/Imunify" CPANEL_PLUGIN="/usr/local/cpanel/base/frontend/jupiter/imunify" USERSIDE_PLUGIN_FLAG="/var/imunify360/av-userside-plugin.installed" # Get the name of installed panel get_panel() { if [ -e /usr/local/cpanel/cpanel ]; then printf "cpanel\n" elif [ -e /usr/local/directadmin/directadmin ]; then printf "directadmin\n" elif [ -e /usr/sbin/plesk ]; then printf "plesk\n" else return 1 fi } install_cpanel() { local conf_dir="antivirus_conf" if [[ "${1}" == "360" ]]; then if [[ -f /var/imunify360/myimunify-freemium.flag ]]; then conf_dir="myimunify_conf" else conf_dir="conf" fi fi for theme_dir in /usr/local/cpanel/base/frontend/*; do [[ -d "${theme_dir}" ]] || continue local theme theme=$(basename "${theme_dir}") if [[ "${theme}" != "jupiter" ]]; then mkdir -p "/usr/local/cpanel/base/frontend/${theme}/imunify" cp -a "${CPANEL_PLUGIN}" "/usr/local/cpanel/base/frontend/${theme}" fi /usr/local/cpanel/scripts/install_plugin "/etc/sysconfig/imunify360/cpanel/${conf_dir}" --theme "${theme}" done touch "${USERSIDE_PLUGIN_FLAG}" } install_directadmin() { local enabled_plugin="${DIRECTADMIN_PLUGIN}/user" local disabled_plugin="${DIRECTADMIN_PLUGIN}/.user" if [[ -d "${disabled_plugin}" ]] && [[ -n "$(ls -A "${disabled_plugin}")" ]]; then rm -rf "${enabled_plugin}" mv "${disabled_plugin}" "${enabled_plugin}" fi touch "${USERSIDE_PLUGIN_FLAG}" } install_plesk() { if [[ ! -e "${USERSIDE_PLUGIN_FLAG}" ]]; then touch "${USERSIDE_PLUGIN_FLAG}" fi } remove_cpanel() { local conf_dir="antivirus_conf" if [[ "${1}" == "360" ]]; then conf_dir="conf" fi for theme_dir in /usr/local/cpanel/base/frontend/*; do [[ -d "${theme_dir}" ]] || continue local theme theme=$(basename "${theme_dir}") /usr/local/cpanel/scripts/uninstall_plugin "/etc/sysconfig/imunify360/cpanel/${conf_dir}" --theme "${theme}" if [[ -d "/usr/local/cpanel/base/frontend/${theme}/imunify" ]]; then rm -rf "/usr/local/cpanel/base/frontend/${theme}/imunify" fi done rm -f "${USERSIDE_PLUGIN_FLAG}" } remove_directadmin() { local enabled_plugin="${DIRECTADMIN_PLUGIN}/user" local disabled_plugin="${DIRECTADMIN_PLUGIN}/.user" if [[ -d "${enabled_plugin}" ]] && [[ -n "$(ls -A "${enabled_plugin}")" ]]; then rm -rf "${disabled_plugin}" mv "${enabled_plugin}" "${disabled_plugin}" fi rm -f "${USERSIDE_PLUGIN_FLAG}" } remove_plesk() { if [[ -e "${USERSIDE_PLUGIN_FLAG}" ]]; then rm -f "${USERSIDE_PLUGIN_FLAG}" fi } update_cpanel() { if [[ -e "${USERSIDE_PLUGIN_FLAG}" ]]; then install_cpanel "${1}" else printf "User-side plugin is not installed. Skipping update...\n" fi } update_directadmin() { if [[ ! -e "${USERSIDE_PLUGIN_FLAG}" ]] && [[ -e "${DIRECTADMIN_PLUGIN}/user" ]]; then remove_directadmin fi } update_plesk() { install_plesk } update_package_config_cpanel() { for theme_dir in /usr/local/cpanel/base/frontend/*; do [[ -d "${theme_dir}" ]] || continue local theme theme=$(basename "${theme_dir}") local theme_path="/usr/local/cpanel/base/frontend/${theme}/imunify/assets/js/config.js" if [[ -f "${theme_path}" ]]; then if ! grep -q "IMUNIFY_PACKAGE" "${theme_path}"; then printf "var IMUNIFY_PACKAGE = '360'\n" > "${theme_path}" else sed -i -E "s/IMUNIFY_PACKAGE = 'AV'/IMUNIFY_PACKAGE = '360'/" "${theme_path}" fi fi done } update_package_config_directadmin() { install_directadmin } update_package_config_plesk() { printf "Updating package config for Plesk is not implemented.\n" } main() { local panel; panel=$(get_panel) if [[ -z "${panel}" ]]; then printf "Detected panel doesn't support av user side plugin\n" exit 0 fi local package="AV" for arg in "$@"; do if [[ "$arg" =~ ^package= ]]; then package="${arg#*=}" fi done case "${1}" in "-r") "remove_${panel}" "$package" ;; "-u") "update_${panel}" "$package" ;; "-update-package") "update_package_config_${panel}" ;; "-i") "install_${panel}" "$package" ;; "") "install_${panel}" "AV" ;; *) printf "Unrecognized option: %s\n" "${1}" exit 1 ;; esac } main "$@"
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
GConf | Folder | 0755 |
|
|
GeoIP | Folder | 0755 |
|
|
ImageMagick-6 | Folder | 0755 |
|
|
X11 | Folder | 0755 |
|
|
aclocal | Folder | 0755 |
|
|
aclocal-1.13 | Folder | 0755 |
|
|
adobe | Folder | 0755 |
|
|
alsa | Folder | 0755 |
|
|
anaconda | Folder | 0755 |
|
|
apache2 | Folder | 0755 |
|
|
appdata | Folder | 0755 |
|
|
applications | Folder | 0755 |
|
|
augeas | Folder | 0755 |
|
|
authconfig | Folder | 0755 |
|
|
autoconf | Folder | 0755 |
|
|
automake-1.13 | Folder | 0755 |
|
|
awk | Folder | 0755 |
|
|
backgrounds | Folder | 0755 |
|
|
bash-completion | Folder | 0755 |
|
|
bison | Folder | 0755 |
|
|
centos-logos | Folder | 0755 |
|
|
centos-release | Folder | 0755 |
|
|
cloudlinux-linksafe | Folder | 0755 |
|
|
cracklib | Folder | 0755 |
|
|
dbus-1 | Folder | 0755 |
|
|
desktop-directories | Folder | 0755 |
|
|
dict | Folder | 0755 |
|
|
doc | Folder | 0755 |
|
|
dovecot | Folder | 0755 |
|
|
dpkg | Folder | 0755 |
|
|
egl | Folder | 0755 |
|
|
emacs | Folder | 0755 |
|
|
empty | Folder | 0555 |
|
|
enchant | Folder | 0755 |
|
|
et | Folder | 0755 |
|
|
file | Folder | 0755 |
|
|
firewalld | Folder | 0755 |
|
|
firstboot | Folder | 0755 |
|
|
fontconfig | Folder | 0755 |
|
|
fonts | Folder | 0755 |
|
|
games | Folder | 0755 |
|
|
gcc-4.8.2 | Folder | 0755 |
|
|
gcc-4.8.5 | Folder | 0755 |
|
|
gdb | Folder | 0755 |
|
|
gettext | Folder | 0755 |
|
|
gettext-0.19.8 | Folder | 0755 |
|
|
ghostscript | Folder | 0755 |
|
|
git-core | Folder | 0755 |
|
|
glib-2.0 | Folder | 0755 |
|
|
glvnd | Folder | 0755 |
|
|
gnome | Folder | 0755 |
|
|
gnome-background-properties | Folder | 0755 |
|
|
gnupg | Folder | 0755 |
|
|
groff | Folder | 0755 |
|
|
grub | Folder | 0755 |
|
|
gtk-doc | Folder | 0755 |
|
|
hwdata | Folder | 0755 |
|
|
i18n | Folder | 0755 |
|
|
icons | Folder | 0755 |
|
|
idl | Folder | 0755 |
|
|
imunify-notifier | Folder | 0755 |
|
|
imunify360 | Folder | 0755 |
|
|
info | Folder | 0755 |
|
|
kcare | Folder | 0755 |
|
|
kde4 | Folder | 0755 |
|
|
kdump | Folder | 0755 |
|
|
keyutils | Folder | 0755 |
|
|
libdrm | Folder | 0755 |
|
|
libthai | Folder | 0755 |
|
|
libtool | Folder | 0755 |
|
|
libwmf | Folder | 0755 |
|
|
licenses | Folder | 0755 |
|
|
locale | Folder | 0755 |
|
|
lua | Folder | 0755 |
|
|
man | Folder | 0755 |
|
|
microcode_ctl | Folder | 0755 |
|
|
mime | Folder | 0755 |
|
|
mime-info | Folder | 0755 |
|
|
misc | Folder | 0755 |
|
|
myspell | Folder | 0755 |
|
|
mysql | Folder | 0755 |
|
|
mysql-test | Folder | 0755 |
|
|
nano | Folder | 0755 |
|
|
omf | Folder | 0755 |
|
|
os-prober | Folder | 0755 |
|
|
p11-kit | Folder | 0755 |
|
|
perl5 | Folder | 0755 |
|
|
pixmaps | Folder | 0755 |
|
|
pkgconfig | Folder | 0755 |
|
|
pki | Folder | 0755 |
|
|
plymouth | Folder | 0755 |
|
|
polkit-1 | Folder | 0755 |
|
|
poppler | Folder | 0755 |
|
|
qemu-ga | Folder | 0755 |
|
|
redhat-release | Folder | 0755 |
|
|
screen | Folder | 0755 |
|
|
selinux | Folder | 0755 |
|
|
setools-3.3 | Folder | 0755 |
|
|
sgml | Folder | 0755 |
|
|
smartmontools | Folder | 0755 |
|
|
snmp | Folder | 0755 |
|
|
sounds | Folder | 0755 |
|
|
systemd | Folder | 0755 |
|
|
systemtap | Folder | 0755 |
|
|
t1lib | Folder | 0755 |
|
|
tabset | Folder | 0755 |
|
|
tcl8 | Folder | 0755 |
|
|
tcl8.5 | Folder | 0755 |
|
|
terminfo | Folder | 0755 |
|
|
themes | Folder | 0755 |
|
|
thumbnailers | Folder | 0755 |
|
|
tk8.5 | Folder | 0755 |
|
|
tuned | Folder | 0755 |
|
|
vim | Folder | 0755 |
|
|
wallpapers | Folder | 0755 |
|
|
xml | Folder | 0755 |
|
|
xsessions | Folder | 0755 |
|
|
yum-cli | Folder | 0755 |
|
|
yum-plugins | Folder | 0755 |
|
|
zoneinfo | Folder | 0755 |
|
|
zsh | Folder | 0755 |
|
|
av-userside-plugin.sh | File | 4.73 KB | 0744 |
|
magic | File | 609.94 KB | 0644 |
|