2019-10-01 21:34:02 +02:00
#!/bin/bash
R = '\033[0;31m'
G = '\033[0;32m'
Y = '\033[0;33m'
2019-11-28 23:19:56 +01:00
C = '\033[1;34m'
2019-10-01 21:34:02 +02:00
B = '\033[0;36m'
S = '\033[0;90m'
NC = '\033[0m'
OPTION = ${ 1 :- }
GIT_SERVER = "github.com"
2021-05-22 00:56:02 +02:00
CP_VER = "5.0.0"
2019-10-01 21:34:02 +02:00
PRC_ = 0
2019-11-05 03:24:08 +01:00
CP_DOMAIN = ${ CP_DOMAIN :- }
CP_LANG = ${ CP_LANG :- }
CP_THEME = ${ CP_THEME :- }
CP_PASSWD = ${ CP_PASSWD :- }
2019-10-28 02:43:18 +01:00
CP_MIRROR = ${ CP_MIRROR :- }
CP_KEY = ${ CP_KEY :- }
2019-11-05 03:24:08 +01:00
CLOUDFLARE_EMAIL = ${ CLOUDFLARE_EMAIL :- }
CLOUDFLARE_API_KEY = ${ CLOUDFLARE_API_KEY :- }
MEGA_EMAIL = ${ MEGA_EMAIL :- }
MEGA_PASSWORD = ${ MEGA_PASSWORD :- }
2021-03-31 01:26:36 +02:00
FTP_USERNAME = ${ FTP_USERNAME :- }
FTP_PASSWORD = ${ FTP_PASSWORD :- }
FTP_HOSTNAME = ${ FTP_HOSTNAME :- }
FTP_NAME = ${ FTP_NAME :- }
2019-10-01 21:34:02 +02:00
2020-01-06 23:57:25 +01:00
CP_DOMAIN_ = $( echo " ${ CP_DOMAIN } " | sed -r "s/[^A-Za-z0-9]/_/g" )
CP_MIRROR_ = $( echo " ${ CP_DOMAIN } " | sed -r "s/[^A-Za-z0-9]/_/g" )
2019-10-01 21:34:02 +02:00
2021-06-06 00:55:05 +02:00
CP_SPB = ""
2020-05-01 23:12:29 +02:00
2019-10-10 21:24:49 +02:00
CP_IP = "domain"
2019-10-01 21:34:02 +02:00
2019-10-10 21:24:49 +02:00
EXTERNAL_PORT = ""
EXTERNAL_DOCKER = ""
2019-10-01 21:34:02 +02:00
2020-08-13 02:55:41 +02:00
CP_OS = " `awk '/^ID=/' /etc/*os-release | awk -F'=' '{ print tolower( $2 ) }'` "
2019-11-01 20:41:06 +01:00
2021-01-06 05:33:52 +01:00
CP_MEM = $( free -m | grep -oP '\d+' | sed '1!d' )
2021-01-06 04:37:20 +01:00
if echo " ${ CP_MEM } " | grep -qE '^[0-9]+$' ; then
2021-02-04 02:56:38 +01:00
DOCKER_MEM = ( "--memory" " $(( CP_MEM / 2 )) m " )
2021-01-06 04:37:20 +01:00
else
DOCKER_MEM = ( )
fi
2019-11-16 05:27:22 +01:00
post_commands( ) {
LOCAL_DOMAIN = ${ 1 :- ${ CP_DOMAIN } }
2020-05-01 21:48:52 +02:00
LOCAL_DOMAIN_ = $( echo " ${ LOCAL_DOMAIN } " | sed -r "s/[^A-Za-z0-9]/_/g" )
2019-11-16 05:27:22 +01:00
2021-01-13 05:55:18 +01:00
if [ " $( grep "%d_%m_%Y" /etc/crontab) " != "" ] ; then
sed -i "s/%d_%m_%Y/\\\%d_\\\%m_\\\%Y/g" /etc/crontab & > /dev/null
fi
if [ " $( grep " ${ LOCAL_DOMAIN } _autostart " /etc/crontab) " = "" ] \
2020-05-07 21:38:18 +02:00
&& [ -f " /home/ ${ LOCAL_DOMAIN } /process.json " ] \
&& [ -f " /home/ ${ LOCAL_DOMAIN } /app.js " ] ; then
2019-10-11 16:13:07 +02:00
echo -e "\n" >>/etc/crontab
2019-11-16 05:27:22 +01:00
echo " # ----- ${ LOCAL_DOMAIN } _autostart -------------------------------------- " >>/etc/crontab
2021-01-13 05:55:18 +01:00
echo " @reboot root /usr/bin/cinemapress autostart \" ${ LOCAL_DOMAIN } \" >>\"/home/ ${ LOCAL_DOMAIN } /log/autostart_\$(date '+\%d_\%m_\%Y').log\" 2>&1 " >>/etc/crontab
2019-11-16 05:27:22 +01:00
echo " # ----- ${ LOCAL_DOMAIN } _autostart -------------------------------------- " >>/etc/crontab
2019-10-11 16:13:07 +02:00
fi
2021-01-13 05:55:18 +01:00
if [ " $( grep " ${ LOCAL_DOMAIN } _renew " /etc/crontab) " = "" ] \
2019-11-16 05:27:22 +01:00
&& [ -d " /home/ ${ LOCAL_DOMAIN } /config/production/nginx/ssl.d/live/ ${ LOCAL_DOMAIN } / " ] ; then
2020-12-13 23:32:23 +01:00
sed -i " s/.* ${ LOCAL_DOMAIN } _ssl.*//g " /etc/crontab & > /dev/null
sed -i " s/.* ${ LOCAL_DOMAIN } \/config\/production\/nginx\/ssl\.d.*//g " /etc/crontab & > /dev/null
2019-10-11 16:13:07 +02:00
echo -e "\n" >>/etc/crontab
2020-12-13 23:27:43 +01:00
echo " # ----- ${ LOCAL_DOMAIN } _renew -------------------------------------- " >>/etc/crontab
2021-01-13 05:55:18 +01:00
echo " 0 23 * * * root /usr/bin/cinemapress renew \" ${ LOCAL_DOMAIN } \" >>\"/home/ ${ LOCAL_DOMAIN } /log/renew_\$(date '+\%d_\%m_\%Y').log\" 2>&1 " >>/etc/crontab
2020-12-13 23:27:43 +01:00
echo " # ----- ${ LOCAL_DOMAIN } _renew -------------------------------------- " >>/etc/crontab
2019-11-16 05:27:22 +01:00
fi
2019-10-11 16:13:07 +02:00
}
2019-10-01 21:34:02 +02:00
docker_install( ) {
2019-11-01 22:42:13 +01:00
if [ " ${ CP_OS } " != "alpine" ] && [ " ${ CP_OS } " != "\"alpine\"" ] ; then
2020-03-06 03:44:55 +01:00
if [ "`basename " ${ 0 } "`" != "cinemapress" ] || [ " ${ 1 } " != "" ] ; then
echo "" ; echo -n "☐ Downloading cinemapress.sh ..." ;
2020-05-03 20:58:23 +02:00
wget -qO /usr/bin/cinemapress https://gitlab.com/CinemaPress/CinemaPress/raw/master/cinemapress.sh -o /dev/null && \
2020-03-06 03:44:55 +01:00
chmod +x /usr/bin/cinemapress
echo -e " \\r ${ G } ✓ Downloading cinemapress.sh ... ${ NC } "
echo -n "☐ Installing packages ..."
2019-10-25 04:09:31 +02:00
if [ " ${ CP_OS } " = "debian" ] || [ " ${ CP_OS } " = "\"debian\"" ] ; then
2019-12-03 02:06:09 +01:00
DEBIAN_FRONTEND = noninteractive apt-get -y -qq update >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2021-07-14 02:00:30 +02:00
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install sudo >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install wget >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install curl >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install nano >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install htop >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install lsb-release >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install ca-certificates >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install git-core >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install openssl >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install net-tools >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install netcat >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install cron >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install zip >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install gzip >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install bzip2 >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install unzip >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install gcc >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install make >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install libssl-dev >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install locales >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install lsof >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-25 04:09:31 +02:00
elif [ " ${ CP_OS } " = "ubuntu" ] || [ " ${ CP_OS } " = "\"ubuntu\"" ] ; then
2019-12-03 02:06:09 +01:00
DEBIAN_FRONTEND = noninteractive apt-get -y -qq update >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2021-07-14 02:00:30 +02:00
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install sudo >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install wget >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install curl >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install nano >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install htop >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install lsb-release >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install ca-certificates >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install git-core >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install openssl >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install netcat >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install net-tools >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install cron >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install zip >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install gzip >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install bzip2 >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install unzip >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install gcc >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install make >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install libssl-dev >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install locales >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install lsof >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install syslog-ng >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-25 04:09:31 +02:00
elif [ " ${ CP_OS } " = "fedora" ] || [ " ${ CP_OS } " = "\"fedora\"" ] ; then
2021-07-14 02:00:30 +02:00
dnf -y install sudo >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install wget >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install curl >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install nano >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install htop >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install lsb-release >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install ca-certificates >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install git-core >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install openssl >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install netcat >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install cron >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install zip >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install gzip >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install bzip2 >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install unzip >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install gcc >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install make >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install libssl-dev >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install locales >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
dnf -y install lsof >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-25 04:09:31 +02:00
elif [ " ${ CP_OS } " = "centos" ] || [ " ${ CP_OS } " = "\"centos\"" ] ; then
2019-12-03 02:06:09 +01:00
yum install -y epel-release >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2021-07-14 02:00:30 +02:00
yum install -y sudo >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y wget >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y curl >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y nano >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y htop >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y lsb-release >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y ca-certificates >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y git-core >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y openssl >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y netcat >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y net-tools >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y cron >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y zip >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y gzip >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y bzip2 >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y unzip >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y gcc >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y make >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y libssl-dev >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y locales >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
yum install -y lsof >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-25 04:09:31 +02:00
fi
2020-03-06 03:44:55 +01:00
echo -e " \\r ${ G } ✓ Installing packages ... ${ NC } "
echo ""
2019-10-08 20:29:17 +02:00
fi
2020-03-11 02:21:54 +01:00
if [ " $( docker -v 2>/dev/null) " = "" ] ; then
2019-10-08 20:29:17 +02:00
clear
_line
_logo
_header "DOCKER"
_content
_content "Installing Docker ..."
_content
_s
2020-03-21 03:06:38 +01:00
sed -Ei "s/#SyslogFacility AUTH/SyslogFacility AUTH/g" /etc/ssh/sshd_config >/dev/null
sed -Ei "s/#LogLevel INFO/LogLevel ERROR/g" /etc/ssh/sshd_config >/dev/null
2020-04-04 20:36:52 +02:00
sed -Ei "s/#MaxAuthTries 6/MaxAuthTries 3/g" /etc/ssh/sshd_config >/dev/null
2020-05-07 21:38:18 +02:00
sed -Ei "s/#ClientAliveCountMax 3/ClientAliveCountMax 99999/g" /etc/ssh/sshd_config >/dev/null
sed -Ei "s/#ClientAliveInterval 0/ClientAliveInterval 20/g" /etc/ssh/sshd_config >/dev/null
2019-10-01 21:34:02 +02:00
if [ " ${ CP_OS } " = "debian" ] || [ " ${ CP_OS } " = "\"debian\"" ] ; then
2019-10-08 20:29:17 +02:00
CP_ARCH = "`dpkg --print-architecture`"
2019-12-09 23:53:40 +01:00
DEBIAN_FRONTEND = noninteractive apt-get -y -qq remove docker docker-engine docker.io containerd runc
DEBIAN_FRONTEND = noninteractive apt-get -y -qq update
2021-10-07 23:39:26 +02:00
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install apt-transport-https
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install ca-certificates
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install curl
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install gnupg2
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --yes --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
2019-10-08 20:29:17 +02:00
if [ " ${ CP_ARCH } " = "amd64" ] || [ " ${ CP_ARCH } " = "x86_64" ] || [ " ${ CP_ARCH } " = "i386" ]
then
CP_ARCH = "amd64"
elif [ " ${ CP_ARCH } " = "armhf" ] || [ " ${ CP_ARCH } " = "armel" ]
then
CP_ARCH = "armhf"
elif [ " ${ CP_ARCH } " = "arm64" ]
then
CP_ARCH = "arm64"
fi
2021-10-07 23:39:26 +02:00
sed -i "s~.*docker.com.*~~g" /etc/apt/sources.list & > /dev/null
echo " deb [arch= ${ CP_ARCH } signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $( lsb_release -cs) stable " | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2019-12-09 23:53:40 +01:00
DEBIAN_FRONTEND = noninteractive apt-get -y -qq update
2021-10-07 23:39:26 +02:00
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install docker-ce
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install docker-ce-cli
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install containerd.io
2020-03-21 03:06:38 +01:00
systemctl restart ssh
2019-10-01 21:34:02 +02:00
elif [ " ${ CP_OS } " = "ubuntu" ] || [ " ${ CP_OS } " = "\"ubuntu\"" ] ; then
2019-10-08 20:29:17 +02:00
CP_ARCH = "`dpkg --print-architecture`"
2019-12-09 23:53:40 +01:00
DEBIAN_FRONTEND = noninteractive apt-get -y -qq remove docker docker-engine docker.io containerd runc
DEBIAN_FRONTEND = noninteractive apt-get -y -qq update
2021-10-07 23:39:26 +02:00
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install apt-transport-https
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install ca-certificates
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install curl
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install gnupg-agent
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --yes --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
2019-10-08 20:29:17 +02:00
if [ " ${ CP_ARCH } " = "amd64" ] || [ " ${ CP_ARCH } " = "x86_64" ] || [ " ${ CP_ARCH } " = "i386" ]
then
CP_ARCH = "amd64"
elif [ " ${ CP_ARCH } " = "armhf" ] || [ " ${ CP_ARCH } " = "armel" ]
then
CP_ARCH = "armhf"
elif [ " ${ CP_ARCH } " = "arm64" ]
then
CP_ARCH = "arm64"
elif [ " ${ CP_ARCH } " = "ppc64el" ] || [ " ${ CP_ARCH } " = "ppc" ] || [ " ${ CP_ARCH } " = "powerpc" ]
then
CP_ARCH = "ppc64el"
elif [ " ${ CP_ARCH } " = "s390x" ]
then
CP_ARCH = "s390x"
fi
2021-10-07 23:39:26 +02:00
sed -i "s~.*docker.com.*~~g" /etc/apt/sources.list & > /dev/null
echo " deb [arch= ${ CP_ARCH } signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $( lsb_release -cs) stable " | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2019-12-09 23:53:40 +01:00
DEBIAN_FRONTEND = noninteractive apt-get -y -qq update
2021-10-07 23:39:26 +02:00
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install docker-ce
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install docker-ce-cli
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install containerd.io
2020-03-21 03:06:38 +01:00
systemctl restart ssh
2019-10-01 21:34:02 +02:00
elif [ " ${ CP_OS } " = "fedora" ] || [ " ${ CP_OS } " = "\"fedora\"" ] ; then
2019-12-09 23:53:40 +01:00
dnf -y remove docker \
2019-10-08 20:29:17 +02:00
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
2019-12-09 23:53:40 +01:00
dnf -y install dnf-plugins-core
dnf config-manager \
2019-10-08 20:29:17 +02:00
--add-repo \
https://download.docker.com/linux/fedora/docker-ce.repo
2021-10-07 23:39:26 +02:00
dnf -y install docker-ce
dnf -y install docker-ce-cli
dnf -y install containerd.io
2019-12-09 23:53:40 +01:00
systemctl start docker
2020-01-06 23:57:25 +01:00
systemctl enable docker
2020-03-21 03:06:38 +01:00
systemctl restart sshd
2019-10-01 21:34:02 +02:00
elif [ " ${ CP_OS } " = "centos" ] || [ " ${ CP_OS } " = "\"centos\"" ] ; then
2019-12-09 23:53:40 +01:00
yum remove -y docker \
2019-10-08 20:29:17 +02:00
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2019-12-09 23:53:40 +01:00
yum install -y yum-utils \
2019-10-08 20:29:17 +02:00
device-mapper-persistent-data \
lvm2
2019-12-09 23:53:40 +01:00
yum-config-manager \
2019-10-08 20:29:17 +02:00
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
2021-10-07 23:39:26 +02:00
yum install -y docker-ce
yum install -y docker-ce-cli
yum install -y containerd.io
2019-12-09 23:53:40 +01:00
systemctl start docker
2020-01-06 23:57:25 +01:00
systemctl enable docker
2020-03-21 03:06:38 +01:00
systemctl restart sshd
2019-10-01 21:34:02 +02:00
fi
2020-03-11 02:21:54 +01:00
if [ " $( docker -v 2>/dev/null) " = "" ] ; then
2019-10-08 20:29:17 +02:00
clear
_header "ERROR"
_content
_content "Docker is not installed, try installing manually!"
_content
_s
exit 0
2019-10-01 21:34:02 +02:00
fi
fi
fi
}
ip_install( ) {
IP1 = ` ip route get 1 | awk '{print $NF;exit}' `
IP2 = ` ip route get 8.8.4.4 | head -1 | cut -d' ' -f8`
IP3 = ` ip route get 8.8.4.4 | head -1 | awk '{print $7}' `
if [ "`expr " ${ IP1 } " : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]* $'` " = "0" ] \
&& [ "`expr " ${ IP2 } " : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]* $'` " = "0" ] \
&& [ "`expr " ${ IP3 } " : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]* $'` " = "0" ] ; then exit 1; fi
2019-11-11 02:12:38 +01:00
if [ "`expr " ${ IP1 } " : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]* $'` " != "0" ] ; then IP_DOMAIN = " ${ IP1 } " ; \
elif [ "`expr " ${ IP2 } " : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]* $'` " != "0" ] ; then IP_DOMAIN = " ${ IP2 } " ; \
elif [ "`expr " ${ IP3 } " : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]* $'` " != "0" ] ; then IP_DOMAIN = " ${ IP3 } " ; fi
2019-10-10 21:24:49 +02:00
CP_IP = "ip"
2019-10-01 21:34:02 +02:00
CP_LANG = " ${ 1 } "
2020-05-07 21:38:18 +02:00
CP_THEME = "tarly"
2019-10-01 21:34:02 +02:00
CP_PASSWD = "test"
sh_yes
_s
sh_progress
2020-01-06 23:57:25 +01:00
1_install " ${ IP_DOMAIN } " " ${ CP_LANG } " " ${ CP_THEME } " " ${ CP_PASSWD } "
2019-10-01 21:34:02 +02:00
sh_progress 100
success_install
}
1_install( ) {
2019-11-11 02:12:38 +01:00
LOCAL_DOMAIN = ${ 1 :- ${ CP_DOMAIN } }
2020-05-01 21:48:52 +02:00
LOCAL_DOMAIN_ = $( echo " ${ LOCAL_DOMAIN } " | sed -r "s/[^A-Za-z0-9]/_/g" )
2019-11-11 02:12:38 +01:00
LOCAL_LANG = ${ 2 :- ${ CP_LANG } }
LOCAL_THEME = ${ 3 :- ${ CP_THEME } }
LOCAL_PASSWD = ${ 4 :- ${ CP_PASSWD } }
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % install " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2021-01-19 05:21:55 +01:00
if [ " $( grep "_uptimerobot" /etc/crontab) " != "" ] ; then
touch "/home/.uptimerobot" & >/dev/null
2021-01-16 01:19:08 +01:00
fi
2020-03-30 02:08:40 +02:00
# MEMTOTATAL=$(grep MemTotal /proc/meminfo | awk '{print $2}')
# SWAPTOTAL=$(grep SwapTotal /proc/meminfo | awk '{print $2}')
# MEMORY_DOCKER=""
# if [ "${MEMTOTATAL}" -gt 0 ]; then
# MEMDOCKER=$(("${MEMTOTATAL}"-"${MEMTOTATAL}"*10/100))
# if [ "${MEMDOCKER}" -gt 0 ]; then
# SWAPDOCKER=$(("${MEMDOCKER}"+"${SWAPTOTAL}"-"${SWAPTOTAL}"*10/100))
# MEMORY_DOCKER="--memory ${MEMDOCKER}k --memory-swap ${SWAPDOCKER}k --oom-kill-disable"
# fi
# fi
2020-01-06 23:57:25 +01:00
if [ ! " $( docker network ls | grep cinemapress) " ] ; then
docker network create \
--driver bridge \
cinemapress >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
fi
2019-10-01 21:34:02 +02:00
2019-10-15 21:23:00 +02:00
# docker build -t cinemapress/docker https://github.com/CinemaPress/CinemaPress.git
2020-06-13 03:29:30 +02:00
docker pull cinemapress/docker:latest >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-15 21:23:00 +02:00
2019-10-01 21:34:02 +02:00
docker run \
-d \
2020-05-01 21:48:52 +02:00
--name " ${ LOCAL_DOMAIN_ } " \
2021-01-06 04:37:20 +01:00
" ${ DOCKER_MEM [@] } " \
2019-11-11 02:12:38 +01:00
-e " CP_DOMAIN= ${ LOCAL_DOMAIN } " \
-e " CP_DOMAIN_= ${ LOCAL_DOMAIN_ } " \
-e " CP_LANG= ${ LOCAL_LANG } " \
-e " CP_THEME= ${ LOCAL_THEME } " \
-e " CP_PASSWD= ${ LOCAL_PASSWD } " \
-e " RCLONE_CONFIG=/home/ ${ LOCAL_DOMAIN } /config/production/rclone.conf " \
2020-05-01 21:48:52 +02:00
-w /home/" ${ LOCAL_DOMAIN } " \
2019-10-01 21:34:02 +02:00
--restart always \
--network cinemapress \
-v /var/lib/sphinx/data:/var/lib/sphinx/data \
2019-10-11 21:18:03 +02:00
-v /var/local/balancer:/var/local/balancer \
2020-05-01 21:48:52 +02:00
-v /home/" ${ LOCAL_DOMAIN } " :/home/" ${ LOCAL_DOMAIN } " \
2019-10-10 21:24:49 +02:00
${ EXTERNAL_DOCKER } \
2019-12-03 02:06:09 +01:00
cinemapress/docker:latest >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-01 21:34:02 +02:00
WEBSITE_RUN = 1
while [ " ${ WEBSITE_RUN } " != "50" ] ; do
sleep 3
WEBSITE_RUN = $(( 1 + ${ WEBSITE_RUN } ))
2019-11-11 02:12:38 +01:00
if [ " `docker ps -aq -f status=running -f name=^/ ${ LOCAL_DOMAIN_ } \$ 2>/dev/null` " != "" ] ; then
2019-10-01 21:34:02 +02:00
WEBSITE_RUN = 50
fi
done
sh_progress
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % nginx " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2020-01-22 22:23:12 +01:00
2020-01-06 23:57:25 +01:00
DIR_SUCCESS = 1
while [ " ${ DIR_SUCCESS } " != "10" ] ; do
sleep 3
DIR_SUCCESS = $(( 1 + ${ DIR_SUCCESS } ))
if [ -d " /home/ ${ LOCAL_DOMAIN } / " ] ; then
2020-04-03 02:23:17 +02:00
ln -s /home/" ${ LOCAL_DOMAIN } " / /root/" ${ LOCAL_DOMAIN } " >/dev/null
2020-01-06 23:57:25 +01:00
DIR_SUCCESS = 10
fi
done
2019-10-13 04:55:29 +02:00
if [ "`docker ps -aq -f status=running -f name=^/nginx\$ 2>/dev/null`" != "" ] ; then
2019-12-03 02:06:09 +01:00
docker restart nginx >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-13 04:55:29 +02:00
else
if [ " ${ CP_IP } " = "domain" ] \
&& [ "`netstat -tunlp | grep 0.0.0.0:80`" = "" ] \
&& [ "`netstat -tunlp | grep :::80`" = "" ] ; then
2019-10-15 21:23:00 +02:00
# docker build -t cinemapress/nginx https://github.com/CinemaPress/CinemaPress.git#:config/default/nginx
# docker build -t cinemapress/fail2ban https://github.com/CinemaPress/CinemaPress.git#:config/default/fail2ban
2020-03-21 03:06:38 +01:00
# docker build -t cinemapress/filestash https://github.com/CinemaPress/CinemaPress.git#:config/default/filestash
2019-10-01 21:34:02 +02:00
2020-05-04 18:34:45 +02:00
BOTS = ( )
2020-05-15 20:13:19 +02:00
if [ ! -f "/etc/nginx/bots.d/blockbots.conf" ] \
&& [ -f " /home/ ${ LOCAL_DOMAIN } /config/production/nginx/bots.d/blockbots.conf " ] ; then
2019-10-21 00:56:49 +02:00
mkdir -p /etc/nginx/bots.d
2020-05-03 20:58:23 +02:00
cp -rf /home/" ${ LOCAL_DOMAIN } " /config/production/nginx/bots.d/* /etc/nginx/bots.d/
2020-05-15 20:13:19 +02:00
fi
if [ -f "/etc/nginx/bots.d/blockbots.conf" ] ; then
2020-05-03 20:58:23 +02:00
BOTS = ( -v /etc/nginx/bots.d:/etc/nginx/bots.d)
2019-10-20 18:23:07 +02:00
fi
2019-10-13 04:55:29 +02:00
docker run \
-d \
--name nginx \
2021-01-06 04:37:20 +01:00
" ${ DOCKER_MEM [@] } " \
2019-10-13 04:55:29 +02:00
--restart always \
--network cinemapress \
-v /var/log/nginx:/var/log/nginx \
-v /var/local/balancer:/var/local/balancer \
-v /home:/home \
2020-05-03 20:58:23 +02:00
" ${ BOTS [@] } " \
2019-10-13 04:55:29 +02:00
-p 80:80 \
-p 443:443 \
2019-12-03 02:06:09 +01:00
cinemapress/nginx:latest >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-01 21:34:02 +02:00
2019-10-13 04:55:29 +02:00
NGINX_RUN = 1
while [ " ${ NGINX_RUN } " != "50" ] ; do
sleep 3
NGINX_RUN = $(( 1 + ${ NGINX_RUN } ))
if [ "`docker ps -aq -f status=running -f name=^/nginx\$ 2>/dev/null`" != "" ] ; then
NGINX_RUN = 50
fi
done
2019-10-01 21:34:02 +02:00
2019-10-13 04:55:29 +02:00
sh_progress
2019-10-01 21:34:02 +02:00
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % fail2ban " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2020-01-22 22:23:12 +01:00
2020-04-01 19:51:59 +02:00
if [ ! -f "/var/log/nginx/access.log" ] ; then touch "/var/log/nginx/access.log" ; fi
2020-04-03 00:01:31 +02:00
if [ ! -f "/var/log/auth.log" ] ; then touch "/var/log/auth.log" ; fi
2020-04-01 19:51:59 +02:00
2019-10-13 04:55:29 +02:00
docker run \
-d \
--name fail2ban \
2021-01-06 04:37:20 +01:00
" ${ DOCKER_MEM [@] } " \
2019-10-13 04:55:29 +02:00
--restart always \
--network host \
--cap-add NET_ADMIN \
--cap-add NET_RAW \
2019-11-11 02:12:38 +01:00
-v /home/${ LOCAL_DOMAIN } /config/production/fail2ban:/data \
2019-10-13 04:55:29 +02:00
-v /var/log:/var/log:ro \
2019-12-03 02:06:09 +01:00
cinemapress/fail2ban:latest >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-01 21:34:02 +02:00
2019-10-13 04:55:29 +02:00
FAIL2BAN_RUN = 1
while [ " ${ FAIL2BAN_RUN } " != "50" ] ; do
sleep 3
FAIL2BAN_RUN = $(( 1 + ${ FAIL2BAN_RUN } ))
if [ "`docker ps -aq -f status=running -f name=^/fail2ban\$ 2>/dev/null`" != "" ] ; then
FAIL2BAN_RUN = 50
fi
done
2019-10-01 21:34:02 +02:00
2020-03-21 03:06:38 +01:00
sh_progress
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % filestash " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2020-03-21 03:06:38 +01:00
docker run \
-d \
--name filestash \
2021-01-06 04:37:20 +01:00
" ${ DOCKER_MEM [@] } " \
2020-03-21 03:06:38 +01:00
--restart always \
--network cinemapress \
2020-03-21 03:53:14 +01:00
cinemapress/filestash >>/var/log/docker_install_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-03-21 03:06:38 +01:00
FILESTASH_RUN = 1
while [ " ${ FILESTASH_RUN } " != "50" ] ; do
sleep 3
FILESTASH_RUN = $(( 1 + ${ FILESTASH_RUN } ))
if [ "`docker ps -aq -f status=running -f name=^/filestash\$ 2>/dev/null`" != "" ] ; then
2020-04-01 19:51:59 +02:00
docker exec " ${ LOCAL_DOMAIN_ } " /usr/bin/cinemapress container ftp
2020-03-21 03:06:38 +01:00
FILESTASH_RUN = 50
fi
done
2019-10-13 04:55:29 +02:00
fi
2019-10-01 21:34:02 +02:00
fi
2021-01-16 01:19:08 +01:00
2021-06-07 01:27:03 +02:00
sleep 20
2021-01-19 05:21:55 +01:00
if [ " $( grep "_uptimerobot" /etc/crontab) " != "" ] ; then
touch "/home/.uptimerobot" & >/dev/null
2021-01-16 01:19:08 +01:00
fi
2019-10-01 21:34:02 +02:00
}
2_update( ) {
2019-11-11 02:12:38 +01:00
LOCAL_DOMAIN = ${ 1 :- ${ CP_DOMAIN } }
2020-05-01 21:48:52 +02:00
LOCAL_DOMAIN_ = $( echo " ${ LOCAL_DOMAIN } " | sed -r "s/[^A-Za-z0-9]/_/g" )
LOCAL_MEGA_EMAIL = ${ 2 :- ${ MEGA_EMAIL } }
LOCAL_MEGA_PASSWORD = ${ 3 :- ${ MEGA_PASSWORD } }
2021-02-03 02:34:29 +01:00
LOCAL_NAME_STORAGE = ${ 4 :- mega }
LOCAL_FTP_HOST = ${ 5 }
2020-05-01 21:48:52 +02:00
if [ " ${ LOCAL_MEGA_EMAIL } " != "" ] && [ " ${ LOCAL_MEGA_PASSWORD } " != "" ] ; then
2021-02-03 02:34:29 +01:00
LOCAL_CONF_STORAGE = ( )
if [ " ${ LOCAL_NAME_STORAGE } " = "mega" ] ; then
LOCAL_CONF_STORAGE = ( mega user " ${ LOCAL_MEGA_EMAIL } " pass " ${ LOCAL_MEGA_PASSWORD } " )
elif [ " ${ LOCAL_NAME_STORAGE } " = "opendrive" ] ; then
LOCAL_CONF_STORAGE = ( opendrive username " ${ LOCAL_MEGA_EMAIL } " password " ${ LOCAL_MEGA_PASSWORD } " )
elif [ " ${ LOCAL_NAME_STORAGE } " = "ftp" ] ; then
LOCAL_CONF_STORAGE = ( ftp user " ${ LOCAL_MEGA_EMAIL } " pass " ${ LOCAL_MEGA_PASSWORD } " host " ${ LOCAL_FTP_HOST } " )
fi
docker exec " ${ LOCAL_DOMAIN_ } " rclone config create CINEMAPRESS " ${ LOCAL_CONF_STORAGE [@] } " \
2020-05-01 21:48:52 +02:00
>>/var/log/docker_backup_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-06-05 23:39:12 +02:00
sleep 10
2020-05-01 21:48:52 +02:00
fi
2019-11-11 02:12:38 +01:00
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % update " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2021-01-19 05:21:55 +01:00
if [ " $( grep "_uptimerobot" /etc/crontab) " != "" ] ; then
touch "/home/.uptimerobot" & >/dev/null
2021-01-16 01:19:08 +01:00
fi
2021-02-02 07:52:55 +01:00
CHECK_MEGA = $( docker exec -t " ${ LOCAL_DOMAIN_ } " rclone config show 2>/dev/null | grep "CINEMAPRESS" )
2020-02-24 00:05:10 +01:00
if [ " ${ CHECK_MEGA } " = "" ] ; then
_header "WARNING"
_content
_content "You have no configuration to create a backup!"
_content
_content "Configure for MEGA.nz cloud storage in one line:"
_content
2020-03-11 02:21:54 +01:00
printf " ~# cinemapress b %s config \"email\" \"pass\"" " ${ LOCAL_DOMAIN } "
2020-02-24 00:05:10 +01:00
_br
_content
_content "email - your email on MEGA.nz"
_content "pass - your password on MEGA.nz"
_content
2021-02-03 02:34:29 +01:00
_content "Configure for FTP storage in one line:"
_content
printf " ~# cinemapress b %s ftp \"user\" \"pass\" \"host\"" " ${ LOCAL_DOMAIN } "
_br
_content
_content "user - your username on FTP"
_content "pass - your password on FTP"
_content "host - your IP/host on FTP"
_content
2020-02-24 00:05:10 +01:00
_s
exit 0
fi
2020-03-29 01:17:36 +01:00
KILOBYTE_ALL = $( df -k /home | tail -1 | awk '{print $4}' )
KILOBYTE_DIR = 614400
if [ " ${ KILOBYTE_ALL } " -lt " ${ KILOBYTE_DIR } " ] ; then
_header "WARNING"
_content
_content "Less than 600 MB of free space left on the server!"
_content "You need to increase disk space."
_content
_s
exit 0
fi
2020-04-26 02:12:11 +02:00
if [ ! -f " /home/ ${ LOCAL_DOMAIN } /config/production/config.js " ] ; then
_header "WARNING"
_content
_content "File config.js not found!"
_content
_s
exit 0
fi
2020-05-06 21:11:37 +02:00
AA = $( grep "\"CP_ALL\"" /home/" ${ LOCAL_DOMAIN } " /process.json)
2021-01-24 22:57:57 +01:00
XX = $( grep "\"CP_XMLPIPE2\"" /home/" ${ LOCAL_DOMAIN } " /process.json)
2020-05-01 21:48:52 +02:00
KK = $( grep "\"key\"" /home/" ${ LOCAL_DOMAIN } " /config/default/config.js)
DD = $( grep "\"date\"" /home/" ${ LOCAL_DOMAIN } " /config/default/config.js)
2020-05-11 01:25:25 +02:00
BM = $( grep "\"bomain\"" /home/" ${ LOCAL_DOMAIN } " /config/production/config.js)
2020-05-06 21:11:37 +02:00
CP_ALL = $( echo ${ AA } | sed 's/.*"CP_ALL":\s*"\([a-zA-Z0-9_| -]*\)".*/\1/' )
2021-01-24 22:57:57 +01:00
CP_XMLPIPE2 = $( echo ${ XX } | sed 's/.*"CP_XMLPIPE2":\s*"\([a-zA-Z0-9_| -]*\)".*/\1/' )
2020-05-01 21:48:52 +02:00
CP_KEY = $( echo ${ KK } | sed 's/.*"key":\s*"\(FREE\|[a-zA-Z0-9-]\{32\}\)".*/\1/' )
CP_DATE = $( echo ${ DD } | sed 's/.*"date":\s*"\([0-9-]*\)".*/\1/' )
2020-05-11 01:25:25 +02:00
CP_BOMAIN = $( echo ${ BM } | sed 's/.*"bomain":\s*"\([a-zA-Z0-9.-]*\)".*/\1/' )
2020-05-06 21:11:37 +02:00
if [ " ${ CP_ALL } " = "" ] || [ " ${ CP_ALL } " = " ${ AA } " ] ; then CP_ALL = "" ; fi
2021-01-24 22:57:57 +01:00
if [ " ${ CP_XMLPIPE2 } " = "" ] || [ " ${ CP_XMLPIPE2 } " = " ${ AA } " ] ; then CP_XMLPIPE2 = "" ; fi
2020-02-20 21:37:31 +01:00
DISABLE_SSL = $( grep "#ssl" /home/" ${ LOCAL_DOMAIN } " /config/production/nginx/conf.d/default.conf 2>/dev/null)
rm -rf /home/" ${ LOCAL_DOMAIN } " /config/production/nginx/conf.d/default.conf
2020-04-15 20:41:17 +02:00
mkdir -p /var/temp
if [ ! -d /var/temp/nginx ] ; then
mkdir -p /var/temp/nginx
cp -rf /home/" ${ LOCAL_DOMAIN } " /config/production/nginx/* /var/temp/nginx/ 2>/dev/null
fi
if [ ! -d /var/temp/windows ] && [ -d /home/" ${ LOCAL_DOMAIN } " /files/windows ] ; then
mv -f /home/" ${ LOCAL_DOMAIN } " /files/windows /var/temp/windows 2>/dev/null
fi
if [ ! -d /var/temp/linux ] && [ -d /home/" ${ LOCAL_DOMAIN } " /files/linux ] ; then
mv -f /home/" ${ LOCAL_DOMAIN } " /files/linux /var/temp/linux 2>/dev/null
fi
if [ ! -d /var/temp/osx ] && [ -d /home/" ${ LOCAL_DOMAIN } " /files/osx ] ; then
mv -f /home/" ${ LOCAL_DOMAIN } " /files/osx /var/temp/osx 2>/dev/null
fi
if [ ! -d /var/temp/poster ] ; then
mv -f /home/" ${ LOCAL_DOMAIN } " /files/poster /var/temp/poster 2>/dev/null
fi
if [ ! -d /var/temp/picture ] ; then
mv -f /home/" ${ LOCAL_DOMAIN } " /files/picture /var/temp/picture 2>/dev/null
fi
2020-05-11 01:25:25 +02:00
if [ -f /home/" ${ CP_BOMAIN } " /config/production/nginx/conf.d/default.conf ] ; then
mv -f /home/" ${ CP_BOMAIN } " /config/production/nginx/conf.d/default.conf \
/home/" ${ CP_BOMAIN } " /config/production/nginx/conf.d/disabled.conf 2>/dev/null
fi
2020-03-07 19:40:47 +01:00
3_backup " ${ LOCAL_DOMAIN } " "create"
2019-11-11 02:12:38 +01:00
8_remove " ${ LOCAL_DOMAIN } " "full" "safe"
2020-04-15 20:41:17 +02:00
if [ ! -d /var/temp/sphinx ] ; then
mkdir -p /var/temp/sphinx
cp -rf /var/lib/sphinx/data/* /var/temp/sphinx/ 2>/dev/null
fi
2019-11-11 02:12:38 +01:00
1_install " ${ LOCAL_DOMAIN } "
2020-04-15 20:41:17 +02:00
if [ -d /var/temp/sphinx ] && [ -d /var/lib/sphinx/data ] ; then
cp -rf /var/temp/sphinx/* /var/lib/sphinx/data/ 2>/dev/null
rm -rf /var/temp/sphinx
fi
if [ -d /var/temp/nginx ] && [ -d /home/" ${ LOCAL_DOMAIN } " /config/production/nginx ] ; then
cp -rf /var/temp/nginx/* /home/" ${ LOCAL_DOMAIN } " /config/production/nginx/ 2>/dev/null
rm -rf /var/temp/nginx
fi
if [ -d /var/temp/windows ] && [ ! -d /home/" ${ LOCAL_DOMAIN } " /files/windows ] ; then
mv -f /var/temp/windows /home/" ${ LOCAL_DOMAIN } " /files/windows 2>/dev/null
fi
if [ -d /var/temp/linux ] && [ ! -d /home/" ${ LOCAL_DOMAIN } " /files/linux ] ; then
mv -f /var/temp/linux /home/" ${ LOCAL_DOMAIN } " /files/linux 2>/dev/null
fi
if [ -d /var/temp/osx ] && [ ! -d /home/" ${ LOCAL_DOMAIN } " /files/osx ] ; then
mv -f /var/temp/osx /home/" ${ LOCAL_DOMAIN } " /files/osx 2>/dev/null
fi
if [ -d /var/temp/poster ] ; then
2020-04-15 21:28:55 +02:00
rm -rf /home/" ${ LOCAL_DOMAIN } " /files/poster
2020-04-15 20:41:17 +02:00
mv -f /var/temp/poster /home/" ${ LOCAL_DOMAIN } " /files/poster 2>/dev/null
fi
if [ -d /var/temp/picture ] ; then
2020-04-15 21:28:55 +02:00
rm -rf /home/" ${ LOCAL_DOMAIN } " /files/picture
2020-04-15 20:41:17 +02:00
mv -f /var/temp/picture /home/" ${ LOCAL_DOMAIN } " /files/picture 2>/dev/null
fi
2020-03-07 19:40:47 +01:00
3_backup " ${ LOCAL_DOMAIN } " "restore"
2019-12-03 02:06:09 +01:00
docker exec nginx nginx -s reload >>/var/log/docker_update_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-05-06 21:11:37 +02:00
if [ " ${ CP_ALL } " != "" ] && [ ! -f " /var/lib/sphinx/data/movies_ ${ CP_DOMAIN_ } .spb " ] ; then
sed -E -i " s/\"CP_ALL\":\s*\"[a-zA-Z0-9_| -]*\"/\"CP_ALL\":\" ${ CP_ALL } \"/ " \
/home/" ${ LOCAL_DOMAIN } " /process.json
fi
2021-01-24 22:57:57 +01:00
if [ " ${ CP_XMLPIPE2 } " != "" ] ; then
sed -E -i " s/\"CP_XMLPIPE2\":\s*\"[a-zA-Z0-9_| -]*\"/\"CP_XMLPIPE2\":\" ${ CP_XMLPIPE2 } \"/ " \
/home/" ${ LOCAL_DOMAIN } " /process.json
fi
2020-05-01 21:48:52 +02:00
if [ " ${# CP_KEY } " -eq "4" ] || [ " ${# CP_KEY } " -eq "32" ] ; then
2019-10-16 02:00:44 +02:00
sed -E -i " s/\"key\":\s*\"(FREE|[a-zA-Z0-9-]{32})\"/\"key\":\" ${ CP_KEY } \"/ " \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_DOMAIN } " /config/production/config.js
2019-10-16 02:00:44 +02:00
sed -E -i " s/\"key\":\s*\"(FREE|[a-zA-Z0-9-]{32})\"/\"key\":\" ${ CP_KEY } \"/ " \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_DOMAIN } " /config/default/config.js
2019-10-16 02:00:44 +02:00
fi
2020-05-01 21:48:52 +02:00
if [ " ${# CP_DATE } " -eq "10" ] ; then
2019-10-16 02:00:44 +02:00
sed -E -i " s/\"date\":\s*\"[0-9-]*\"/\"date\":\" ${ CP_DATE } \"/ " \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_DOMAIN } " /config/production/config.js
2019-10-16 02:00:44 +02:00
sed -E -i " s/\"date\":\s*\"[0-9-]*\"/\"date\":\" ${ CP_DATE } \"/ " \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_DOMAIN } " /config/default/config.js
2019-10-16 02:00:44 +02:00
fi
2020-02-20 22:15:28 +01:00
if [ " ${ DISABLE_SSL } " = "" ] ; then
2020-05-01 21:48:52 +02:00
docker exec " ${ LOCAL_DOMAIN_ } " /usr/bin/cinemapress container protocol "https://"
2020-02-20 22:15:28 +01:00
fi
2020-05-12 22:31:58 +02:00
if [ -f /home/" ${ CP_BOMAIN } " /config/production/nginx/conf.d/disabled.conf ] ; then
mv -f /home/" ${ CP_BOMAIN } " /config/production/nginx/conf.d/disabled.conf \
/home/" ${ CP_BOMAIN } " /config/production/nginx/conf.d/default.conf 2>/dev/null
fi
2021-04-25 22:15:49 +02:00
for all_server in /home/*/config/production/nginx/conf.d/default.conf; do
[ -f " ${ all_server } " ] || continue
sed -i '/pagespeed/d' " ${ all_server } "
done
2021-04-29 21:27:01 +02:00
docker exec nginx nginx -s reload >>/var/log/docker_update_" $( date '+%d_%m_%Y' ) " .log 2>& 1
docker restart " ${ LOCAL_DOMAIN_ } " >>/var/log/docker_update_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-12-14 21:23:04 +01:00
sleep 10
2019-10-01 21:34:02 +02:00
}
3_backup( ) {
2019-11-11 02:12:38 +01:00
LOCAL_DOMAIN = ${ 1 :- ${ CP_DOMAIN } }
2020-05-01 21:48:52 +02:00
LOCAL_DOMAIN_ = $( echo " ${ LOCAL_DOMAIN } " | sed -r "s/[^A-Za-z0-9]/_/g" )
2021-02-03 02:34:29 +01:00
LOCAL_ACTION = ${ 2 } # 1 | 2 | 3 | create | restore | config | opendrive | ftp
2019-11-11 02:12:38 +01:00
LOCAL_MEGA_EMAIL = ${ 3 :- ${ MEGA_EMAIL } }
LOCAL_MEGA_PASSWORD = ${ 4 :- ${ MEGA_PASSWORD } }
LOCAL_ACTION2 = ${ 5 } # 1 | 2 | create | restore
LOCAL_DOMAIN2 = ${ 6 :- ${ LOCAL_DOMAIN } }
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % backup " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2021-01-19 05:21:55 +01:00
if [ " $( grep "_uptimerobot" /etc/crontab) " != "" ] ; then
touch "/home/.uptimerobot" & >/dev/null
2021-01-16 01:19:08 +01:00
fi
2019-11-11 02:12:38 +01:00
if [ -f "/var/rclone.conf" ] && [ ! -f " /home/ ${ LOCAL_DOMAIN } /config/production/rclone.conf " ] ; then
2020-05-02 03:34:49 +02:00
cp -r /var/rclone.conf /home/" ${ LOCAL_DOMAIN } " /config/production/rclone.conf
2019-11-11 02:12:38 +01:00
elif [ -f " /home/ ${ LOCAL_DOMAIN } /config/production/rclone.conf " ] ; then
2020-05-02 03:34:49 +02:00
cp -r /home/" ${ LOCAL_DOMAIN } " /config/production/rclone.conf /var/rclone.conf
2019-10-01 21:34:02 +02:00
fi
2019-11-11 02:12:38 +01:00
2020-04-26 05:09:33 +02:00
sleep 5
2021-02-02 07:52:55 +01:00
RCS = $( docker exec -t " ${ LOCAL_DOMAIN_ } " rclone config show 2>/dev/null | grep "CINEMAPRESS" )
2019-11-11 02:12:38 +01:00
2021-02-03 02:34:29 +01:00
LOCAL_CONF_STORAGE = ( )
if [ " ${ LOCAL_ACTION } " = "opendrive" ] ; then
LOCAL_CONF_STORAGE = ( opendrive username " ${ LOCAL_MEGA_EMAIL } " password " ${ LOCAL_MEGA_PASSWORD } " )
docker exec " ${ LOCAL_DOMAIN_ } " rclone config create CINEMAPRESS " ${ LOCAL_CONF_STORAGE [@] } " \
>>/var/log/docker_backup_" $( date '+%d_%m_%Y' ) " .log 2>& 1
sh_progress 100
exit 0
elif [ " ${ LOCAL_ACTION } " = "ftp" ] ; then
if [ " ${ LOCAL_DOMAIN2 } " = "static" ] ; then
LOCAL_CONF_STORAGE = ( ftp user " ${ LOCAL_MEGA_EMAIL } " pass " ${ LOCAL_MEGA_PASSWORD } " host " ${ LOCAL_ACTION2 } " )
docker exec " ${ LOCAL_DOMAIN_ } " rclone config create CINEMASTATIC " ${ LOCAL_CONF_STORAGE [@] } " \
>>/var/log/docker_backup_" $( date '+%d_%m_%Y' ) " .log 2>& 1
sh_progress 100
exit 0
fi
LOCAL_CONF_STORAGE = ( ftp user " ${ LOCAL_MEGA_EMAIL } " pass " ${ LOCAL_MEGA_PASSWORD } " host " ${ LOCAL_ACTION2 } " )
docker exec " ${ LOCAL_DOMAIN_ } " rclone config create CINEMAPRESS " ${ LOCAL_CONF_STORAGE [@] } " \
>>/var/log/docker_backup_" $( date '+%d_%m_%Y' ) " .log 2>& 1
sh_progress 100
exit 0
else
LOCAL_CONF_STORAGE = ( mega user " ${ LOCAL_MEGA_EMAIL } " pass " ${ LOCAL_MEGA_PASSWORD } " )
fi
2019-11-11 02:12:38 +01:00
if [ " ${ LOCAL_ACTION } " = "config" ] || [ " ${ LOCAL_ACTION } " = "3" ] || [ " ${ RCS } " = "" ] ; then
if [ " ${ LOCAL_MEGA_EMAIL } " != "" ] && [ " ${ LOCAL_MEGA_PASSWORD } " != "" ] ; then
2019-10-01 21:34:02 +02:00
sh_progress
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % config check-connection " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2020-01-22 22:23:12 +01:00
2021-02-03 02:34:29 +01:00
docker exec " ${ LOCAL_DOMAIN_ } " rclone config create CINEMAPRESS " ${ LOCAL_CONF_STORAGE [@] } " \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_backup_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-06-05 23:39:12 +02:00
sleep 10
2021-02-02 07:52:55 +01:00
CHECK_MKDIR = $( docker exec -t " ${ LOCAL_DOMAIN_ } " rclone mkdir CINEMAPRESS:/check-connection 2>/dev/null)
2019-11-09 04:29:47 +01:00
sleep 3
2021-04-22 00:42:02 +02:00
CHECK_RMDIR = $( docker exec -t " ${ LOCAL_DOMAIN_ } " rclone rmdir CINEMAPRESS:/check-connection 2>/dev/null)
if [ " ${ CHECK_MKDIR } " != "" ] || [ " ${ CHECK_RMDIR } " != "" ] ; then
2019-11-09 04:29:47 +01:00
_header "ERROR"
_content
_content "Cannot connect to backup storage."
_content
_s
exit 0
fi
2020-05-02 03:34:49 +02:00
cp -r /home/" ${ LOCAL_DOMAIN } " /config/production/rclone.conf /var/rclone.conf
2019-11-11 02:12:38 +01:00
if [ " ${ LOCAL_ACTION2 } " = "create" ] || [ " ${ LOCAL_ACTION2 } " = "1" ] ; then
2020-05-02 03:34:49 +02:00
docker exec " ${ LOCAL_DOMAIN_ } " /usr/bin/cinemapress container backup create hand \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_backup_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-11-11 02:12:38 +01:00
elif [ " ${ LOCAL_ACTION2 } " = "restore" ] || [ " ${ LOCAL_ACTION2 } " = "2" ] ; then
2020-05-02 03:34:49 +02:00
docker exec " ${ LOCAL_DOMAIN_ } " /usr/bin/cinemapress container backup restore " ${ LOCAL_DOMAIN2 } " \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_backup_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-11-12 00:29:17 +01:00
docker exec nginx nginx -s reload \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_backup_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-24 02:09:54 +02:00
fi
2019-10-01 21:34:02 +02:00
else
2020-03-11 02:21:54 +01:00
_header "ERROR RCLONE CONFIG"
2019-10-01 21:34:02 +02:00
_content
2020-03-11 02:21:54 +01:00
_content "Configure for MEGA.nz cloud storage in one line:"
2019-10-01 21:34:02 +02:00
_content
2020-03-11 02:21:54 +01:00
printf " ~# cinemapress b %s config \"email\" \"pass\"" " ${ LOCAL_DOMAIN } "
2019-10-27 19:59:39 +01:00
_br
2019-10-24 02:09:54 +02:00
_content
_content "email - your email on MEGA.nz"
_content "pass - your password on MEGA.nz"
_content
2021-02-03 02:34:29 +01:00
_content "Configure for FTP storage in one line:"
_content
printf " ~# cinemapress b %s ftp \"user\" \"pass\" \"host\"" " ${ LOCAL_DOMAIN } "
_br
_content
_content "user - your username on FTP"
_content "pass - your password on FTP"
_content "host - your IP/host on FTP"
_content
2019-10-24 02:09:54 +02:00
_content "after creating config, you can create/restore backup:"
_content
2020-03-11 02:21:54 +01:00
printf " ~# cinemapress b %s create" " ${ LOCAL_DOMAIN } "
2019-10-27 19:59:39 +01:00
_br
2020-03-11 02:21:54 +01:00
printf " ~# cinemapress b %s restore" " ${ LOCAL_DOMAIN } "
2019-10-01 21:34:02 +02:00
_br
_content
_s
exit 0
fi
2019-11-11 02:12:38 +01:00
else
if [ " ${ LOCAL_ACTION } " = "" ] ; then
2019-10-25 04:09:31 +02:00
_header "MAKE A CHOICE"
printf " ${ C } ---- ${ G } 1) ${ NC } create ${ S } -------------------- Create New Backup Website ${ C } ----\n "
printf " ${ C } ---- ${ G } 2) ${ NC } restore ${ S } ------------ Restore Website From Last Backup ${ C } ----\n "
_s
2019-11-11 02:12:38 +01:00
read -e -p 'OPTION [1-2]: ' LOCAL_ACTION
2020-05-02 03:34:49 +02:00
LOCAL_ACTION = $( echo " ${ LOCAL_ACTION } " | iconv -c -t UTF-8)
2019-10-25 04:09:31 +02:00
_br
fi
sh_progress
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % backup check-connection " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2020-01-22 22:23:12 +01:00
2021-02-02 07:52:55 +01:00
CHECK_MKDIR = $( docker exec -t " ${ LOCAL_DOMAIN_ } " rclone mkdir CINEMAPRESS:/check-connection 2>/dev/null)
2019-11-09 04:29:47 +01:00
sleep 3
2021-04-22 00:42:02 +02:00
CHECK_RMDIR = $( docker exec -t " ${ LOCAL_DOMAIN_ } " rclone rmdir CINEMAPRESS:/check-connection 2>/dev/null)
if [ " ${ CHECK_MKDIR } " != "" ] || [ " ${ CHECK_RMDIR } " != "" ] ; then
2019-11-09 04:29:47 +01:00
_header "ERROR"
_content
_content "Cannot connect to backup storage."
_content
_s
exit 0
fi
2019-11-11 02:12:38 +01:00
if [ " ${ LOCAL_ACTION } " = "create" ] || [ " ${ LOCAL_ACTION } " = "1" ] ; then
2020-04-10 02:11:50 +02:00
docker exec " ${ LOCAL_DOMAIN_ } " /usr/bin/cinemapress container backup create hand \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_backup_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-11-11 02:12:38 +01:00
elif [ " ${ LOCAL_ACTION } " = "restore" ] || [ " ${ LOCAL_ACTION } " = "2" ] ; then
2020-03-11 02:21:54 +01:00
docker exec " ${ LOCAL_DOMAIN_ } " /usr/bin/cinemapress container backup restore \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_backup_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-11-12 00:29:17 +01:00
docker exec nginx nginx -s reload \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_backup_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-25 04:09:31 +02:00
fi
2019-10-01 21:34:02 +02:00
fi
2019-12-14 21:23:04 +01:00
sleep 10
2019-10-01 21:34:02 +02:00
}
4_theme( ) {
2019-11-11 02:12:38 +01:00
LOCAL_DOMAIN = ${ 1 :- ${ CP_DOMAIN } }
2020-05-01 21:48:52 +02:00
LOCAL_DOMAIN_ = $( echo " ${ LOCAL_DOMAIN } " | sed -r "s/[^A-Za-z0-9]/_/g" )
2019-11-11 02:12:38 +01:00
LOCAL_THEME = ${ 2 :- ${ CP_THEME } }
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % theme " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2019-10-01 21:34:02 +02:00
YES = "NOT"
2019-11-11 02:12:38 +01:00
if [ -d " /home/ ${ LOCAL_DOMAIN } /themes/ ${ LOCAL_THEME } " ] ; then
_header " ${ LOCAL_THEME } " ;
2019-10-01 21:34:02 +02:00
_content
_content "This theme exists!"
_content
_s
2019-12-03 04:24:22 +01:00
if [ ${ 3 } ]
2019-10-01 21:34:02 +02:00
then
2019-12-03 04:24:22 +01:00
YES = ${ 3 }
2019-10-01 21:34:02 +02:00
YES = ` echo ${ YES } | iconv -c -t UTF-8`
echo " Update? [YES/not] : ${ YES } "
else
read -e -p 'Update? [YES/not] : ' YES
YES = ` echo ${ YES } | iconv -c -t UTF-8`
fi
_br
if [ " ${ YES } " != "ДА" ] && [ " ${ YES } " != "Да" ] && [ " ${ YES } " != "да" ] && [ " ${ YES } " != "YES" ] && [ " ${ YES } " != "Yes" ] && [ " ${ YES } " != "yes" ] && [ " ${ YES } " != "Y" ] && [ " ${ YES } " != "y" ] && [ " ${ YES } " != "" ]
then
exit 0
else
2020-03-11 02:21:54 +01:00
git clone https://${ GIT_SERVER } /CinemaPress/Theme-" ${ LOCAL_THEME } " .git \
/var/" ${ LOCAL_THEME } " >>/var/log/docker_theme_" $( date '+%d_%m_%Y' ) " .log 2>& 1
mkdir -p /home/" ${ LOCAL_DOMAIN } " /themes/" ${ LOCAL_THEME } " /
cp -rf /var/" ${ LOCAL_THEME } " /* /home/" ${ LOCAL_DOMAIN } " /themes/" ${ LOCAL_THEME } " /
2019-11-11 02:12:38 +01:00
sed -Ei " s/\"theme\":\s*\"[a-zA-Z0-9-]*\"/\"theme\":\" ${ LOCAL_THEME } \"/ " \
2020-03-11 02:21:54 +01:00
/home/" ${ LOCAL_DOMAIN } " /config/production/config.js
docker exec " ${ LOCAL_DOMAIN_ } " node optimal.js " ${ LOCAL_THEME } " \
2020-01-06 23:57:25 +01:00
>>/var/log/docker_theme_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-01 21:34:02 +02:00
fi
else
2020-03-11 02:21:54 +01:00
git clone https://${ GIT_SERVER } /CinemaPress/Theme-" ${ LOCAL_THEME } " .git \
/var/" ${ LOCAL_THEME } " >>/var/log/docker_theme_" $( date '+%d_%m_%Y' ) " .log 2>& 1
mkdir -p /home/" ${ LOCAL_DOMAIN } " /themes/" ${ LOCAL_THEME } " /
cp -rf /var/" ${ LOCAL_THEME } " /* /home/" ${ LOCAL_DOMAIN } " /themes/" ${ LOCAL_THEME } " /
2019-11-11 02:12:38 +01:00
sed -Ei " s/\"theme\":\s*\"[a-zA-Z0-9-]*\"/\"theme\":\" ${ LOCAL_THEME } \"/ " \
2020-03-11 02:21:54 +01:00
/home/" ${ LOCAL_DOMAIN } " /config/production/config.js
docker exec " ${ LOCAL_DOMAIN_ } " node optimal.js " ${ LOCAL_THEME } " \
2020-01-06 23:57:25 +01:00
>>/var/log/docker_theme_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-01 21:34:02 +02:00
fi
2020-03-11 02:21:54 +01:00
rm -rf /var/" ${ LOCAL_THEME : ? } "
2019-10-01 21:34:02 +02:00
sh_progress
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % theme " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2020-01-22 22:23:12 +01:00
2020-03-11 02:21:54 +01:00
if [ " $( docker -v 2>/dev/null) " != "" ] ; then
docker restart " ${ LOCAL_DOMAIN_ } " >>/var/log/docker_theme_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-11-05 03:06:15 +01:00
fi
2019-12-14 21:23:04 +01:00
sleep 10
2019-10-01 21:34:02 +02:00
}
5_database( ) {
2019-11-11 02:12:38 +01:00
LOCAL_DOMAIN = ${ 1 :- ${ CP_DOMAIN } }
2020-03-11 02:21:54 +01:00
LOCAL_DOMAIN_ = $( echo " ${ LOCAL_DOMAIN } " | sed -r "s/[^A-Za-z0-9]/_/g" )
2019-11-11 02:12:38 +01:00
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % database " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2021-06-06 01:49:47 +02:00
_header "MOVIES"
_content
_content "Update movies information"
_content "using the instructions:"
_content "https://enota.club/threads/3043"
_content
_s
exit 0
2019-10-01 21:34:02 +02:00
}
2019-10-11 15:26:59 +02:00
6_https( ) {
2019-11-11 02:12:38 +01:00
LOCAL_DOMAIN = ${ 1 :- ${ CP_DOMAIN } }
2020-05-01 21:48:52 +02:00
LOCAL_DOMAIN_ = $( echo " ${ LOCAL_DOMAIN } " | sed -r "s/[^A-Za-z0-9]/_/g" )
2019-11-11 02:12:38 +01:00
LOCAL_CLOUDFLARE_EMAIL = ${ 2 :- ${ CLOUDFLARE_EMAIL } }
LOCAL_CLOUDFLARE_API_KEY = ${ 3 :- ${ CLOUDFLARE_API_KEY } }
2020-05-01 21:48:52 +02:00
LOCAL_SUBDOMAIN = ${ 4 :- }
2019-10-11 15:26:59 +02:00
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % https " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2021-01-19 05:21:55 +01:00
if [ " $( grep "_uptimerobot" /etc/crontab) " != "" ] ; then
touch "/home/.uptimerobot" & >/dev/null
2021-01-16 01:19:08 +01:00
fi
2020-04-15 20:41:17 +02:00
NGX = " /home/ ${ LOCAL_DOMAIN } /config/production/nginx "
2019-11-11 02:12:38 +01:00
if [ " ${ LOCAL_CLOUDFLARE_EMAIL } " != "" ] \
&& [ " ${ LOCAL_CLOUDFLARE_API_KEY } " != "" ] ; then
echo -e " dns_cloudflare_email = \" ${ LOCAL_CLOUDFLARE_EMAIL } \"\ndns_cloudflare_api_key = \" ${ LOCAL_CLOUDFLARE_API_KEY } \" " \
2020-04-15 20:41:17 +02:00
> " ${ NGX } /cloudflare.ini "
2019-10-11 15:26:59 +02:00
2020-04-03 03:32:08 +02:00
_header "Generating, please wait ..."
2019-11-01 20:41:06 +01:00
_br
2019-10-15 23:14:12 +02:00
2020-04-03 03:50:00 +02:00
sleep 5
2020-05-03 20:58:23 +02:00
DOMAINS = ( -d " ${ LOCAL_DOMAIN } " -d *." ${ LOCAL_DOMAIN } " )
2020-05-01 21:48:52 +02:00
if [ " ${ LOCAL_SUBDOMAIN } " != "" ] ; then
2020-05-03 20:58:23 +02:00
for SUBDOMAIN in $LOCAL_SUBDOMAIN ; do DOMAINS = ( " ${ DOMAINS [@] } " -d *." ${ SUBDOMAIN } " ." ${ LOCAL_DOMAIN } " ) ; done
2020-05-01 21:48:52 +02:00
fi
2020-04-25 04:23:11 +02:00
2019-10-11 15:26:59 +02:00
docker run \
--rm \
2020-04-15 20:41:17 +02:00
-v " ${ NGX } /ssl.d:/etc/letsencrypt " \
-v " ${ NGX } /letsencrypt:/var/lib/letsencrypt " \
-v " ${ NGX } /cloudflare.ini:/cloudflare.ini " \
2019-10-11 15:26:59 +02:00
certbot/dns-cloudflare \
certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /cloudflare.ini \
2020-04-15 20:41:17 +02:00
--email " support@ ${ LOCAL_DOMAIN } " \
2019-10-11 15:26:59 +02:00
--non-interactive \
--agree-tos \
2020-05-03 20:58:23 +02:00
" ${ DOMAINS [@] } " \
2019-10-11 15:26:59 +02:00
--server https://acme-v02.api.letsencrypt.org/directory \
2020-05-03 20:58:23 +02:00
>>/var/log/docker_https_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-11 15:26:59 +02:00
2020-04-03 03:32:08 +02:00
sleep 15
2020-04-25 04:23:11 +02:00
if [ -d " ${ NGX } /ssl.d/live/ ${ LOCAL_DOMAIN } / " ] ; then
openssl dhparam -out " ${ NGX } /ssl.d/live/ ${ LOCAL_DOMAIN } /dhparam.pem " 2048 \
2020-05-03 20:58:23 +02:00
>>/var/log/docker_https_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-04-25 02:18:55 +02:00
sed -Ei "s~/self-signed/~/live/~g" " ${ NGX } /ssl.d/default.conf "
2020-06-09 21:11:57 +02:00
sed -Ei "s/ssl_stapling off;/ssl_stapling on;/g" " ${ NGX } /ssl.d/default.conf "
2020-04-15 20:41:17 +02:00
sed -Ei "s/#ssl //g" " ${ NGX } /conf.d/default.conf "
2019-10-15 23:14:12 +02:00
sed -Ei "s/\"protocol\":\s*\"http:/\"protocol\":\"https:/" \
2021-04-25 22:15:49 +02:00
" /home/ ${ LOCAL_DOMAIN } /config/production/config.js " >/dev/null
2020-04-15 20:41:17 +02:00
docker restart " ${ LOCAL_DOMAIN_ } " \
2020-05-03 20:58:23 +02:00
>>/var/log/docker_https_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-04-15 20:41:17 +02:00
_header "Generating wildcard certificate, completed successfully!"
2020-04-03 03:57:08 +02:00
_br
2019-11-01 20:41:06 +01:00
else
_header "ERROR"
_content
2020-04-15 20:41:17 +02:00
_content "Wildcard SSL certificate is not generated,"
2019-11-01 20:41:06 +01:00
_content "check the correct Email and Global API Key."
_content
_s
2019-10-01 21:34:02 +02:00
fi
2020-04-15 20:41:17 +02:00
elif [ " ${ LOCAL_CLOUDFLARE_EMAIL } " = "ss" ] ; then
rm -rf " ${ NGX } " /ssl.d/self-signed/" ${ LOCAL_DOMAIN } "
mkdir -p " ${ NGX } " /ssl.d/self-signed/" ${ LOCAL_DOMAIN } "
openssl req \
-x509 \
-nodes \
-days 3650 \
-subj " /C=CA/ST=QC/O= ${ LOCAL_DOMAIN } /CN= ${ LOCAL_DOMAIN } " \
-addext " subjectAltName=DNS: ${ LOCAL_DOMAIN } " \
-newkey rsa:2048 \
-keyout " ${ NGX } " /ssl.d/self-signed/" ${ LOCAL_DOMAIN } " /privkey.pem \
-out " ${ NGX } " /ssl.d/self-signed/" ${ LOCAL_DOMAIN } " /fullchain.pem
openssl dhparam \
-out " ${ NGX } " /ssl.d/self-signed/" ${ LOCAL_DOMAIN } " /dhparam.pem 2048
sed -Ei "s/live/self-signed/g" " ${ NGX } /ssl.d/default.conf "
2020-06-09 21:11:57 +02:00
sed -Ei "s/ssl_stapling on;/ssl_stapling off;/g" " ${ NGX } /ssl.d/default.conf "
2020-04-15 20:41:17 +02:00
sed -Ei "s/#ssl //g" " ${ NGX } /conf.d/default.conf "
sed -Ei "s/\"protocol\":\s*\"http:/\"protocol\":\"https:/" \
2021-04-25 22:15:49 +02:00
" /home/ ${ LOCAL_DOMAIN } /config/production/config.js " >/dev/null
2020-04-15 20:41:17 +02:00
docker restart " ${ LOCAL_DOMAIN_ } " \
2020-05-03 20:58:23 +02:00
>>/var/log/docker_https_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-04-15 20:41:17 +02:00
_header "Generating self-signed certificate, completed successfully!"
_br
2019-10-01 21:34:02 +02:00
fi
2019-12-14 21:23:04 +01:00
sleep 10
2019-10-01 21:34:02 +02:00
}
7_mirror( ) {
2019-11-11 02:12:38 +01:00
LOCAL_DOMAIN = ${ 1 :- ${ CP_DOMAIN } }
2020-05-01 21:48:52 +02:00
LOCAL_DOMAIN_ = $( echo " ${ LOCAL_DOMAIN } " | sed -r "s/[^A-Za-z0-9]/_/g" )
2019-11-11 02:12:38 +01:00
LOCAL_MIRROR = ${ 2 :- ${ CP_MIRROR } }
2020-05-01 21:48:52 +02:00
LOCAL_MIRROR_ = $( echo " ${ LOCAL_MIRROR } " | sed -r "s/[^A-Za-z0-9]/_/g" )
2019-11-11 02:12:38 +01:00
if [ ! -f " /home/ ${ LOCAL_MIRROR } /process.json " ] ; then
if [ -f " /home/ ${ LOCAL_DOMAIN } /process.json " ] ; then
M_ = " ${ LOCAL_MIRROR_ } "
LOCAL_MIRROR = " ${ LOCAL_DOMAIN } "
LOCAL_MIRROR_ = " ${ LOCAL_DOMAIN_ } "
LOCAL_DOMAIN = ""
LOCAL_DOMAIN_ = " ${ M_ } "
2019-10-10 21:24:49 +02:00
else
_header "ERROR"
_content
2019-11-11 02:12:38 +01:00
_content " First create a mirror website ${ LOCAL_MIRROR } , "
2019-10-10 21:24:49 +02:00
_content "import the movie database and"
_content "configure HTTPS on it (if you use it)."
_content
_s
exit 0
fi
2019-10-01 21:34:02 +02:00
fi
2019-10-11 01:03:21 +02:00
sh_progress
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % mirror " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2020-01-22 22:23:12 +01:00
2021-01-19 05:21:55 +01:00
if [ " $( grep "_uptimerobot" /etc/crontab) " != "" ] ; then
touch "/home/.uptimerobot" & >/dev/null
2021-01-16 01:19:08 +01:00
fi
2020-05-01 21:48:52 +02:00
docker stop " ${ LOCAL_MIRROR_ } " >>/var/log/docker_mirror_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-11-11 02:12:38 +01:00
if [ -f " /home/ ${ LOCAL_DOMAIN } /process.json " ] ; then
3_backup " ${ LOCAL_DOMAIN } " "create"
2020-05-01 21:48:52 +02:00
docker stop " ${ LOCAL_DOMAIN_ } " \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_mirror_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-01 21:34:02 +02:00
rm -rf \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_MIRROR } " /config/comment \
/home/" ${ LOCAL_MIRROR } " /config/content \
/home/" ${ LOCAL_MIRROR } " /config/rt \
/home/" ${ LOCAL_MIRROR } " /config/user
2019-10-01 21:34:02 +02:00
cp -r \
2019-11-11 02:12:38 +01:00
/home/${ LOCAL_DOMAIN } /config/comment \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_MIRROR } " /config/comment
2019-10-01 21:34:02 +02:00
cp -r \
2019-11-11 02:12:38 +01:00
/home/${ LOCAL_DOMAIN } /config/content \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_MIRROR } " /config/content
2019-10-01 21:34:02 +02:00
cp -r \
2019-11-11 02:12:38 +01:00
/home/${ LOCAL_DOMAIN } /config/rt \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_MIRROR } " /config/rt
2019-10-01 21:34:02 +02:00
cp -r \
2019-11-11 02:12:38 +01:00
/home/${ LOCAL_DOMAIN } /config/user \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_MIRROR } " /config/user
2019-11-11 04:39:10 +01:00
cp -r \
/home/${ LOCAL_DOMAIN } /config/production/config.js \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_MIRROR } " /config/production/config.js
2019-11-11 04:39:10 +01:00
cp -r \
/home/${ LOCAL_DOMAIN } /config/production/modules.js \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_MIRROR } " /config/production/modules.js
2019-11-11 04:39:10 +01:00
cp -r \
/home/${ LOCAL_DOMAIN } /themes/default/public/desktop/* \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_MIRROR } " /themes/default/public/desktop/
2019-11-11 04:39:10 +01:00
cp -r \
/home/${ LOCAL_DOMAIN } /themes/default/public/mobile/* \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_MIRROR } " /themes/default/public/mobile/
2019-11-11 04:39:10 +01:00
cp -r \
/home/${ LOCAL_DOMAIN } /themes/default/views/mobile/* \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_MIRROR } " /themes/default/views/mobile/
2019-11-11 04:39:10 +01:00
cp -r \
/home/${ LOCAL_DOMAIN } /files/* \
2020-05-01 21:48:52 +02:00
/home/" ${ LOCAL_MIRROR } " /files/
2019-11-11 04:39:10 +01:00
sed -Ei \
" s/ ${ LOCAL_DOMAIN_ } :3000/ ${ LOCAL_MIRROR_ } :3000/g " \
/home/${ LOCAL_DOMAIN } /config/production/nginx/conf.d/default.conf
2019-10-01 21:34:02 +02:00
fi
2019-11-11 02:12:38 +01:00
if [ " ${ LOCAL_DOMAIN_ } " != "" ] ; then
2020-05-01 21:48:52 +02:00
for f in /home/" ${ LOCAL_MIRROR } " /config/comment/comment_${ LOCAL_DOMAIN_ } .*; do
2019-11-11 02:12:38 +01:00
mv -f " ${ f } " " `echo ${ f } | sed s/comment_ ${ LOCAL_DOMAIN_ } /comment_ ${ LOCAL_MIRROR_ } /` " 2>/dev/null
2019-10-11 01:03:21 +02:00
done
2020-05-01 21:48:52 +02:00
for f in /home/" ${ LOCAL_MIRROR } " /config/content/content_${ LOCAL_DOMAIN_ } .*; do
2019-11-11 02:12:38 +01:00
mv -f " ${ f } " " `echo ${ f } | sed s/content_ ${ LOCAL_DOMAIN_ } /content_ ${ LOCAL_MIRROR_ } /` " 2>/dev/null
2019-10-11 01:03:21 +02:00
done
2020-05-01 21:48:52 +02:00
for f in /home/" ${ LOCAL_MIRROR } " /config/rt/rt_${ LOCAL_DOMAIN_ } .*; do
2019-11-11 02:12:38 +01:00
mv -f " ${ f } " " `echo ${ f } | sed s/rt_ ${ LOCAL_DOMAIN_ } /rt_ ${ LOCAL_MIRROR_ } /` " 2>/dev/null
2019-10-11 01:03:21 +02:00
done
2020-05-01 21:48:52 +02:00
for f in /home/" ${ LOCAL_MIRROR } " /config/user/user_${ LOCAL_DOMAIN_ } .*; do
2019-11-11 02:12:38 +01:00
mv -f " ${ f } " " `echo ${ f } | sed s/user_ ${ LOCAL_DOMAIN_ } /user_ ${ LOCAL_MIRROR_ } /` " 2>/dev/null
2019-10-11 01:03:21 +02:00
done
2019-10-01 21:34:02 +02:00
fi
2019-11-02 01:32:00 +01:00
2019-10-11 01:03:21 +02:00
sh_progress
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % mirror2 " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2020-01-22 22:23:12 +01:00
2020-05-01 21:48:52 +02:00
docker start " ${ LOCAL_MIRROR_ } " \
>>/var/log/docker_mirror_" $( date '+%d_%m_%Y' ) " .log 2>& 1
sleep 10
2020-05-10 01:36:46 +02:00
docker exec " ${ LOCAL_MIRROR_ } " /usr/bin/cinemapress container mirror \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_mirror_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-05-01 21:48:52 +02:00
sleep 10
2019-11-11 02:12:38 +01:00
docker exec nginx nginx -s reload \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_mirror_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-12-14 21:23:04 +01:00
sleep 10
2019-10-01 21:34:02 +02:00
}
8_remove( ) {
2019-11-11 02:12:38 +01:00
LOCAL_DOMAIN = ${ 1 :- ${ CP_DOMAIN } }
2020-05-01 21:48:52 +02:00
LOCAL_DOMAIN_ = $( echo " ${ LOCAL_DOMAIN } " | sed -r "s/[^A-Za-z0-9]/_/g" )
2019-11-11 02:12:38 +01:00
LOCAL_FULL = ${ 2 }
LOCAL_SAFE = ${ 3 }
2020-04-08 21:28:13 +02:00
echo " ${ PRC_ } % remove " >>/var/log/docker_log_" $( date '+%d_%m_%Y' ) " .log
2021-01-19 05:21:55 +01:00
if [ " $( grep "_uptimerobot" /etc/crontab) " != "" ] ; then
touch "/home/.uptimerobot" & >/dev/null
2021-01-18 04:00:16 +01:00
fi
2019-11-11 02:12:38 +01:00
if [ " ${ LOCAL_SAFE } " = "safe" ] && [ -f " /home/ ${ LOCAL_DOMAIN } /config/production/config.js " ] ; then
T = ` grep "\"theme\"" /home/${ LOCAL_DOMAIN } /config/production/config.js`
L = ` grep "\"language\"" /home/${ LOCAL_DOMAIN } /config/production/config.js`
2021-01-15 23:19:28 +01:00
CP_THEME = ` echo ${ T } | sed 's/.*"theme":\s*"\([a-zA-Z0-9_-]*\)".*/\1/' `
2019-10-16 02:00:44 +02:00
CP_LANG = ` echo ${ L } | sed 's/.*"language":\s*"\([a-z]*\)".*/\1/' `
if [ " ${ CP_THEME } " = "" ] \
|| [ " ${ CP_LANG } " = "" ] \
|| [ " ${ CP_THEME } " = " ${ T } " ] \
|| [ " ${ CP_LANG } " = " ${ L } " ] ; then
_header "ERROR"
_content
_content "The field has an invalid value:"
_content " CP_THEME: ${ CP_THEME } "
_content " CP_LANG: ${ CP_LANG } "
_content
_line
exit 0
fi
fi
2019-12-03 02:06:09 +01:00
docker stop ${ LOCAL_DOMAIN_ } >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
docker rm -f ${ LOCAL_DOMAIN_ } >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2021-10-30 01:10:37 +02:00
# docker build -t cinemapress/docker https://github.com/CinemaPress/CinemaPress.git
2019-12-03 02:06:09 +01:00
docker pull cinemapress/docker:latest >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-11-11 02:12:38 +01:00
sed -i " s/.* ${ LOCAL_DOMAIN } .*//g " /etc/crontab & > /dev/null
2019-12-03 02:06:09 +01:00
rm -rf /home/${ LOCAL_DOMAIN : ? }
2020-05-07 21:38:18 +02:00
rm -rf /root/${ LOCAL_DOMAIN : ? }
2019-11-11 02:12:38 +01:00
if [ " ${ LOCAL_FULL } " != "" ] ; then
2020-01-08 22:50:14 +01:00
echo "STOP NGINX" >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-12-03 02:06:09 +01:00
docker stop nginx >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-01-08 22:50:14 +01:00
echo "RM NGINX" >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-12-03 02:06:09 +01:00
docker rm -f nginx >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-01-08 22:50:14 +01:00
echo "PULL NGINX" >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2021-10-30 01:10:37 +02:00
# docker build -t cinemapress/nginx https://github.com/CinemaPress/CinemaPress.git#:config/default/nginx
2019-12-03 02:06:09 +01:00
docker pull cinemapress/nginx:latest >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2021-01-16 01:40:39 +01:00
# echo "STOP FAIL2BAN" >>/var/log/docker_remove_"$(date '+%d_%m_%Y')".log 2>&1
# docker stop fail2ban >>/var/log/docker_remove_"$(date '+%d_%m_%Y')".log 2>&1
# echo "RM FAIL2BAN" >>/var/log/docker_remove_"$(date '+%d_%m_%Y')".log 2>&1
# docker rm -f fail2ban >>/var/log/docker_remove_"$(date '+%d_%m_%Y')".log 2>&1
# echo "PULL FAIL2BAN" >>/var/log/docker_remove_"$(date '+%d_%m_%Y')".log 2>&1
2021-10-30 01:10:37 +02:00
# # docker build -t cinemapress/fail2ban https://github.com/CinemaPress/CinemaPress.git#:config/default/fail2ban
2021-01-16 01:40:39 +01:00
# docker pull cinemapress/fail2ban:latest >>/var/log/docker_remove_"$(date '+%d_%m_%Y')".log 2>&1
# echo "STOP FILESTASH" >>/var/log/docker_remove_"$(date '+%d_%m_%Y')".log 2>&1
# docker stop filestash >>/var/log/docker_remove_"$(date '+%d_%m_%Y')".log 2>&1
# echo "RM FILESTASH" >>/var/log/docker_remove_"$(date '+%d_%m_%Y')".log 2>&1
# docker rm -f filestash >>/var/log/docker_remove_"$(date '+%d_%m_%Y')".log 2>&1
# echo "PULL FILESTASH" >>/var/log/docker_remove_"$(date '+%d_%m_%Y')".log 2>&1
2021-10-30 01:10:37 +02:00
# # docker build -t cinemapress/filestash https://github.com/CinemaPress/CinemaPress.git#:config/default/filestash
2021-01-16 01:40:39 +01:00
# docker pull cinemapress/filestash:latest >>/var/log/docker_remove_"$(date '+%d_%m_%Y')".log 2>&1
2019-10-15 19:45:11 +02:00
fi
2020-01-08 22:50:14 +01:00
echo "RMI OLD" >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-01-06 23:57:25 +01:00
docker rmi -f $( docker images -f 'dangling=true' -q) >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-12-14 21:23:04 +01:00
sleep 10
2019-10-01 21:34:02 +02:00
}
option( ) {
clear
_line
_logo
_header "MAKE A CHOICE"
2021-04-16 23:26:18 +02:00
printf " ${ C } ---- ${ G } i) ${ NC } install ${ S } ------------------ Create Movies / TV Website ${ C } ----\n "
printf " ${ C } ---- ${ G } u) ${ NC } update ${ S } ------------------- Upgrade CinemaPress System ${ C } ----\n "
printf " ${ C } ---- ${ G } b) ${ NC } backup ${ S } -------------------- Backup System Master Data ${ C } ----\n "
printf " ${ C } ---- ${ G } t) ${ NC } theme ${ S } ------------- Install / Update Website Template ${ C } ----\n "
printf " ${ C } ---- ${ G } h) ${ NC } https ${ S } -------------- Getting Wildcard SSL Certificate ${ C } ----\n "
printf " ${ C } ---- ${ G } r) ${ NC } remove ${ S } ---------------------------- Uninstall Website ${ C } ----\n "
2019-10-01 21:34:02 +02:00
_s
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
OPTION = ${ 1 }
2021-04-16 23:26:18 +02:00
echo " OPTION: ${ OPTION } "
2019-10-01 21:34:02 +02:00
else
2021-04-16 23:26:18 +02:00
read -e -p 'OPTION: ' OPTION
2019-10-01 21:34:02 +02:00
OPTION = ` echo ${ OPTION } | iconv -c -t UTF-8`
fi
if [ " ${ OPTION } " != "" ]
then
2020-05-01 21:48:52 +02:00
if echo " ${ OPTION } " | grep -qE ^[ 0-9a-z] +$
2019-10-01 21:34:02 +02:00
then
AGAIN = 10
else
2021-04-16 23:26:18 +02:00
printf " ${ R } WARNING: ${ NC } Enter the letter of the option. \n "
2019-10-01 21:34:02 +02:00
AGAIN = $(( ${ AGAIN } + 1 ))
fi
else
printf " ${ R } WARNING: ${ NC } Make your choice. \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
done
printf " \n ${ NC } "
}
read_domain( ) {
2019-11-11 02:12:38 +01:00
CP_DOMAIN = ${ 1 :- ${ CP_DOMAIN } }
2019-10-01 21:34:02 +02:00
if [ " ${ CP_DOMAIN } " = "" ] ; then
_header "DOMAIN NAME OR IP"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
CP_DOMAIN = ${ 1 }
CP_DOMAIN = ` echo ${ CP_DOMAIN } | iconv -c -t UTF-8`
echo " : ${ CP_DOMAIN } "
else
2020-03-26 01:21:46 +01:00
AUTO_DOMAIN = ""
cd /home && for D in *; do
2020-05-10 03:36:17 +02:00
if [ -d " $D " ] && [ -f " $D /process.json " ] && [ -f " $D /app.js " ] && [ " ${ AUTO_DOMAIN } " = "" ] ; then
2020-03-26 01:21:46 +01:00
AUTO_DOMAIN = " $D "
fi
done
if [ " ${ AUTO_DOMAIN } " = "" ] ; then
read -e -p ': ' CP_DOMAIN
else
read -e -p ': ' -i " ${ AUTO_DOMAIN } " CP_DOMAIN
fi
2019-10-01 21:34:02 +02:00
CP_DOMAIN = ` echo ${ CP_DOMAIN } | iconv -c -t UTF-8`
fi
if [ " ${ CP_DOMAIN } " != "" ]
then
2020-05-01 21:48:52 +02:00
if echo " ${ CP_DOMAIN } " | grep -qE ^[ .a-z0-9-] +$
2019-10-01 21:34:02 +02:00
then
CP_DOMAIN_ = ` echo ${ CP_DOMAIN } | sed -r "s/[^A-Za-z0-9]/_/g" | sed -r "s/www\.//g" | sed -r "s/http:\/\///g" | sed -r "s/https:\/\///g" `
if [ "`expr " ${ CP_DOMAIN } " : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]* $'` " != "0" ] ; then
2019-10-10 21:24:49 +02:00
CP_IP = "ip"
2019-10-01 21:34:02 +02:00
fi
AGAIN = 10
else
printf " ${ NC } You entered: ${ R } ${ CP_DOMAIN } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin lowercase characters, \n "
printf " ${ NC } numbers, dots, and hyphens are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
else
printf " ${ R } WARNING: ${ NC } Domain name cannot be blank. \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
done
2019-10-03 21:43:19 +02:00
if [ " ${ CP_DOMAIN } " = "" ] ; then exit 1; fi
2019-10-01 21:34:02 +02:00
fi
2019-10-11 01:03:21 +02:00
if [ "`expr " ${ CP_DOMAIN } " : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]* $'` " != "0" ] ; then
while [ " `netstat -tunlp 2>/dev/null | grep : ${ EXTERNAL_PORT } ` " != "" ] ; do
RND = ` sh_random 1 9999`
EXTERNAL_PORT = $(( 30000 + ${ RND } ))
done
if [ "`netstat -tunlp | grep 0.0.0.0:80`" = "" ] \
&& [ "`netstat -tunlp | grep :::80`" = "" ] ; then
EXTERNAL_PORT = "80"
fi
EXTERNAL_DOCKER = " -p ${ EXTERNAL_PORT } :3000 "
CP_IP = "ip"
fi
CP_DOMAIN_ = ` echo ${ CP_DOMAIN } | sed -r "s/[^A-Za-z0-9]/_/g" `
2019-10-01 21:34:02 +02:00
}
read_mirror( ) {
2019-11-11 02:12:38 +01:00
CP_MIRROR = ${ 1 :- ${ CP_MIRROR } }
2019-10-01 21:34:02 +02:00
if [ " ${ CP_MIRROR } " = "" ] ; then
_header "MIRROR WEBSITE"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
CP_MIRROR = ${ 1 }
CP_MIRROR = ` echo ${ CP_MIRROR } | iconv -c -t UTF-8`
echo " : ${ CP_MIRROR } "
else
read -e -p ': ' CP_MIRROR
CP_MIRROR = ` echo ${ CP_MIRROR } | iconv -c -t UTF-8`
fi
if [ " ${ CP_MIRROR } " != "" ]
then
2020-05-01 21:48:52 +02:00
if echo " ${ CP_MIRROR } " | grep -qE ^[ .a-z0-9-] +$
2019-10-01 21:34:02 +02:00
then
if [ " ${ CP_DOMAIN } " = " ${ CP_MIRROR } " ]
then
printf " ${ R } WARNING: ${ NC } The mirror of the website cannot be \n "
printf " ${ NC } the same as the domain of the main website! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
else
CP_MIRROR_ = ` echo ${ CP_MIRROR } | sed -r "s/[^A-Za-z0-9]/_/g" | sed -r "s/www\.//g" | sed -r "s/http:\/\///g" | sed -r "s/https:\/\///g" `
AGAIN = 10
fi
else
printf " ${ NC } You entered: ${ R } ${ CP_MIRROR } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin lowercase characters, \n "
printf " ${ NC } numbers, dots, and hyphens are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
else
printf " ${ R } WARNING: ${ NC } Mirror domain name cannot be blank. \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
done
2019-10-03 21:43:19 +02:00
if [ " ${ CP_MIRROR } " = "" ] ; then exit 1; fi
2019-10-01 21:34:02 +02:00
fi
2019-10-11 01:03:21 +02:00
CP_MIRROR_ = ` echo ${ CP_MIRROR } | sed -r "s/[^A-Za-z0-9]/_/g" | sed -r "s/www\.//g" | sed -r "s/http:\/\///g" | sed -r "s/https:\/\///g" `
2019-10-01 21:34:02 +02:00
}
read_theme( ) {
2019-11-11 02:12:38 +01:00
CP_THEME = ${ 1 :- ${ CP_THEME } }
2019-10-01 21:34:02 +02:00
if [ " ${ CP_THEME } " = "" ] ; then
_header "WEBSITE THEME"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
CP_THEME = ${ 1 }
2020-03-11 02:21:54 +01:00
CP_THEME = $( echo ${ CP_THEME } | iconv -c -t UTF-8)
2019-10-01 21:34:02 +02:00
echo " : ${ CP_THEME } "
else
2021-03-08 21:36:34 +01:00
read -e -p ': ' -i "snow" CP_THEME
2020-03-11 02:21:54 +01:00
CP_THEME = $( echo ${ CP_THEME } | iconv -c -t UTF-8)
2019-10-01 21:34:02 +02:00
fi
if [ " ${ CP_THEME } " = "" ]
then
AGAIN = 10
2019-10-03 23:59:49 +02:00
CP_THEME = 'tarly'
2019-10-16 20:16:04 +02:00
echo " : ${ CP_THEME } "
2019-10-01 21:34:02 +02:00
else
2021-05-11 23:24:49 +02:00
if [ " ${ CP_THEME } " = "default" ] || [ " ${ CP_THEME } " = "hodor" ] || [ " ${ CP_THEME } " = "sansa" ] || [ " ${ CP_THEME } " = "robb" ] || [ " ${ CP_THEME } " = "ramsay" ] || [ " ${ CP_THEME } " = "tyrion" ] || [ " ${ CP_THEME } " = "cersei" ] || [ " ${ CP_THEME } " = "joffrey" ] || [ " ${ CP_THEME } " = "drogo" ] || [ " ${ CP_THEME } " = "bran" ] || [ " ${ CP_THEME } " = "arya" ] || [ " ${ CP_THEME } " = "mormont" ] || [ " ${ CP_THEME } " = "tarly" ] || [ " ${ CP_THEME } " = "daenerys" ] || [ " ${ CP_THEME } " = "tormund" ] || [ " ${ CP_THEME } " = "snow" ] || [ " ${ CP_THEME } " = "dustin" ]
2019-10-01 21:34:02 +02:00
then
AGAIN = 10
else
2021-01-09 01:12:50 +01:00
printf "%b There is no such theme! \n" " ${ NC } "
2021-03-07 20:34:14 +01:00
printf "%bWARNING:%b Currently there are theme: hodor, sansa, robb, ramsay, tyrion, cersei \n" " ${ R } " " ${ NC } "
2021-05-11 23:24:49 +02:00
printf "%b joffrey, drogo, bran, arya, mormont, tarly и daenerys, tormund, snow, dustin \n" " ${ NC } "
2020-03-11 02:21:54 +01:00
AGAIN = $(( " ${ AGAIN } " + 1 ))
2019-10-01 21:34:02 +02:00
fi
fi
done
2019-10-03 21:43:19 +02:00
if [ " ${ CP_THEME } " = "" ] ; then exit 1; fi
2019-10-01 21:34:02 +02:00
fi
}
read_password( ) {
2019-11-11 02:12:38 +01:00
CP_PASSWD = ${ 1 :- ${ CP_PASSWD } }
2019-10-01 21:34:02 +02:00
if [ " ${ CP_PASSWD } " = "" ] ; then
_header "PASSWORD ADMIN PANEL"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
CP_PASSWD = ${ 1 }
CP_PASSWD = ` echo ${ CP_PASSWD } | iconv -c -t UTF-8`
echo " : ${ CP_PASSWD } "
else
read -e -p ': ' -i " `echo ${ RANDOM } | tr '[0-9]' '[a-z]'` ${ RANDOM } `echo ${ RANDOM } | tr '[0-9]' '[a-z]'` " CP_PASSWD
CP_PASSWD = ` echo ${ CP_PASSWD } | iconv -c -t UTF-8`
fi
if [ " ${ CP_PASSWD } " != "" ]
then
2020-05-01 21:48:52 +02:00
if echo " ${ CP_PASSWD } " | grep -qE ^[ a-zA-Z0-9] +$
then
AGAIN = 10
else
printf " ${ NC } You entered: ${ R } ${ CP_PASSWD } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin characters and numbers! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
2019-10-01 21:34:02 +02:00
else
printf " ${ R } WARNING: ${ NC } Admin panel password cannot be empty. \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
done
2019-10-03 21:43:19 +02:00
if [ " ${ CP_PASSWD } " = "" ] ; then exit 1; fi
2019-10-01 21:34:02 +02:00
fi
}
read_key( ) {
2019-11-11 02:12:38 +01:00
CP_KEY = ${ 1 :- ${ CP_KEY } }
2019-10-01 21:34:02 +02:00
if [ " ${ CP_KEY } " = "" ] ; then
_header "DATABASE KEY"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ] ; then
CP_KEY = ${ 1 }
CP_KEY = ` echo ${ CP_KEY } | iconv -c -t UTF-8`
echo " : ${ CP_KEY } "
else
read -e -p ': ' CP_KEY
CP_KEY = ` echo ${ CP_KEY } | iconv -c -t UTF-8`
fi
if [ " ${ CP_KEY } " != "" ]
then
2020-05-01 21:48:52 +02:00
if echo " ${ CP_KEY } " | grep -qE ^[ A-Za-z0-9] +$
2019-10-01 21:34:02 +02:00
then
2019-10-16 20:16:04 +02:00
AGAIN = 10
2019-10-01 21:34:02 +02:00
else
printf " ${ NC } You entered: ${ R } ${ CP_KEY } ${ NC } \n "
2020-05-01 21:48:52 +02:00
printf " ${ R } WARNING: ${ NC } Only latin characters \n "
printf " ${ NC } and numbers are allowed! \n "
2019-10-01 21:34:02 +02:00
AGAIN = $(( ${ AGAIN } + 1 ))
fi
else
printf " ${ R } WARNING: ${ NC } You can purchase a key \n "
printf " ${ NC } in the admin panel of your website. \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
done
2019-10-03 21:43:19 +02:00
if [ " ${ CP_KEY } " = "" ] ; then exit 1; fi
2019-10-01 21:34:02 +02:00
fi
2019-10-16 20:16:04 +02:00
if [ " ${ CP_LANG } " = "" ] ; then
L = ` grep "\"language\"" /home/${ CP_DOMAIN } /config/production/config.js`
CP_LANG = ` echo " ${ L } " | sed 's/.*"language":\s*"\([a-z]*\)".*/\1/' `
if [ " ${ CP_LANG } " = "" ] \
|| [ " ${ CP_LANG } " = " ${ L } " ] ; then
_header "ERROR" ;
_content
_content "Failed to determine"
_content "the language of the website."
_content
_s
exit 0
fi
fi
2019-10-01 21:34:02 +02:00
}
read_lang( ) {
2019-11-11 02:12:38 +01:00
CP_LANG = ${ 1 :- ${ CP_LANG } }
2019-10-01 21:34:02 +02:00
if [ " ${ CP_LANG } " = "" ] ; then
_header "WEBSITE LANGUAGE"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
CP_LANG = ${ 1 }
CP_LANG = ` echo ${ CP_LANG } | iconv -c -t UTF-8`
echo " : ${ CP_LANG } "
else
read -e -p ': ' -i "en" CP_LANG
CP_LANG = ` echo ${ CP_LANG } | iconv -c -t UTF-8`
fi
if [ " ${ CP_LANG } " = "" ]
then
AGAIN = 10
CP_LANG = 'en'
2019-10-03 23:59:49 +02:00
echo " : ${ CP_LANG } "
2019-10-01 21:34:02 +02:00
else
if [ " ${ CP_LANG } " = "ru" ] || [ " ${ CP_LANG } " = "en" ] || [ " ${ CP_LANG } " = "Русский" ] || [ " ${ CP_LANG } " = "English" ] || [ " ${ CP_LANG } " = "русский" ] || [ " ${ CP_LANG } " = "english" ]
then
if [ " ${ CP_LANG } " = "ru" ] || [ " ${ CP_LANG } " = "Русский" ] || [ " ${ CP_LANG } " = "русский" ]
then
CP_LANG = "ru"
else
CP_LANG = "en"
fi
AGAIN = 10
else
printf " ${ NC } There is no such language! \n "
printf " ${ R } WARNING: ${ NC } Currently there are \n "
printf " ${ NC } languages: ru and en. \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
fi
done
2019-10-03 21:43:19 +02:00
if [ " ${ CP_LANG } " = "" ] ; then exit 1; fi
2019-10-01 21:34:02 +02:00
fi
}
2020-12-01 00:26:47 +01:00
read_cloudflare_zone_id( ) {
CLOUDFLARE_ZONE_ID = ${ 1 :- ${ CLOUDFLARE_ZONE_ID } }
if [ " ${ CLOUDFLARE_ZONE_ID } " = "" ] ; then
_header "CLOUDFLARE ZONE ID"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
CLOUDFLARE_ZONE_ID = ${ 1 }
CLOUDFLARE_ZONE_ID = ` echo ${ CLOUDFLARE_ZONE_ID } | iconv -c -t UTF-8`
echo " : ${ CLOUDFLARE_ZONE_ID } "
else
read -e -p ': ' CLOUDFLARE_ZONE_ID
CLOUDFLARE_ZONE_ID = ` echo ${ CLOUDFLARE_ZONE_ID } | iconv -c -t UTF-8`
fi
if [ " ${ CLOUDFLARE_ZONE_ID } " != "" ]
then
if echo " ${ CLOUDFLARE_ZONE_ID } " | grep -qE ^[ .a-zA-Z0-9-] +$
then
AGAIN = 10
else
printf " ${ NC } You entered: ${ R } ${ CLOUDFLARE_ZONE_ID } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin characters \n "
printf " ${ NC } and numbers are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
fi
done
if [ " ${ CLOUDFLARE_ZONE_ID } " = "" ] ; then exit 1; fi
fi
}
2019-10-01 21:34:02 +02:00
read_cloudflare_email( ) {
2019-11-11 02:12:38 +01:00
CLOUDFLARE_EMAIL = ${ 1 :- ${ CLOUDFLARE_EMAIL } }
2019-10-01 21:34:02 +02:00
if [ " ${ CLOUDFLARE_EMAIL } " = "" ] ; then
_header "CLOUDFLARE EMAIL"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
CLOUDFLARE_EMAIL = ${ 1 }
CLOUDFLARE_EMAIL = ` echo ${ CLOUDFLARE_EMAIL } | iconv -c -t UTF-8`
echo " : ${ CLOUDFLARE_EMAIL } "
else
read -e -p ': ' CLOUDFLARE_EMAIL
CLOUDFLARE_EMAIL = ` echo ${ CLOUDFLARE_EMAIL } | iconv -c -t UTF-8`
fi
if [ " ${ CLOUDFLARE_EMAIL } " != "" ]
then
2020-05-01 21:48:52 +02:00
if echo " ${ CLOUDFLARE_EMAIL } " | grep -qE ^[ .a-zA-Z0-9@_-] +$
2019-10-01 21:34:02 +02:00
then
AGAIN = 10
else
printf " ${ NC } You entered: ${ R } ${ CLOUDFLARE_EMAIL } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin characters, @, numbers, \n "
printf " ${ NC } dots, underscore and hyphens are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
fi
done
2019-10-03 21:43:19 +02:00
if [ " ${ CLOUDFLARE_EMAIL } " = "" ] ; then exit 1; fi
2019-10-01 21:34:02 +02:00
fi
}
read_cloudflare_api_key( ) {
2019-11-11 02:12:38 +01:00
CLOUDFLARE_API_KEY = ${ 1 :- ${ CLOUDFLARE_API_KEY } }
2019-10-01 21:34:02 +02:00
if [ " ${ CLOUDFLARE_API_KEY } " = "" ] ; then
_header "CLOUDFLARE API KEY"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
CLOUDFLARE_API_KEY = ${ 1 }
CLOUDFLARE_API_KEY = ` echo ${ CLOUDFLARE_API_KEY } | iconv -c -t UTF-8`
echo " : ${ CLOUDFLARE_API_KEY } "
else
read -e -p ': ' CLOUDFLARE_API_KEY
CLOUDFLARE_API_KEY = ` echo ${ CLOUDFLARE_API_KEY } | iconv -c -t UTF-8`
fi
if [ " ${ CLOUDFLARE_API_KEY } " != "" ]
then
2020-05-01 21:48:52 +02:00
if echo " ${ CLOUDFLARE_API_KEY } " | grep -qE ^[ .a-zA-Z0-9-] +$
2019-10-01 21:34:02 +02:00
then
AGAIN = 10
else
printf " ${ NC } You entered: ${ R } ${ CLOUDFLARE_API_KEY } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin characters \n "
printf " ${ NC } and numbers are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
fi
done
2019-10-03 21:43:19 +02:00
if [ " ${ CLOUDFLARE_API_KEY } " = "" ] ; then exit 1; fi
2019-10-01 21:34:02 +02:00
fi
}
read_mega_email( ) {
2019-11-11 02:12:38 +01:00
MEGA_EMAIL = ${ 1 :- ${ MEGA_EMAIL } }
2019-10-01 21:34:02 +02:00
if [ " ${ MEGA_EMAIL } " = "" ] ; then
2021-02-03 02:34:29 +01:00
_header "BACKUP EMAIL"
2019-10-01 21:34:02 +02:00
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
MEGA_EMAIL = ${ 1 }
MEGA_EMAIL = ` echo ${ MEGA_EMAIL } | iconv -c -t UTF-8`
echo " : ${ MEGA_EMAIL } "
else
read -e -p ': ' MEGA_EMAIL
MEGA_EMAIL = ` echo ${ MEGA_EMAIL } | iconv -c -t UTF-8`
fi
if [ " ${ MEGA_EMAIL } " != "" ]
then
2020-05-01 21:48:52 +02:00
if echo " ${ MEGA_EMAIL } " | grep -qE ^[ .a-zA-Z0-9@_-] +$
2019-10-01 21:34:02 +02:00
then
AGAIN = 10
else
printf " ${ NC } You entered: ${ R } ${ MEGA_EMAIL } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin characters, @, numbers, \n "
printf " ${ NC } dots, underscore and hyphens are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
fi
done
2019-10-03 21:43:19 +02:00
if [ " ${ MEGA_EMAIL } " = "" ] ; then exit 1; fi
2019-10-01 21:34:02 +02:00
fi
}
read_mega_password( ) {
2019-11-11 02:12:38 +01:00
MEGA_PASSWORD = ${ 1 :- ${ MEGA_PASSWORD } }
2019-10-01 21:34:02 +02:00
if [ " ${ MEGA_PASSWORD } " = "" ] ; then
2021-02-03 02:34:29 +01:00
_header "BACKUP PASSWORD"
2019-10-01 21:34:02 +02:00
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
MEGA_PASSWORD = ${ 1 }
MEGA_PASSWORD = ` echo ${ MEGA_PASSWORD } | iconv -c -t UTF-8`
echo " : ${ MEGA_PASSWORD } "
else
read -e -p ': ' MEGA_PASSWORD
MEGA_PASSWORD = ` echo ${ MEGA_PASSWORD } | iconv -c -t UTF-8`
fi
if [ " ${ MEGA_PASSWORD } " != "" ]
then
2021-03-31 23:08:25 +02:00
if echo " ${ MEGA_PASSWORD } " | grep -qE ^[ .a-zA-Z0-9@_-!?] +$
2020-05-01 21:48:52 +02:00
then
AGAIN = 10
else
printf " ${ NC } You entered: ${ R } ${ MEGA_PASSWORD } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin characters \n "
printf " ${ NC } and numbers are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
2019-10-01 21:34:02 +02:00
fi
done
2019-10-03 21:43:19 +02:00
if [ " ${ MEGA_PASSWORD } " = "" ] ; then exit 1; fi
2019-10-01 21:34:02 +02:00
fi
}
2020-01-06 23:57:25 +01:00
read_cms( ) {
NAME_CMS = ${ 1 :- ${ NAME_CMS } }
if [ " ${ NAME_CMS } " = "" ] ; then
_header "NAME CMS"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
NAME_CMS = ${ 1 }
NAME_CMS = ` echo ${ NAME_CMS } | iconv -c -t UTF-8`
echo " : ${ NAME_CMS } "
else
read -e -p ': ' -i "php-mysql" NAME_CMS
NAME_CMS = ` echo ${ NAME_CMS } | iconv -c -t UTF-8`
fi
if [ " ${ NAME_CMS } " = "" ]
then
AGAIN = 10
NAME_CMS = 'php-mysql'
echo " : ${ NAME_CMS } "
else
2020-04-05 23:00:45 +02:00
if [ " ${ NAME_CMS } " = "php-mysql" ] || [ " ${ NAME_CMS } " = "wordpress" ] || [ " ${ NAME_CMS } " = "drupal" ] || [ " ${ NAME_CMS } " = "joomla" ] || [ " ${ NAME_CMS } " = "dle" ] || [ " ${ NAME_CMS } " = "backup" ]
2020-01-06 23:57:25 +01:00
then
AGAIN = 10
else
printf " ${ NC } There is no such CMS! \n "
printf " ${ R } WARNING: ${ NC } Currently there are \n "
2020-01-17 06:24:00 +01:00
printf " ${ NC } CMS: wordpress, drupal, joomla, dle and php-mysql. \n "
2020-01-06 23:57:25 +01:00
AGAIN = $(( ${ AGAIN } + 1 ))
fi
fi
done
if [ " ${ NAME_CMS } " = "" ] ; then exit 1; fi
fi
}
2020-01-09 04:14:14 +01:00
read_os( ) {
NAME_OS = ${ 1 :- ${ NAME_OS } }
if [ " ${ NAME_OS } " = "" ] ; then
_header "NAME OS"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
NAME_OS = ${ 1 }
NAME_OS = ` echo ${ NAME_OS } | iconv -c -t UTF-8`
echo " : ${ NAME_OS } "
else
read -e -p ': ' -i "windows" NAME_OS
NAME_OS = ` echo ${ NAME_OS } | iconv -c -t UTF-8`
fi
if [ " ${ NAME_OS } " = "" ]
then
AGAIN = 10
NAME_OS = 'windows'
echo " : ${ NAME_OS } "
else
2020-03-06 03:44:55 +01:00
if [ " ${ NAME_OS } " = "macos" ] || [ " ${ NAME_OS } " = "ios" ] || [ " ${ NAME_OS } " = "apple" ]
then
NAME_OS = "osx"
fi
2020-01-09 04:14:14 +01:00
if [ " ${ NAME_OS } " = "windows" ] || [ " ${ NAME_OS } " = "linux" ] || [ " ${ NAME_OS } " = "osx" ]
then
AGAIN = 10
else
printf " ${ NC } There is no such OS! \n "
printf " ${ R } WARNING: ${ NC } Currently there are \n "
printf " ${ NC } OS: windows, linux and osx. \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
fi
done
if [ " ${ NAME_OS } " = "" ] ; then exit 1; fi
fi
}
read_app( ) {
APP_DOMAIN = ${ 1 :- ${ APP_DOMAIN } }
if [ " ${ APP_DOMAIN } " = "" ] ; then
2020-03-06 03:44:55 +01:00
_header "DOMAIN NAME FOR SPLASH SCREEN"
2020-01-09 04:14:14 +01:00
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
APP_DOMAIN = ${ 1 }
APP_DOMAIN = ` echo ${ APP_DOMAIN } | iconv -c -t UTF-8`
echo " : ${ APP_DOMAIN } "
else
read -e -p ': ' APP_DOMAIN
APP_DOMAIN = ` echo ${ APP_DOMAIN } | iconv -c -t UTF-8`
fi
if [ " ${ APP_DOMAIN } " != "" ]
then
2020-05-01 21:48:52 +02:00
if echo " ${ APP_DOMAIN } " | grep -qE ^[ .a-z0-9-] +$
2020-01-09 04:14:14 +01:00
then
2020-01-09 05:44:03 +01:00
APP_DOMAIN_ = ` echo ${ APP_DOMAIN } | sed -r "s/[^A-Za-z0-9]/_/g" | sed -r "s/www\.//g" | sed -r "s/http:\/\///g" | sed -r "s/https:\/\///g" `
2020-01-09 04:14:14 +01:00
AGAIN = 10
else
printf " ${ NC } You entered: ${ R } ${ APP_DOMAIN } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin lowercase characters, \n "
printf " ${ NC } numbers, dots, and hyphens are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
else
2020-03-06 03:44:55 +01:00
printf " ${ R } WARNING: ${ NC } Domain name for splash screen cannot be blank. \n "
2020-01-09 04:14:14 +01:00
AGAIN = $(( ${ AGAIN } + 1 ))
fi
done
if [ " ${ APP_DOMAIN } " = "" ] ; then exit 1; fi
fi
APP_DOMAIN_ = ` echo ${ APP_DOMAIN } | sed -r "s/[^A-Za-z0-9]/_/g" `
}
2020-01-16 03:36:20 +01:00
read_import( ) {
IMPORT_DOMAIN = ${ 1 :- ${ IMPORT_DOMAIN } }
if [ " ${ IMPORT_DOMAIN } " = "" ] ; then
_header "IMPORT DOMAIN NAME"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
IMPORT_DOMAIN = ${ 1 }
IMPORT_DOMAIN = ` echo ${ IMPORT_DOMAIN } | iconv -c -t UTF-8`
echo " : ${ IMPORT_DOMAIN } "
else
read -e -p ': ' IMPORT_DOMAIN
IMPORT_DOMAIN = ` echo ${ IMPORT_DOMAIN } | iconv -c -t UTF-8`
fi
if [ " ${ IMPORT_DOMAIN } " != "" ]
then
2020-05-01 21:48:52 +02:00
if echo " ${ IMPORT_DOMAIN } " | grep -qE ^[ .a-z0-9-] +$
2020-01-16 03:36:20 +01:00
then
IMPORT_DOMAIN_ = ` echo ${ IMPORT_DOMAIN } | sed -r "s/[^A-Za-z0-9]/_/g" | sed -r "s/www\.//g" | sed -r "s/http:\/\///g" | sed -r "s/https:\/\///g" `
AGAIN = 10
else
printf " ${ NC } You entered: ${ R } ${ IMPORT_DOMAIN } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin lowercase characters, \n "
printf " ${ NC } numbers, dots, and hyphens are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
else
printf " ${ R } WARNING: ${ NC } Import domain name cannot be blank. \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
done
if [ " ${ IMPORT_DOMAIN } " = "" ] ; then exit 1; fi
fi
IMPORT_DOMAIN_ = ` echo ${ IMPORT_DOMAIN } | sed -r "s/[^A-Za-z0-9]/_/g" `
}
2020-05-07 00:32:29 +02:00
read_bomain( ) {
CP_BOMAIN = ${ 1 :- ${ CP_BOMAIN } }
if [ " ${ CP_BOMAIN } " = "" ] ; then
2020-08-19 20:06:09 +02:00
_header "DOMAIN FOR BOTS / ALTERNATE DOMAIN"
2020-05-07 00:32:29 +02:00
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
CP_BOMAIN = ${ 1 }
CP_BOMAIN = ` echo ${ CP_BOMAIN } | iconv -c -t UTF-8`
echo " : ${ CP_BOMAIN } "
else
read -e -p ': ' CP_BOMAIN
CP_BOMAIN = ` echo ${ CP_BOMAIN } | iconv -c -t UTF-8`
fi
if [ " ${ CP_BOMAIN } " != "" ]
then
if echo " ${ CP_BOMAIN } " | grep -qE ^[ .a-z0-9-] +$
then
if [ " ${ CP_DOMAIN } " = " ${ CP_BOMAIN } " ]
then
2020-08-19 20:06:09 +02:00
printf " ${ R } WARNING: ${ NC } The alternate domain cannot be \n "
2020-05-07 00:32:29 +02:00
printf " ${ NC } the same as the domain for users! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
else
CP_BOMAIN_ = ` echo ${ CP_BOMAIN } | sed -r "s/[^A-Za-z0-9]/_/g" | sed -r "s/www\.//g" | sed -r "s/http:\/\///g" | sed -r "s/https:\/\///g" `
AGAIN = 10
fi
else
printf " ${ NC } You entered: ${ R } ${ CP_BOMAIN } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin lowercase characters, \n "
printf " ${ NC } numbers, dots, and hyphens are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
else
2020-08-19 20:06:09 +02:00
printf " ${ R } WARNING: ${ NC } Alternate domain name cannot be blank. \n "
2020-05-07 00:32:29 +02:00
AGAIN = $(( ${ AGAIN } + 1 ))
fi
done
if [ " ${ CP_BOMAIN } " = "" ] ; then exit 1; fi
fi
CP_BOMAIN_ = ` echo ${ CP_BOMAIN } | sed -r "s/[^A-Za-z0-9]/_/g" | sed -r "s/www\.//g" | sed -r "s/http:\/\///g" | sed -r "s/https:\/\///g" `
}
2021-01-12 23:48:38 +01:00
read_mode( ) {
CP_MODE = ${ 1 :- ${ CP_MODE } }
if [ " ${ CP_MODE } " = "" ] ; then
_header "MODE debug/production"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
CP_MODE = ${ 1 }
CP_MODE = $( echo ${ CP_MODE } | iconv -c -t UTF-8)
echo " : ${ CP_MODE } "
else
read -e -p ': ' -i "production" CP_MODE
CP_MODE = $( echo ${ CP_MODE } | iconv -c -t UTF-8)
fi
if [ " ${ CP_MODE } " = "" ]
then
AGAIN = 10
CP_MODE = 'production'
echo " : ${ CP_MODE } "
else
if [ " ${ CP_MODE } " = "production" ] || [ " ${ CP_MODE } " = "debug" ]
then
AGAIN = 10
else
printf "%b There is no mode! \n" " ${ NC } "
printf "%bWARNING:%b Currently: debug, production \n" " ${ R } " " ${ NC } "
AGAIN = $(( " ${ AGAIN } " + 1 ))
fi
fi
done
if [ " ${ CP_MODE } " = "" ] ; then exit 1; fi
fi
}
2021-03-31 01:26:36 +02:00
read_ftp_name( ) {
FTP_NAME = ${ 1 :- ${ FTP_NAME } }
if [ " ${ FTP_NAME } " = "" ] ; then
_header "FTP NAME"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
FTP_NAME = ${ 1 }
FTP_NAME = ` echo ${ FTP_NAME } | iconv -c -t UTF-8`
echo " : ${ FTP_NAME } "
else
AUTO_FTP_NAME = ""
for N in { 1..9} ; do
CINEMATORRENT = $( docker exec -t " ${ CP_DOMAIN_ } " rclone config show 2>/dev/null | grep " CINEMATORRENT ${ N } " )
if [ " ${ CINEMATORRENT } " = "" ] ; then
AUTO_FTP_NAME = " CINEMATORRENT ${ N } "
break
fi
done
read -e -p ': ' -i " ${ AUTO_FTP_NAME } " FTP_NAME
FTP_NAME = ` echo ${ FTP_NAME } | iconv -c -t UTF-8`
fi
if [ " ${ FTP_NAME } " != "" ]
then
if echo " ${ FTP_NAME } " | grep -qE ^[ A-Z0-9] +$
then
AGAIN = 10
else
printf " ${ NC } You entered: ${ R } ${ FTP_NAME } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only upper case latin characters \n "
printf " ${ NC } and numbers are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
fi
done
if [ " ${ FTP_NAME } " = "" ] ; then exit 1; fi
fi
}
read_ftp_username( ) {
FTP_USERNAME = ${ 1 :- ${ FTP_USERNAME } }
if [ " ${ FTP_USERNAME } " = "" ] ; then
_header "FTP USERNAME"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
FTP_USERNAME = ${ 1 }
FTP_USERNAME = ` echo ${ FTP_USERNAME } | iconv -c -t UTF-8`
echo " : ${ FTP_USERNAME } "
else
read -e -p ': ' FTP_USERNAME
FTP_USERNAME = ` echo ${ FTP_USERNAME } | iconv -c -t UTF-8`
fi
if [ " ${ FTP_USERNAME } " != "" ]
then
if echo " ${ FTP_USERNAME } " | grep -qE ^[ .a-zA-Z0-9@_-] +$
then
AGAIN = 10
else
printf " ${ NC } You entered: ${ R } ${ FTP_USERNAME } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin characters, @, numbers, \n "
printf " ${ NC } dots, underscore and hyphens are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
fi
done
if [ " ${ FTP_USERNAME } " = "" ] ; then exit 1; fi
fi
}
read_ftp_password( ) {
FTP_PASSWORD = ${ 1 :- ${ FTP_PASSWORD } }
if [ " ${ FTP_PASSWORD } " = "" ] ; then
_header "FTP PASSWORD"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
FTP_PASSWORD = ${ 1 }
FTP_PASSWORD = ` echo ${ FTP_PASSWORD } | iconv -c -t UTF-8`
echo " : ${ FTP_PASSWORD } "
else
read -e -p ': ' FTP_PASSWORD
FTP_PASSWORD = ` echo ${ FTP_PASSWORD } | iconv -c -t UTF-8`
fi
if [ " ${ FTP_PASSWORD } " != "" ]
then
2021-05-23 03:29:00 +02:00
AGAIN = 10
2021-03-31 01:26:36 +02:00
fi
done
if [ " ${ FTP_PASSWORD } " = "" ] ; then exit 1; fi
fi
}
read_ftp_hostname( ) {
FTP_HOSTNAME = ${ 1 :- ${ FTP_HOSTNAME } }
if [ " ${ FTP_HOSTNAME } " = "" ] ; then
_header "FTP HOSTNAME"
AGAIN = 1
while [ " ${ AGAIN } " -lt "10" ]
do
if [ ${ 1 } ]
then
FTP_HOSTNAME = ${ 1 }
FTP_HOSTNAME = ` echo ${ FTP_HOSTNAME } | iconv -c -t UTF-8`
echo " : ${ FTP_HOSTNAME } "
else
read -e -p ': ' FTP_HOSTNAME
FTP_HOSTNAME = ` echo ${ FTP_HOSTNAME } | iconv -c -t UTF-8`
fi
if [ " ${ FTP_HOSTNAME } " != "" ]
then
2021-05-27 02:00:33 +02:00
if echo " ${ FTP_HOSTNAME } " | grep -qE ^[ .:a-zA-Z0-9-] +$
2021-03-31 01:26:36 +02:00
then
AGAIN = 10
else
printf " ${ NC } You entered: ${ R } ${ FTP_HOSTNAME } ${ NC } \n "
printf " ${ R } WARNING: ${ NC } Only latin characters, numbers, \n "
printf " ${ NC } dots and hyphens are allowed! \n "
AGAIN = $(( ${ AGAIN } + 1 ))
fi
fi
done
if [ " ${ FTP_HOSTNAME } " = "" ] ; then exit 1; fi
fi
}
2019-10-01 21:34:02 +02:00
sh_yes( ) {
if [ -f " /home/ ${ CP_DOMAIN } /process.json " ] ; then
clear
_line
_logo
_header " ${ CP_DOMAIN } " ;
_content
_content "Website on this domain is installed!"
_content
2021-02-14 07:03:59 +01:00
if [ -n " ${ 1 } " ] ; then
docker exec " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container "passwd" " ${ 1 } " \
>>/var/log/docker_passwd_" $( date '+%d_%m_%Y' ) " .log 2>& 1
docker exec nginx nginx -s reload \
>>/var/log/docker_passwd_" $( date '+%d_%m_%Y' ) " .log 2>& 1
_content "USERNAME: admin"
_content " PASSWORD: ${ 1 } "
_content
2020-04-16 00:13:58 +02:00
_content "Reboot after 10 seconds ..."
_content "To cancel, press Ctrl + C"
_content
_s
sleep 10
reboot
fi
2021-01-04 00:51:38 +01:00
_s
2019-10-01 21:34:02 +02:00
exit 0
fi
}
sh_not( ) {
2020-05-30 00:25:48 +02:00
if [ ! -f " /home/ ${ CP_DOMAIN } /process.json " ] && [ ! -f " /home/ ${ CP_DOMAIN } /index.php " ] ; then
2019-10-01 21:34:02 +02:00
clear
_line
_logo
_header " ${ CP_DOMAIN } " ;
_content
_content "Website on this domain is not installed!"
_content
_s
exit 0
fi
}
sh_random( ) {
FLOOR = ${ 1 }
RANGE = ${ 2 }
number = 0
while [ " ${ number } " -le ${ FLOOR } ]
do
number = $RANDOM
let " number %= $RANGE "
done
echo ${ number }
}
sh_wget( ) {
local flag = false c count cr = $'\r' nl = $'\n'
while IFS = '' read -d '' -rn 1 c
do
2019-10-20 05:20:25 +02:00
if $flag
2019-10-01 21:34:02 +02:00
then
2019-10-20 05:20:25 +02:00
printf '%s' " $c "
2019-10-01 21:34:02 +02:00
else
2019-10-20 05:20:25 +02:00
if [ [ $c != $cr && $c != $nl ] ]
2019-10-01 21:34:02 +02:00
then
count = 0
else
( ( count++) )
if ( ( count > 1) )
then
flag = true
fi
fi
fi
done
}
sh_progress( ) {
if [ " ${ PRC_ } " = "" ] ; then PRC_ = 0; fi
if [ " ${ 1 } " != "" ] ; then PRC_ = ${ 1 } ; fi
LR = '\033[1;31m' ; LG = '\033[1;32m' ; LY = '\033[1;33m' ; LC = '\033[1;36m' ; LW = '\033[1;37m' ; NC = '\033[0m'
if [ " ${ PRC_ } " = "0" ] ; then TME = $( date +"%s" ) ; fi
SEC = ` printf "%04d\n" $(( $( date +"%s" ) - ${ TME } )) ` ; SEC = " $SEC sec "
PRC = ` printf "%.0f" ${ PRC_ } `
SHW = ` printf "%3d\n" ${ PRC } `
LNE = ` printf "%.0f" $(( ${ PRC } / 2 )) `
LRR = ` printf "%.0f" $(( ${ PRC } / 2 - 12 )) ` ; if [ ${ LRR } -le 0 ] ; then LRR = 0; fi ;
LYY = ` printf "%.0f" $(( ${ PRC } / 2 - 24 )) ` ; if [ ${ LYY } -le 0 ] ; then LYY = 0; fi ;
LCC = ` printf "%.0f" $(( ${ PRC } / 2 - 36 )) ` ; if [ ${ LCC } -le 0 ] ; then LCC = 0; fi ;
LGG = ` printf "%.0f" $(( ${ PRC } / 2 - 48 )) ` ; if [ ${ LGG } -le 0 ] ; then LGG = 0; fi ;
LRR_ = "" ; LYY_ = "" ; LCC_ = "" ; LGG_ = ""
for ( ( i = 1; i<= 13; i++) )
do
DOTS = "" ; for ( ( ii = ${ i } ; ii<13; ii++) ) ; do DOTS = " ${ DOTS } . " ; done
if [ ${ i } -le ${ LNE } ] ; then LRR_ = " ${ LRR_ } # " ; else LRR_ = " ${ LRR_ } . " ; fi
echo -ne " ${ LW } ${ SEC } ${ LR } ${ LRR_ } ${ DOTS } ${ LY } ............ ${ LC } ............ ${ LG } ............ ${ SHW } % ${ NC } \r "
if [ ${ LNE } -ge 1 ] ; then sleep .05; fi
done
for ( ( i = 14; i<= 25; i++) )
do
DOTS = "" ; for ( ( ii = ${ i } ; ii<25; ii++) ) ; do DOTS = " ${ DOTS } . " ; done
if [ ${ i } -le ${ LNE } ] ; then LYY_ = " ${ LYY_ } # " ; else LYY_ = " ${ LYY_ } . " ; fi
echo -ne " ${ LW } ${ SEC } ${ LR } ${ LRR_ } ${ LY } ${ LYY_ } ${ DOTS } ${ LC } ............ ${ LG } ............ ${ SHW } % ${ NC } \r "
if [ ${ LNE } -ge 14 ] ; then sleep .05; fi
done
for ( ( i = 26; i<= 37; i++) )
do
DOTS = "" ; for ( ( ii = ${ i } ; ii<37; ii++) ) ; do DOTS = " ${ DOTS } . " ; done
if [ ${ i } -le ${ LNE } ] ; then LCC_ = " ${ LCC_ } # " ; else LCC_ = " ${ LCC_ } . " ; fi
echo -ne " ${ LW } ${ SEC } ${ LR } ${ LRR_ } ${ LY } ${ LYY_ } ${ LC } ${ LCC_ } ${ DOTS } ${ LG } ............ ${ SHW } % ${ NC } \r "
if [ ${ LNE } -ge 26 ] ; then sleep .05; fi
done
for ( ( i = 38; i<= 49; i++) )
do
DOTS = "" ; for ( ( ii = ${ i } ; ii<49; ii++) ) ; do DOTS = " ${ DOTS } . " ; done
if [ ${ i } -le ${ LNE } ] ; then LGG_ = " ${ LGG_ } # " ; else LGG_ = " ${ LGG_ } . " ; fi
echo -ne " ${ LW } ${ SEC } ${ LR } ${ LRR_ } ${ LY } ${ LYY_ } ${ LC } ${ LCC_ } ${ LG } ${ LGG_ } ${ DOTS } ${ SHW } % ${ NC } \r "
if [ ${ LNE } -ge 38 ] ; then sleep .05; fi
done
if [ " ${ PRC } " = "100" ] ; then
printf " \n\n ${ NC } "
fi
PRC_ = $(( 10 + ${ PRC_ } ))
if [ ${ PRC_ } -gt 100 ] ; then PRC_ = 100; fi
}
_content_l( ) {
2019-10-09 22:34:27 +02:00
__C = ${ 1 } ; _M = $(( ${# __C } )) ; _L = 1; _R = $(( 57 - ${ _M } )) ; L_ = "" ; R_ = ""
2019-10-01 21:34:02 +02:00
if [ " $(( ${# __C } % 2 )) " != "0" ] ; then _R = $(( ${ _R } )) ; fi
for ( ( l = 1; l<= ${ _L } ; l++) ) ; do L_ = " ${ L_ } " ; done
for ( ( r = 1; r<= ${ _R } ; r++) ) ; do R_ = " ${ R_ } " ; done
printf " ${ C } ---- ${ NC } ${ L_ } ${ 1 } ${ R_ } ${ C } ----\n ${ NC } "
}
_content( ) {
__C = ${ 1 } ; _M = $(( ${# __C } / 2 )) ; _L = $(( 29 - ${ _M } )) ; _R = $(( 29 - ${ _M } )) ; L_ = "" ; R_ = ""
if [ " $(( ${# __C } % 2 )) " != "0" ] ; then _R = $(( ${ _R } - 1 )) ; fi
for ( ( l = 1; l<= ${ _L } ; l++) ) ; do L_ = " ${ L_ } " ; done
for ( ( r = 1; r<= ${ _R } ; r++) ) ; do R_ = " ${ R_ } " ; done
printf " ${ C } ---- ${ NC } ${ L_ } ${ 1 } ${ R_ } ${ C } ----\n ${ NC } "
}
_header( ) {
_C = ${ 1 } ; _M = $(( ${# _C } / 2 )) ; _L = $(( 31 - ${ _M } )) ; _R = $(( 31 - ${ _M } )) ; L_ = "" ; R_ = ""
if [ " $(( ${# _C } % 2 )) " != "0" ] ; then _R = $(( ${ _R } - 1 )) ; fi
for ( ( l = 1; l<= ${ _L } ; l++) ) ; do L_ = " - ${ L_ } " ; done
for ( ( r = 1; r<= ${ _R } ; r++) ) ; do R_ = " - ${ R_ } " ; done
printf " ${ C } ${ L_ } [ ${ Y } ${ 1 } ${ C } ] ${ R_ } \n ${ NC } "
}
_logo( ) {
printf " ${ B } _______ ${ G } _ ${ B } ______ ${ G } \n "
printf " ${ B } (_______ ${ G } |_) ${ B } (_____ \ ${ G } \n "
printf " ${ B } _ ${ G } _ ____ _____ ____ _____ ${ B } _____) ) ${ G } ___ _____ ___ ___ \n "
printf " ${ B } | | ${ G } | | _ \| ___ | \(____ ${ B } | ____/ ${ G } ___) ___ |/___)/___) \n "
printf " ${ B } | |_____ ${ G } | | | | | ____| | | / ___ ${ B } | | ${ G } | | | ____|___ |___ | \n "
printf " ${ B } \______) ${ G } _|_| |_|_____)_|_|_\_____ ${ B } |_| ${ G } |_| |_____|___/(___/ \n "
printf " \n ${ NC } "
}
_line( ) {
printf " ${ C } ------------------------------------------------------------------\n ${ NC } "
}
_br( ) {
2020-12-02 04:30:17 +01:00
if [ " ${ 1 } " = "" ] ; then
printf " \n ${ NC } "
fi
2019-10-01 21:34:02 +02:00
}
_s( ) {
if [ " ${ 1 } " = "" ] ; then
_line
_br
else
_br
fi
}
docker_run( ) {
if [ ! -d " /home/ ${ CP_DOMAIN } /config/production " ] ; then
2019-10-15 21:23:00 +02:00
find /var/cinemapress -maxdepth 1 -type f -iname '\.gitkeep' -delete
2020-05-01 21:48:52 +02:00
cp -rf /var/cinemapress/* /home/" ${ CP_DOMAIN } "
2020-04-26 05:09:33 +02:00
rm -rf /var/cinemapress/* /var/${ CP_THEME : ? }
2020-05-02 17:30:31 +02:00
cp -rf /home/" ${ CP_DOMAIN } " /config/locales/${ CP_LANG } /default/sphinx/source.xml /etc/sphinx/source.xml
rm -rf /home/" ${ CP_DOMAIN } " /config/locales/${ CP_LANG } /default/sphinx
2020-05-01 21:48:52 +02:00
cp -rf /home/" ${ CP_DOMAIN } " /config/locales/${ CP_LANG } /* /home/" ${ CP_DOMAIN } " /config/
cp -rf /home/" ${ CP_DOMAIN } " /config/default/* /home/" ${ CP_DOMAIN } " /config/production/
cp -rf /home/" ${ CP_DOMAIN } " /files/bbb.mp4 /var/local/balancer/bbb.mp4
sed -Ei " s/127.0.0.1:3000/ ${ CP_DOMAIN_ } :3000/g " /home/" ${ CP_DOMAIN } " /config/production/nginx/conf.d/default.conf
sed -Ei " s/example_com/ ${ CP_DOMAIN_ } /g " /home/" ${ CP_DOMAIN } " /config/production/nginx/conf.d/default.conf
sed -Ei " s/example_com/ ${ CP_DOMAIN_ } /g " /home/" ${ CP_DOMAIN } " /config/production/nginx/error.d/default.conf
sed -Ei " s/example_com/ ${ CP_DOMAIN_ } /g " /home/" ${ CP_DOMAIN } " /config/production/nginx/ssl.d/default.conf
2021-01-11 02:04:43 +01:00
sed -Ei " s/example_com/ ${ CP_DOMAIN_ } /g " /home/" ${ CP_DOMAIN } " /config/production/nginx/any.d/default.conf
2020-05-01 21:48:52 +02:00
sed -Ei " s/example_com/ ${ CP_DOMAIN_ } /g " /home/" ${ CP_DOMAIN } " /config/production/config.js
sed -Ei " s/example_com/ ${ CP_DOMAIN_ } /g " /home/" ${ CP_DOMAIN } " /config/default/config.js
sed -Ei " s/example_com/ ${ CP_DOMAIN_ } /g " /home/" ${ CP_DOMAIN } " /process.json
sed -Ei " s/example_com/ ${ CP_DOMAIN_ } /g " /etc/sphinx/sphinx.conf
sed -Ei " s/example_com/ ${ CP_DOMAIN_ } /g " /etc/sphinx/source.xml
sed -Ei " s/example\.com/ ${ CP_DOMAIN } /g " /home/" ${ CP_DOMAIN } " /config/production/nginx/conf.d/default.conf
sed -Ei " s/example\.com/ ${ CP_DOMAIN } /g " /home/" ${ CP_DOMAIN } " /config/production/nginx/error.d/default.conf
sed -Ei " s/example\.com/ ${ CP_DOMAIN } /g " /home/" ${ CP_DOMAIN } " /config/production/nginx/ssl.d/default.conf
2021-01-11 02:04:43 +01:00
sed -Ei " s/example\.com/ ${ CP_DOMAIN } /g " /home/" ${ CP_DOMAIN } " /config/production/nginx/any.d/default.conf
2020-05-01 21:48:52 +02:00
sed -Ei " s/example\.com/ ${ CP_DOMAIN } /g " /home/" ${ CP_DOMAIN } " /config/production/config.js
sed -Ei " s/example\.com/ ${ CP_DOMAIN } /g " /home/" ${ CP_DOMAIN } " /config/default/config.js
sed -Ei " s/example\.com/ ${ CP_DOMAIN } /g " /home/" ${ CP_DOMAIN } " /process.json
sed -Ei " s/example\.com/ ${ CP_DOMAIN } /g " /etc/sphinx/sphinx.conf
sed -Ei " s/example\.com/ ${ CP_DOMAIN } /g " /etc/sphinx/source.xml
sed -Ei " s/\"theme\":\s*\"[a-zA-Z0-9-]*\"/\"theme\":\" ${ CP_THEME } \"/ " /home/" ${ CP_DOMAIN } " /config/production/config.js
2020-09-16 03:47:49 +02:00
cp -rf /home/" ${ CP_DOMAIN } " /config/production/config.js /home/" ${ CP_DOMAIN } " /config/production/config.prev.js
cp -rf /home/" ${ CP_DOMAIN } " /config/production/modules.js /home/" ${ CP_DOMAIN } " /config/production/modules.prev.js
cp -rf /home/" ${ CP_DOMAIN } " /config/production/config.js /home/" ${ CP_DOMAIN } " /config/production/config.backup.js
cp -rf /home/" ${ CP_DOMAIN } " /config/production/modules.js /home/" ${ CP_DOMAIN } " /config/production/modules.backup.js
2019-11-11 02:12:38 +01:00
git clone https://${ GIT_SERVER } /CinemaPress/Theme-${ CP_THEME } .git /var/${ CP_THEME }
2020-05-01 21:48:52 +02:00
mkdir -p /home/" ${ CP_DOMAIN } " /themes/${ CP_THEME } /
cp -rf /var/${ CP_THEME } /* /home/" ${ CP_DOMAIN } " /themes/${ CP_THEME } /
node /home/" ${ CP_DOMAIN } " /optimal.js
OPENSSL = $( echo " ${ CP_PASSWD } " | openssl passwd -1 -stdin -salt CP)
echo " admin: ${ OPENSSL } " > /home/" ${ CP_DOMAIN } " /config/production/nginx/pass.d/" ${ CP_DOMAIN } " .pass
echo " ${ CP_DOMAIN } : ${ OPENSSL } " >> /home/" ${ CP_DOMAIN } " /config/production/nginx/pass.d/" ${ CP_DOMAIN } " .pass
if [ " ${ CP_IP } " = "ip" ] ; then rm -rf /home/" ${ CP_DOMAIN } " /config/production/nginx/conf.d/default.conf; fi
2020-03-29 01:17:36 +01:00
if [ ! -f " /var/lib/sphinx/data/movies_ ${ CP_DOMAIN_ } .sps " ] ; then indexer --all; fi
2021-04-09 01:35:31 +02:00
sleep 5
2019-10-01 21:34:02 +02:00
searchd
2021-04-09 01:35:31 +02:00
sleep 5
2020-05-01 21:48:52 +02:00
node /home/" ${ CP_DOMAIN } " /config/update/default.js
2021-04-18 23:41:39 +02:00
if [ ! -f " /var/log/ ${ CP_DOMAIN_ } .pid " ] ; then
nohup /usr/bin/cinemapress container cron run >" /var/log/ ${ CP_DOMAIN_ } .log " 2>& 1 &
echo $! >" /var/log/ ${ CP_DOMAIN_ } .pid "
fi
2019-10-01 21:34:02 +02:00
else
searchd
2020-05-01 21:48:52 +02:00
node /home/" ${ CP_DOMAIN } " /config/update/config.js
2021-01-22 04:43:52 +01:00
#node /home/"${CP_DOMAIN}"/config/update/mirror.js
2019-10-01 21:34:02 +02:00
fi
crond -L /var/log/cron.log
2020-05-01 21:48:52 +02:00
cd /home/" ${ CP_DOMAIN } " && pm2-runtime start process.json
2019-10-01 21:34:02 +02:00
}
docker_stop( ) {
2020-03-08 04:42:33 +01:00
sed -Ei "s/\/\/app\.use\(rebooting\(\)\);/app\.use\(rebooting\(\)\);/" " /home/ ${ CP_DOMAIN } /app.js "
2021-01-13 05:07:53 +01:00
touch " /home/ ${ CP_DOMAIN } /.uptimerobot "
2020-03-08 04:42:33 +01:00
pm2 reload all
2019-10-01 21:34:02 +02:00
searchd --stop
killall crond
sleep 5
}
docker_start( ) {
2020-03-08 04:42:33 +01:00
sed -Ei "s/app\.use\(rebooting\(\)\);/\/\/app\.use\(rebooting\(\)\);/" " /home/ ${ CP_DOMAIN } /app.js "
2021-01-13 05:07:53 +01:00
rm -f " /home/ ${ CP_DOMAIN } /.uptimerobot "
2019-10-01 21:34:02 +02:00
searchd
crond -L /var/log/cron.log
2020-05-01 21:48:52 +02:00
node /home/" ${ CP_DOMAIN } " /config/update/config.js
2020-05-02 02:47:25 +02:00
cd /home/" ${ CP_DOMAIN } " && pm2 delete process.json && pm2 start process.json
2019-10-01 21:34:02 +02:00
}
docker_restart( ) {
docker_stop
docker_start
}
docker_reload( ) {
2020-05-01 21:48:52 +02:00
cd /home/" ${ CP_DOMAIN } " && pm2 reload process.json
2019-10-01 21:34:02 +02:00
}
2020-01-20 06:33:27 +01:00
docker_logs( ) {
SHOW_ERR_LOGS = $( pm2 logs --err --lines 50 --nostream | curl -s -F 'clbin=<-' https://clbin.com)
SHOW_OUT_LOGS = $( pm2 logs --out --lines 50 --nostream | curl -s -F 'clbin=<-' https://clbin.com)
2020-01-22 23:50:55 +01:00
_header "ERR LOGS"
_content
_content " ${ SHOW_ERR_LOGS } "
_content
2020-01-20 06:33:27 +01:00
_header "OUT LOGS"
_content
_content " ${ SHOW_OUT_LOGS } "
_content
_s
}
2019-10-01 21:34:02 +02:00
docker_zero( ) {
2021-01-24 22:57:57 +01:00
if [ -n " ${ 1 } " ] ; then
sed -E -i " s/\"CP_XMLPIPE2\":\s*\"[a-zA-Z0-9_| -]*\"/\"CP_XMLPIPE2\":\"xmlpipe2_ ${ CP_DOMAIN_ } \"/ " \
/home/" ${ CP_DOMAIN } " /process.json
2021-02-14 06:39:20 +01:00
sed -Ei "s/\"only_realtime\":\s*[0-9]*/\"only_realtime\":0/" \
2021-02-06 06:20:11 +01:00
/home/" ${ CP_DOMAIN } " /config/production/config.js
2021-01-24 22:57:57 +01:00
else
sed -E -i " s/\"CP_XMLPIPE2\":\s*\"[a-zA-Z0-9_| -]*\"/\"CP_XMLPIPE2\":\"rt_ ${ CP_DOMAIN_ } \"/ " \
/home/" ${ CP_DOMAIN } " /process.json
2021-02-14 06:39:20 +01:00
sed -Ei "s/\"only_realtime\":\s*[0-9]*/\"only_realtime\":1/" \
2021-02-06 06:20:11 +01:00
/home/" ${ CP_DOMAIN } " /config/production/config.js
2021-01-24 22:57:57 +01:00
fi
cd /home/" ${ CP_DOMAIN } " && pm2 delete process.json && pm2 start process.json
2021-01-22 04:43:52 +01:00
}
2021-03-12 07:17:18 +01:00
docker_zero_rt( ) {
searchd --stop
sleep 2
rm -rf /home/" ${ CP_DOMAIN } " /config/rt/* /home/" ${ CP_DOMAIN } " /config/binlog/*
searchd
cd /home/" ${ CP_DOMAIN } " && pm2 delete process.json && pm2 start process.json
}
2021-01-22 04:43:52 +01:00
docker_hand( ) {
2021-01-24 22:57:57 +01:00
if [ -n " ${ 1 } " ] ; then
node /home/" ${ CP_DOMAIN } " /config/update/hand.js "player"
else
node /home/" ${ CP_DOMAIN } " /config/update/hand.js
fi
}
docker_movies( ) {
if [ -n " ${ 1 } " ] ; then
2021-04-22 23:15:58 +02:00
if [ -f /home/" ${ CP_DOMAIN } " /log/cron_movies.pid ] ; then
MOVIES_PID = $( cat /home/" ${ CP_DOMAIN } " /log/cron_movies.pid)
kill -9 " ${ MOVIES_PID } "
rm -f /home/" ${ CP_DOMAIN } " /log/cron_movies.pid
fi
2021-05-29 23:30:43 +02:00
echo $$ >/home/" ${ CP_DOMAIN } " /log/cron_movies.pid
2021-01-24 22:57:57 +01:00
node /home/" ${ CP_DOMAIN } " /lib/CP_movies.js "run"
2021-05-29 23:30:43 +02:00
rm -f /home/" ${ CP_DOMAIN } " /log/cron_movies.pid
2021-01-24 22:57:57 +01:00
else
2021-04-22 23:15:58 +02:00
if [ ! -f /home/" ${ CP_DOMAIN } " /log/cron_movies.pid ] ; then
echo $$ >/home/" ${ CP_DOMAIN } " /log/cron_movies.pid
node /home/" ${ CP_DOMAIN } " /lib/CP_movies.js
rm -f /home/" ${ CP_DOMAIN } " /log/cron_movies.pid
else
echo "[SKIP] The autocomplete movies of the previous task has not finished yet!"
fi
2021-01-24 22:57:57 +01:00
fi
2019-10-01 21:34:02 +02:00
}
docker_cron( ) {
2021-04-07 23:11:52 +02:00
nohup /usr/bin/cinemapress torrent " ${ CP_DOMAIN } " upload \
2021-06-12 01:11:39 +02:00
>> /home/" ${ CP_DOMAIN } " /log/torrent_" $( date '+%d_%m_%Y' ) " .log 2>& 1 &
2021-04-22 23:15:58 +02:00
if [ ! -f /home/" ${ CP_DOMAIN } " /log/cron_movies.pid ] ; then
echo $$ >/home/" ${ CP_DOMAIN } " /log/cron_movies.pid
if [ -n " ${ 1 } " ] ; then
node /home/" ${ CP_DOMAIN } " /lib/CP_movies.js "run"
else
node /home/" ${ CP_DOMAIN } " /lib/CP_movies.js
fi
rm -f /home/" ${ CP_DOMAIN } " /log/cron_movies.pid
2021-03-29 02:59:45 +02:00
else
2021-04-22 23:15:58 +02:00
echo "[SKIP] The autocomplete movies of the previous task has not finished yet!"
2021-03-29 02:59:45 +02:00
fi
2021-03-29 02:48:31 +02:00
node /home/" ${ CP_DOMAIN } " /lib/CP_cron.js
2019-10-01 21:34:02 +02:00
}
docker_restore( ) {
2019-11-11 02:12:38 +01:00
WEB_DIR = ${ 1 :- ${ CP_DOMAIN } }
2020-04-26 03:21:33 +02:00
LATEST_DIR = ${ 2 :- latest }
RCS = $( rclone config show 2>/dev/null | grep "CINEMAPRESS" )
2019-10-01 21:34:02 +02:00
if [ " ${ RCS } " = "" ] ; then exit 0; fi
docker_stop
2020-04-26 03:21:33 +02:00
rm -rf /var/mega/new && mkdir -p /var/mega/new
mkdir -p /home/" ${ CP_DOMAIN } " /config/custom
2020-04-26 05:09:33 +02:00
sleep 5
2020-04-26 03:41:05 +02:00
sleep 3; rclone -vv --ignore-size copy CINEMAPRESS:" ${ WEB_DIR } " /" ${ LATEST_DIR } " /config.tar /var/mega/new/" ${ CP_DOMAIN } " /
sleep 3; rclone -vv --ignore-size copy CINEMAPRESS:" ${ WEB_DIR } " /" ${ LATEST_DIR } " /themes.tar /var/mega/new/" ${ CP_DOMAIN } " /
2020-04-26 05:09:33 +02:00
sleep 5
2020-04-26 03:21:33 +02:00
if [ -f /var/mega/new/" ${ CP_DOMAIN } " /config.tar ] ; then
cd /home/" ${ CP_DOMAIN } " && \
tar -xf /var/mega/new/" ${ CP_DOMAIN } " /config.tar
else
cd /home/" ${ CP_DOMAIN } " && \
tar -xf /var/mega/" ${ CP_DOMAIN } " /config.tar
fi
if [ -f /var/mega/new/" ${ CP_DOMAIN } " /themes.tar ] ; then
cd /home/" ${ CP_DOMAIN } " && \
tar --exclude= themes/default/views/desktop \
-xf /var/mega/new/" ${ CP_DOMAIN } " /themes.tar
else
cd /home/" ${ CP_DOMAIN } " && \
tar --exclude= themes/default/views/desktop \
-xf /var/mega/" ${ CP_DOMAIN } " /themes.tar
fi
2020-04-26 04:33:27 +02:00
cp -rf /home/" ${ CP_DOMAIN } " /config/custom/* /home/" ${ CP_DOMAIN } " / 2>/dev/null
2020-01-08 01:54:24 +01:00
sleep 5
2020-01-08 00:29:11 +01:00
if [ -f " /home/ ${ CP_DOMAIN } /config/comment/comment_ ${ CP_DOMAIN_ } .ram " ] ; then
COMMENTSIZE = $( wc -c <" /home/ ${ CP_DOMAIN } /config/comment/comment_ ${ CP_DOMAIN_ } .ram " )
2020-01-08 03:45:50 +01:00
if [ " ${ COMMENTSIZE } " -le "20" ] ; then
2020-04-26 03:21:33 +02:00
rm -rf /home/" ${ CP_DOMAIN } " /config/comment/*;
2020-01-08 00:29:11 +01:00
fi
else
2020-04-26 03:21:33 +02:00
rm -rf /home/" ${ CP_DOMAIN } " /config/comment/*;
2020-01-06 23:57:25 +01:00
fi
2020-01-08 00:29:11 +01:00
if [ -f " /home/ ${ CP_DOMAIN } /config/user/user_ ${ CP_DOMAIN_ } .ram " ] ; then
USERSIZE = $( wc -c <" /home/ ${ CP_DOMAIN } /config/user/user_ ${ CP_DOMAIN_ } .ram " )
2020-01-08 03:45:50 +01:00
if [ " ${ USERSIZE } " -le "20" ] ; then
2020-04-26 03:21:33 +02:00
rm -rf /home/" ${ CP_DOMAIN } " /config/user/*;
2020-01-08 00:29:11 +01:00
fi
else
2020-04-26 03:21:33 +02:00
rm -rf /home/" ${ CP_DOMAIN } " /config/user/*;
2020-01-06 23:57:25 +01:00
fi
2021-02-06 06:20:11 +01:00
R = $( grep "\"only_realtime\"" /home/" ${ CP_DOMAIN } " /config/production/config.js)
ONLY_REALTIME = $( echo " ${ R } " | sed 's/.*"only_realtime":\s*\([0-9]*\).*/\1/' )
if [ " ${ ONLY_REALTIME } " = "1" ] ; then
docker_zero
fi
2019-10-01 21:34:02 +02:00
docker_start
}
docker_backup( ) {
2020-03-29 01:17:36 +01:00
RCS = $( rclone config show 2>/dev/null | grep "CINEMAPRESS" )
2019-10-01 21:34:02 +02:00
if [ " ${ RCS } " = "" ] ; then exit 0; fi
BACKUP_DAY = $( date +%d)
BACKUP_NOW = $( date +%Y-%m-%d)
2021-04-08 23:08:25 +02:00
BACKUP_DELETE = $( date +%Y-%m-%d -d " @ $(( $( date +%s) - 432000 )) " )
2020-03-29 01:17:36 +01:00
T = $( grep "\"theme\"" /home/" ${ CP_DOMAIN } " /config/production/config.js)
THEME_NAME = $( echo " ${ T } " | sed 's/.*"theme":\s*"\([a-zA-Z0-9-]*\)".*/\1/' )
2019-10-01 21:34:02 +02:00
if [ " ${ THEME_NAME } " = "" ] || [ " ${ THEME_NAME } " = " ${ T } " ] ; then exit 0; fi
2021-04-18 23:41:39 +02:00
if [ -f " /var/log/ ${ CP_DOMAIN_ } .pid " ] ; then
NOHUP_PID = $( cat " /var/log/ ${ CP_DOMAIN_ } .pid " )
2021-04-09 20:06:48 +02:00
if [ " ${ NOHUP_PID } " != "" ] ; then
2021-04-18 23:41:39 +02:00
kill -9 " ${ NOHUP_PID } " >>" /var/log/ ${ CP_DOMAIN_ } .log "
2021-05-30 00:37:32 +02:00
echo " KILL NOHUP PID ${ NOHUP_PID } " >>" /var/log/ ${ CP_DOMAIN_ } .log "
fi
fi
if [ -f " /home/ ${ CP_DOMAIN } /log/cron_movies.pid " ] ; then
CRON_PID = $( cat " /home/ ${ CP_DOMAIN } /log/cron_movies.pid " )
if [ " ${ CRON_PID } " != "" ] ; then
kill -9 " ${ CRON_PID } " >>" /var/log/ ${ CP_DOMAIN_ } .log "
echo " KILL CRON PID ${ CRON_PID } " >>" /var/log/ ${ CP_DOMAIN_ } .log "
2021-04-09 20:06:48 +02:00
fi
2021-05-30 00:37:32 +02:00
rm -f " /home/ ${ CP_DOMAIN } /log/cron_movies.pid "
2021-04-09 20:06:48 +02:00
fi
2020-05-01 21:48:52 +02:00
PORT_DOMAIN = $( grep "mysql41" /etc/sphinx/sphinx.conf | sed 's/.*:\([0-9]*\):mysql41.*/\1/' )
2021-04-09 01:50:12 +02:00
# echo "FLUSH RAMCHUNK"
# echo "FLUSH RAMCHUNK rt_${CP_DOMAIN_};" | mysql -h0 -P"${PORT_DOMAIN}"
# echo "FLUSH RAMCHUNK content_${CP_DOMAIN_};" | mysql -h0 -P"${PORT_DOMAIN}"
# echo "FLUSH RAMCHUNK comment_${CP_DOMAIN_};" | mysql -h0 -P"${PORT_DOMAIN}"
# echo "FLUSH RAMCHUNK user_${CP_DOMAIN_};" | mysql -h0 -P"${PORT_DOMAIN}"
# sleep 10
# FLUSH_RAMCHUNK=1
# while [ "${FLUSH_RAMCHUNK}" != "100" ]; do
# sleep 3
# FLUSH_RAMCHUNK=$((1+FLUSH_RAMCHUNK))
# TMP_FILES=$(ls /home/"${CP_DOMAIN}"/config/rt/ | grep ".tmp.")
# OLD_FILES=$(ls /home/"${CP_DOMAIN}"/config/rt/ | grep ".old.")
# if [ "${TMP_FILES}" = "" ]; then
# echo "${FLUSH_RAMCHUNK}) TMP FILES: ${TMP_FILES}"
# fi
# if [ "${OLD_FILES}" = "" ]; then
# echo "${FLUSH_RAMCHUNK}) OLD FILES: ${OLD_FILES}"
# fi
# if [ "${TMP_FILES}" = "" ] && [ "${OLD_FILES}" = "" ]; then
# FLUSH_RAMCHUNK=100
# fi
# done
echo "OPTIMIZE INDEX"
echo " OPTIMIZE INDEX rt_ ${ CP_DOMAIN_ } ; " | mysql -h0 -P" ${ PORT_DOMAIN } "
echo " OPTIMIZE INDEX content_ ${ CP_DOMAIN_ } ; " | mysql -h0 -P" ${ PORT_DOMAIN } "
echo " OPTIMIZE INDEX comment_ ${ CP_DOMAIN_ } ; " | mysql -h0 -P" ${ PORT_DOMAIN } "
echo " OPTIMIZE INDEX user_ ${ CP_DOMAIN_ } ; " | mysql -h0 -P" ${ PORT_DOMAIN } "
sleep 10
OPTIMIZE_INDEX = 1
while [ " ${ OPTIMIZE_INDEX } " != "100" ] ; do
2021-04-08 23:08:25 +02:00
sleep 3
2021-04-09 01:50:12 +02:00
OPTIMIZE_INDEX = $(( 1 + OPTIMIZE_INDEX))
2021-04-08 23:08:25 +02:00
TMP_FILES = $( ls /home/" ${ CP_DOMAIN } " /config/rt/ | grep ".tmp." )
OLD_FILES = $( ls /home/" ${ CP_DOMAIN } " /config/rt/ | grep ".old." )
if [ " ${ TMP_FILES } " = "" ] ; then
2021-04-09 01:50:12 +02:00
echo " ${ OPTIMIZE_INDEX } ) TMP FILES: ${ TMP_FILES } "
2021-04-08 23:08:25 +02:00
fi
if [ " ${ OLD_FILES } " = "" ] ; then
2021-04-09 01:50:12 +02:00
echo " ${ OPTIMIZE_INDEX } ) OLD FILES: ${ OLD_FILES } "
2021-04-08 23:08:25 +02:00
fi
if [ " ${ TMP_FILES } " = "" ] && [ " ${ OLD_FILES } " = "" ] ; then
2021-04-09 01:50:12 +02:00
OPTIMIZE_INDEX = 100
2021-04-08 23:08:25 +02:00
fi
done
echo "FLUSH RTINDEX"
2020-03-29 01:17:36 +01:00
echo " FLUSH RTINDEX rt_ ${ CP_DOMAIN_ } ; " | mysql -h0 -P" ${ PORT_DOMAIN } "
echo " FLUSH RTINDEX content_ ${ CP_DOMAIN_ } ; " | mysql -h0 -P" ${ PORT_DOMAIN } "
echo " FLUSH RTINDEX comment_ ${ CP_DOMAIN_ } ; " | mysql -h0 -P" ${ PORT_DOMAIN } "
echo " FLUSH RTINDEX user_ ${ CP_DOMAIN_ } ; " | mysql -h0 -P" ${ PORT_DOMAIN } "
2020-06-09 21:11:57 +02:00
sleep 10
2020-04-26 03:21:33 +02:00
rm -rf /var/mega/" ${ CP_DOMAIN : ? } " && mkdir -p /var/mega/" ${ CP_DOMAIN } "
2020-03-29 01:17:36 +01:00
cd /home/" ${ CP_DOMAIN } " && \
2020-03-23 00:25:19 +01:00
tar --ignore-failed-read \
--exclude= config/update \
2019-10-01 21:34:02 +02:00
--exclude= config/default \
--exclude= config/locales \
--exclude= config/production/fail2ban \
2020-03-21 03:06:38 +01:00
--exclude= config/production/filestash \
2019-10-01 21:34:02 +02:00
--exclude= config/production/sphinx \
2019-10-15 19:45:11 +02:00
--exclude= config/production/nginx \
2020-06-09 03:30:38 +02:00
--exclude= config/production/mail \
--exclude= config/production/php \
2020-04-26 03:21:33 +02:00
-uf /var/mega/" ${ CP_DOMAIN } " /config.tar \
2020-03-06 03:44:55 +01:00
config
2020-03-29 01:17:36 +01:00
cd /home/" ${ CP_DOMAIN } " && \
2020-03-23 00:25:19 +01:00
tar --ignore-failed-read \
--exclude= files/GeoLite2-Country.mmdb \
2020-04-07 03:11:00 +02:00
--exclude= files/GeoLite2-ASN.mmdb \
2020-03-08 00:18:40 +01:00
--exclude= files/poster \
2021-04-08 23:08:25 +02:00
--exclude= files/torrent \
2020-03-08 00:18:40 +01:00
--exclude= files/picture \
2020-03-23 00:25:19 +01:00
--exclude= files/windows \
--exclude= files/linux \
--exclude= files/osx \
2019-10-01 21:34:02 +02:00
--exclude= files/bbb.mp4 \
2020-03-07 19:40:47 +01:00
--exclude= files/content/collage.psd \
2020-04-26 03:21:33 +02:00
-uf /var/mega/" ${ CP_DOMAIN } " /themes.tar \
2019-10-01 21:34:02 +02:00
themes/default/public/desktop \
themes/default/public/mobile \
themes/default/views/mobile \
2020-03-29 01:17:36 +01:00
themes/" ${ THEME_NAME } " \
2019-10-01 21:34:02 +02:00
files
2021-04-24 20:07:18 +02:00
sleep 3; rclone delete --rmdirs CINEMAPRESS:" ${ CP_DOMAIN } " /" ${ BACKUP_NOW } " & > /dev/null
if [ " ${ BACKUP_DAY } " != "10" ] ; then
rclone delete --rmdirs CINEMAPRESS:" ${ CP_DOMAIN } " /" ${ BACKUP_DELETE } " & > /dev/null;
rclone rmdirs CINEMAPRESS:" ${ CP_DOMAIN } " /" ${ BACKUP_DELETE } " & > /dev/null;
fi
sleep 3; rclone delete --rmdirs CINEMAPRESS:" ${ CP_DOMAIN } " /latest & > /dev/null
2020-04-26 03:41:05 +02:00
sleep 3; rclone -vv --ignore-size copy /var/mega/" ${ CP_DOMAIN } " /config.tar CINEMAPRESS:" ${ CP_DOMAIN } " /" ${ BACKUP_NOW } " /
sleep 3; rclone -vv --ignore-size copy /var/mega/" ${ CP_DOMAIN } " /themes.tar CINEMAPRESS:" ${ CP_DOMAIN } " /" ${ BACKUP_NOW } " /
sleep 3; rclone -vv --ignore-size copy /var/mega/" ${ CP_DOMAIN } " /config.tar CINEMAPRESS:" ${ CP_DOMAIN } " /latest/
sleep 3; rclone -vv --ignore-size copy /var/mega/" ${ CP_DOMAIN } " /themes.tar CINEMAPRESS:" ${ CP_DOMAIN } " /latest/
2020-03-29 01:17:36 +01:00
KILOBYTE_ALL = $( df -k /home | tail -1 | awk '{print $4}' )
KILOBYTE_DIR = $( du -d 0 /home/" ${ CP_DOMAIN } " /files | cut -f1)
RCST = $( rclone config show 2>/dev/null | grep "CINEMASTATIC" )
2020-04-10 02:11:50 +02:00
if [ " ${ 1 } " = "" ] && [ " ${ RCST } " != "" ] && [ " ${ BACKUP_DAY } " = "10" ] && [ " ${ KILOBYTE_ALL } " -gt " ${ KILOBYTE_DIR } " ] ; then
2020-03-29 01:17:36 +01:00
CHECK_MKDIR = $( rclone mkdir CINEMASTATIC:/check-connection 2>/dev/null)
sleep 3
2021-04-22 00:42:02 +02:00
CHECK_RMDIR = $( rclone rmdir CINEMASTATIC:/check-connection 2>/dev/null)
if [ " ${ CHECK_MKDIR } " = "" ] && [ " ${ CHECK_RMDIR } " = "" ] ; then
2020-03-29 01:17:36 +01:00
cd /home/" ${ CP_DOMAIN } " && tar -uf /home/" ${ CP_DOMAIN } " /static.tar \
files/poster \
files/picture
if [ -d " /home/ ${ CP_DOMAIN } /files/windows " ] ; then
cd /home/" ${ CP_DOMAIN } " && tar -uf /home/" ${ CP_DOMAIN } " /app.tar \
files/windows \
files/linux \
files/osx & >/dev/null
2021-04-22 00:46:24 +02:00
sleep 3; rclone -vv delete CINEMASTATIC:" ${ CP_DOMAIN } " /app.tar
2020-04-26 03:41:05 +02:00
sleep 3; rclone -vv --ignore-size copy /home/" ${ CP_DOMAIN } " /app.tar CINEMASTATIC:" ${ CP_DOMAIN } " /
2020-03-29 01:17:36 +01:00
fi
2021-04-22 00:46:24 +02:00
sleep 3; rclone -vv delete CINEMASTATIC:" ${ CP_DOMAIN } " /static.tar
2020-04-26 03:41:05 +02:00
sleep 3; rclone -vv --ignore-size copy /home/" ${ CP_DOMAIN } " /static.tar CINEMASTATIC:" ${ CP_DOMAIN } " /
2020-03-29 01:17:36 +01:00
rm -rf /home/" ${ CP_DOMAIN } " /static.tar /home/" ${ CP_DOMAIN } " /app.tar
fi
fi
2021-02-02 08:28:13 +01:00
CHECK_MKDIR = $( rclone mkdir CINEMAPRESS:/check-connection 2>/dev/null)
sleep 3
2021-04-22 00:42:02 +02:00
CHECK_RMDIR = $( rclone rmdir CINEMAPRESS:/check-connection 2>/dev/null)
if [ " ${ CHECK_MKDIR } " != "" ] || [ " ${ CHECK_RMDIR } " != "" ] ; then
2021-02-02 08:28:13 +01:00
_header "ERROR"
_content
_content "Cannot connect to backup storage."
_content
_s
exit 0
fi
2019-10-01 21:34:02 +02:00
}
2020-05-10 01:36:46 +02:00
docker_mirror( ) {
node /home/" ${ CP_DOMAIN } " /config/update/mirror.js
}
2019-10-01 21:34:02 +02:00
docker_actual( ) {
2020-03-24 20:05:40 +01:00
node /home/" ${ CP_DOMAIN } " /config/update/actual.js
2019-10-01 21:34:02 +02:00
}
2020-03-24 03:51:22 +01:00
docker_available( ) {
2020-03-24 20:05:40 +01:00
node /home/" ${ CP_DOMAIN } " /config/update/available.js " ${ 1 } "
2020-03-24 03:51:22 +01:00
}
2019-10-01 21:34:02 +02:00
docker_rclone( ) {
2020-01-08 22:50:14 +01:00
sleep 3; rclone " ${ 1 } " " ${ 2 } "
2019-10-01 21:34:02 +02:00
}
2020-06-10 22:28:46 +02:00
docker_cinematheme( ) {
2020-06-11 02:49:34 +02:00
rm -rf /var/theme && mkdir -p /var/theme
cd /var/theme && cinematheme " ${ @ } "
sleep 3
2020-06-13 00:28:24 +02:00
cd /var/theme/ && for i in */; do
if [ " ${ i %%/ } " != "" ] ; then
sed -Ei " s/\"theme\":\s*\"[a-zA-Z0-9-]*\"/\"theme\":\" ${ i %%/ } \"/ " \
/home/" ${ CP_DOMAIN } " /config/production/config.js
fi
done
2020-06-11 02:49:34 +02:00
cp -rf /var/theme/* /home/" ${ CP_DOMAIN } " /themes/
2020-06-13 01:45:17 +02:00
pm2 delete process.json & >/dev/null
cd /home/" ${ CP_DOMAIN } " && pm2 start process.json & >/dev/null
2020-06-11 02:49:34 +02:00
sleep 3
rm -rf /var/theme
2020-06-10 22:28:46 +02:00
}
2020-05-10 01:36:46 +02:00
docker_spb( ) {
SPB = " /var/lib/sphinx/data/movies_ ${ CP_DOMAIN_ } .spb "
CNF = " /home/ ${ CP_DOMAIN } /config/production/config.js "
PRC = " /home/ ${ CP_DOMAIN } /process.json "
2021-06-06 00:55:05 +02:00
CP_SPB = ""
2020-05-10 01:36:46 +02:00
if [ ! -f " ${ SPB } " ] && [ -f " ${ CNF } " ] && [ -f " ${ PRC } " ] ; then
AA = $( grep "\"CP_ALL\"" " ${ PRC } " )
KK = $( grep "\"key\"" " ${ CNF } " )
AAA = $( echo ${ AA } | sed 's/.*"CP_ALL":\s*".*[ |"]\{1\}_\([A-Za-z0-9]\{7\}\)_[ |"]\{1\}.*/\1/' )
KKK = $( echo ${ KK } | sed 's/.*"key":\s*"\(FREE\|[a-zA-Z0-9-]\{32\}\)".*/\1/' )
if [ " ${# AAA } " -eq "7" ] && [ " ${# KKK } " -eq "32" ] ; then
openssl enc \
-aes-256-cbc \
-pbkdf2 \
-iter 100000 \
-in <( echo " ${ AAA } " ) \
-out " ${ SPB } " \
-k " ${ CP_DOMAIN } / ${ KKK } " \
-salt 2>/dev/null
fi
fi
if [ -f " ${ SPB } " ] && [ -f " ${ CNF } " ] ; then
KK = $( grep "\"key\"" " ${ CNF } " )
KKK = $( echo ${ KK } | sed 's/.*"key":\s*"\(FREE\|[a-zA-Z0-9-]\{32\}\)".*/\1/' )
if [ " ${# KKK } " -eq "32" ] ; then
AAA = $( openssl enc -aes-256-cbc -pbkdf2 -iter 100000 -in " ${ SPB } " -out - -k " ${ CP_DOMAIN } / ${ KKK } " -d 2>/dev/null)
if [ " ${# AAA } " -eq "7" ] ; then
2021-06-06 00:55:05 +02:00
CP_SPB = " _ ${ CP_DOMAIN_ } _ | _ ${ AAA } _ "
2020-05-10 01:36:46 +02:00
fi
fi
fi
}
2019-10-01 21:34:02 +02:00
docker_passwd( ) {
OPENSSL = ` echo " ${ 1 } " | openssl passwd -1 -stdin -salt CP`
2019-10-06 03:44:51 +02:00
echo " admin: ${ OPENSSL } " > " /home/ ${ CP_DOMAIN } /config/production/nginx/pass.d/ ${ CP_DOMAIN } .pass "
2020-01-07 23:41:31 +01:00
echo " ${ CP_DOMAIN } : ${ OPENSSL } " >> " /home/ ${ CP_DOMAIN } /config/production/nginx/pass.d/ ${ CP_DOMAIN } .pass "
2019-10-01 21:34:02 +02:00
}
2019-10-19 02:55:45 +02:00
docker_ssl_on( ) {
2020-04-16 02:05:38 +02:00
if [ -d " /home/ ${ CP_DOMAIN } /config/production/nginx/ssl.d/live/ ${ CP_DOMAIN } / " ] || \
[ -d " /home/ ${ CP_DOMAIN } /config/production/nginx/ssl.d/self-signed/ ${ CP_DOMAIN } / " ] ; then
2019-10-20 19:56:23 +02:00
sed -Ei " s/ #ssl include \/home\/ ${ CP_DOMAIN } \/config\/production\/nginx\/ssl\.d\/default\.conf;/ include \/home\/ ${ CP_DOMAIN } \/config\/production\/nginx\/ssl.d\/default.conf;/ " \
" /home/ ${ CP_DOMAIN } /config/production/nginx/conf.d/default.conf "
fi
2019-10-19 02:55:45 +02:00
}
docker_ssl_off( ) {
sed -Ei " s/ include \/home\/ ${ CP_DOMAIN } \/config\/production\/nginx\/ssl\.d\/default\.conf;/ #ssl include \/home\/ ${ CP_DOMAIN } \/config\/production\/nginx\/ssl.d\/default.conf;/ " \
" /home/ ${ CP_DOMAIN } /config/production/nginx/conf.d/default.conf "
}
2020-04-01 19:51:59 +02:00
docker_ftp_on( ) {
sed -Ei "s/#ftp //g" " /home/ ${ CP_DOMAIN } /config/production/nginx/conf.d/default.conf "
}
2021-03-31 01:26:36 +02:00
docker_torrent_on( ) {
sed -Ei "s/#torrent //g" " /home/ ${ CP_DOMAIN } /config/production/nginx/conf.d/default.conf "
}
2019-10-01 21:34:02 +02:00
success_install( ) {
CP_URL = " ${ CP_DOMAIN } "
2019-10-10 21:24:49 +02:00
if [ " ${ CP_IP } " = "ip" ] && [ " ${ EXTERNAL_PORT } " != "80" ] ; then
CP_URL = " ${ CP_DOMAIN } : ${ EXTERNAL_PORT } "
else
docker exec -d nginx nginx -s reload
2019-10-01 21:34:02 +02:00
fi
clear
_line
_logo
_header " ${ CP_DOMAIN } " ;
_content
2019-10-10 21:24:49 +02:00
if [ " ${ CP_IP } " = "domain" ] ; then
2019-10-01 21:34:02 +02:00
_content "Website successfully installed!"
else
_content "Test website successfully installed!"
fi
_content
_content " ${ CP_URL } "
_content " ${ CP_URL } /admin "
2019-10-10 21:24:49 +02:00
if [ " ${ CP_IP } " = "domain" ] ; then
2019-10-01 21:34:02 +02:00
_content
2019-10-09 22:34:27 +02:00
_content "USERNAME: admin"
_content " PASSWORD: ${ CP_PASSWD } "
2019-10-01 21:34:02 +02:00
fi
_content
_content "We strongly recommend immediately"
_content "setting up automatic backup!"
2019-10-09 22:34:27 +02:00
_content "root@vps:~# cinemapress backup"
2019-10-01 21:34:02 +02:00
_content
2021-05-29 00:51:58 +02:00
_content "Issues: github.com/CinemaPress"
2019-10-01 21:34:02 +02:00
_content
_s
}
if [ ${ EUID } -ne 0 ] ; then
printf " ${ R } WARNING: ${ NC } Run as root user! \n ${ NC } "
exit 1
fi
2020-05-10 01:36:46 +02:00
if [ " ${ CP_OS } " = "alpine" ] || [ " ${ CP_OS } " = "\"alpine\"" ] || \
[ " ${ CP_OS } " = "debian" ] || [ " ${ CP_OS } " = "\"debian\"" ] || \
[ " ${ CP_OS } " = "ubuntu" ] || [ " ${ CP_OS } " = "\"ubuntu\"" ] || \
[ " ${ CP_OS } " = "fedora" ] || [ " ${ CP_OS } " = "\"fedora\"" ] || \
[ " ${ CP_OS } " = "centos" ] || [ " ${ CP_OS } " = "\"centos\"" ] ; then
true
else
_header "ERROR"
_content
_content "This OS is not supported."
_content "Please reinstall to"
_content "CentOS 7 or Debian 9/10 or Ubuntu 18/19 or Fedora 28/29"
_content
_s
exit 0
fi
2019-10-01 21:34:02 +02:00
docker_install
2020-05-10 01:36:46 +02:00
if [ " $( docker -v 2>/dev/null | grep "version" ) " = "" ] ; then
docker_spb 2>/dev/null
fi
2019-10-01 21:34:02 +02:00
WHILE = 0
while [ " ${ WHILE } " -lt "2" ] ; do
WHILE = $(( ${ WHILE } + 1 ))
case ${ OPTION } in
"i" | "install" | 1 )
2020-05-01 21:48:52 +02:00
read_domain " ${ 2 } "
2021-02-14 07:03:59 +01:00
sh_yes " ${ 5 } "
2020-05-01 21:48:52 +02:00
read_lang " ${ 3 } "
read_theme " ${ 4 } "
read_password " ${ 5 } "
_s " ${ 5 } "
2019-10-01 21:34:02 +02:00
sh_progress
2020-05-01 21:48:52 +02:00
1_install " ${ 2 } " " ${ 3 } " " ${ 4 } " " ${ 5 } "
2019-10-01 21:34:02 +02:00
sh_progress 100
success_install
2019-11-16 05:27:22 +01:00
post_commands
2019-10-01 21:34:02 +02:00
exit 0
; ;
"u" | "update" | 2 )
2020-05-01 21:48:52 +02:00
read_domain " ${ 2 } "
2019-10-01 21:34:02 +02:00
sh_not
2020-05-01 21:48:52 +02:00
_s " ${ 2 } "
2019-10-01 21:34:02 +02:00
sh_progress
2021-02-03 02:34:29 +01:00
2_update " ${ 2 } " " ${ 3 } " " ${ 4 } " " ${ 5 } " " ${ 6 } "
2019-10-01 21:34:02 +02:00
sh_progress 100
2019-11-16 05:27:22 +01:00
post_commands
2019-10-01 21:34:02 +02:00
exit 0
; ;
"b" | "backup" | 3 )
2020-05-01 21:48:52 +02:00
read_domain " ${ 2 } "
2019-10-01 21:34:02 +02:00
sh_not
2020-05-01 21:48:52 +02:00
_s " ${ 2 } "
2019-10-01 21:34:02 +02:00
sh_progress
2020-05-01 21:48:52 +02:00
3_backup " ${ 2 } " " ${ 3 } " " ${ 4 } " " ${ 5 } " " ${ 6 } " " ${ 7 } "
2019-10-01 21:34:02 +02:00
sh_progress 100
exit 0
; ;
"t" | "theme" | 4 )
2020-05-01 21:48:52 +02:00
read_domain " ${ 2 } "
2019-10-01 21:34:02 +02:00
sh_not
2020-05-01 21:48:52 +02:00
read_theme " ${ 3 } "
_s " ${ 3 } "
2019-10-01 21:34:02 +02:00
sh_progress
2020-05-01 21:48:52 +02:00
4_theme " ${ 2 } " " ${ 3 } " " ${ 4 } "
2019-10-01 21:34:02 +02:00
sh_progress 100
exit 0
; ;
"d" | "database" | 5 )
2020-05-01 21:48:52 +02:00
read_domain " ${ 2 } "
2019-10-01 21:34:02 +02:00
sh_not
2020-05-01 21:48:52 +02:00
read_key " ${ 3 } "
_s " ${ 3 } "
5_database " ${ 2 } " " ${ 3 } "
2019-10-01 21:34:02 +02:00
exit 0
; ;
2019-10-11 15:26:59 +02:00
"h" | "https" | 6 )
2020-04-25 02:18:55 +02:00
read_domain " ${ 2 } "
2019-10-01 21:34:02 +02:00
sh_not
2020-04-25 02:18:55 +02:00
read_cloudflare_email " ${ 3 } "
read_cloudflare_api_key " ${ 4 } "
_s " ${ 4 } "
6_https " ${ 2 } " " ${ 3 } " " ${ 4 } " " ${ 5 } "
2019-11-16 05:27:22 +01:00
post_commands
2019-10-01 21:34:02 +02:00
exit 0
; ;
"m" | "mirror" | 7 )
2020-05-01 21:48:52 +02:00
read_domain " ${ 2 } "
read_mirror " ${ 3 } "
_s " ${ 3 } "
2019-10-01 21:34:02 +02:00
sh_progress
2020-05-01 21:48:52 +02:00
7_mirror " ${ 2 } " " ${ 3 } "
2019-10-01 21:34:02 +02:00
sh_progress 100
exit 0
; ;
"r" | "rm" | "remove" | 8 )
2020-05-01 21:48:52 +02:00
read_domain " ${ 2 } "
2019-10-01 21:34:02 +02:00
sh_not
2020-05-01 21:48:52 +02:00
_s " ${ 2 } "
2019-10-01 21:34:02 +02:00
sh_progress
2020-05-01 21:48:52 +02:00
8_remove " ${ 2 } " " ${ 3 } " " ${ 4 } "
2019-10-01 21:34:02 +02:00
sh_progress 100
exit 0
; ;
"en" | "ru" )
2020-05-01 21:48:52 +02:00
ip_install " ${ 1 } "
2019-10-01 21:34:02 +02:00
exit 0
; ;
"passwd" )
2020-12-02 04:30:17 +01:00
_br " ${ 3 } "
2020-05-01 21:48:52 +02:00
read_domain " ${ 2 } "
2019-10-01 21:34:02 +02:00
sh_not
2020-05-01 21:48:52 +02:00
read_password " ${ 3 } "
_s " ${ 3 } "
2019-10-01 21:34:02 +02:00
sh_progress
2020-05-01 21:48:52 +02:00
docker exec " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container " ${ 1 } " " ${ CP_PASSWD } " \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_passwd_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-01 21:34:02 +02:00
sh_progress
2019-10-02 15:32:29 +02:00
docker exec nginx nginx -s reload \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_passwd_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-01 21:34:02 +02:00
sh_progress 100
exit 0
; ;
2019-10-11 15:26:59 +02:00
"images" )
2021-06-06 01:49:47 +02:00
_header "IMAGES"
_content
_content "No images!"
_content
_s
exit 0
2019-10-11 15:26:59 +02:00
; ;
2020-03-11 02:21:54 +01:00
"premium" )
2021-06-06 01:49:47 +02:00
_header "PREMIUM"
_content
_content "No premium themes!"
_content
_s
exit 0
2020-03-11 02:21:54 +01:00
; ;
2019-10-23 21:23:43 +02:00
"upd" )
2020-03-06 03:44:55 +01:00
docker_install "UPD"
2019-10-23 21:23:43 +02:00
exit 0
; ;
2020-04-15 20:41:17 +02:00
"ss" | "self-signed" )
read_domain " ${ 2 } "
sh_not
_s " ${ 2 } "
6_https " ${ 2 } " "ss"
2020-04-16 01:40:45 +02:00
exit 0
2020-04-15 20:41:17 +02:00
; ;
2019-10-01 21:34:02 +02:00
"stop" | "start" | "restart" )
2020-12-02 04:30:17 +01:00
_br " ${ 2 } "
read_domain " ${ 2 } "
2019-10-01 21:34:02 +02:00
sh_not
2020-12-02 04:30:17 +01:00
_s " ${ 2 } "
2019-12-03 02:06:09 +01:00
docker ${ 1 } ${ CP_DOMAIN_ } >>/var/log/docker_${ 1 } _" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-10-01 21:34:02 +02:00
exit 0
; ;
2019-11-02 02:35:24 +01:00
"zero" )
2020-12-02 04:30:17 +01:00
_br " ${ 2 } "
read_domain " ${ 2 } "
2019-11-02 02:35:24 +01:00
sh_not
2020-12-02 04:30:17 +01:00
_s " ${ 2 } "
2019-11-02 02:35:24 +01:00
_header "WARNING" ;
_content
_content "This command will delete all movies!"
_content
_s
2019-11-02 02:42:23 +01:00
if [ ${ 3 } ] ; then
YES = ${ 3 }
2019-11-02 02:35:24 +01:00
YES = ` echo ${ YES } | iconv -c -t UTF-8`
2021-01-24 22:57:57 +01:00
echo " Deactivate Automatic Index? [NOT/yes] : ${ YES } "
2019-11-02 02:35:24 +01:00
else
2021-01-24 22:57:57 +01:00
read -e -p 'Deactivate Automatic Index? [NOT/yes] : ' YES
2019-11-02 02:35:24 +01:00
YES = ` echo ${ YES } | iconv -c -t UTF-8`
fi
_br
if [ " ${ YES } " != "ДА" ] && [ " ${ YES } " != "Да" ] && [ " ${ YES } " != "да" ] && [ " ${ YES } " != "YES" ] && [ " ${ YES } " != "Yes" ] && [ " ${ YES } " != "yes" ] && [ " ${ YES } " != "Y" ] && [ " ${ YES } " != "y" ] ; then
2021-01-24 22:57:57 +01:00
docker exec " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container zero "NOT" \
>>/var/log/docker_zero_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-11-02 02:35:24 +01:00
else
2021-01-24 22:57:57 +01:00
docker exec " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container zero \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_zero_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-11-02 02:35:24 +01:00
fi
2021-01-24 22:57:57 +01:00
exit 0
2019-11-02 02:35:24 +01:00
; ;
2021-03-12 07:17:18 +01:00
"zero_rt" | "zero_realtime" )
_br " ${ 2 } "
read_domain " ${ 2 } "
sh_not
_s " ${ 2 } "
_header "WARNING" ;
_content
_content "This command will delete all movies!"
_content
_s
if [ ${ 3 } ] ; then
YES = ${ 3 }
YES = ` echo ${ YES } | iconv -c -t UTF-8`
echo " Delete Realtime Index? [NOT/yes] : ${ YES } "
else
read -e -p 'Delete Realtime Index? [NOT/yes] : ' YES
YES = ` echo ${ YES } | iconv -c -t UTF-8`
fi
_br
if [ " ${ YES } " != "ДА" ] && [ " ${ YES } " != "Да" ] && [ " ${ YES } " != "да" ] && [ " ${ YES } " != "YES" ] && [ " ${ YES } " != "Yes" ] && [ " ${ YES } " != "yes" ] && [ " ${ YES } " != "Y" ] && [ " ${ YES } " != "y" ] ; then
exit 0
else
docker exec " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container zero_rt \
>>/var/log/docker_zero_rt_" $( date '+%d_%m_%Y' ) " .log 2>& 1
fi
exit 0
; ;
2021-01-22 04:43:52 +01:00
"hand" )
_br " ${ 2 } "
read_domain " ${ 2 } "
sh_not
_s " ${ 2 } "
2021-01-24 22:57:57 +01:00
docker exec " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container hand " ${ 3 } "
2021-01-22 04:43:52 +01:00
exit 0
; ;
"main_mirror" )
_br " ${ 2 } "
read_domain " ${ 2 } "
sh_not
_s " ${ 2 } "
docker exec " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container mirror
exit 0
; ;
2021-01-24 22:57:57 +01:00
"movies" )
_br " ${ 2 } "
read_domain " ${ 2 } "
sh_not
_s " ${ 2 } "
docker exec " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container movies
exit 0
; ;
2021-04-21 19:19:36 +02:00
"reload" | "actual" | "available" | "reindex" | "speed" | "cron" )
2020-12-02 04:30:17 +01:00
_br " ${ 2 } "
2020-05-10 01:36:46 +02:00
read_domain " ${ 2 } "
2019-10-01 21:34:02 +02:00
sh_not
2020-05-10 01:36:46 +02:00
_s " ${ 2 } "
2021-04-21 19:19:36 +02:00
docker exec " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container " ${ 1 } " " ${ 3 } "
_br
2019-10-01 21:34:02 +02:00
exit 0
; ;
"container" )
if [ " ${ 2 } " = "run" ] ; then
docker_run
elif [ " ${ 2 } " = "stop" ] ; then
docker_stop
elif [ " ${ 2 } " = "start" ] ; then
docker_start
elif [ " ${ 2 } " = "restart" ] ; then
docker_restart
elif [ " ${ 2 } " = "reload" ] ; then
docker_reload
2020-01-20 06:33:27 +01:00
elif [ " ${ 2 } " = "logs" ] ; then
docker_logs
2019-10-01 21:34:02 +02:00
elif [ " ${ 2 } " = "zero" ] ; then
2021-01-24 22:57:57 +01:00
docker_zero " ${ 3 } "
2021-03-12 07:17:18 +01:00
elif [ " ${ 2 } " = "zero_rt" ] ; then
docker_zero_rt
2021-01-22 04:43:52 +01:00
elif [ " ${ 2 } " = "hand" ] ; then
2021-01-24 22:57:57 +01:00
docker_hand " ${ 3 } "
elif [ " ${ 2 } " = "movies" ] ; then
docker_movies " ${ 3 } "
2019-10-01 21:34:02 +02:00
elif [ " ${ 2 } " = "cron" ] ; then
2021-03-29 02:59:45 +02:00
docker_cron " ${ 3 } "
2019-10-01 21:34:02 +02:00
elif [ " ${ 2 } " = "actual" ] ; then
2019-11-11 02:12:38 +01:00
docker_actual
2020-05-10 01:36:46 +02:00
elif [ " ${ 2 } " = "mirror" ] ; then
docker_mirror
2021-04-21 23:04:57 +02:00
elif [ " ${ 2 } " = "available" ] || [ " ${ 2 } " = "reindex" ] ; then
2020-03-24 20:05:40 +01:00
docker_available " ${ 3 } "
2019-11-11 02:12:38 +01:00
elif [ " ${ 2 } " = "passwd" ] ; then
docker_passwd " ${ 3 } "
elif [ " ${ 2 } " = "rclone" ] ; then
docker_rclone " ${ 3 } " " ${ 4 } "
2020-06-10 22:28:46 +02:00
elif [ " ${ 2 } " = "cinematheme" ] ; then
docker_cinematheme " ${ @ } "
2019-10-01 21:34:02 +02:00
elif [ " ${ 2 } " = "backup" ] ; then
2019-11-11 02:12:38 +01:00
if [ " ${ 3 } " = "create" ] || [ " ${ 3 } " = "1" ] ; then
2020-03-06 03:44:55 +01:00
docker_backup " ${ 4 } "
2019-11-11 02:12:38 +01:00
elif [ " ${ 3 } " = "restore" ] || [ " ${ 3 } " = "2" ] ; then
2020-04-26 03:21:33 +02:00
docker_restore " ${ 4 } " " ${ 5 } "
2019-10-01 21:34:02 +02:00
fi
2019-10-19 02:55:45 +02:00
elif [ " ${ 2 } " = "protocol" ] ; then
if [ " ${ 3 } " = "http://" ] ; then
docker_ssl_off
else
docker_ssl_on
fi
2020-04-01 19:51:59 +02:00
elif [ " ${ 2 } " = "ftp" ] ; then
docker_ftp_on
2021-03-31 01:26:36 +02:00
elif [ " ${ 2 } " = "torrent" ] ; then
docker_torrent_on
2019-10-01 21:34:02 +02:00
fi
exit 0
; ;
2020-05-19 22:57:41 +02:00
"combine" | "c" )
2019-10-28 02:43:18 +01:00
CP_DOMAIN = ""
CP_LANG = ""
CP_THEME = ""
CP_PASSWD = ""
CP_MIRROR = ""
CP_KEY = ""
CLOUDFLARE_EMAIL = ""
CLOUDFLARE_API_KEY = ""
MEGA_EMAIL = ""
MEGA_PASSWORD = ""
2020-05-19 22:57:41 +02:00
if [ " ${ 2 } " = "chrm" ] || [ " ${ 2 } " = "create_https_restore_mirror" ] || [ " ${ 2 } " = "ihrm" ] || [ " ${ 2 } " = "install_https_restore_mirror" ] ; then
2019-10-25 04:09:31 +02:00
read_domain ${ 3 }
read_mirror ${ 4 }
read_lang ${ 5 }
read_theme ${ 6 }
read_password ${ 7 }
read_cloudflare_email ${ 8 }
read_cloudflare_api_key ${ 9 }
read_mega_email ${ 10 }
read_mega_password ${ 11 }
_s ${ 11 }
sh_progress
2019-11-11 02:12:38 +01:00
1_install " ${ CP_MIRROR } "
6_https " ${ CP_MIRROR } " " ${ CLOUDFLARE_EMAIL } " " ${ CLOUDFLARE_API_KEY } "
3_backup " ${ CP_MIRROR } " "config" " ${ MEGA_EMAIL } " " ${ MEGA_PASSWORD } " "restore" " ${ CP_DOMAIN } "
7_mirror " ${ CP_DOMAIN } " " ${ CP_MIRROR } "
2019-11-16 05:27:22 +01:00
post_commands " ${ CP_MIRROR } "
2019-10-25 04:09:31 +02:00
sh_progress 100
exit 0
2020-05-19 22:57:41 +02:00
elif [ " ${ 2 } " = "crm" ] || [ " ${ 2 } " = "create_restore_mirror" ] || [ " ${ 2 } " = "irm" ] || [ " ${ 2 } " = "install_restore_mirror" ] ; then
2019-10-25 04:09:31 +02:00
read_domain ${ 3 }
read_mirror ${ 4 }
read_lang ${ 5 }
read_theme ${ 6 }
read_password ${ 7 }
read_mega_email ${ 8 }
read_mega_password ${ 9 }
_s ${ 9 }
sh_progress
2019-11-11 02:12:38 +01:00
1_install " ${ CP_MIRROR } "
3_backup " ${ CP_MIRROR } " "config" " ${ MEGA_EMAIL } " " ${ MEGA_PASSWORD } " "restore" " ${ CP_DOMAIN } "
7_mirror " ${ CP_DOMAIN } " " ${ CP_MIRROR } "
2019-11-16 05:27:22 +01:00
post_commands " ${ CP_MIRROR } "
2019-10-25 04:09:31 +02:00
sh_progress 100
exit 0
2020-05-19 22:57:41 +02:00
elif [ " ${ 2 } " = "chm" ] || [ " ${ 2 } " = "create_https_mirror" ] || [ " ${ 2 } " = "ihm" ] || [ " ${ 2 } " = "install_https_mirror" ] ; then
2019-10-25 04:09:31 +02:00
read_domain ${ 3 }
read_mirror ${ 4 }
read_lang ${ 5 }
read_theme ${ 6 }
read_password ${ 7 }
read_cloudflare_email ${ 8 }
read_cloudflare_api_key ${ 9 }
_s ${ 9 }
sh_progress
2019-11-11 02:12:38 +01:00
1_install " ${ CP_MIRROR } "
6_https " ${ CP_MIRROR } " " ${ CLOUDFLARE_EMAIL } " " ${ CLOUDFLARE_API_KEY } "
7_mirror " ${ CP_DOMAIN } " " ${ CP_MIRROR } "
2019-11-16 05:27:22 +01:00
post_commands " ${ CP_MIRROR } "
2019-10-25 04:09:31 +02:00
sh_progress 100
exit 0
2020-05-19 22:57:41 +02:00
elif [ " ${ 2 } " = "chb" ] || [ " ${ 2 } " = "create_https_backup" ] || [ " ${ 2 } " = "ihb" ] || [ " ${ 2 } " = "install_https_backup" ] ; then
2019-10-25 04:09:31 +02:00
read_domain ${ 3 }
sh_yes
read_lang ${ 4 }
read_theme ${ 5 }
read_password ${ 6 }
read_cloudflare_email ${ 7 }
read_cloudflare_api_key ${ 8 }
read_mega_email ${ 9 }
read_mega_password ${ 10 }
_s ${ 10 }
sh_progress
2019-11-11 02:12:38 +01:00
1_install " ${ CP_DOMAIN } "
6_https " ${ CP_DOMAIN } " " ${ CLOUDFLARE_EMAIL } " " ${ CLOUDFLARE_API_KEY } "
3_backup " ${ CP_DOMAIN } " "config" " ${ MEGA_EMAIL } " " ${ MEGA_PASSWORD } " "create"
2019-11-16 05:27:22 +01:00
post_commands " ${ CP_DOMAIN } "
2019-10-25 04:09:31 +02:00
sh_progress 100
exit 0
2020-05-19 22:57:41 +02:00
elif [ " ${ 2 } " = "chr" ] || [ " ${ 2 } " = "create_https_restore" ] || [ " ${ 2 } " = "ihr" ] || [ " ${ 2 } " = "install_https_restore" ] ; then
2019-10-25 04:09:31 +02:00
read_domain ${ 3 }
sh_yes
read_lang ${ 4 }
read_theme ${ 5 }
read_password ${ 6 }
read_cloudflare_email ${ 7 }
read_cloudflare_api_key ${ 8 }
read_mega_email ${ 9 }
read_mega_password ${ 10 }
_s ${ 10 }
sh_progress
2019-11-11 02:12:38 +01:00
1_install " ${ CP_DOMAIN } "
6_https " ${ CP_DOMAIN } " " ${ CLOUDFLARE_EMAIL } " " ${ CLOUDFLARE_API_KEY } "
3_backup " ${ CP_DOMAIN } " "config" " ${ MEGA_EMAIL } " " ${ MEGA_PASSWORD } " "restore"
2019-11-16 05:27:22 +01:00
post_commands " ${ CP_DOMAIN } "
2019-10-25 04:09:31 +02:00
sh_progress 100
exit 0
2020-05-19 22:57:41 +02:00
elif [ " ${ 2 } " = "ch" ] || [ " ${ 2 } " = "create_https" ] || [ " ${ 2 } " = "ih" ] || [ " ${ 2 } " = "install_https" ] ; then
2019-10-25 04:09:31 +02:00
read_domain ${ 3 }
sh_yes
read_lang ${ 4 }
read_theme ${ 5 }
read_password ${ 6 }
read_cloudflare_email ${ 7 }
read_cloudflare_api_key ${ 8 }
_s ${ 8 }
sh_progress
2019-11-11 02:12:38 +01:00
1_install " ${ CP_DOMAIN } "
6_https " ${ CP_DOMAIN } " " ${ CLOUDFLARE_EMAIL } " " ${ CLOUDFLARE_API_KEY } "
2019-11-16 05:27:22 +01:00
post_commands " ${ CP_DOMAIN } "
2019-10-25 04:09:31 +02:00
sh_progress 100
exit 0
2020-05-19 22:57:41 +02:00
elif [ " ${ 2 } " = "cb" ] || [ " ${ 2 } " = "create_backup" ] || [ " ${ 2 } " = "ib" ] || [ " ${ 2 } " = "install_backup" ] ; then
2019-10-25 04:09:31 +02:00
read_domain ${ 3 }
sh_yes
read_lang ${ 4 }
read_theme ${ 5 }
read_password ${ 6 }
read_mega_email ${ 7 }
read_mega_password ${ 8 }
_s ${ 8 }
sh_progress
2019-11-11 02:12:38 +01:00
1_install " ${ CP_DOMAIN } "
3_backup " ${ CP_DOMAIN } " "config" " ${ MEGA_EMAIL } " " ${ MEGA_PASSWORD } " "create"
2019-11-16 05:27:22 +01:00
post_commands " ${ CP_DOMAIN } "
2019-10-25 04:09:31 +02:00
sh_progress 100
exit 0
2020-05-19 22:57:41 +02:00
elif [ " ${ 2 } " = "cr" ] || [ " ${ 2 } " = "create_restore" ] || [ " ${ 2 } " = "ir" ] || [ " ${ 2 } " = "install_restore" ] ; then
2019-10-25 04:09:31 +02:00
read_domain ${ 3 }
sh_yes
read_lang ${ 4 }
read_theme ${ 5 }
read_password ${ 6 }
read_mega_email ${ 7 }
read_mega_password ${ 8 }
_s ${ 8 }
sh_progress
2019-11-11 02:12:38 +01:00
1_install " ${ CP_DOMAIN } "
3_backup " ${ CP_DOMAIN } " "config" " ${ MEGA_EMAIL } " " ${ MEGA_PASSWORD } " "restore"
2019-11-16 05:27:22 +01:00
post_commands " ${ CP_DOMAIN } "
2019-10-25 04:09:31 +02:00
sh_progress 100
exit 0
fi
exit 0
; ;
2019-10-01 21:34:02 +02:00
"autostart" )
2021-02-02 04:17:42 +01:00
read_domain " ${ 2 } "
2021-01-15 00:46:04 +01:00
docker start " ${ CP_DOMAIN_ } "
2019-10-01 21:34:02 +02:00
docker start fail2ban
2020-03-21 03:06:38 +01:00
docker start filestash
2021-01-15 00:46:04 +01:00
docker start nginx
2019-10-01 21:34:02 +02:00
exit 0
; ;
2020-12-13 23:27:43 +01:00
"renew" )
2021-02-02 04:17:42 +01:00
_br " ${ 2 } "
2020-12-13 23:27:43 +01:00
read_domain " ${ 2 } "
sh_not
_s " ${ 2 } "
quiet = ""
2021-01-19 23:00:10 +01:00
if [ " ${ 3 } " != "" ] ; then
quiet = "--dry-run"
else
sleep $(( ( " ${ RANDOM } " % 900 ) ))
fi
2020-12-13 23:27:43 +01:00
docker run \
--rm \
-v /home/${ CP_DOMAIN } /config/production/nginx/ssl.d:/etc/letsencrypt \
-v /home/${ CP_DOMAIN } /config/production/nginx/letsencrypt:/var/lib/letsencrypt \
-v /home/${ CP_DOMAIN } /config/production/nginx/cloudflare.ini:/cloudflare.ini \
-v /var/log/letsencrypt:/var/log/letsencrypt \
certbot/dns-cloudflare \
renew \
--dns-cloudflare \
--dns-cloudflare-credentials /cloudflare.ini \
${ quiet }
docker exec -d nginx nginx -s reload
post_commands
exit 0
; ;
2020-01-06 23:57:25 +01:00
"optimal" )
2020-12-02 04:30:17 +01:00
_br " ${ 2 } "
2020-05-06 00:40:10 +02:00
read_domain " ${ 2 } "
2020-01-06 23:57:25 +01:00
sh_not
2020-05-06 00:40:10 +02:00
_s " ${ 2 } "
docker exec -t " ${ CP_DOMAIN_ } " node optimal.js
2020-01-06 23:57:25 +01:00
exit 0
; ;
2021-01-12 23:41:27 +01:00
"mode" )
_br " ${ 2 } "
read_domain " ${ 2 } "
sh_not
2021-01-12 23:48:38 +01:00
read_mode " ${ 3 } "
2021-01-12 23:41:27 +01:00
_s " ${ 2 } "
2021-01-18 01:52:36 +01:00
sh_progress
sed -i " s~\"NODE_ENV\": \"production\"~\"NODE_ENV\": \" ${ CP_MODE } \"~ " " /home/ ${ CP_DOMAIN } /process.json " & >/dev/null
2021-01-18 02:29:26 +01:00
sed -i " s~\"NODE_ENV\": \"debug\"~\"NODE_ENV\": \" ${ CP_MODE } \"~ " " /home/ ${ CP_DOMAIN } /process.json " & >/dev/null
2021-01-18 01:52:36 +01:00
sh_progress
docker exec -t " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container reload & >/dev/null
sh_progress 100
2021-01-12 23:41:27 +01:00
exit 0
; ;
2021-03-18 10:09:38 +01:00
"l" | "ll" | "lp" | "lm" | "lms" | "ls" | "llp" | "log" | "logs" | "live" | "lb" | "lbt" | "lbf" | "lbb" )
2021-01-09 09:55:31 +01:00
if [ " ${ 1 } " = "lb" ] || [ " ${ 1 } " = "lbt" ] || [ " ${ 1 } " = "lbf" ] || [ " ${ 1 } " = "lbb" ] || [ " ${ 2 } " = "bot" ] || [ " ${ 2 } " = "bots" ] ; then
2021-01-10 00:15:32 +01:00
RR = '\o033[0;31m'
GG = '\o033[0;32m'
YY = '\o033[0;33m'
2021-01-10 06:15:26 +01:00
BB = '\o033[1;36m'
2021-01-10 00:15:32 +01:00
NCC = '\o033[0m'
2021-01-09 01:12:50 +01:00
_br
if [ " ${ 1 } " = "live" ] ; then
_line
_header "BOT DETECTED"
_line
_br
tail \
-n0 -f /home/*/log/err*.log \
-n0 -f /home/*/log/out*.log \
2021-01-10 00:15:32 +01:00
| sed \
-e 's/\([0-9T:-]*\):\s*/\1/' \
-e 's/\(TRUE BOT DETECTED\)/ \o033[32mTRUE\o033[39m/' \
-e 's/\(FAKE BOT DETECTED\)/ \o033[31mFAKE\o033[39m/' \
2021-01-10 06:15:26 +01:00
-e 's/\(BAD BOT DETECTED \[CAPTCHA \(TRUE\|FALSE\)\]\)/ \o033[36mBAD?\o033[39m [CAPTCHA]/' \
2021-01-10 00:15:32 +01:00
-e 's/\(BAD BOT DETECTED\)/ \o033[33mBAD!\o033[39m/'
2021-01-09 01:12:50 +01:00
_br
fi
if [ " ${ 3 } " = "" ] && { [ " ${ 1 } " = "lb" ] || [ " ${ 2 } " = "bot" ] || [ " ${ 2 } " = "bots" ] ; } ; then
_line
_header "BOT DETECTED"
_line
_br
2021-01-10 00:15:32 +01:00
grep \
"BOT DETECTED" /home/*/log/err*.log /home/*/log/out*.log \
| sed -E "s/\/home\/([0-9A-Za-z.-]{10})([0-9A-Za-z.-]*)\/log\/(out|err)-0\.log:([0-9T:-]*):\s*/\4 \1/" \
| sed -E " s/TRUE BOT DETECTED/ ${ GG } TRUE ${ NCC } / " \
| sed -E " s/FAKE BOT DETECTED/ ${ RR } FAKE ${ NCC } / " \
2021-01-10 06:15:26 +01:00
| sed -E " s/BAD BOT DETECTED \[CAPTCHA (TRUE|FALSE)\]/ ${ BB } BAD? ${ NCC } [CAPTCHA]/ " \
2021-01-10 00:15:32 +01:00
| sed -E " s/BAD BOT DETECTED/ ${ YY } BAD! ${ NCC } / " \
| sort -k1
2021-01-09 01:12:50 +01:00
_br
_line
_br
fi
if [ " ${ 1 } " = "lbt" ] || [ " ${ 3 } " = "true" ] ; then
_line
_header "TRUE BOT DETECTED"
_line
_br
2021-01-10 00:15:32 +01:00
grep \
"TRUE BOT DETECTED" /home/*/log/err*.log /home/*/log/out*.log \
| sed -E "s/\/home\/([0-9A-Za-z.-]{10})([0-9A-Za-z.-]*)\/log\/(out|err)-0\.log:([0-9T:-]*):\s*/\4 \1/" \
| sed -E " s/TRUE BOT DETECTED/ ${ GG } TRUE ${ NCC } / " \
| sort -k1
2021-01-09 01:12:50 +01:00
_br
_line
_br
fi
if [ " ${ 1 } " = "lbf" ] || [ " ${ 3 } " = "fake" ] ; then
_line
_header "FAKE BOT DETECTED"
_line
_br
2021-01-10 00:15:32 +01:00
grep \
"FAKE BOT DETECTED" /home/*/log/err*.log /home/*/log/out*.log \
| sed -E "s/\/home\/([0-9A-Za-z.-]{10})([0-9A-Za-z.-]*)\/log\/(out|err)-0\.log:([0-9T:-]*):\s*/\4 \1/" \
| sed -E " s/FAKE BOT DETECTED/ ${ RR } FAKE ${ NCC } / " \
| sort -k1
2021-01-09 01:12:50 +01:00
_br
_line
_br
fi
2021-01-09 09:55:31 +01:00
if [ " ${ 1 } " = "lbb" ] || [ " ${ 3 } " = "bad" ] ; then
_line
_header "BAD BOT DETECTED"
_line
_br
2021-01-10 00:15:32 +01:00
grep \
"BAD BOT DETECTED" /home/*/log/err*.log /home/*/log/out*.log \
| sed -E "s/\/home\/([0-9A-Za-z.-]{10})([0-9A-Za-z.-]*)\/log\/(out|err)-0\.log:([0-9T:-]*):\s*/\4 \1/" \
2021-01-10 06:15:26 +01:00
| sed -E " s/BAD BOT DETECTED \[CAPTCHA (TRUE|FALSE)\]/ ${ BB } BAD? ${ NCC } [CAPTCHA]/ " \
2021-01-10 00:15:32 +01:00
| sed -E " s/BAD BOT DETECTED/ ${ YY } BAD! ${ NCC } / " \
| sort -k1
2021-01-09 09:55:31 +01:00
_br
_line
_br
fi
2021-01-09 01:12:50 +01:00
exit 0
fi
2020-05-17 22:33:17 +02:00
if [ " ${ 1 } " = "ll" ] || [ " ${ 1 } " = "live" ] || [ " ${ 2 } " = "live" ] || [ " ${ 2 } " = "l" ] ; then
2020-05-06 01:15:16 +02:00
_br
2020-05-06 00:40:10 +02:00
tail \
-n0 -f /var/log/nginx/*.log \
-n0 -f /home/*/log/err*.log \
-n0 -f /home/*/log/out*.log
exit 0
fi
2021-01-25 03:39:21 +01:00
if [ " ${ 1 } " = "llp" ] || [ " ${ 1 } " = "lp" ] ; then
2021-01-19 22:01:57 +01:00
_br
tail \
-n0 -f /var/log/nginx/*.log \
-n0 -f /home/*/log/err*.log \
-n0 -f /home/*/log/out*.log \
| grep -v ping
exit 0
fi
2021-01-25 03:39:21 +01:00
if [ " ${ 1 } " = "lm" ] ; then
_br
tail \
-n0 -f /home/*/log/movies*.log
exit 0
fi
2021-03-18 10:09:38 +01:00
if [ " ${ 1 } " = "ls" ] || [ " ${ 1 } " = "lms" ] ; then
2021-01-25 03:39:21 +01:00
_br
tail \
-n0 -f /home/*/log/movies*.log \
| grep -v REALTIME
exit 0
fi
2020-12-02 04:30:17 +01:00
_br " ${ 2 } "
2020-01-20 06:33:27 +01:00
read_domain " ${ 2 } "
2019-12-08 22:26:32 +01:00
sh_not
2020-01-20 06:33:27 +01:00
_s " ${ 2 } "
_header "DOCKER CONTAINER"
_content
if docker network ls | grep -q cinemapress
then
_content "Network: runnind"
else
_content "Network: stopped"
fi
2021-04-25 22:15:49 +02:00
if [ " $( docker ps -aq -f health = healthy -f name = ^/${ CP_DOMAIN_ } \$ 2>/dev/null) " != "" ] ; then
2020-01-20 06:33:27 +01:00
_content "Website: runnind"
else
_content "Website: stopped"
fi
2021-04-25 22:15:49 +02:00
if [ " $( docker ps -aq -f health = healthy -f name = ^/nginx\$ 2>/dev/null) " != "" ] ; then
2020-01-20 06:33:27 +01:00
NGINX_STATUS = $( docker exec -t nginx nginx -t | grep successful)
if [ " ${ NGINX_STATUS } " != "" ] ; then
_content "Nginx: runnind"
else
_content "Nginx: error"
docker exec -t nginx nginx -t
fi
else
_content "Nginx: stopped"
fi
2021-04-25 22:15:49 +02:00
if [ " $( docker ps -aq -f health = healthy -f name = ^/fail2ban\$ 2>/dev/null) " != "" ] ; then
2020-01-20 06:33:27 +01:00
_content "Fail2ban: runnind"
else
_content "Fail2ban: stopped"
fi
2020-03-21 03:06:38 +01:00
if [ " $( docker ps -aq -f status = running -f name = ^/filestash\$ 2>/dev/null) " != "" ] ; then
_content "FTP: runnind"
else
_content "FTP: stopped"
fi
2020-06-07 01:30:37 +02:00
if [ " $( docker ps -aq -f status = running -f name = ^/mail\$ 2>/dev/null) " != "" ] ; then
_content "MailServer: runnind"
else
_content "MailServer: stopped"
fi
2020-01-20 06:33:27 +01:00
_content
2020-01-31 00:29:06 +01:00
_header "NGINX LOGS"
_content
_content " $( tail -n50 /var/log/nginx/*.log | curl -s -F 'clbin=<-' https://clbin.com) "
_content
docker exec -t " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container logs
2019-12-08 22:26:32 +01:00
exit 0
; ;
2019-11-13 01:12:07 +01:00
"clear_vps" | "clean_vps" | "flush_vps" | "clear_all" | "clean_all" | "flush_all" )
2019-11-02 15:04:36 +01:00
_br
2019-11-01 16:14:59 +01:00
sh_progress
2019-12-03 02:06:09 +01:00
docker rm -f $( docker ps -aq) >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
docker rmi -f $( docker images -q) >>/var/log/docker_remove_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-11-11 02:27:34 +01:00
for D in /home/*; do
2020-05-18 02:08:17 +02:00
if [ -f " ${ D } /process.json " ] || [ -f " ${ D } /index.php " ] ; then
2019-11-11 02:27:34 +01:00
DD = ` find ${ D } -maxdepth 0 -printf "%f" `
2019-11-16 05:45:38 +01:00
sed -i " s/.* ${ DD } .*//g " /etc/crontab & > /dev/null
2019-12-03 02:06:09 +01:00
rm -rf /home/${ DD : ? }
2020-05-07 21:38:18 +02:00
rm -rf /root/${ DD : ? }
2019-11-11 02:27:34 +01:00
fi
done
2020-06-07 01:30:37 +02:00
rm -rf \
/var/log/* \
/var/ngx_pagespeed_cache \
/var/lib/sphinx/tmp \
/var/lib/sphinx/old \
/etc/nginx/bots.d \
/var/lib/cinemapress \
/var/docker-mailserver
2019-11-01 16:14:59 +01:00
sh_progress 100
exit 0
; ;
2019-11-01 20:41:06 +01:00
"clear_log" | "clean_log" | "clear_logs" | "clean_logs" | "logrotate" )
2019-11-09 23:55:06 +01:00
CP_SIZE = ${ 2 :- "+102400" }
2019-11-01 20:41:06 +01:00
find /var/log -type f -name '*.log' -size " ${ CP_SIZE } " -exec rm -rf { } \; \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_logrotate_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-11-09 23:55:06 +01:00
find /var/log -type f -name '*.gz' -exec rm -rf { } \; \
2019-12-03 02:06:09 +01:00
>>/var/log/docker_logrotate_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-01-08 23:42:57 +01:00
rm -rf /var/ngx_pagespeed_cache/*
2019-11-01 20:41:06 +01:00
if [ " ${ CP_OS } " != "alpine" ] && [ " ${ CP_OS } " != "\"alpine\"" ] ; then
2019-12-03 02:06:09 +01:00
docker restart fail2ban >>/var/log/docker_logrotate_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-03-21 03:06:38 +01:00
docker restart filestash >>/var/log/docker_logrotate_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2021-01-15 00:46:04 +01:00
docker restart nginx >>/var/log/docker_logrotate_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2019-11-01 20:41:06 +01:00
fi
exit 0
; ;
2021-01-11 02:04:43 +01:00
"any" | "default_server" | "ds" )
for all_server in /home/*/config/production/nginx/conf.d/default.conf; do
[ -f " ${ all_server } " ] || continue
sed -i " s~ include ${ all_server /conf.d/any.d } ~#any include ${ all_server /conf.d/any.d } ~ " " ${ all_server } "
done
if [ " ${ 2 } " = "none" ] ; then
2021-01-11 03:03:09 +01:00
_br
2021-01-11 02:04:43 +01:00
_header "DEFAULT SERVER"
_content
_content "NONE"
_content
2021-01-31 05:05:58 +01:00
_content "(wait 20 seconds)"
2021-01-11 02:04:43 +01:00
_content
_line
2021-01-11 03:03:09 +01:00
_br
2021-01-31 05:05:58 +01:00
mkdir -p /home/default_server/config/production/nginx/conf.d/
mkdir -p /home/default_server/config/production/nginx/any.d/
echo " server {
listen 80 default_server;
listen [ ::] :80 default_server;
root /home/default_server;
server_name _;
deny all;
location / { return 444; }
}
" > /home/default_server/config/production/nginx/any.d/default.conf
echo " include /home/default_server/config/production/nginx/any.d/default.conf;" \
> /home/default_server/config/production/nginx/conf.d/default.conf
docker restart nginx & >/dev/null
2021-01-11 02:04:43 +01:00
exit 0
fi
read_domain " ${ 2 } "
sh_not
sed -i " s~#any include /home/ ${ CP_DOMAIN } /config/production/nginx/any.d/default.conf~ include /home/ ${ CP_DOMAIN } /config/production/nginx/any.d/default.conf~ " \
/home/" ${ CP_DOMAIN } " /config/production/nginx/conf.d/default.conf
2021-01-11 03:03:09 +01:00
_br
2021-01-11 02:04:43 +01:00
_header "DEFAULT SERVER"
_content
_content " ${ CP_DOMAIN } "
_content
_content "(wait 60 seconds)"
_content
_line
2021-01-11 03:03:09 +01:00
_br
2021-01-11 02:04:43 +01:00
exit 0
; ;
2020-08-19 20:06:09 +02:00
"bot" | "bot_https" | "domain" | "domain_https" )
2021-06-25 23:26:48 +02:00
_br " ${ 2 } "
2020-05-07 00:32:29 +02:00
read_domain " ${ 2 } "
sh_not
2021-06-25 23:26:48 +02:00
_s " ${ 2 } "
2020-05-07 21:38:18 +02:00
read_bomain " ${ 3 } "
2020-08-19 20:06:09 +02:00
if [ " ${ 1 } " = "bot_https" ] || [ " ${ 1 } " = "domain_https" ] ; then
2020-05-07 21:38:18 +02:00
read_cloudflare_email " ${ 4 } "
read_cloudflare_api_key " ${ 5 } "
2020-05-07 00:32:29 +02:00
fi
2020-05-07 21:38:18 +02:00
_s " ${ 3 } "
sh_progress
if [ ! -f /home/" ${ CP_BOMAIN } " /process.json ] ; then
sh_progress
2021-06-06 00:55:05 +02:00
1_install " ${ CP_BOMAIN } " "en" "default" "pass"
2020-05-07 21:38:18 +02:00
fi
if [ " ${ CLOUDFLARE_EMAIL } " != "" ] && [ " ${ CLOUDFLARE_API_KEY } " != "" ] ; then
sh_progress
6_https " ${ CP_BOMAIN } " " ${ CLOUDFLARE_EMAIL } " " ${ CLOUDFLARE_API_KEY } "
fi
sh_progress
2020-05-07 00:32:29 +02:00
sed -i " s~root /home/ ${ CP_BOMAIN } ;~root /home/ ${ CP_DOMAIN } ;~g " \
/home/" ${ CP_BOMAIN } " /config/production/nginx/conf.d/default.conf
2020-05-07 04:11:24 +02:00
sed -i " s~/home/ ${ CP_BOMAIN } /config/production/nginx/pass.d/ ${ CP_BOMAIN } .pass~/home/ ${ CP_DOMAIN } /config/production/nginx/pass.d/ ${ CP_DOMAIN } .pass~g " \
/home/" ${ CP_BOMAIN } " /config/production/nginx/conf.d/default.conf
sed -i " s~/home/ ${ CP_BOMAIN } /config/production/nginx/error.d/default.conf~/home/ ${ CP_DOMAIN } /config/production/nginx/error.d/default.conf~g " \
/home/" ${ CP_BOMAIN } " /config/production/nginx/conf.d/default.conf
2020-05-07 00:32:29 +02:00
sed -i " s~server ${ CP_BOMAIN_ } :3000~server ${ CP_DOMAIN_ } :3000~g " \
/home/" ${ CP_BOMAIN } " /config/production/nginx/conf.d/default.conf
2020-05-07 21:38:18 +02:00
sh_progress
2020-05-07 00:32:29 +02:00
docker stop " ${ CP_BOMAIN_ } " >>/var/log/docker_bot_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-05-07 21:38:18 +02:00
sh_progress
2020-05-07 00:32:29 +02:00
docker rm -f " ${ CP_BOMAIN_ } " >>/var/log/docker_bot_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-05-07 21:38:18 +02:00
sh_progress
2020-05-07 04:21:56 +02:00
rm -rf /home/" ${ CP_BOMAIN } " /config/production/nginx/bots.d \
/home/" ${ CP_BOMAIN } " /config/production/nginx/error.d \
/home/" ${ CP_BOMAIN } " /config/production/nginx/html \
/home/" ${ CP_BOMAIN } " /config/production/nginx/pagespeed.d \
/home/" ${ CP_BOMAIN } " /config/production/nginx/pass.d \
/home/" ${ CP_BOMAIN } " /config/production/nginx/nginx.sh \
/home/" ${ CP_BOMAIN } " /config/production/nginx/nginx.conf \
/home/" ${ CP_BOMAIN } " /config/production/nginx/mime.types \
2020-05-07 04:51:31 +02:00
/home/" ${ CP_BOMAIN } " /config/production/nginx/Dockerfile \
/home/" ${ CP_BOMAIN } " /config/production/nginx/conf.d/globalblacklist.conf \
/home/" ${ CP_BOMAIN } " /config/production/nginx/conf.d/real_ip.conf
2020-05-07 00:32:29 +02:00
rm -rf /tmp/nginx && mv /home/" ${ CP_BOMAIN } " /config/production/nginx /tmp/nginx \
>>/var/log/docker_bot_" $( date '+%d_%m_%Y' ) " .log 2>& 1
rm -rf /home/" ${ CP_BOMAIN : ? } "
mkdir -p /home/" ${ CP_BOMAIN } " /config/production
2021-01-13 02:25:32 +01:00
mkdir -p /home/" ${ CP_BOMAIN } " /log
2020-05-07 00:32:29 +02:00
mv /tmp/nginx /home/" ${ CP_BOMAIN } " /config/production/nginx
touch /home/" ${ CP_BOMAIN } " /process.json
2020-05-19 00:08:40 +02:00
sh_progress 100
2020-05-07 00:32:29 +02:00
NGINX_STATUS = $( docker exec -t nginx nginx -t | grep successful)
if [ " ${ NGINX_STATUS } " != "" ] ; then
docker exec nginx nginx -s reload >>/var/log/docker_bot_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-12-02 23:54:01 +01:00
_header "DOMAIN FOR BOTS / ALTERNATE DOMAIN"
2020-05-07 00:32:29 +02:00
_content
_content " ${ CP_BOMAIN } "
_content
_line
else
_header "ERROR"
_content
docker exec -t nginx nginx -t
_content
_line
fi
2020-05-07 21:38:18 +02:00
post_commands " ${ CP_BOMAIN } "
2021-06-25 23:26:48 +02:00
_br
2020-05-07 00:32:29 +02:00
exit 0
; ;
2020-01-20 06:58:56 +01:00
"bench" | "benchmark" | "speedtest" )
2020-01-20 06:33:27 +01:00
SPEED_LOCATION = ${ 2 :- "eu" }
bash <( wget "https://raw.githubusercontent.com/laset-com/speedtest/master/speedtest.sh" -qO-) " - ${ SPEED_LOCATION } "
exit 0
; ;
2020-01-16 03:36:20 +01:00
"import" )
if [ " ${ 2 } " = "dle" ] ; then
read_domain " ${ 3 } "
sh_not
read_import " ${ 4 } "
_s " ${ 4 } "
FILE_EXPORT = " http:// ${ IMPORT_DOMAIN } /uploads/files/ ${ CP_DOMAIN } .xml "
CREATE_EXPORT = $( wget -qO- " http:// ${ IMPORT_DOMAIN } /dle2cinemapress.php?domain= ${ CP_DOMAIN } " )
if [ " ${ CREATE_EXPORT } " != "ok" ] ; then
_header "ERROR"
_content
_content " The website ${ IMPORT_DOMAIN } is temporarily unavailable, "
_content "please try again later."
_content " http:// ${ IMPORT_DOMAIN } /dle2cinemapress.php?domain= ${ CP_DOMAIN } "
_content
_s
exit 0
else
sleep 2
fi
_line
_content "Downloading ..."
wget -qO " /home/ ${ CP_DOMAIN } /config/production/sphinx/export.xml " " ${ FILE_EXPORT } " || \
rm -rf " /home/ ${ CP_DOMAIN } /config/production/sphinx/export.xml "
if [ -f " /home/ ${ CP_DOMAIN } /config/production/sphinx/export.xml " ] ; then
_content "Import ..."
rm -rf " /home/ ${ CP_DOMAIN } /config/production/sphinx/source.xml "
mv " /home/ ${ CP_DOMAIN } /config/production/sphinx/export.xml " \
" /home/ ${ CP_DOMAIN } /config/production/sphinx/source.xml "
docker exec " ${ CP_DOMAIN_ } " indexer " xmlpipe2_ ${ CP_DOMAIN_ } " --rotate >/dev/null
_content "Done!"
else
_header "ERROR"
_content
_content "Failed to download export file,"
_content "please try again later."
_content " ${ FILE_EXPORT } "
_content
_s
exit 0
fi
fi
exit 0
; ;
2020-01-09 04:14:14 +01:00
"app" )
read_domain " ${ 2 } "
2020-01-09 05:16:37 +01:00
sh_not
2020-03-06 03:44:55 +01:00
if [ " ${ 3 } " = "windows" ] || [ " ${ 3 } " = "linux" ] || [ " ${ 3 } " = "osx" ] ; then
NAME_OS = " ${ 3 } "
2020-03-09 02:05:16 +01:00
if [ " ${ 4 } " = "" ] ; then
APP_DOMAIN = " app. ${ 2 } "
else
APP_DOMAIN = " ${ 4 } "
fi
2020-03-06 03:44:55 +01:00
_br
else
read_os " ${ 3 } "
read_app " ${ 4 } "
_s " ${ 4 } "
fi
PROTOCOLS = $( grep "\"protocol\"" /home/" ${ CP_DOMAIN } " /config/production/config.js)
PROTOCOL = $( echo " ${ PROTOCOLS } " | sed 's/.*"protocol":\s*"\(https\|http\).*/\1/' )
2020-01-09 05:16:37 +01:00
sh_progress
2020-06-18 23:49:00 +02:00
docker rm $( docker ps -aq) >>/var/log/docker_app_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-01-09 05:16:37 +01:00
sh_progress
2020-06-18 23:49:00 +02:00
docker rmi -f $( docker images -f 'dangling=true' -q) >>/var/log/docker_app_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-01-12 23:50:57 +01:00
sh_progress
2020-01-09 04:14:14 +01:00
docker run \
2021-01-13 23:14:55 +01:00
--rm \
2020-01-09 04:14:14 +01:00
-v /home/" ${ CP_DOMAIN } " /config/app/icons:/icons \
2021-10-29 04:01:27 +02:00
-v /home/" ${ CP_DOMAIN } " /config/app/" ${ NAME_OS } " :/cinemaapp \
2020-01-09 04:14:14 +01:00
cinemapress/app:latest \
--name " ${ CP_DOMAIN_ } " \
--platform " ${ NAME_OS } " \
--arch "x64" \
--app-copyright "CinemaPress App" \
2020-01-12 23:50:57 +01:00
--app-version " ${ CP_VER } " \
2020-01-09 04:14:14 +01:00
--icon "/icons/icon.png" \
--width "1280px" \
--height "800px" \
--min-width "0" \
--min-height "0" \
2020-02-24 04:24:26 +01:00
--user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0 CinemaPress App" \
2020-01-09 04:14:14 +01:00
--ignore-certificate \
--insecure \
2021-04-17 23:11:09 +02:00
--internal-urls ".*" \
2020-01-09 04:14:14 +01:00
--disable-context-menu \
--disable-dev-tools \
--single-instance \
--darwin-dark-mode-support \
--background-color "#1a2035" \
2020-06-17 22:49:10 +02:00
--verbose \
2020-01-09 04:14:14 +01:00
--win32metadata " {\"CompanyName\": \" ${ CP_DOMAIN } \",\"FileDescription\": \" ${ CP_DOMAIN } \",\"OriginalFilename\": \" ${ CP_DOMAIN } \",\"ProductName\": \" ${ CP_DOMAIN } \",\"InternalName\": \" ${ CP_DOMAIN } \"} " \
2020-03-06 03:44:55 +01:00
" ${ PROTOCOL } :// ${ APP_DOMAIN } " \
2021-10-29 04:01:27 +02:00
"/cinemaapp/" \
2020-01-09 04:14:14 +01:00
>>/var/log/docker_app_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-06-17 22:49:10 +02:00
sleep 10
2020-01-09 05:16:37 +01:00
sh_progress
2020-01-12 23:50:57 +01:00
rm -rf /home/${ CP_DOMAIN } /files/" ${ NAME_OS } "
mkdir -p /home/${ CP_DOMAIN } /files/" ${ NAME_OS } "
2020-06-18 23:49:00 +02:00
mv /home/${ CP_DOMAIN } /config/app/" ${ NAME_OS } " /* \
2020-03-09 04:11:51 +01:00
/home/${ CP_DOMAIN } /config/app/" ${ NAME_OS } " /app >/dev/null 2>& 1;
2020-02-24 04:24:26 +01:00
if [ -f /home/${ CP_DOMAIN } /config/app/" ${ NAME_OS } " /app/" ${ CP_DOMAIN_ } " .exe ] ; then
mv /home/${ CP_DOMAIN } /config/app/" ${ NAME_OS } " /app/" ${ CP_DOMAIN_ } " .exe \
/home/${ CP_DOMAIN } /config/app/" ${ NAME_OS } " /app/app.exe
fi
2020-01-12 23:50:57 +01:00
cd /home/${ CP_DOMAIN } /config/app/" ${ NAME_OS } " && \
2020-03-06 03:44:55 +01:00
zip -rq /home/${ CP_DOMAIN } /files/" ${ NAME_OS } " /app_" ${ CP_VER } " .zip app
2020-01-12 23:50:57 +01:00
rm -rf /home/${ CP_DOMAIN } /config/app/" ${ NAME_OS } "
2021-10-29 04:01:27 +02:00
docker image prune -af >>/var/log/docker_app_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-01-09 05:16:37 +01:00
sh_progress 100
_line
2020-06-17 22:49:10 +02:00
_header " /files/ ${ NAME_OS } /app_ ${ CP_VER } .zip "
2020-03-06 03:44:55 +01:00
_line
_br
exit 0
; ;
2021-04-18 23:41:39 +02:00
"splash" )
2020-03-06 03:44:55 +01:00
if [ " ${ 4 } " = "" ] ; then exit 0; fi
_br
sh_progress
PROTOCOLS = $( grep "\"protocol\"" /home/" ${ 2 } " /config/production/config.js)
PROTOCOL = $( echo " ${ PROTOCOLS } " | sed 's/.*"protocol":\s*"\(https\|http\).*/\1/' )
2021-04-18 23:41:39 +02:00
SPLASH_DOMAIN = " ${ PROTOCOL } :\/\/app. ${ 2 } "
if [ " ${ 6 } " != "" ] ; then SPLASH_DOMAIN = " ${ 6 // \/ / \\ \/ } " ; fi
GIT = ${ 5 :- github }
2020-03-06 03:44:55 +01:00
cd /home/" ${ 2 } " /files/splash && \
2020-03-08 23:23:08 +01:00
echo "config" >> .gitignore && \
echo "screen.html" >> .gitignore && \
2020-03-06 03:44:55 +01:00
git init >/dev/null 2>& 1; \
cp -rf config .git/config; \
cp -rf screen.html index.html; \
2021-04-18 00:02:17 +02:00
sed -Ei " s/\/\/example\.com/ ${ SPLASH_DOMAIN } /g " index.html; \
2020-03-06 03:44:55 +01:00
sed -Ei " s/config_name/ ${ 3 } /g " .git/config; \
sed -Ei " s/config_password/ ${ 4 } /g " .git/config; \
if [ " ${ GIT } " != "github" ] ; then
sed -Ei "s/github/gitlab/g" .git/config;
fi ;
git add . >/dev/null 2>& 1; \
git commit -a -m " ${ 3 } " >/dev/null 2>& 1; \
2021-01-19 02:38:22 +01:00
git branch -M main >/dev/null 2>& 1; \
git push -u origin main >/dev/null 2>& 1
2020-03-06 03:44:55 +01:00
sh_progress
sleep 20
sh_progress 100
_line
_header "DOMAIN NAME FOR SPLASH SCREEN"
_line
2020-03-08 23:19:24 +01:00
_header " ${ 3 } . ${ GIT } .io "
2020-01-09 05:16:37 +01:00
_line
2020-01-12 23:50:57 +01:00
_br
2020-01-09 05:16:37 +01:00
exit 0
2020-01-09 04:14:14 +01:00
; ;
2020-06-06 01:18:18 +02:00
"ms" | "mailserver" | "mail" | "setup.sh" | "./setup.sh" )
2021-03-27 22:14:28 +01:00
if [ " ${ 2 } " = "help" ] ; then
2021-03-27 23:10:58 +01:00
wget -qO /usr/bin/mailcinema https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/2527ebfaf2b3eee11b11c4ee589010e8c7a61a99/setup.sh
sed -Ei "s/\\\$0/cinemapress ms/" /usr/bin/mailcinema
chmod a+x /usr/bin/mailcinema
2020-06-06 01:18:18 +02:00
/usr/bin/mailcinema
elif [ " ${ 3 } " = "" ] ; then
2020-05-30 23:43:26 +02:00
read_domain " ${ 2 } "
sh_not
2020-06-07 01:30:37 +02:00
SSL_TYPE = ( )
SSL_DIR = ( )
if [ -d " /home/ ${ CP_DOMAIN } /config/production/nginx/ssl.d/live/ ${ CP_DOMAIN } / " ] ; then
SSL_TYPE = ( -e "SSL_TYPE=letsencrypt" )
SSL_DIR = ( -v /home/" ${ CP_DOMAIN } " /config/production/nginx/ssl.d:/etc/letsencrypt:ro)
fi
2020-05-30 23:43:26 +02:00
docker run \
-d \
--name mail \
--hostname " mail. ${ CP_DOMAIN } " \
--restart always \
--cap-add NET_ADMIN \
--cap-add SYS_PTRACE \
-v /var/docker-mailserver:/tmp/docker-mailserver \
2020-06-07 01:30:37 +02:00
" ${ SSL_DIR [@] } " \
2020-05-30 23:43:26 +02:00
-e ENABLE_SPAMASSASSIN = 1 \
-e SPAMASSASSIN_SPAM_TO_INBOX = 1 \
-e ENABLE_CLAMAV = 1 \
-e ENABLE_FAIL2BAN = 1 \
2020-06-07 01:30:37 +02:00
-e DMS_DEBUG = 1 \
" ${ SSL_TYPE [@] } " \
2020-05-30 23:43:26 +02:00
-p 25:25 \
-p 143:143 \
-p 465:465 \
-p 587:587 \
-p 993:993 \
cinemapress/mail
2021-03-27 23:10:58 +01:00
wget -qO /usr/bin/mailcinema https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/2527ebfaf2b3eee11b11c4ee589010e8c7a61a99/setup.sh
sed -Ei "s/\\\$0/cinemapress ms/" /usr/bin/mailcinema
chmod a+x /usr/bin/mailcinema
2020-06-01 20:45:31 +02:00
_br
2020-05-30 23:43:26 +02:00
_line
2020-06-07 01:30:37 +02:00
_header " MAIL SERVER ${ CP_DOMAIN } STARTED "
_line
printf " ${ Y } Type: ${ NC } ${ G } A ${ NC } "
_br
printf " ${ Y } Name: ${ NC } ${ G } mail. ${ CP_DOMAIN } ${ NC } "
_br
printf " ${ Y } Content: ${ NC } ${ G } IP of your server ${ NC } "
_br
_line
printf " ${ Y } Type: ${ NC } ${ G } A ${ NC } "
_br
printf " ${ Y } Name: ${ NC } ${ G } imap. ${ CP_DOMAIN } ${ NC } "
_br
printf " ${ Y } Content: ${ NC } ${ G } IP of your server ${ NC } "
_br
_line
printf " ${ Y } Type: ${ NC } ${ G } A ${ NC } "
_br
printf " ${ Y } Name: ${ NC } ${ G } smtp. ${ CP_DOMAIN } ${ NC } "
_br
printf " ${ Y } Content: ${ NC } ${ G } IP of your server ${ NC } "
_br
_line
printf " ${ Y } Type: ${ NC } ${ G } MX ${ NC } "
_br
printf " ${ Y } Name: ${ NC } ${ G } ${ CP_DOMAIN } ${ NC } "
_br
printf " ${ Y } Content: ${ NC } ${ G } mail. ${ CP_DOMAIN } ${ NC } "
_br
printf " ${ Y } Priority: ${ NC } ${ G } 1 ${ NC } "
_br
_line
printf " ${ Y } Type: ${ NC } ${ G } TXT ${ NC } "
_br
printf " ${ Y } Name: ${ NC } ${ G } ${ CP_DOMAIN } ${ NC } "
_br
printf " ${ Y } Content: ${ NC } ${ G } v=spf1 mx -all ${ NC } "
_br
2020-05-30 23:43:26 +02:00
_line
_br
else
/usr/bin/mailcinema " ${ 2 } " " ${ 3 } " " ${ 4 } " " ${ 5 } " " ${ 6 } " " ${ 7 } " " ${ 8 } " " ${ 9 } "
sleep 5
2020-06-01 20:45:31 +02:00
_br
2020-06-07 01:30:37 +02:00
if [ " ${ 3 } " = "dkim" ] && [ -d "/var/docker-mailserver/opendkim/keys" ] ; then
docker restart mail & >/dev/null
sleep 15
2020-06-01 20:45:31 +02:00
cd /var/docker-mailserver/opendkim/keys/ && for f in */; do
if [ -d " ${ f } " ] && [ -f " /var/docker-mailserver/opendkim/keys/ ${ f %%/ } /mail.txt " ] ; then
2020-06-07 01:30:37 +02:00
CONTENT_DKIM = ""
2020-05-30 23:43:26 +02:00
_header " ${ f %%/ } "
2020-06-07 01:30:37 +02:00
printf " ${ Y } Type: ${ NC } ${ G } TXT ${ NC } "
_br
printf " ${ Y } Name: ${ NC } ${ G } mail._domainkey ${ NC } "
_br
while IFS = read -r line; do CONTENT_DKIM_ONE = $( echo ${ line } | sed 's/.*"\(.*\)".*/\1/' ) ; CONTENT_DKIM = " ${ CONTENT_DKIM } ${ CONTENT_DKIM_ONE } " ; done < " /var/docker-mailserver/opendkim/keys/ ${ f %%/ } /mail.txt "
printf " ${ Y } Content: ${ NC } ${ G } ${ CONTENT_DKIM } ${ NC } "
_br
2020-05-30 23:43:26 +02:00
_line
_br
fi
done
fi
fi
exit 0
2020-05-26 04:24:44 +02:00
; ;
2020-09-13 21:26:45 +02:00
"temp" | "template" | "design" | "cinematheme" | "ct" | "uncss" )
2020-06-10 22:28:46 +02:00
read_domain " ${ 2 } "
2020-06-11 00:30:40 +02:00
sh_not
2020-09-13 21:26:45 +02:00
ARRAY_PAGE = ( )
2020-06-14 21:40:58 +02:00
if [ " ${ 3 } " = "-h" ] ; then
docker exec -it " ${ CP_DOMAIN_ } " /usr/bin/cinematheme -h
elif [ " ${ 3 } " != "" ] ; then
2020-06-13 00:28:24 +02:00
docker exec -it " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container cinematheme " ${ @ } "
2020-06-13 04:03:23 +02:00
else
_line
2020-06-14 00:07:06 +02:00
read -r -e -p '[Name Theme] -n ' NAME_THEME
2020-06-13 04:03:23 +02:00
_line
2020-06-14 00:07:06 +02:00
read -r -e -p '[URL Index] -i ' INDEX_PAGE
2020-06-13 04:03:23 +02:00
_line
2020-06-14 00:07:06 +02:00
read -r -e -p '[URL Movie] -m ' MOVIE_PAGE
2020-06-13 04:03:23 +02:00
_line
2020-06-14 00:07:06 +02:00
read -r -e -p '[URL Category] -c ' CATEGORY_PAGE
2020-06-13 04:03:23 +02:00
_line
2020-06-14 00:07:06 +02:00
read -r -e -p '[URL Categories] -s ' CATEGORIES_PAGE
2020-06-13 04:03:23 +02:00
_line
2020-06-14 00:07:06 +02:00
read -r -e -p '[URL Episode] -e ' EPISODE_PAGE
2020-06-13 04:03:23 +02:00
_line
2020-06-14 00:07:06 +02:00
read -r -e -p '[URL Picture] -p ' PICTURE_PAGE
2020-06-13 04:03:23 +02:00
_line
2020-06-14 00:07:06 +02:00
read -r -e -p '[URL Trailer] -t ' TRAILER_PAGE
2020-06-13 04:03:23 +02:00
_line
2020-06-14 00:07:06 +02:00
read -r -e -p '[URL Online] -o ' ONLINE_PAGE
2020-06-13 04:03:23 +02:00
_line
2020-06-14 00:07:06 +02:00
read -r -e -p '[URL Download] -d ' DOWNLOAD_PAGE
2020-06-13 04:03:23 +02:00
_line
_br
if [ " ${ NAME_THEME } " != "" ] ; then ARRAY_PAGE += ( -n " ${ NAME_THEME } " ) ; fi
if [ " ${ INDEX_PAGE } " != "" ] ; then ARRAY_PAGE += ( -i " ${ INDEX_PAGE } " ) ; fi
if [ " ${ MOVIE_PAGE } " != "" ] ; then ARRAY_PAGE += ( -m " ${ MOVIE_PAGE } " ) ; fi
if [ " ${ CATEGORY_PAGE } " != "" ] ; then ARRAY_PAGE += ( -c " ${ CATEGORY_PAGE } " ) ; fi
if [ " ${ CATEGORIES_PAGE } " != "" ] ; then ARRAY_PAGE += ( -s " ${ CATEGORIES_PAGE } " ) ; fi
if [ " ${ EPISODE_PAGE } " != "" ] ; then ARRAY_PAGE += ( -e " ${ EPISODE_PAGE } " ) ; fi
if [ " ${ PICTURE_PAGE } " != "" ] ; then ARRAY_PAGE += ( -p " ${ PICTURE_PAGE } " ) ; fi
if [ " ${ TRAILER_PAGE } " != "" ] ; then ARRAY_PAGE += ( -t " ${ TRAILER_PAGE } " ) ; fi
if [ " ${ ONLINE_PAGE } " != "" ] ; then ARRAY_PAGE += ( -o " ${ ONLINE_PAGE } " ) ; fi
if [ " ${ DOWNLOAD_PAGE } " != "" ] ; then ARRAY_PAGE += ( -d " ${ DOWNLOAD_PAGE } " ) ; fi
2020-09-13 21:26:45 +02:00
if [ " ${ 1 } " = "uncss" ] ; then
ARRAY_PAGE += ( --uncss) ;
docker exec -it " ${ CP_DOMAIN_ } " /usr/bin/cinematheme " ${ ARRAY_PAGE [@] } "
else
docker exec -it " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container cinematheme " ${ ARRAY_PAGE [@] } "
fi
2020-06-13 04:03:23 +02:00
_br
2020-06-13 00:28:24 +02:00
fi
2020-06-10 22:28:46 +02:00
exit 0
; ;
2020-01-06 23:57:25 +01:00
"cms" )
read_domain ${ 2 }
sh_yes
read_cms " ${ 3 } "
2020-01-18 04:09:13 +01:00
_s ${ 3 }
2020-01-06 23:57:25 +01:00
NAME_CMS = ${ NAME_CMS :- }
2020-01-18 04:09:13 +01:00
MYSQL_PASSWORD = " $( date +%s%N | sha256sum | base64 | head -c 12) "
2020-01-06 23:57:25 +01:00
MYSQL_DATABASE = " ${ CP_DOMAIN_ } "
MYSQL_USER = " ${ CP_DOMAIN_ } "
2020-01-07 23:41:31 +01:00
ADMIN_USER = "cinemaadmin"
2020-01-18 04:09:13 +01:00
ADMIN_PASSWORD = " $( date +%s%N | sha256sum | base64 | head -c 12) "
2020-04-05 23:00:45 +02:00
if [ " ${ NAME_CMS } " = "backup" ] && [ " ${ 4 } " = "create" ] ; then
2020-01-18 04:09:13 +01:00
if [ -f "/var/lib/cinemapress/dump/backup.sql" ] ; then
2020-01-06 23:57:25 +01:00
echo "ERROR: Backup file found /var/lib/cinemapress/dump/backup.sql"
exit 0
fi
2020-01-18 04:09:13 +01:00
docker exec mysql sh -c 'exec mysqldump -A -uroot' \
2020-01-06 23:57:25 +01:00
> "/var/lib/cinemapress/dump/backup.sql"
echo "SUCCESS: Backup file /var/lib/cinemapress/dump/backup.sql"
exit 0
fi
2020-04-05 23:00:45 +02:00
if [ " ${ NAME_CMS } " = "backup" ] && [ " ${ 4 } " = "restore" ] ; then
2020-01-06 23:57:25 +01:00
if [ ! -f "/var/lib/cinemapress/dump/restore.sql" ] ; then
echo "ERROR: Restore file not found /var/lib/cinemapress/dump/restore.sql"
exit 0
fi
2020-01-18 04:09:13 +01:00
docker exec -i mysql sh -c 'exec mysql -uroot' \
2020-01-06 23:57:25 +01:00
< "/var/lib/cinemapress/dump/restore.sql"
echo "SUCCESS: Restore file /var/lib/cinemapress/dump/restore.sql"
exit 0
fi
mkdir -p /var/lib/cinemapress/php
mkdir -p /var/lib/cinemapress/mysql
mkdir -p /var/lib/cinemapress/dump
2020-05-30 00:25:48 +02:00
mkdir -p /home/" ${ CP_DOMAIN } " /config/production/nginx/conf.d
mkdir -p /home/" ${ CP_DOMAIN } " /config/production/nginx/pass.d
mkdir -p /home/" ${ CP_DOMAIN } " /config/production/nginx/ssl.d
2021-01-11 04:24:36 +01:00
mkdir -p /home/" ${ CP_DOMAIN } " /config/production/nginx/any.d
2020-05-30 00:25:48 +02:00
mkdir -p /home/" ${ CP_DOMAIN } " /config/production/nginx/conf.d
mkdir -p /home/" ${ CP_DOMAIN } " /config/production/nginx/letsencrypt
2020-05-18 01:47:35 +02:00
if [ ! " $( docker network ls | grep cinemapress) " ] ; then
docker network create \
--driver bridge \
cinemapress
fi
if [ "`docker ps -aq -f status=running -f name=^/nginx\$ 2>/dev/null`" = "" ] ; then
if [ " ${ CP_IP } " = "domain" ] \
&& [ "`netstat -tunlp | grep 0.0.0.0:80`" = "" ] \
&& [ "`netstat -tunlp | grep :::80`" = "" ] ; then
# docker build -t cinemapress/nginx https://github.com/CinemaPress/CinemaPress.git#:config/default/nginx
docker run \
-d \
--name nginx \
--restart always \
--network cinemapress \
-v /var/log/nginx:/var/log/nginx \
-v /var/local/balancer:/var/local/balancer \
-v /home:/home \
-p 80:80 \
-p 443:443 \
cinemapress/nginx:latest
NGINX_RUN = 1
while [ " ${ NGINX_RUN } " != "50" ] ; do
sleep 3
NGINX_RUN = $(( 1 + ${ NGINX_RUN } ))
if [ "`docker ps -aq -f status=running -f name=^/nginx\$ 2>/dev/null`" != "" ] ; then
NGINX_RUN = 50
fi
done
fi
fi
2020-01-06 23:57:25 +01:00
if [ ! " $( docker ps -a | grep php) " ] ; then
docker run \
-d \
--name php \
--restart always \
--network cinemapress \
-v /home:/home \
2020-05-30 23:43:26 +02:00
cinemapress/php:latest
2020-01-06 23:57:25 +01:00
fi
if [ ! " $( docker ps -a | grep mysql) " ] ; then
docker run \
-d \
--name mysql \
--restart always \
--network cinemapress \
-v /var/lib/cinemapress/mysql:/var/lib/mysql \
2020-01-17 04:37:27 +01:00
-e MYSQL_ALLOW_EMPTY_PASSWORD = yes \
2020-01-06 23:57:25 +01:00
mariadb:10 \
--character-set-server= utf8mb4 \
--collation-server= utf8mb4_unicode_ci
fi
2020-01-17 04:37:27 +01:00
sleep 30
2020-01-06 23:57:25 +01:00
docker exec mysql sh -c \
2020-01-17 04:37:27 +01:00
" exec mysql -uroot -e \"FLUSH PRIVILEGES;CREATE DATABASE ${ MYSQL_DATABASE } /*\!40100 DEFAULT CHARACTER SET utf8mb4 */;CREATE USER ' ${ MYSQL_USER } '@'%' IDENTIFIED BY ' ${ MYSQL_PASSWORD } ';GRANT ALL PRIVILEGES ON ${ MYSQL_DATABASE } .* TO ' ${ MYSQL_USER } '@'%';FLUSH PRIVILEGES;\" "
sleep 30
2020-01-06 23:57:25 +01:00
docker exec mysql sh -c \
2020-01-17 04:37:27 +01:00
" exec mysql -uroot -e \"FLUSH PRIVILEGES;DROP USER ' ${ MYSQL_USER } '@'%';CREATE USER ' ${ MYSQL_USER } '@'%' IDENTIFIED BY ' ${ MYSQL_PASSWORD } ';GRANT ALL PRIVILEGES ON ${ MYSQL_DATABASE } .* TO ' ${ MYSQL_USER } '@'%';FLUSH PRIVILEGES;\" "
2020-01-07 23:41:31 +01:00
if [ ! " $( docker ps -a | grep adminer) " ] ; then
2020-01-06 23:57:25 +01:00
docker run \
-d \
2020-01-07 23:41:31 +01:00
--name adminer \
2020-09-27 20:30:15 +02:00
--restart always \
2020-01-06 23:57:25 +01:00
--network cinemapress \
2020-01-07 23:41:31 +01:00
-e ADMINER_DEFAULT_SERVER = mysql \
-e ADMINER_DESIGN = 'galkaev' \
adminer:fastcgi
OPENSSL = ` echo " ${ ADMIN_PASSWORD } " | openssl passwd -1 -stdin -salt CP`
echo " cinemaadmin: ${ OPENSSL } " > /home/${ CP_DOMAIN } /config/production/nginx/pass.d/${ CP_DOMAIN } .pass
2021-10-30 01:10:37 +02:00
else
ADMIN_PASSWORD = ""
2020-01-06 23:57:25 +01:00
fi
if [ " ${ NAME_CMS } " = "wordpress" ] ; then
2020-05-18 02:24:15 +02:00
wget -qO "wordpress.tar.gz" "https://wordpress.org/wordpress-latest.tar.gz"
2020-01-06 23:57:25 +01:00
tar -xzf "wordpress.tar.gz" -C /var
rm -rf "wordpress.tar.gz"
cp -rf /var/wordpress/* /home/${ CP_DOMAIN } /
2020-05-18 02:52:29 +02:00
{
echo "<?php"
echo " define( 'DB_NAME', ' ${ MYSQL_DATABASE } ' ); "
echo " define( 'DB_USER', ' ${ MYSQL_USER } ' ); "
echo " define( 'DB_PASSWORD', ' ${ MYSQL_PASSWORD } ' ); "
echo "define( 'DB_HOST', 'mysql' );"
echo "define( 'DB_CHARSET', 'utf8mb4' );"
echo "define( 'DB_COLLATE', '' );"
echo " define( 'AUTH_KEY', ' $( cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 64) ' ); "
echo " define( 'SECURE_AUTH_KEY', ' $( cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 64) ' ); "
echo " define( 'LOGGED_IN_KEY', ' $( cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 64) ' ); "
echo " define( 'NONCE_KEY', ' $( cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 64) ' ); "
echo " define( 'AUTH_SALT', ' $( cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 64) ' ); "
echo " define( 'SECURE_AUTH_SALT', ' $( cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 64) ' ); "
echo " define( 'LOGGED_IN_SALT', ' $( cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 64) ' ); "
echo " define( 'NONCE_SALT', ' $( cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 64) ' ); "
echo "\$table_prefix = 'wp_';"
echo "define( 'WP_DEBUG', false );"
echo "if ( ! defined( 'ABSPATH' ) ) {"
echo " define( 'ABSPATH', __DIR__ . '/' );"
echo "}"
echo "require_once ABSPATH . 'wp-settings.php';"
} >> /home/${ CP_DOMAIN } /wp-config.php
2020-01-06 23:57:25 +01:00
elif [ " ${ NAME_CMS } " = "drupal" ] ; then
2020-05-18 02:24:15 +02:00
wget -qO "drupal.tar.gz" "https://www.drupal.org/download-latest/tar.gz"
2020-01-06 23:57:25 +01:00
tar -xzf "drupal.tar.gz" -C /var
2021-10-30 01:10:37 +02:00
mv /var/drupal-*/* /var/drupal-*/.htaccess /var/drupal-*/.csslintrc /var/drupal-*/.editorconfig /var/drupal-*/.eslintignore /var/drupal-*/.eslintrc.json /var/drupal-*/.gitattributes /home/${ CP_DOMAIN } /
mkdir -p /home/${ CP_DOMAIN } /sites/default/files/translations
chmod a+w /home/${ CP_DOMAIN } /sites/default/files
chmod a+w /home/${ CP_DOMAIN } /sites/default/files/translations
cp /home/${ CP_DOMAIN } /sites/default/default.settings.php /home/${ CP_DOMAIN } /sites/default/settings.php
chmod a+w /home/${ CP_DOMAIN } /sites/default/settings.php
2020-01-06 23:57:25 +01:00
rm -rf "drupal.tar.gz"
elif [ " ${ NAME_CMS } " = "joomla" ] ; then
2021-10-30 01:10:37 +02:00
wget -qO "joomla3.tar.gz" "https://downloads.joomla.org/cms/joomla3/3-10-3/Joomla_3-10-3-Stable-Full_Package.tar.gz?format=gz"
2020-01-06 23:57:25 +01:00
tar -xzf "joomla3.tar.gz" -C /home/${ CP_DOMAIN } /
2021-10-30 01:10:37 +02:00
touch /home/${ CP_DOMAIN } /configuration.php
chmod 644 /home/${ CP_DOMAIN } /configuration.php
2020-01-06 23:57:25 +01:00
rm -rf "joomla3.tar.gz"
2020-01-17 06:24:00 +01:00
elif [ " ${ NAME_CMS } " = "dle" ] ; then
2020-05-18 02:24:15 +02:00
wget -qO "dle_trial.zip" "https://dle-news.ru/files/dle_trial.zip"
2020-01-17 06:24:00 +01:00
mkdir -p /var/dle
unzip "dle_trial.zip" -d /var/dle/
rm -rf "dle_trial.zip"
cp -rf /var/dle/upload/* /home/${ CP_DOMAIN } /
chmod 777 /home/${ CP_DOMAIN } /templates
chmod 777 $( find /home/${ CP_DOMAIN } /templates -type d)
chmod 666 $( find /home/${ CP_DOMAIN } /templates -type f)
chmod 777 /home/${ CP_DOMAIN } /backup
chmod 777 $( find /home/${ CP_DOMAIN } /backup -type d)
chmod 777 /home/${ CP_DOMAIN } /uploads
chmod 777 $( find /home/${ CP_DOMAIN } /uploads -type d)
chmod 777 /home/${ CP_DOMAIN } /engine/data
chmod 777 /home/${ CP_DOMAIN } /engine/cache
chmod 777 /home/${ CP_DOMAIN } /engine/cache/system
2020-01-06 23:57:25 +01:00
elif [ " ${ MYSQL_USER } " != "" ] && [ " ${ MYSQL_PASSWORD } " != "" ] && [ " ${ MYSQL_DATABASE } " != "" ] ; then
{
echo "<html>"
echo "<head>"
echo " <title>Hello CinemaPress</title>"
echo "</head>"
echo "<body>"
echo " <?php"
echo " \$link = mysqli_connect('mysql', ' ${ MYSQL_USER } ', ' ${ MYSQL_PASSWORD } ', ' ${ MYSQL_DATABASE } '); "
echo " if (!\$link) {"
echo " die('ERROR: ' . mysqli_error());"
echo " }"
echo " echo 'Hello, CinemaPress!';"
echo " mysqli_close(\$link);"
echo " ?>"
echo "</body>"
echo "</html>"
} >> /home/${ CP_DOMAIN } /index.php
else
{
echo "<html>"
echo "<head>"
echo " <title>Hello CinemaPress</title>"
echo "</head>"
echo "<body>"
echo " <?php"
echo " echo 'Hello, CinemaPress!';"
echo " ?>"
echo "</body>"
echo "</html>"
} >> /home/${ CP_DOMAIN } /index.php
fi
{
echo "server {"
echo " listen 80;"
echo " listen [::]:80;"
2020-05-30 00:25:48 +02:00
echo " #ssl include /home/ ${ CP_DOMAIN } /config/production/nginx/ssl.d/default.conf; "
2020-01-06 23:57:25 +01:00
echo " root /home/ ${ CP_DOMAIN } ; "
echo " index index.php index.html index.htm;"
echo " server_name . ${ CP_DOMAIN } ; "
echo " access_log /var/log/nginx/access_ ${ CP_DOMAIN } .log; "
echo " include /etc/nginx/bots.d/ddos.conf;"
echo " include /etc/nginx/bots.d/blockbots.conf;"
echo " keepalive_timeout 10;"
echo " client_max_body_size 64m;"
2020-09-29 21:47:16 +02:00
echo " if ( \$host ~* ^www\.(?<domain>.+) ) {"
2020-09-29 23:06:54 +02:00
echo " rewrite ^/(.*) $ \$scheme://\$domain/\$1 permanent; "
2020-01-06 23:57:25 +01:00
echo " }"
echo " if ( \$request_method !~ ^(GET|POST) $ ) { "
echo " return 444;"
echo " }"
echo " location ~* ^/(bin|.*\.sh|.*\.conf)( $|\/) { "
echo " return 404;"
echo " }"
2020-09-29 21:47:16 +02:00
echo " location / {"
echo " try_files \$uri \$uri/ /index.php?\$query_string;"
echo " }"
2020-01-06 23:57:25 +01:00
echo " location ~* \.php $ { "
echo " try_files \$uri \$uri/ /index.php last;"
echo " fastcgi_split_path_info (.+?\.php)(/.*) $; "
echo " fastcgi_pass php:9000;"
echo " fastcgi_index index.php;"
echo " include fastcgi_params;"
echo " fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;"
echo " fastcgi_param PATH_INFO \$fastcgi_path_info;"
echo " }"
echo " location ~* .php/ { rewrite (.*.php)/ \$1 last; }"
echo " location ~ \/cinemaadmin {"
2020-01-07 23:41:31 +01:00
echo " auth_basic \"Login Adminer!\";"
echo " auth_basic_user_file /home/ ${ CP_DOMAIN } /config/production/nginx/pass.d/ ${ CP_DOMAIN } .pass; "
2020-01-06 23:57:25 +01:00
echo " rewrite ^/cinemaadmin(/.*) $ \$1 break; "
2020-01-07 23:41:31 +01:00
echo " try_files \$uri \$uri/ /index.php last;"
echo " fastcgi_split_path_info (.+?\.php)(/.*) $; "
echo " fastcgi_pass adminer:9000;"
echo " fastcgi_index index.php;"
echo " include fastcgi_params;"
echo " fastcgi_param SCRIPT_FILENAME /var/www/html/index.php;"
echo " fastcgi_param DOCUMENT_ROOT /var/www/html/;"
2020-01-06 23:57:25 +01:00
echo " }"
echo " location ~ /\.ht {"
echo " deny all;"
echo " }"
echo " location = /favicon.ico {"
echo " log_not_found off; access_log off;"
echo " }"
echo " location = /robots.txt {"
echo " log_not_found off; access_log off; allow all;"
echo " }"
echo " location ~* \.(css|gif|ico|jpeg|jpg|js|png) $ { "
echo " expires max; log_not_found off;"
echo " }"
echo "}"
} >> /home/${ CP_DOMAIN } /config/production/nginx/conf.d/default.conf
2020-05-30 00:25:48 +02:00
{
echo "listen 443 ssl;"
echo "listen [::]:443 ssl;"
echo " ssl_certificate /home/ ${ CP_DOMAIN } /config/production/nginx/ssl.d/live/ ${ CP_DOMAIN } /fullchain.pem; "
echo " ssl_certificate_key /home/ ${ CP_DOMAIN } /config/production/nginx/ssl.d/live/ ${ CP_DOMAIN } /privkey.pem; "
echo " ssl_dhparam /home/ ${ CP_DOMAIN } /config/production/nginx/ssl.d/live/ ${ CP_DOMAIN } /dhparam.pem; "
echo "ssl_session_cache shared:SSL:10m;"
echo "ssl_session_timeout 1d;"
echo "ssl_stapling on;"
echo "ssl_stapling_verify on;"
echo "ssl_prefer_server_ciphers on;"
echo "ssl_protocols TLSv1.2;"
echo "ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;"
echo "resolver 1.1.1.1;"
echo "resolver_timeout 10s;"
echo "add_header X-Content-Type-Options \"nosniff\";"
echo "add_header Strict-Transport-Security \"max-age=31536000; includeSubDomains\" always;"
2020-05-30 00:29:19 +02:00
} >> /home/" ${ CP_DOMAIN } " /config/production/nginx/ssl.d/default.conf
2020-05-18 02:19:29 +02:00
if [ "`docker ps -aq -f status=running -f name=^/nginx\$ 2>/dev/null`" != "" ] ; then
2020-05-18 02:24:15 +02:00
docker exec nginx nginx -s reload
2020-05-18 02:19:29 +02:00
fi
2020-01-06 23:57:25 +01:00
_line
_header " ${ NAME_CMS } "
2020-01-07 23:41:31 +01:00
_line
2020-01-06 23:57:25 +01:00
echo " Website: http:// ${ CP_DOMAIN } "
2020-01-07 23:41:31 +01:00
echo "MYSQL HOST: mysql"
2020-01-06 23:57:25 +01:00
if [ " ${ MYSQL_DATABASE } " != "" ] ; then echo " MYSQL DATABASE: ${ MYSQL_DATABASE } " ; fi ;
if [ " ${ MYSQL_USER } " != "" ] ; then echo " MYSQL USER: ${ MYSQL_USER } " ; fi ;
if [ " ${ MYSQL_PASSWORD } " != "" ] ; then echo " MYSQL PASSWORD: ${ MYSQL_PASSWORD } " ; fi ;
2021-10-30 01:10:37 +02:00
if [ " ${ ADMIN_PASSWORD } " != "" ] ; then
echo " Adminer: http:// ${ CP_DOMAIN } /cinemaadmin "
if [ " ${ ADMIN_USER } " != "" ] ; then echo " USER: ${ ADMIN_USER } " ; fi ;
if [ " ${ ADMIN_PASSWORD } " != "" ] ; then echo " PASSWORD: ${ ADMIN_PASSWORD } " ; fi ;
fi
2020-01-06 23:57:25 +01:00
_line
exit 0
; ;
2020-05-29 22:26:21 +02:00
"redirect" )
if [ " ${ 2 } " = "" ] || [ " ${ 3 } " = "" ] ; then
echo "ERROR: cinemapress redirect example.co hd.example.com"
exit 0
fi
mkdir -p /home/" ${ 2 } " /config/production/nginx/ssl.d
2020-05-29 23:58:24 +02:00
mkdir -p /home/" ${ 2 } " /config/production/nginx/conf.d
mkdir -p /home/" ${ 2 } " /config/production/nginx/letsencrypt
2020-05-29 22:26:21 +02:00
touch /home/" ${ 2 } " /index.php
{
echo "server {"
echo " listen 80;"
echo " listen [::]:80;"
echo " #ssl include /home/ ${ 2 } /config/production/nginx/ssl.d/default.conf; "
echo " server_name . ${ 2 } ; "
echo " return 301 \$scheme:// ${ 3 } \$request_uri; "
echo "}"
2020-05-30 00:41:42 +02:00
} > /home/" ${ 2 } " /config/production/nginx/conf.d/default.conf
2020-05-31 01:18:06 +02:00
if [ " ${ 4 } " = "bot" ] ; then
{
echo "server {"
echo " listen 80;"
echo " listen [::]:80;"
echo " #ssl include /home/ ${ 2 } /config/production/nginx/ssl.d/default.conf; "
echo " server_name . ${ 2 } ; "
echo " if ( \$http_user_agent ~* (google|yandex|bing|yahoo|baidu|duckduckgo|mail|ask|aol|msn) ) {"
echo " return 301 \$scheme:// ${ 3 } \$request_uri; "
echo " }"
echo " return 444;"
echo "}"
} > /home/" ${ 2 } " /config/production/nginx/conf.d/default.conf
fi
2020-05-30 00:25:48 +02:00
{
echo "listen 443 ssl;"
echo "listen [::]:443 ssl;"
echo " ssl_certificate /home/ ${ 2 } /config/production/nginx/ssl.d/live/ ${ 2 } /fullchain.pem; "
echo " ssl_certificate_key /home/ ${ 2 } /config/production/nginx/ssl.d/live/ ${ 2 } /privkey.pem; "
echo " ssl_dhparam /home/ ${ 2 } /config/production/nginx/ssl.d/live/ ${ 2 } /dhparam.pem; "
echo "ssl_session_cache shared:SSL:10m;"
echo "ssl_session_timeout 1d;"
echo "ssl_stapling on;"
echo "ssl_stapling_verify on;"
echo "ssl_prefer_server_ciphers on;"
echo "ssl_protocols TLSv1.2;"
echo "ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;"
echo "resolver 1.1.1.1;"
echo "resolver_timeout 10s;"
echo "add_header X-Content-Type-Options \"nosniff\";"
echo "add_header Strict-Transport-Security \"max-age=31536000; includeSubDomains\" always;"
2020-05-30 00:41:42 +02:00
} > /home/" ${ 2 } " /config/production/nginx/ssl.d/default.conf
2020-05-29 22:26:21 +02:00
if [ -d " /home/ ${ 2 } /config/production/nginx/ssl.d/live/ ${ 2 } / " ] || \
[ -d " /home/ ${ 2 } /config/production/nginx/ssl.d/self-signed/ ${ 2 } / " ] ; then
sed -Ei " s/ #ssl include \/home\/ ${ 2 } \/config\/production\/nginx\/ssl\.d\/default\.conf;/ include \/home\/ ${ 2 } \/config\/production\/nginx\/ssl.d\/default.conf;/ " \
" /home/ ${ 2 } /config/production/nginx/conf.d/default.conf "
fi
2020-05-29 22:36:25 +02:00
NGINX_STATUS = $( docker exec -t nginx nginx -t | grep successful)
if [ " ${ NGINX_STATUS } " != "" ] ; then
docker exec nginx nginx -s reload >/dev/null
echo " REDIRECT ${ 2 } -> ${ 3 } "
else
echo "ERROR NGINX:"
docker exec -t nginx nginx -t
fi
2020-05-29 22:26:21 +02:00
exit 0
; ;
2020-03-08 00:18:40 +01:00
"static" )
read_domain " ${ 2 } "
sh_not
2020-12-01 00:26:47 +01:00
if [ " ${ 4 } " != "" ] ; then
if [ " ${ 3 } " = "config" ] ; then
docker exec " ${ CP_DOMAIN_ } " rclone config create CINEMASTATIC mega user " ${ 4 } " pass " ${ 5 } " \
>>/var/log/docker_static_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2021-02-03 02:34:29 +01:00
elif [ " ${ 3 } " = "ftp" ] ; then
docker exec " ${ CP_DOMAIN_ } " rclone config create CINEMASTATIC ftp user " ${ 4 } " pass " ${ 5 } " host " ${ 6 } " \
>>/var/log/docker_static_" $( date '+%d_%m_%Y' ) " .log 2>& 1
2020-03-18 22:03:48 +01:00
else
2021-02-02 07:52:55 +01:00
RCS = $( docker exec -t " ${ CP_DOMAIN_ } " rclone config show 2>/dev/null | grep "CINEMASTATIC" )
2020-12-01 00:26:47 +01:00
if [ " ${ RCS } " = "" ] ; then
docker exec " ${ CP_DOMAIN_ } " rclone config create CINEMASTATIC mega user " ${ 3 } " pass " ${ 4 } " \
>>/var/log/docker_static_" $( date '+%d_%m_%Y' ) " .log 2>& 1
fi
fi
sleep 10
2021-02-02 07:52:55 +01:00
CHECK_MKDIR = $( docker exec -t " ${ CP_DOMAIN_ } " rclone mkdir CINEMASTATIC:/check-connection 2>/dev/null)
2020-12-01 00:26:47 +01:00
sleep 3
2021-04-22 00:42:02 +02:00
CHECK_RMDIR = $( docker exec -t " ${ CP_DOMAIN_ } " rclone rmdir CINEMASTATIC:/check-connection 2>/dev/null)
if [ " ${ CHECK_MKDIR } " != "" ] || [ " ${ CHECK_RMDIR } " != "" ] ; then
2020-12-01 00:26:47 +01:00
_header "ERROR"
_content
_content "Cannot connect to backup storage."
_content
_s
2020-03-08 00:18:40 +01:00
exit 0
fi
2020-12-01 00:26:47 +01:00
cp -r /home/" ${ CP_DOMAIN } " /config/production/rclone.conf /var/rclone.conf
2020-03-08 00:18:40 +01:00
fi
2021-02-03 02:34:29 +01:00
if [ " ${ 3 } " = "restore" ] || [ " ${ 5 } " = "restore" ] || [ " ${ 6 } " = "restore" ] || [ " ${ 7 } " = "restore" ] ; then
2020-05-11 01:25:25 +02:00
sleep 3; docker exec " ${ CP_DOMAIN_ } " rclone -vv copy CINEMASTATIC:${ CP_DOMAIN } /static.tar /home/${ CP_DOMAIN } /
2020-03-08 00:18:40 +01:00
cd /home/${ CP_DOMAIN } && tar -xf /home/${ CP_DOMAIN } /static.tar
rm -rf /home/${ CP_DOMAIN } /static.tar
2020-05-11 01:25:25 +02:00
sleep 3; docker exec " ${ CP_DOMAIN_ } " rclone -vv copy CINEMASTATIC:${ CP_DOMAIN } /app.tar /home/${ CP_DOMAIN } /
2020-04-15 04:02:53 +02:00
if [ -f " /home/ ${ CP_DOMAIN } /app.tar " ] ; then
cd /home/${ CP_DOMAIN } && tar -xf /home/${ CP_DOMAIN } /app.tar
rm -rf /home/${ CP_DOMAIN } /app.tar
fi
2021-02-03 02:34:29 +01:00
elif [ " ${ 3 } " = "create" ] || [ " ${ 5 } " = "create" ] || [ " ${ 6 } " = "create" ] || [ " ${ 7 } " = "create" ] ; then
2020-03-23 00:25:19 +01:00
cd /home/${ CP_DOMAIN } && tar -uf /home/${ CP_DOMAIN } /static.tar \
files/poster \
files/picture
if [ -d " /home/ ${ CP_DOMAIN } /files/windows " ] ; then
cd /home/${ CP_DOMAIN } && tar -uf /home/${ CP_DOMAIN } /app.tar \
files/windows \
files/linux \
files/osx & >/dev/null
2021-04-22 00:46:24 +02:00
sleep 3; docker exec " ${ CP_DOMAIN_ } " rclone -vv delete CINEMASTATIC:${ CP_DOMAIN } /app.tar
2021-01-11 02:04:43 +01:00
sleep 10; docker exec " ${ CP_DOMAIN_ } " rclone -vv cleanup CINEMASTATIC:
2020-05-11 01:25:25 +02:00
sleep 10; docker exec " ${ CP_DOMAIN_ } " rclone -vv copy /home/${ CP_DOMAIN } /app.tar CINEMASTATIC:${ CP_DOMAIN } /
2020-03-23 00:25:19 +01:00
fi
2021-04-22 00:46:24 +02:00
sleep 3; docker exec " ${ CP_DOMAIN_ } " rclone -vv delete CINEMASTATIC:${ CP_DOMAIN } /static.tar
2021-01-11 02:04:43 +01:00
sleep 10; docker exec " ${ CP_DOMAIN_ } " rclone -vv cleanup CINEMASTATIC:
2020-05-11 01:25:25 +02:00
sleep 10; docker exec " ${ CP_DOMAIN_ } " rclone -vv copy /home/${ CP_DOMAIN } /static.tar CINEMASTATIC:${ CP_DOMAIN } /
2020-03-23 00:25:19 +01:00
rm -rf /home/${ CP_DOMAIN } /static.tar /home/${ CP_DOMAIN } /app.tar
2020-03-08 00:18:40 +01:00
fi
2020-04-09 20:35:18 +02:00
exit 0
2020-03-08 00:18:40 +01:00
; ;
2021-02-20 08:19:24 +01:00
"scp" )
if [ " ${ 2 } " = "" ] || [ " ${ 3 } " = "" ] ; then
exit 0
fi
read_domain " ${ 2 } "
scp -r -q root@" ${ 3 } " :/var/lib/sphinx/data/movies_" ${ CP_DOMAIN_ } " * /var/lib/sphinx/data/
exit 0
; ;
2020-12-02 04:30:17 +01:00
"cf" | "subdomains" | "sub" )
_br " ${ 4 } "
2020-12-01 00:26:47 +01:00
read_domain " ${ 2 } "
2020-12-02 04:30:17 +01:00
read_cloudflare_email " ${ 3 } "
read_cloudflare_api_key " ${ 4 } "
_s " ${ 4 } "
CLOUDFLARE_ZONE_ID = $( curl -s -X GET " https://api.cloudflare.com/client/v4/zones?name= ${ CP_DOMAIN } " \
-H " X-Auth-Email: ${ CLOUDFLARE_EMAIL } " \
-H " X-Auth-Key: ${ CLOUDFLARE_API_KEY } " \
-H "Content-Type: application/json" | \
sed -rn 's/.*"result":\[\{"id":"([A-Za-z0-9]*)".*/\1/p' )
if [ " ${ CLOUDFLARE_ZONE_ID } " = "" ] ; then
_line
printf " ${ Y } ☐ ZONE NOT FOUND [ ${ NC } ${ CP_DOMAIN } ${ Y } ]\n ${ NC } "
_line
exit 0
fi
if [ -f " /home/ ${ CP_DOMAIN } /files/ ${ CP_DOMAIN } .sub.txt " ] ; then
STATUS1 = $( curl -s -X POST " https://api.cloudflare.com/client/v4/zones/ ${ CLOUDFLARE_ZONE_ID } /dns_records/import " \
-H " X-Auth-Email: ${ CLOUDFLARE_EMAIL } " \
-H " X-Auth-Key: ${ CLOUDFLARE_API_KEY } " \
--form " file=@/home/ ${ CP_DOMAIN } /files/ ${ CP_DOMAIN } .sub.txt " \
--form 'proxied=false' | \
sed -rn 's/.*"success":(true|false).*/\1/p' )
_line
if [ " ${ STATUS1 } " = "true" ] ; then
printf " ${ G } ✓ SUCCESS [ ${ NC } ${ CP_DOMAIN } .sub.txt ${ G } ]\n ${ NC } "
else
printf " ${ R } ☐ ERROR [ ${ NC } ${ CP_DOMAIN } .sub.txt ${ R } ]\n ${ NC } "
fi
2020-12-01 00:26:47 +01:00
fi
2020-12-02 04:30:17 +01:00
if [ -f " /home/ ${ CP_DOMAIN } /files/ ${ CP_DOMAIN } .proxied.sub.txt " ] ; then
STATUS2 = $( curl -s -X POST " https://api.cloudflare.com/client/v4/zones/ ${ CLOUDFLARE_ZONE_ID } /dns_records/import " \
-H " X-Auth-Email: ${ CLOUDFLARE_EMAIL } " \
-H " X-Auth-Key: ${ CLOUDFLARE_API_KEY } " \
--form " file=@/home/ ${ CP_DOMAIN } /files/ ${ CP_DOMAIN } .proxied.sub.txt " \
--form 'proxied=true' | \
sed -rn 's/.*"success":(true|false).*/\1/p' )
_line
if [ " ${ STATUS2 } " = "true" ] ; then
printf " ${ G } ✓ SUCCESS [ ${ NC } ${ CP_DOMAIN } .proxied.sub.txt ${ G } ]\n ${ NC } "
else
printf " ${ R } ☐ ERROR [ ${ NC } ${ CP_DOMAIN } .proxied.sub.txt ${ R } ]\n ${ NC } "
fi
fi
if [ " ${ STATUS1 } " != "" ] || [ " ${ STATUS2 } " != "" ] ; then _s; fi
2020-12-01 00:26:47 +01:00
exit 0
; ;
2021-01-12 00:37:29 +01:00
"debug" )
CRASH = ( )
CRASH += ( "
---------------------------------------------------
" )
CRASH += ( "TOP" )
CRASH += ( "
---------------------------------------------------
" )
CRASH += ( " $( top -b -n 1) " )
CRASH += ( "
---------------------------------------------------
" )
CRASH += ( "DF" )
CRASH += ( "
---------------------------------------------------
" )
CRASH += ( " $( df -h) " )
CRASH += ( "
---------------------------------------------------
" )
CRASH += ( "DOCKER STATS" )
CRASH += ( "
---------------------------------------------------
" )
CRASH += ( " $( docker stats -a --no-stream) " )
CRASH += ( "
---------------------------------------------------
" )
CRASH += ( "DOCKER PS" )
CRASH += ( "
---------------------------------------------------
" )
2021-01-13 02:39:03 +01:00
CRASH += ( " $( docker ps -a) " )
2021-01-12 00:37:29 +01:00
CRASH += ( "
---------------------------------------------------
" )
CRASH += ( "PS" )
CRASH += ( "
---------------------------------------------------
" )
CRASH += ( " $( ps auxf) " )
CRASH += ( "
---------------------------------------------------
" )
for D in /home/*; do
if [ -f " ${ D } /process.json " ] || [ -f " ${ D } /index.php " ] ; then
DD = $( find " ${ D } " -maxdepth 0 -printf "%f" )
DD_ = $( echo " ${ DD } " | sed -r "s/[^A-Za-z0-9]/_/g" )
2021-02-13 08:19:09 +01:00
if [ " $( docker ps -aq -f status = running -f name = ^/" ${ DD_ } " \$ 2>/dev/null) " != "" ] ; then
CRASH += ( " PING ${ DD } " )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
2021-02-13 08:19:09 +01:00
CRASH += ( " $( docker exec -t " ${ DD_ } " cinemapress ping 2>/dev/null) " )
CRASH += ( "
2021-02-13 07:24:23 +01:00
---------------------------------------------------
" )
2021-02-13 08:19:09 +01:00
CRASH += ( " PS ${ DD } " )
CRASH += ( "
2021-02-04 03:14:01 +01:00
---------------------------------------------------
" )
2021-02-13 08:19:09 +01:00
CRASH += ( " $( docker exec -t " ${ DD_ } " ps 2>/dev/null) " )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
2021-02-13 08:19:09 +01:00
CRASH += ( "PM2 LIST" )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
2021-02-13 08:19:09 +01:00
CRASH += ( " $( docker exec -t " ${ DD_ } " pm2 list 2>/dev/null) " )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
2021-02-13 08:19:09 +01:00
CRASH += ( "PM2 ERR" )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
2021-02-13 08:19:09 +01:00
CRASH += ( " $( docker exec -t " ${ DD_ } " pm2 logs --err --lines 50 --nostream 2>/dev/null) " )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
2021-02-13 08:19:09 +01:00
CRASH += ( "PM2 OUT" )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
2021-02-13 08:19:09 +01:00
CRASH += ( " $( docker exec -t " ${ DD_ } " pm2 logs --out --lines 50 --nostream 2>/dev/null) " )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
2021-02-13 08:19:09 +01:00
CRASH += ( " CRON LOG ${ DD } " )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
2021-02-13 08:19:09 +01:00
CRASH += ( " $( docker exec -t " ${ DD_ } " tail -n 50 " /home/ ${ DD } /log/cron_ $( date '+%d_%m_%Y' ) .log " | grep -v CP_save) " )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
2021-02-04 03:14:01 +01:00
" )
2021-02-13 08:19:09 +01:00
fi
CRASH += ( " NGINX ACCESS ${ DD } " )
2021-02-04 03:14:01 +01:00
CRASH += ( "
---------------------------------------------------
" )
2021-02-13 08:19:09 +01:00
CRASH += ( " $( tail -n 50 " /var/log/nginx/access_ ${ DD } .log " ) " )
2021-02-04 03:14:01 +01:00
CRASH += ( "
---------------------------------------------------
2021-01-12 00:37:29 +01:00
" )
2021-01-13 02:25:32 +01:00
fi
done
CRASH += ( "NGINX ACCESS" )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
2021-01-13 02:25:32 +01:00
CRASH += ( " $( tail -n 50 /var/log/nginx/access.log) " )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
2021-01-13 02:25:32 +01:00
CRASH += ( "NGINX ERROR" )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
2021-01-13 02:25:32 +01:00
CRASH += ( " $( tail -n 50 /var/log/nginx/error.log) " )
CRASH += ( "
2021-01-12 00:37:29 +01:00
---------------------------------------------------
" )
DEBUG_URL = $( echo " ${ CRASH [@] } " | curl -s -F 'clbin=<-' https://clbin.com)
2021-01-13 04:01:23 +01:00
_br
2021-01-12 00:37:29 +01:00
_header "DEBUG LOGS"
_content
_content " ${ DEBUG_URL } ?hl "
_content
_s
exit 0
; ;
2021-03-15 21:52:52 +01:00
"people" )
_br " ${ 3 } "
read_domain " ${ 2 } "
read_theme " ${ 3 } "
_s " ${ 3 } "
if [ " ${ CP_DOMAIN } " = "" ] || [ " ${ CP_THEME } " = "" ] ; then
2021-03-16 19:47:43 +01:00
exit 0
fi
PEOPLE_INFO = "jpg"
if [ " ${ 4 } " = "json" ] || [ " ${ 4 } " = "jpg" ] || [ " ${ 4 } " = "all" ] ; then
PEOPLE_INFO = " ${ 4 } "
fi
PEOPLE_LANG = "ru"
if [ " ${ 5 } " = "ru" ] || [ " ${ 5 } " = "en" ] || [ " ${ 5 } " = "all" ] ; then
PEOPLE_LANG = " ${ 5 } "
fi
PEOPLE_CACHE = ""
if [ " ${ 6 } " = "cache" ] ; then
PEOPLE_CACHE = " ${ 6 } "
2021-03-15 21:52:52 +01:00
fi
if [ " ${ CP_OS } " = "debian" ] || [ " ${ CP_OS } " = "\"debian\"" ] || \
[ " ${ CP_OS } " = "ubuntu" ] || [ " ${ CP_OS } " = "\"ubuntu\"" ] ; then
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install jq
elif [ " ${ CP_OS } " = "fedora" ] || [ " ${ CP_OS } " = "\"fedora\"" ] ; then
dnf -y install jq
elif [ " ${ CP_OS } " = "centos" ] || [ " ${ CP_OS } " = "\"centos\"" ] ; then
yum install -y jq
fi
api = "https://api.themoviedb.org/3/person/id?api_key=269890f657dddf4635473cf4cf456576&language=ru"
2021-03-16 20:30:37 +01:00
if [ " ${ PEOPLE_LANG } " = "en" ] ; then
api = "https://api.themoviedb.org/3/person/id?api_key=269890f657dddf4635473cf4cf456576&language=en"
fi
2021-03-16 19:47:43 +01:00
tmp_dir = "/var/tmp-people"
mkdir -p " ${ tmp_dir } "
json_dir = "/var/json-people"
mkdir -p " ${ json_dir } "
if [ " ${ PEOPLE_INFO } " = "all" ] || [ " ${ PEOPLE_INFO } " = "jpg" ] ; then
people_images = " /home/ ${ CP_DOMAIN } /files/poster/people "
mkdir -p " ${ people_images } "
fi
if [ " ${ PEOPLE_INFO } " = "all" ] || [ " ${ PEOPLE_INFO } " = "json" ] ; then
director_dir = " /home/ ${ CP_DOMAIN } /themes/ ${ CP_THEME } /views/director "
actor_dir = " /home/ ${ CP_DOMAIN } /themes/ ${ CP_THEME } /views/actor "
director_dir_tmp = " ${ tmp_dir } /director "
actor_dir_tmp = " ${ tmp_dir } /actor "
mkdir -p " ${ director_dir_tmp } "
mkdir -p " ${ actor_dir_tmp } "
mkdir -p " ${ director_dir } "
mkdir -p " ${ actor_dir } "
rm -rf " ${ director_dir } "
rm -rf " ${ actor_dir } "
fi
2021-03-15 21:52:52 +01:00
for l in { 1..10} ; do
start = $(( l * 310000 - 309999 ))
stop = $(( l * 310000 ))
( for ( ( i = start; i<= stop; i++ ) ) ; do
people_url = " ${ api //id/ ${ i } } "
2021-03-16 19:47:43 +01:00
people = " ${ json_dir } / ${ i } .json "
if [ " ${ PEOPLE_CACHE } " = "cache" ] ; then
if [ ! -f " ${ people } " ] ; then
wget " ${ people_url } " -qO " ${ people } "
fi
else
wget " ${ people_url } " -qO " ${ people } "
fi
2021-03-15 21:52:52 +01:00
if [ ! -f " ${ people } " ] ; then
rm -f " ${ people } "
continue
fi
people_json = " $( cat " ${ people } " ) "
profile_path = $( echo " ${ people_json } " | jq -r ".profile_path" )
if [ " ${ profile_path } " = "null" ] || [ " ${ profile_path } " = "" ] ; then
rm -f " ${ people } "
continue
fi
adult = $( echo " ${ people_json } " | jq -r ".adult" )
if [ " ${ adult } " != "false" ] ; then
rm -f " ${ people } "
continue
fi
name = $( echo " ${ people_json } " | jq -r ".name" )
2021-03-16 19:47:43 +01:00
if [ " ${ PEOPLE_INFO } " = "all" ] || [ " ${ PEOPLE_INFO } " = "jpg" ] ; then
if [ " ${ PEOPLE_CACHE } " = "cache" ] ; then
if [ ! -f " ${ people_images } / ${ name } .jpg " ] ; then
wget " https://image.tmdb.org/t/p/w185 ${ profile_path } " -qO " ${ people_images } / ${ name } .jpg "
fi
else
wget " https://image.tmdb.org/t/p/w185 ${ profile_path } " -qO " ${ people_images } / ${ name } .jpg "
fi
echo " ${ i } / ${ stop } ) ${ name } .jpg "
fi
if [ " ${ PEOPLE_INFO } " = "all" ] || [ " ${ PEOPLE_INFO } " = "json" ] ; then
known_for_department = $( echo " ${ people_json } " | jq -r ".known_for_department" )
department = ""
if [ " ${ known_for_department } " = "Directing" ] ; then
department = " ${ director_dir_tmp } "
else
department = " ${ actor_dir_tmp } "
fi
mv " ${ people } " " ${ department } / ${ name } .json " & >/dev/null
echo " ${ i } / ${ stop } ) ${ name } .json "
fi
if [ " ${ PEOPLE_LANG } " = "all" ] || [ " ${ PEOPLE_LANG } " = "ru" ] ; then
also_known_as = $( echo " ${ people_json } " | jq -r ".also_known_as[] | @base64" )
for row in ${ also_known_as } ; do
other_name = " $( echo " ${ row } " | base64 --decode) "
other_name = " ${ other_name //Ё/Е } "
other_name = " ${ other_name //ё/е } "
if [ " ${ PEOPLE_LANG } " = "all" ] ; then
if [ " ${ PEOPLE_INFO } " = "all" ] || [ " ${ PEOPLE_INFO } " = "json" ] ; then
cd " ${ department } " && ln -s " ${ name } .json " " ${ other_name } .json " & >/dev/null
fi
if [ " ${ PEOPLE_INFO } " = "all" ] || [ " ${ PEOPLE_INFO } " = "jpg" ] ; then
cd " ${ people_images } " && ln -s " ${ name } .jpg " " ${ other_name } .jpg " & >/dev/null
fi
echo " ${ i } / ${ stop } ) ${ name } » ${ other_name } "
else
cyrillic = " $( echo " ${ other_name } " | grep -Eo "[А -Яа-я]*" ) "
if [ -n " ${ cyrillic } " ] ; then
if [ " ${ PEOPLE_INFO } " = "all" ] || [ " ${ PEOPLE_INFO } " = "json" ] ; then
cd " ${ department } " && ln -s " ${ name } .json " " ${ other_name } .json " & >/dev/null
fi
if [ " ${ PEOPLE_INFO } " = "all" ] || [ " ${ PEOPLE_INFO } " = "jpg" ] ; then
cd " ${ people_images } " && ln -s " ${ name } .jpg " " ${ other_name } .jpg " & >/dev/null
fi
echo " ${ i } / ${ stop } ) ${ name } » ${ other_name } "
fi
fi
done
2021-03-15 21:52:52 +01:00
fi
done ) &
done
wait
2021-03-16 19:47:43 +01:00
if [ " ${ PEOPLE_INFO } " = "all" ] || [ " ${ PEOPLE_INFO } " = "json" ] ; then
mv " ${ actor_dir_tmp } " " ${ actor_dir } "
mv " ${ director_dir_tmp } " " ${ director_dir } "
fi
2021-03-15 21:52:52 +01:00
rm -rf " ${ tmp_dir } "
exit 0
; ;
2020-05-03 01:46:17 +02:00
"ping" )
2021-01-13 04:01:23 +01:00
curl -s --fail http://localhost:3000/ping || exit 1
exit 0
; ;
"uptimerobot" )
2021-01-15 00:46:04 +01:00
MIN = $( date '+%M' )
if [ " ${ MIN } " = "00" ] || [ " ${ MIN } " = "01" ] ; then
2021-01-19 05:18:27 +01:00
rm -f "/home/.uptimerobot"
2021-01-15 00:46:04 +01:00
for D_MIN in /home/*; do
DD_MIN = $( find " ${ D_MIN } " -maxdepth 0 -printf "%f" )
rm -f " /home/ ${ DD_MIN } /.uptimerobot "
done
fi
2021-01-14 04:18:36 +01:00
if [ -n " ${ 2 } " ] && [ " ${ 2 } " != "push" ] ; then
2021-01-13 04:01:23 +01:00
[ -f " /home/ ${ 2 } /app.js " ] || [ -f " /home/ ${ 2 } /index.php " ] || exit 0
2021-01-19 05:18:27 +01:00
[ ! -f "/home/.uptimerobot" ] || [ ! -f " /home/ ${ 2 } /.uptimerobot " ] || exit 0
2021-01-18 05:39:36 +01:00
touch " /home/ ${ 2 } /.uptimerobot "
2021-01-19 23:00:10 +01:00
sleep $(( ( " ${ RANDOM } " % 30 ) ))
2021-01-13 04:01:23 +01:00
DD = ${ 2 }
DD_ = $( echo " ${ 2 } " | sed -r "s/[^A-Za-z0-9]/_/g" )
PONG1 = $( docker exec -t " ${ DD_ } " /usr/bin/cinemapress ping 2>/dev/null)
if [ " ${ PONG1 } " != "pong" ] ; then
2021-01-14 04:18:36 +01:00
echo " $( date) ${ DD } DOCKER warning "
2021-01-19 23:00:10 +01:00
sleep $(( ( " ${ RANDOM } " % 30 ) ))
2021-01-14 04:18:36 +01:00
PONG1 = $( docker exec -t " ${ DD_ } " /usr/bin/cinemapress ping 2>/dev/null)
if [ " ${ PONG1 } " != "pong" ] ; then
echo " $( date) ${ DD } DOCKER restart "
docker restart " ${ DD_ } "
2021-01-19 23:00:10 +01:00
sleep $(( ( " ${ RANDOM } " % 30 ) ))
2021-01-14 04:18:36 +01:00
fi
2021-01-13 04:01:23 +01:00
fi
2021-01-15 23:19:28 +01:00
PONG2 = $( curl -s --fail -A "PING" http://" ${ DD } " /ping || curl -s --fail http://ping." ${ DD } " /ping)
2021-01-13 04:01:23 +01:00
if [ " ${ PONG2 } " = "pong" ] ; then
echo " $( date) ${ DD } WEBSITE online "
else
/usr/bin/cinemapress debug
2021-01-15 00:46:04 +01:00
if [ -n " ${ 3 } " ] && [ -n " ${ 4 } " ] ; then
2021-01-14 04:18:36 +01:00
echo " $( date) ${ DD } WEBSITE push "
curl -d " {\"chat_id\": ${ 4 } , \"text\":\"Website down?\", \"reply_markup\": {\"inline_keyboard\": [[{\"text\":\"ping. ${ DD } \", \"url\": \"http://ping. ${ DD } \"}]]} } " -H "Content-Type: application/json" -X POST " https://api.telegram.org/bot ${ 3 } /sendMessage " & >/dev/null
else
2021-01-18 00:04:27 +01:00
echo " $( date) ${ DD } WEBSITE restart "
docker stop " ${ DD_ } "
sleep 5
docker start " ${ DD_ } "
docker stop nginx
sleep 5
docker start nginx
2021-01-14 04:18:36 +01:00
fi
2021-01-13 04:01:23 +01:00
fi
2021-01-13 04:46:17 +01:00
rm -f " /home/ ${ 2 } /.uptimerobot "
2021-01-13 04:01:23 +01:00
else
for D in /home/*; do
2021-01-14 04:18:36 +01:00
DD = $( find " ${ D } " -maxdepth 0 -printf "%f" )
DD_ = $( echo " ${ DD } " | sed -r "s/[^A-Za-z0-9]/_/g" )
2021-01-15 23:19:28 +01:00
PONG1 = $( curl -s --fail -A "PING" http://" ${ DD } " /ping || curl -s --fail http://ping." ${ DD } " /ping)
2021-01-14 04:18:36 +01:00
if { [ -f " ${ D } /app.js " ] || [ -f " ${ D } /index.php " ] ; } && [ " ${ PONG1 } " = "pong" ] ; then
2021-01-13 04:01:23 +01:00
if [ " $( grep " ${ DD } _uptimerobot " /etc/crontab) " = "" ] ; then
echo -e "\n" >>/etc/crontab
echo " # ----- ${ DD } _uptimerobot -------------------------------------- " >>/etc/crontab
2021-01-14 04:18:36 +01:00
echo " */2 * * * * root /usr/bin/cinemapress uptimerobot \" ${ DD } \" \" ${ 3 } \" \" ${ 4 } \" >>\"/home/ ${ DD } /log/uptimerobot_\$(date '+\%d_\%m_\%Y').log\" 2>&1 " >>/etc/crontab
2021-01-13 04:01:23 +01:00
echo " # ----- ${ DD } _uptimerobot -------------------------------------- " >>/etc/crontab
2021-01-14 04:18:36 +01:00
echo " Added to monitoring: ${ DD } "
2021-01-13 04:01:23 +01:00
fi
2021-01-14 04:18:36 +01:00
else
echo " Not added to monitoring: ${ DD } "
2021-01-13 04:01:23 +01:00
fi
done
fi
2020-05-03 01:46:17 +02:00
exit 0
; ;
2021-03-31 01:26:36 +02:00
"aria2" | "cloudtorrent" | "torrent" | "torrentclient" )
_br " ${ 2 } "
read_domain " ${ 2 } "
sh_not
_s " ${ 2 } "
LOCAL_ACTION = " ${ 3 } "
if [ " ${ LOCAL_ACTION } " = "" ] ; then
_header "MAKE A CHOICE"
printf " ${ C } ---- ${ G } 1) ${ NC } run ${ S } ------------------------ Run Torrent Cloud Client ${ C } ----\n "
printf " ${ C } ---- ${ G } 2) ${ NC } ftp ${ S } ---------------------- Configuration FTP Storages ${ C } ----\n "
printf " ${ C } ---- ${ G } 3) ${ NC } show ${ S } -------------------------- Show FTP Storage List ${ C } ----\n "
2021-05-23 03:29:00 +02:00
printf " ${ C } ---- ${ G } 4) ${ NC } delete ${ S } --------------------------- Delete FTP Storage ${ C } ----\n "
2021-03-31 01:26:36 +02:00
_s
2021-05-23 03:29:00 +02:00
read -e -p 'OPTION [1-4]: ' LOCAL_ACTION
2021-03-31 01:26:36 +02:00
LOCAL_ACTION = $( echo " ${ LOCAL_ACTION } " | iconv -c -t UTF-8)
_br
fi
if [ " ${ LOCAL_ACTION } " = "run" ] || [ " ${ LOCAL_ACTION } " = "1" ] ; then
if [ " ${ CP_OS } " = "debian" ] || [ " ${ CP_OS } " = "\"debian\"" ] || \
[ " ${ CP_OS } " = "ubuntu" ] || [ " ${ CP_OS } " = "\"ubuntu\"" ] ; then
DEBIAN_FRONTEND = noninteractive apt-get -y -qq install jq
elif [ " ${ CP_OS } " = "fedora" ] || [ " ${ CP_OS } " = "\"fedora\"" ] ; then
dnf -y install jq
elif [ " ${ CP_OS } " = "centos" ] || [ " ${ CP_OS } " = "\"centos\"" ] ; then
yum install -y jq
fi
RPC_SECRET = $( cat "/dev/urandom" | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1)
RPC_SECRET = $( printf '%s\n' " ${ RPC_SECRET } " | awk '{ print toupper($0) }' )
2021-04-03 21:52:56 +02:00
if [ "`docker ps -aq -f status=running -f name=^/torrent\$ 2>/dev/null`" != "" ] ; then
docker stop torrent >>/var/log/docker_torrent_" $( date '+%d_%m_%Y' ) " .log 2>& 1
docker rm -f torrent >>/var/log/docker_torrent_" $( date '+%d_%m_%Y' ) " .log 2>& 1
fi
2021-03-31 01:26:36 +02:00
docker run \
-d \
--name torrent \
" ${ DOCKER_MEM [@] } " \
--restart always \
--network cinemapress \
--env= " PUID= ${ UID } " \
--env= " PGID= ${ GID } " \
--env= "UMASK_SET=022" \
--env= " RPC_SECRET= ${ RPC_SECRET } " \
--env= "RPC_PORT=6800" \
-p 6800:6800 \
--env= "LISTEN_PORT=6888" \
-p 6888:6888 \
-p 6888:6888/udp \
-v " /home/ ${ CP_DOMAIN } /files/torrent/config " :/config \
-v " /home/ ${ CP_DOMAIN } /files/torrent/downloads " :/downloads \
p3terx/aria2-pro >>/var/log/docker_torrent_" $( date '+%d_%m_%Y' ) " .log 2>& 1
TORRENT_RUN = 1
while [ " ${ TORRENT_RUN } " != "50" ] ; do
sleep 3
TORRENT_RUN = $(( 1 + ${ TORRENT_RUN } ))
if [ "`docker ps -aq -f status=running -f name=^/torrent\$ 2>/dev/null`" != "" ] ; then
docker exec " ${ CP_DOMAIN_ } " /usr/bin/cinemapress container torrent
TORRENT_RUN = 50
fi
done
mkdir -p " /home/ ${ CP_DOMAIN } /files/torrent/uploads "
_line
_content
_content "Torrent client is running!"
_content
2021-05-23 03:29:00 +02:00
_content " torrent. ${ CP_DOMAIN } /index.html "
2021-03-31 01:26:36 +02:00
_content
2021-05-23 03:29:00 +02:00
_content " RPC ADDRESS: torrent. ${ CP_DOMAIN } :80/jsonrpc "
2021-03-31 01:26:36 +02:00
_content " RPC SECRET: ${ RPC_SECRET } "
2021-05-23 03:29:00 +02:00
_content "RPC METHOD: POST"
2021-03-31 01:26:36 +02:00
_content
_content "Configure your video storage."
_content
_s
elif [ " ${ LOCAL_ACTION } " = "ftp" ] || [ " ${ LOCAL_ACTION } " = "2" ] ; then
read_ftp_name " ${ 4 } "
read_ftp_hostname " ${ 5 } "
read_ftp_username " ${ 6 } "
read_ftp_password " ${ 7 } "
2021-05-30 23:21:55 +02:00
FTP_PASSWORD = " $( docker exec -t " ${ CP_DOMAIN_ } " /usr/bin/cinemapress rclone_obscure " ${ FTP_PASSWORD } " ) "
2021-05-27 01:57:45 +02:00
IFS = ':' read -r -a HOST_PORT <<< " ${ FTP_HOSTNAME } "
if [ " ${ HOST_PORT [1] } " = "" ] ; then
TORRENT_STORAGE = ( ftp user " ${ FTP_USERNAME } " pass " ${ FTP_PASSWORD } " host " ${ HOST_PORT [0] } " )
else
TORRENT_STORAGE = ( ftp user " ${ FTP_USERNAME } " pass " ${ FTP_PASSWORD } " host " ${ HOST_PORT [0] } " port " ${ HOST_PORT [1] } " )
fi
2021-05-23 03:29:00 +02:00
docker exec " ${ CP_DOMAIN_ } " rclone config create " ${ FTP_NAME } " " ${ TORRENT_STORAGE [@] } " \
2021-03-31 01:26:36 +02:00
>>/var/log/docker_torrent_" $( date '+%d_%m_%Y' ) " .log 2>& 1
_s
elif [ " ${ LOCAL_ACTION } " = "show" ] || [ " ${ LOCAL_ACTION } " = "3" ] ; then
if [ " ${ CP_OS } " = "alpine" ] || [ " ${ CP_OS } " = "\"alpine\"" ] ; then
rclone config show
else
docker exec -t " ${ CP_DOMAIN_ } " rclone config show
fi
2021-05-23 03:29:00 +02:00
elif [ " ${ LOCAL_ACTION } " = "delete" ] || [ " ${ LOCAL_ACTION } " = "4" ] ; then
read_ftp_name " ${ 4 } "
docker exec -t " ${ CP_DOMAIN_ } " rclone config delete " ${ FTP_NAME } "
2021-05-30 23:21:55 +02:00
elif [ " ${ LOCAL_ACTION } " = "upload" ] || [ " ${ LOCAL_ACTION } " = "uploads" ] || [ " ${ LOCAL_ACTION } " = "5" ] ; then
2021-05-30 01:05:36 +02:00
if [ ! -d " /home/ ${ CP_DOMAIN } /files/torrent/uploads " ] ; then
exit 0
fi
if [ -d " /home/ ${ CP_DOMAIN } /files/torrent/.process " ] ; then
2021-10-17 22:59:26 +02:00
if [ -f " /home/ ${ CP_DOMAIN } /files/torrent/.1hour " ] ; then
if [ -f " /home/ ${ CP_DOMAIN } /files/torrent/.2hours " ] ; then
if [ -f " /home/ ${ CP_DOMAIN } /files/torrent/.3hours " ] ; then
if [ -f " /home/ ${ CP_DOMAIN } /files/torrent/.4hours " ] ; then
if [ -f " /home/ ${ CP_DOMAIN } /files/torrent/.5hours " ] ; then
/usr/bin/cinemapress kill_rclone " ${ CP_DOMAIN } "
rm -rf \
" /home/ ${ CP_DOMAIN } /files/torrent/.1hour " \
" /home/ ${ CP_DOMAIN } /files/torrent/.2hours " \
" /home/ ${ CP_DOMAIN } /files/torrent/.3hours " \
" /home/ ${ CP_DOMAIN } /files/torrent/.4hours " \
" /home/ ${ CP_DOMAIN } /files/torrent/.5hours "
mkdir -p " /home/ ${ CP_DOMAIN } /files/torrent/uploads "
cp -rf \
/home/" ${ CP_DOMAIN } " /files/torrent/.process/* \
/home/" ${ CP_DOMAIN } " /files/torrent/uploads/
rm -rf /home/" ${ CP_DOMAIN } " /files/torrent/.process
else
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) Uploading video files takes 5 hours. "
2021-10-17 22:59:26 +02:00
touch " /home/ ${ CP_DOMAIN } /files/torrent/.5hours "
exit 0
fi
else
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) Uploading video files takes 4 hours. "
2021-10-17 22:59:26 +02:00
touch " /home/ ${ CP_DOMAIN } /files/torrent/.4hours "
exit 0
fi
else
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) Uploading video files takes 3 hours. "
2021-10-17 22:59:26 +02:00
touch " /home/ ${ CP_DOMAIN } /files/torrent/.3hours "
exit 0
fi
else
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) Uploading video files takes 2 hours. "
2021-10-17 22:59:26 +02:00
touch " /home/ ${ CP_DOMAIN } /files/torrent/.2hours "
exit 0
fi
else
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) Uploading video files takes 1 hour. "
2021-10-17 22:59:26 +02:00
touch " /home/ ${ CP_DOMAIN } /files/torrent/.1hour "
exit 0
fi
2021-05-30 01:05:36 +02:00
fi
if [ -z " $( ls -A " /home/ ${ CP_DOMAIN } /files/torrent/uploads " ) " ] ; then
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) The folder /home/ ${ CP_DOMAIN } /files/torrent/uploads is empty. "
2021-10-17 22:59:26 +02:00
exit 0
fi
2021-10-21 00:24:38 +02:00
CINEMATORRENT_ARRAY = ( )
2021-10-17 22:59:26 +02:00
CINEMATORRENT_ACTIVE = "false"
for N in { 1..9} ; do
CINEMATORRENT_NAME = " CINEMATORRENT ${ N } "
if [ " ${ CP_OS } " = "alpine" ] || [ " ${ CP_OS } " = "\"alpine\"" ] ; then
CINEMATORRENT = $( rclone config show 2>/dev/null | grep " ${ CINEMATORRENT_NAME } " )
else
CINEMATORRENT = $( docker exec -t " ${ CP_DOMAIN_ } " rclone config show 2>/dev/null | grep " ${ CINEMATORRENT_NAME } " )
fi
if [ " ${ CINEMATORRENT } " = "" ] ; then continue ; fi
CINEMATORRENT_ACTIVE = "true"
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) ✓ ${ CINEMATORRENT_NAME } "
2021-10-21 00:24:38 +02:00
CINEMATORRENT_ARRAY += ( " ${ CINEMATORRENT_NAME } " )
2021-10-17 22:59:26 +02:00
done
if [ " ${ CINEMATORRENT_ACTIVE } " = "false" ] ; then
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) You don't have an FTP server configuration. "
2021-03-31 01:26:36 +02:00
exit 0
fi
mv " /home/ ${ CP_DOMAIN } /files/torrent/uploads " " /home/ ${ CP_DOMAIN } /files/torrent/.process "
mkdir -p " /home/ ${ CP_DOMAIN } /files/torrent/uploads "
2021-03-31 01:53:36 +02:00
for DIR in " /home/ ${ CP_DOMAIN } /files/torrent/.process " /*; do
if [ ! -f " ${ DIR } " ] ; then continue ; fi
DIR_NAME = " ${ DIR ##*/ } "
IFS = '.' read -r -a FILE_ARR <<< " ${ DIR_NAME } "
if [ " ${ FILE_ARR [1] } " = "dir" ] || \
[ " ${ FILE_ARR [1] } " = "Dir" ] || \
[ " ${ FILE_ARR [1] } " = "DIR" ] ; then
mkdir -p " /home/ ${ CP_DOMAIN } /files/torrent/.process/ ${ FILE_ARR [0] } "
mv " ${ DIR } " \
" /home/ ${ CP_DOMAIN } /files/torrent/.process/ ${ FILE_ARR [0] } / ${ DIR ##*/ ${ FILE_ARR [0] } . ${ FILE_ARR [1] } . } "
fi
done
2021-10-21 00:24:38 +02:00
for CINEMATORRENT_NAME in " ${ CINEMATORRENT_ARRAY [@] } " ; do
2021-06-07 23:19:51 +02:00
CFOLDER = " /home/ ${ CP_DOMAIN } /files/torrent/.process/ ${ CINEMATORRENT_NAME } "
if [ ! -d " ${ CFOLDER } " ] ; then continue ; fi
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) UPLOAD TO ${ CINEMATORRENT_NAME } "
2021-06-07 23:19:51 +02:00
for DIR in " ${ CFOLDER } " /*; do
2021-03-31 01:26:36 +02:00
DIR_NAME = " ${ DIR ##*/ } "
if [ -d " ${ DIR } " ] ; then
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) CREATE DIR ${ DIR_NAME } "
2021-03-31 01:26:36 +02:00
if [ " ${ CP_OS } " = "alpine" ] || [ " ${ CP_OS } " = "\"alpine\"" ] ; then
2021-10-21 15:06:24 +02:00
rclone -vv --retries 2 --low-level-retries 2 mkdir " ${ CINEMATORRENT_NAME } " :" ${ DIR_NAME } "
2021-03-31 01:26:36 +02:00
else
2021-10-21 15:06:24 +02:00
docker exec -t " ${ CP_DOMAIN_ } " rclone -vv --retries 2 --low-level-retries 2 mkdir " ${ CINEMATORRENT_NAME } " :" ${ DIR_NAME } "
2021-03-31 01:26:36 +02:00
fi
2021-06-07 23:19:51 +02:00
for FILE in " ${ CFOLDER } / ${ DIR_NAME } " /*; do
2021-03-31 01:26:36 +02:00
FILE_NAME = " ${ FILE ##*/ } "
if [ -f " ${ FILE } " ] ; then
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) UPLOAD FILE ${ DIR_NAME } / ${ FILE_NAME } "
2021-03-31 01:26:36 +02:00
if [ " ${ CP_OS } " = "alpine" ] || [ " ${ CP_OS } " = "\"alpine\"" ] ; then
2021-10-21 15:06:24 +02:00
{ rclone -vv --retries 2 --low-level-retries 2 --ignore-size copy \
2021-10-17 22:59:26 +02:00
" ${ CFOLDER } / ${ DIR_NAME } / ${ FILE_NAME } " " ${ CINEMATORRENT_NAME } : ${ DIR_NAME } / " ; } && \
rm -rf " ${ FILE } "
2021-03-31 01:26:36 +02:00
else
2021-10-21 15:06:24 +02:00
{ docker exec -t " ${ CP_DOMAIN_ } " rclone -vv --retries 2 --low-level-retries 2 --ignore-size copy \
2021-10-17 22:59:26 +02:00
" ${ CFOLDER } / ${ DIR_NAME } / ${ FILE_NAME } " " ${ CINEMATORRENT_NAME } : ${ DIR_NAME } / " ; } && \
rm -rf " ${ FILE } "
2021-03-31 01:26:36 +02:00
fi
fi
done
elif [ -f " ${ DIR } " ] ; then
2021-03-31 01:53:36 +02:00
FILE_NAME = " ${ DIR ##*/ } "
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) UPLOAD FILE ${ FILE_NAME } "
2021-03-31 01:53:36 +02:00
if [ " ${ CP_OS } " = "alpine" ] || [ " ${ CP_OS } " = "\"alpine\"" ] ; then
2021-10-21 15:06:24 +02:00
{ rclone -vv --retries 2 --low-level-retries 2 --ignore-size copy \
2021-10-17 22:59:26 +02:00
" ${ CFOLDER } / ${ FILE_NAME } " " ${ CINEMATORRENT_NAME } : ${ DIR_NAME } / " ; } && \
rm -rf " ${ DIR } "
2021-03-31 01:26:36 +02:00
else
2021-10-21 15:06:24 +02:00
{ docker exec -t " ${ CP_DOMAIN_ } " rclone -vv --retries 2 --low-level-retries 2 --ignore-size copy \
2021-10-17 22:59:26 +02:00
" ${ CFOLDER } / ${ FILE_NAME } " " ${ CINEMATORRENT_NAME } : ${ DIR_NAME } / " ; } && \
rm -rf " ${ DIR } "
2021-06-07 23:19:51 +02:00
fi
fi
done
rm -rf " ${ CFOLDER } "
done
PFOLDER = " /home/ ${ CP_DOMAIN } /files/torrent/.process "
2021-10-21 00:24:38 +02:00
for DIR in " ${ PFOLDER } " /*; do
DIR_NAME = " ${ DIR ##*/ } "
if [ -d " ${ DIR } " ] ; then
2021-10-21 15:06:24 +02:00
for CINEMATORRENT_NAME in " ${ CINEMATORRENT_ARRAY [@] } " ; do
echo " $( date '+%Y/%m/%d %H:%M:%S' ) CREATE DIR ${ CINEMATORRENT_NAME } : ${ DIR_NAME } "
if [ " ${ CP_OS } " = "alpine" ] || [ " ${ CP_OS } " = "\"alpine\"" ] ; then
rclone -vv --retries 2 --low-level-retries 2 mkdir " ${ CINEMATORRENT_NAME } " :" ${ DIR_NAME } "
else
docker exec -t " ${ CP_DOMAIN_ } " rclone -vv --retries 2 --low-level-retries 2 mkdir " ${ CINEMATORRENT_NAME } " :" ${ DIR_NAME } "
fi
done
2021-10-21 00:24:38 +02:00
for FILE in " ${ PFOLDER } / ${ DIR_NAME } " /*; do
FILE_NAME = " ${ FILE ##*/ } "
if [ -f " ${ FILE } " ] ; then
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) UPLOAD FILE ${ DIR_NAME } / ${ FILE_NAME } "
2021-10-21 00:24:38 +02:00
FILE_UPLOADED = "false"
for CINEMATORRENT_NAME in " ${ CINEMATORRENT_ARRAY [@] } " ; do
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) UPLOAD TO ${ CINEMATORRENT_NAME } "
2021-06-07 23:19:51 +02:00
if [ " ${ CP_OS } " = "alpine" ] || [ " ${ CP_OS } " = "\"alpine\"" ] ; then
2021-10-21 15:06:24 +02:00
{ rclone -vv --retries 2 --low-level-retries 2 --ignore-size copy \
2021-10-17 22:59:26 +02:00
" ${ PFOLDER } / ${ DIR_NAME } / ${ FILE_NAME } " " ${ CINEMATORRENT_NAME } : ${ DIR_NAME } / " ; } && \
2021-10-21 00:24:38 +02:00
FILE_UPLOADED = "true"
2021-06-07 23:19:51 +02:00
else
2021-10-21 15:06:24 +02:00
{ docker exec -t " ${ CP_DOMAIN_ } " rclone -vv --retries 2 --low-level-retries 2 --ignore-size copy \
2021-10-17 22:59:26 +02:00
" ${ PFOLDER } / ${ DIR_NAME } / ${ FILE_NAME } " " ${ CINEMATORRENT_NAME } : ${ DIR_NAME } / " ; } && \
2021-10-21 00:24:38 +02:00
FILE_UPLOADED = "true"
2021-06-07 23:19:51 +02:00
fi
2021-10-21 00:24:38 +02:00
done
if [ " ${ FILE_UPLOADED } " = "true" ] ; then
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) DELETE FILE ${ FILE } "
2021-10-21 00:24:38 +02:00
rm -rf " ${ FILE } "
2021-06-07 23:19:51 +02:00
fi
2021-10-21 00:24:38 +02:00
fi
done
elif [ -f " ${ DIR } " ] ; then
FILE_UPLOADED = "false"
for CINEMATORRENT_NAME in " ${ CINEMATORRENT_ARRAY [@] } " ; do
2021-06-07 23:19:51 +02:00
FILE_NAME = " ${ DIR ##*/ } "
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) UPLOAD FILE ${ FILE_NAME } "
2021-06-07 23:19:51 +02:00
if [ " ${ CP_OS } " = "alpine" ] || [ " ${ CP_OS } " = "\"alpine\"" ] ; then
2021-10-21 15:06:24 +02:00
{ rclone -vv --retries 2 --low-level-retries 2 --ignore-size copy \
2021-10-17 22:59:26 +02:00
" ${ PFOLDER } / ${ FILE_NAME } " " ${ CINEMATORRENT_NAME } : ${ DIR_NAME } / " ; } && \
2021-10-21 00:24:38 +02:00
FILE_UPLOADED = "true"
2021-06-07 23:19:51 +02:00
else
2021-10-21 15:06:24 +02:00
{ docker exec -t " ${ CP_DOMAIN_ } " rclone -vv --retries 2 --low-level-retries 2 --ignore-size copy \
2021-10-17 22:59:26 +02:00
" ${ PFOLDER } / ${ FILE_NAME } " " ${ CINEMATORRENT_NAME } : ${ DIR_NAME } / " ; } && \
2021-10-21 00:24:38 +02:00
FILE_UPLOADED = "true"
2021-03-31 01:26:36 +02:00
fi
2021-10-21 00:24:38 +02:00
done
if [ " ${ FILE_UPLOADED } " = "true" ] ; then
2021-10-21 15:06:24 +02:00
echo " $( date '+%Y/%m/%d %H:%M:%S' ) DELETE FILE ${ DIR } "
2021-10-21 00:24:38 +02:00
rm -rf " ${ DIR } "
2021-03-31 01:26:36 +02:00
fi
2021-10-21 00:24:38 +02:00
fi
2021-03-31 01:26:36 +02:00
done
rm -rf " /home/ ${ CP_DOMAIN } /files/torrent/.process "
2021-10-17 22:59:26 +02:00
rm -rf \
" /home/ ${ CP_DOMAIN } /files/torrent/.1hour " \
" /home/ ${ CP_DOMAIN } /files/torrent/.2hours " \
" /home/ ${ CP_DOMAIN } /files/torrent/.3hours " \
" /home/ ${ CP_DOMAIN } /files/torrent/.4hours " \
" /home/ ${ CP_DOMAIN } /files/torrent/.5hours "
fi
exit 0
; ;
"kill_rclone" )
_br " ${ 2 } "
read_domain " ${ 2 } "
sh_not
_s " ${ 2 } "
if [ " ${ CP_OS } " = "alpine" ] || [ " ${ CP_OS } " = "\"alpine\"" ] ; then
ps -ef | grep "rclone" | grep -v 'grep' | awk '{ print $1 }' | xargs kill
else
docker exec -t " ${ CP_DOMAIN_ } " /usr/bin/cinemapress kill_rclone " ${ CP_DOMAIN } "
2021-03-31 01:26:36 +02:00
fi
exit 0
; ;
2021-10-30 01:10:37 +02:00
"local" )
echo "" ; echo -n "☐ Change to a local build cinemapress.sh ..." ;
sed -Ei "s/# docker build/docker build/g" /usr/bin/cinemapress >/dev/null
sed -Ei "s/docker pull/# docker pull/g" /usr/bin/cinemapress >/dev/null
sleep 1
echo -e " \\r ${ G } ✓ Change to a local build cinemapress.sh ... ${ NC } "
echo ""
exit 0
; ;
2021-05-30 23:21:55 +02:00
"rclone_obscure" )
echo " $( echo " ${ 2 } " | rclone obscure -) "
exit 0
; ;
2019-10-18 04:56:31 +02:00
"help" | "H" | "--help" | "-h" | "-H" )
2019-10-01 21:34:02 +02:00
clear
_line
_logo
_header "HELP"
_br
printf " ~# cinemapress [OPTION]" ; _br; _br;
printf " OPTIONS:" ; _br; _br;
2019-11-13 01:12:07 +01:00
printf " en - Fast install EN website" ; _br;
printf " ru - Fast install RU website" ; _br;
printf " passwd - Change the password for access to the admin panel" ; _br;
printf " stop - Stop website (docker container)" ; _br;
printf " start - Start website (docker container)" ; _br;
printf " restart - Restart website (docker container)" ; _br;
printf " reload - Reload website (PM2)" ; _br;
printf " zero - Delete all data from the automatic database" ; _br;
2021-03-12 07:17:18 +01:00
printf " zero_rt - Delete all data from the realtime database" ; _br;
2019-12-08 22:26:32 +01:00
printf " logs - Show all logs" ; _br;
2020-05-17 22:33:17 +02:00
printf " logs live - Show all logs realtime" ; _br;
2021-01-09 02:07:30 +01:00
printf " logs bot - Show logs for fake and true bots" ; _br;
printf " live bot - Show realtime logs for fake and true bots" ; _br;
printf " lbf - Show logs for fake bots" ; _br;
printf " lbt - Show logs for true bots" ; _br;
2021-01-09 09:55:31 +01:00
printf " lbb - Show logs for bad bots" ; _br;
2021-01-12 00:37:29 +01:00
printf " crash - Getting debug information after a site crash" ; _br;
2020-01-20 06:58:56 +01:00
printf " bench - System info, I/O test and speedtest" ; _br;
2019-11-13 01:12:07 +01:00
printf " actual - Updating data from an automatic database" ; _br;
printf " to a manual database (year, list of actors, list" ; _br;
printf " of genres, list of countries, list of directors," ; _br;
printf " premiere date, rating and number of votes)" ; _br;
2020-01-20 06:58:56 +01:00
printf " clear_vps - Complete deletion of all data on the VPS" ; _br;
2020-03-08 03:57:39 +01:00
printf " app - Create movie application" ; _br;
2020-04-05 23:00:45 +02:00
printf " cms - Install other CMS (php-mysql,wordpress,drupal,joomla,dle)" ; _br;
printf " cms example.com backup [create,restore]" ; _br;
2020-05-17 22:33:17 +02:00
printf " bot - Install website for bots" ; _br;
printf " bot_https - Install website for bots and generate SSL" ; _br;
2021-01-11 05:19:40 +01:00
printf " ds - The domain that is the main on the server and accepts all requests" ; _br;
2021-02-03 02:34:29 +01:00
printf " ds none - Deny access to the site by IP address" ; _br;
2020-12-01 00:26:47 +01:00
printf " cf - Adding all subdomains to CloudFlare" ; _br;
2021-01-13 00:31:24 +01:00
printf " mode - debug: more information about the speed and memory of each request" ; _br;
2021-01-13 04:08:44 +01:00
printf " uptimerobot - Ping check for container and website every 2 minutes, if the website" ; _br;
printf " is offline, the server will be rebooted" ; _br;
2020-05-31 01:41:12 +02:00
printf " redirect movie.co hd.movie.com - Redirect from movie.co to hd.movie.com" ; _br;
printf " redirect movie.co hd.movie.com bot - Redirect only for bots (Googlebot, etc.)" ; _br;
2021-04-18 23:41:39 +02:00
printf " splash example.com git_login git_token [github,gitlab] [http://app-movies.com]" ; _br;
2020-03-08 03:57:39 +01:00
printf " static example.com mega_login mega_pass [create,restore]" ; _br; _br;
2020-05-19 22:57:41 +02:00
printf " combine install_https_restore_mirror" ; _br;
printf " combine install_restore_mirror" ; _br;
printf " combine install_https_mirror" ; _br;
printf " combine install_https_backup" ; _br;
printf " combine install_https_restore" ; _br;
printf " combine install_https" ; _br;
printf " combine install_backup" ; _br;
printf " combine install_restore" ; _br; _br;
2020-04-08 00:50:51 +02:00
printf " nohup cinemapress [FULL COMMAND] > log 2>&1; tail -f log" ; _br; _br;
2019-10-01 21:34:02 +02:00
exit 0
; ;
"version" | "ver" | "v" | "V" | "--version" | "--ver" | "-v" | "-V" )
2020-05-17 22:33:17 +02:00
echo " CinemaPress ${ CP_VER } "
2019-10-01 21:34:02 +02:00
_br
2021-10-30 01:10:37 +02:00
echo "Copyright (c) 2014 - ... CinemaPress"
2019-10-01 21:34:02 +02:00
_br
exit 0
; ;
* )
option ${ 1 }
; ;
esac
done