Scrap Parts

Scrap Parts

List all users

whmapi1 list_users | grep '^    - ' | sed 's/^[ \-]*//' | grep -v '^root$'

Server agnostic account-review

sudo $(/bin/ls /opt/dedrads/account-review /opt/sharedrads/account-review) userna5

Move into a domain

read -p "Domain: " domain;user=$(/scripts/whoowns $domain);review=$($(ls /opt/dedrads/account-review /opt/sharedrads/account-review | sed 's/\*$//') $user);docroot=$(echo "$review" | grep Docroot | grep $domain | sed -e 's/.*Docroot\://' -e 's/Has SSL\:.*//'); if [ -n docroot ]; then docroot=$(echo "$review" | grep Docroot | sed -e 's/.*Docroot | //' -e 's/|.*//');fi;cd $docroot;su $user;

Check all domains/subdomains for status codes

(sudo tail -3000 /etc/localdomains;sudo tail -3000 /etc/remotedomains)|sort |while read in; do echo "### $in ###"; count=0; status=302; while [[ $count < 9 && ( $status = "301" || $status = "302" ) ]]; do fullResponse=$(curl -sI $in -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0"); status=$(echo "$fullResponse"|head -1|sed -nr 's-(HTTP/[0-9\.]* )([0-9]*)(.*)-\2-p'); let "count++"; if [[ $status = "301" || $status = "302" ]]; then in=$(echo "$fullResponse"|grep "Location\:"|awk '{print $2}'| sed 's/[^[:print:]]//g'); fi; done; if [[ $count = 9 ]]; then echo "Error: too many redirects"; fi; if [ "$status" == "200" ]; then echo "$in Working (200)"; else echo "Status: $status"; fi; echo ""; done;

Cowsay script

who;read -p "What PTS #: " pts;read -p "Type message: " message;(echo;cowsay -f ren "$message") | tee /dev/pts/$pts

make a directory thats readable by only one IP

This is useful if you need to use wget or curl to move a backup file

read -p "Folder Name: " folder; read -p "Allowed IP: " ip; mkdir $folder; (echo "order deny,allow";echo "deny from all"; echo "allow from $ip"; echo "SetEnvIF X-FORWARDED-FOR ^$(echo "$ip" | sed 's/\./\\\./g') AllowIP"; echo "Allow from env=AllowIP") > $folder/.htaccess

Same thing but for all IPs associated with a hostname

read -p "Folder Name: " folder; read -p "Allowed Host: " host; mkdir $folder; ips=$(dig $host +short); echo "Allowed IPs:"; echo "$ips"; (echo "order deny,allow";echo "deny from all"; echo "$ips" | while read ip; do echo "allow from $ip"; echo "SetEnvIF X-FORWARDED-FOR ^$(echo "$ip" | sed 's/\./\\\./g') AllowIP"; done; echo "Allow from env=AllowIP") > $folder/.htaccess

Delete AutoSSL Request

read -p "Domain: " domain;sqlite3 /var/cpanel/autossl_queue_cpanel.sqlite "DELETE FROM requests WHERE domains LIKE '%,$domain,%'";/usr/local/cpanel/bin/autossl_check_cpstore_queue

Reinstall all packages that fail verification

yum -y install yum-verify
yum verify all | tee yum-verify.log
yum reinstall $(egrep -v '^([ ]|$|Loaded plugins|==)' yum-verify.log | sed 's/\..*//' | tr "\n" ' ')