One Hat Cyber Team
Your IP :
216.73.217.126
Server IP :
185.33.55.30
Server :
Linux cl30.webspacecontrol.com 5.14.0-611.38.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 10 17:21:28 EDT 2026 x86_64
Server Software :
Apache
PHP Version :
8.1.34
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
proc
/
thread-self
/
root
/
opt
/
DotrollWHP
/
Edit File:
updatewhp_SSL_uj.sh
#!/bin/bash # sleep 3 sec to wait for convert_a2n.sh sleep 3 mkdir /opt/DotrollWHP/certs 2>/dev/null chown root:root /opt/DotrollWHP/certs 2>/dev/null chmod 750 /opt/DotrollWHP/certs 2>/dev/null . /opt/DotrollWHP/DotrollWHP.conf . /opt/DotrollWHP/DotrollWHP.cpanel.inc.sh uploadcerts() { local _WHP_HOST=$1 local _LOCALHOST=$(hostname -f) local _CERT_DIR="/opt/DotrollWHP/certs/"$(hostname -f) local _FULL_CERT_DIR="${_CERT_DIR}_$(date +%s)" local _LAST_DIR=$( ssh -o Compression=yes -o ConnectTimeout=5 ${_WHP_HOST} "ls -1 ${_CERT_DIR}_* >/dev/null 2>/dev/null || mkdir -p ${_CERT_DIR}_000 ; ls -1d /opt/DotrollWHP/certs/${_LOCALHOST}* | cut -d/ -f5 | grep -v '.part$' | cut -d_ -f1 | sort | uniq | xargs -I'()' echo ls --sort=none -1d /opt/DotrollWHP/certs/'()'_*/ \| tail -n1 | /bin/bash ") #' local _SSH_SUCCESS=$? local _CHANGES=0 if [ ${_SSH_SUCCESS} -eq 0 ]; then # local _SQL_LAST_REMOTE=$( echo "SELECT MAX(inserted) FROM vhost_certificates;" | ssh -o ConnectTimeout=5 ${_WHP_HOST} "sqlite3 ${_LAST_DIR}/.index.sqlite" ) #" # local _SQL_LAST_LOCAL=$( echo "SELECT MAX(inserted) FROM vhost_certificates;" | sqlite3 /opt/DotrollWHP/certs/certdatacache.sqlite ) #" local _SQL_LAST_REMOTE=$( ssh -o ConnectTimeout=5 ${_WHP_HOST} "md5sum ${_LAST_DIR}/nginx.vhosts" | cut -d' ' -f1 ) #" local _SQL_LAST_LOCAL=$( md5sum /opt/DotrollWHP/certs/nginx.vhosts | cut -d' ' -f1 ) #" if [ "${_SQL_LAST_REMOTE}" != "${_SQL_LAST_LOCAL}" ]; then local _CHANGES=1 else local _CHANGES_LINES=$( rsync --dry-run -e 'ssh -o ConnectTimeout=5' -av --checksum --link-dest=${_LAST_DIR} --exclude='nginx.vhosts' --exclude='.pending_delete/' --exclude='.index.sqlite' --exclude='certdatacache.sqlite' --exclude='*/certificates' --exclude='*/certificates.cache' --exclude='*/combined.cache' /var/cpanel/ssl/apache_tls/ ${_WHP_HOST}:${_FULL_CERT_DIR}/ | tail -n+3 | head -n-3 ) local _CHANGES=$( echo "${_CHANGES_LINES}" | grep -v '^$' | grep -v '/$' | wc -l ) fi if [ ${_CHANGES} -gt 0 ]; then local _TEMPFILE=$( mktemp /tmp/updatewhp_SSL_uj.sh.tmp.XXXXXX ) rsync -e 'ssh -o ConnectTimeout=5' -av --checksum --link-dest=${_LAST_DIR} --exclude='nginx.vhosts' --exclude='.pending_delete/' --exclude='.index.sqlite' --exclude='certdatacache.sqlite' --exclude='*/certificates' --exclude='*/certificates.cache' --exclude='*/combined.cache' /var/cpanel/ssl/apache_tls/ ${_WHP_HOST}:${_FULL_CERT_DIR}/ >${_TEMPFILE} 2>${_TEMPFILE}.err ; echo -n $? >>${_TEMPFILE} local _CHANGES_LINES=$( cat ${_TEMPFILE} | tail -n+3 | head -n-4 ) if [ $( tail -n1 "${_TEMPFILE}" | grep '^0$' | wc -l ) -eq 1 ]; then echo "Certificate changes:" echo "${_CHANGES_LINES}" | grep -v '^$' | grep -v '/$' /opt/DotrollWHP/convert_a2n.sh scp /opt/DotrollWHP/certs/nginx.vhosts ${_WHP_HOST}:${_FULL_CERT_DIR}/nginx.vhosts && \ ssh -o Compression=yes -o ConnectTimeout=5 ${_WHP_HOST} "touch \$( readlink -f ${_CERT_DIR}_*/..)/refresh_needed ; ln -snf ${_FULL_CERT_DIR} ${_CERT_DIR}" && \ rm -f "${_TEMPFILE}" else echo -n '"' cat "${_TEMPFILE}" echo -n '"' cat "${_TEMPFILE}.err" echo -n '"' echo "Rsync FAILED, aborting!" fi fi fi } _PARAM=$1 UPDATE_HOST=${HITCH_HOST} if [ "${_PARAM}" = "0" ]; then UPDATE_HOST=${SSL_HOST_0} elif [ "${_PARAM}" = "1" ]; then UPDATE_HOST=${SSL_HOST_1} else UPDATE_HOST=${SSL_HOST_1} _PARAM=1 fi check_running ${_PARAM} uploadcerts ${UPDATE_HOST} remove_pidfile ${_PARAM}
Simpan