424 lines
14 KiB
Bash
424 lines
14 KiB
Bash
#!/bin/bash
|
||
|
||
## DOWNLOADED FROM https://git.ncltech.co.uk/phil/.serverdotfiles
|
||
|
||
# My Alias
|
||
|
||
# Custom ffmpeg shortcuts
|
||
# mp4 to mp3
|
||
alias mp4-mp3-folder='for vid in *.mp4; do ffmpeg -i "$vid" -f mp3 -ab 320000 "${vid%.mp4}.mp3"; done'
|
||
alias mp4-mp3='mp4mp3(){ ffmpeg -i "$1" -f mp3 -ab 320000 "${1%.mp4}.mp3"; unset -f mp4mp3;}; mp4mp3'
|
||
|
||
# mkv to mp4
|
||
alias mkv-mp4-folder='for vid in *.mkv; do ffmpeg -i "$vid" -vcodec copy -acodec copy "${vid%.mkv}.mp4"; done'
|
||
alias mkv-mp4='mkvmp4(){ ffmpeg -i "$1" "${1%.mkv}.mp4"; unset -f mkvmp4;}; mkvmp4'
|
||
|
||
# mkv to mp3
|
||
alias mkv-mp3-folder='for vid in *.mkv; do ffmpeg -i "$vid" -vn -c:a libmp3lame -y "${vid%.mkv}.mp3"; done'
|
||
alias mkv-mp3='mkvmp3(){ ffmpeg -i "$1" -vn -c:a libmp3lame -y "${1%.mkv}.mp3"; unset -f mkvmp3;}; mkvmp3'
|
||
|
||
# flac to mp3
|
||
alias flac-mp3='flacmp3(){ ffmpeg -i "$1" -ab 320k -map_metadata 0 -id3v2_version 3 "${1%.flac}.mp3"; unset -f flacmp3;}; flacmp3'
|
||
alias flac-mp3-folder='for flac in *.flac; do ffmpeg -i "$flac" -ab 320k -map_metadata 0 -id3v2_version 3 "${flac%.flac}.mp3"; done'
|
||
|
||
# webm to mp3
|
||
alias webm-mp3='webmmp3(){ ffmpeg -i "$1" -vn -ab 128k -ar 44100 -y "${1%.webm}.mp3"; unset -f webmmp3;}; webmmp3'
|
||
alias webm-mp3-folder='for webm in *.webm; do ffmpeg -i "$webm" -ab 320k -map_metadata 0 -id3v2_version 3 "${webm%.webm}.mp3"; done'
|
||
|
||
# avi to mp4
|
||
alias avi-mp4-folder='for vid in *.avi; do ffmpeg -i "$vid" -c:v copy -c:a copy -y "${vid%.avi}.mp4"; done'
|
||
alias avi-mp4='avimp4(){ ffmpeg -i "$1" -c:v copy -c:a copy -y "${1%.avi}.mp4"; unset -f avimp4;}; avimp4'
|
||
|
||
# When you get bored
|
||
alias telnet-starwars='telnet towel.blinkenlights.nl'
|
||
alias nethack-online='ssh nethack@nethack.alt.org ; clear'
|
||
alias tron-online='ssh sshtron.zachlatta.com ; clear'
|
||
|
||
# My IP Info
|
||
alias myip='curl -s https://ipv4.am.i.mullvad.net/json | python -m json.tool && echo'
|
||
alias ports-in-use='sudo lsof -i -P -n | grep LISTEN'
|
||
|
||
# Typo
|
||
alias whosi='whois'
|
||
alias gti='git'
|
||
alias dc='cd'
|
||
|
||
# Custom
|
||
alias untar='tar xvf'
|
||
alias nano='vim'
|
||
alias nanoo='/usr/bin/nano'
|
||
alias svim='sudo vim'
|
||
alias del='shred -f -n 30 -z -u -v'
|
||
alias del-quick='shred -f -n 3 -z -u -v'
|
||
|
||
#SAV Command
|
||
alias sav-start='sudo service sav-protect start'
|
||
alias sav-stop='sudo service sav-protect stop'
|
||
|
||
|
||
# Enable aliases to be sudo’ed
|
||
alias sudo='sudo '
|
||
|
||
# View HTTP traffic
|
||
function sniff() {
|
||
sudo ngrep -d $(ip route | grep '^default' | awk '{print $5}') -t '^(GET|POST) ' 'tcp and port 80'
|
||
}
|
||
function httpdump() {
|
||
sudo tcpdump -i $(ip route | grep '^default' | awk '{print $5}') -n -s 0 -w - | grep -a -o -E \"Host\\: .*|GET \\/.*\"
|
||
}
|
||
|
||
# nmap-basic
|
||
function nmap-initial() {
|
||
if [ -d "./nmap" ];then
|
||
sudo nmap -sC -sV -oA ./nmap/initial $1 -v
|
||
else
|
||
mkdir ./nmap
|
||
sudo nmap -sC -sV -oA ./nmap/initial $1 -v
|
||
fi
|
||
}
|
||
|
||
# nmap-basic
|
||
function nmap-allports() {
|
||
if [ -d "./nmap" ];then
|
||
sudo nmap -sC -p- -oA "./nmap/$1-allports" $1 -v
|
||
else
|
||
mkdir ./nmap
|
||
sudo nmap -sC -p- -oA "./nmap/$1-allports" $1 -v
|
||
fi
|
||
}
|
||
|
||
# Git Functions
|
||
function gpm() {
|
||
if [ "$(grep -c '\[branch "master"\]' .git/config )" -gt 0 ]; then
|
||
git push origin master
|
||
elif [ "$(grep -c '\[branch "main"\]' .git/config )" -gt 0 ]; then
|
||
git push origin main
|
||
else
|
||
echo "fatal: not a git repository (or any of the parent directories): .git"
|
||
fi
|
||
}
|
||
|
||
function gac() {
|
||
if [ -d ".git" ]; then
|
||
echo "Log Message: "
|
||
read logmessage
|
||
git add --all && git commit --allow-empty-message -m "$logmessage"
|
||
else
|
||
echo "No .git Folder found in Directory. Are you in the Correct Folder?"
|
||
fi
|
||
}
|
||
|
||
|
||
# Pull all Git repos in this dir
|
||
|
||
function pullall() {
|
||
for dir in * ; do
|
||
# Execute in subshell
|
||
(
|
||
cd "$dir" || exit 1
|
||
# If it's a git directory, then update it
|
||
if test -d .git; then
|
||
# Check if its Master or Main
|
||
if [ "$(grep -c -i ""master"" .git/config )" -gt 0 ]; then
|
||
echo "$dir is a Git repo. Pulling master branch..." && git checkout master && git pull && echo ""
|
||
|
||
elif [ "$(grep -c -i ""main"" .git/config )" -gt 0 ]; then
|
||
echo "$dir is a Git repo. Pulling main branch..." && git checkout main && git pull && echo ""
|
||
fi
|
||
else
|
||
echo "$dir is not a Git repo." && echo ""
|
||
fi
|
||
)
|
||
done
|
||
}
|
||
|
||
# Pull Dotfiles inside ~/.dotfiles/
|
||
function pulldots() {
|
||
# Check if folders are there and if its Master or Main
|
||
if grep -q -i "master" ~/.dotfiles/.git/config; then
|
||
CURRENTDIR=$(pwd)
|
||
echo "dotfiles Found, Pulling master branch..."
|
||
cd ~/.dotfiles/
|
||
git checkout master
|
||
git pull
|
||
cd "$CURRENTDIR"
|
||
echo ""
|
||
|
||
elif grep -q -i "main" ~/.dotfiles/.git/config; then
|
||
CURRENTDIR=$(pwd)
|
||
echo "dotfiles Found, Pulling main branch..."
|
||
cd ~/.dotfiles/
|
||
git checkout main
|
||
git pull
|
||
cd "$CURRENTDIR"
|
||
echo ""
|
||
|
||
else
|
||
echo "I can't seem to file any dotfiles folders" && echo ""
|
||
fi
|
||
}
|
||
|
||
|
||
## UPDATE FUNCTIONS
|
||
|
||
## Update Snaps
|
||
function update_snap() {
|
||
sudo -v
|
||
|
||
# if command -v snap >/dev/null; then
|
||
# echo "Updating Snaps..."
|
||
# sudo snap refresh
|
||
if [[ -f "/usr/bin/snapctl" ]];then
|
||
echo "Updating Snaps..."
|
||
sudo snap refresh
|
||
else
|
||
echo "No Snap Found"
|
||
fi
|
||
|
||
}
|
||
|
||
## Update Flatpak
|
||
function update_flatpak() {
|
||
sudo -v
|
||
|
||
if [[ -f "/usr/bin/flatpak" ]];then
|
||
echo "Updating Flatpaks..."
|
||
sudo flatpak update
|
||
else
|
||
echo "No Flatpak Found"
|
||
fi
|
||
}
|
||
|
||
## Updates packages for all Linux Distros
|
||
function update_linux() {
|
||
sudo -v
|
||
|
||
## Parrot OS
|
||
if [ "$(grep -c "parrot" /etc/os-release)" -gt 0 ]; then
|
||
echo "Updating Apt Packages..."
|
||
if [ -d "/opt/sophos-av" ];then
|
||
sudo service sav-protect stop >> /dev/null
|
||
sudo parrot-upgrade -y && sudo apt full-upgrade -y
|
||
sudo service sav-protect start >> /dev/null
|
||
else
|
||
sudo parrot-upgrade -y && sudo apt full-upgrade -y
|
||
|
||
fi
|
||
|
||
|
||
##Kali
|
||
elif [ "$(grep -c "kali" /etc/os-release)" -gt 0 ]; then
|
||
echo "Updating Apt Packages..."
|
||
if [ -d "/opt/sophos-av" ];then
|
||
sudo service sav-protect stop >> /dev/null
|
||
sudo apt update && sudo apt --autoremove full-upgrade -y
|
||
sudo service sav-protect start >> /dev/null
|
||
else
|
||
sudo apt update && sudo apt --autoremove full-upgrade -y
|
||
fi
|
||
|
||
|
||
## Debian
|
||
elif [ "$(grep -c "debian" /etc/os-release)" -gt 0 ]; then
|
||
echo "Updating Apt Packages..."
|
||
if [ -d "/opt/sophos-av" ];then
|
||
sudo service sav-protect stop >> /dev/null
|
||
sudo apt clean && sudo apt update && sudo apt full-upgrade -y
|
||
sudo service sav-protect start >> /dev/null
|
||
else
|
||
sudo apt clean && sudo apt update && sudo apt full-upgrade -y
|
||
fi
|
||
|
||
|
||
##Arch
|
||
elif [ "$(grep -c "arch" /etc/os-release)" -gt 0 ]; then
|
||
echo "Updating Pacman Packages"
|
||
if [ -d "/opt/sophos-av" ];then
|
||
sudo service sav-protect stop >> /dev/null
|
||
sudo pacman -Syy -y $$ && sudo -v && sudo pacman -Syu -y && sudo pacman --noconfirm -R $(pacman -Qdtq)
|
||
sudo service sav-protect start >> /dev/null
|
||
else
|
||
pacmanorphan=$(sudo pacman -Qdt)
|
||
sudo pacman -Syy -y && sudo -v && sudo pacman -Syu -y && sudo pacman --noconfirm -R $(pacman -Qdtq)
|
||
fi
|
||
|
||
|
||
## Fedora
|
||
elif [ "$(grep -c "fedora" /etc/os-release)" -gt 0 ]; then
|
||
echo "Updating DNF Packages"
|
||
if [ -d "/opt/sophos-av" ];then
|
||
sudo service sav-protect stop >> /dev/null
|
||
sudo dnf update -y && sudo dnf autoremove -y
|
||
sudo service sav-protect start >> /dev/null
|
||
else
|
||
sudo dnf update -y && sudo dnf autoremove -y
|
||
fi
|
||
else
|
||
echo "No apt or pacman found. I guess you're out of luck"
|
||
fi
|
||
}
|
||
|
||
## Update All package managers
|
||
function update() {
|
||
|
||
## Update Snaps
|
||
update_snap
|
||
|
||
## Update Flatpaks
|
||
update_flatpak
|
||
|
||
## Update Linux
|
||
update_linux
|
||
}
|
||
|
||
|
||
# Decrypt pfSence backup configs # pfdecrypt 'File-in' 'File-out' 'Password'
|
||
pfdecrypt() {
|
||
cat "$1" | sed -e '1d' -e '$d' | base64 -d | openssl enc -d -aes-256-cbc -md md5 -out "$2" -k "$3"
|
||
}
|
||
|
||
# Extract Function
|
||
extract() {
|
||
if [ ! -f "$1" ];
|
||
then
|
||
printf '"%s" is not a valid file.' "$1"
|
||
exit 1
|
||
fi
|
||
|
||
case $1 in
|
||
*.tar.bz2) tar xjf "$1" ;;
|
||
*.tar.gz) tar xzf "$1" ;;
|
||
*.bz2) bunzip2 "$1" ;;
|
||
*.rar) unrar x "$1" ;;
|
||
*.gz) gunzip "$1" ;;
|
||
*.tar) tar xf "$1" ;;
|
||
*.tbz2) tar xjf "$1" ;;
|
||
*.tgz) tar xzf "$1" ;;
|
||
*.zip) unzip "$1" ;;
|
||
*.Z) uncompress "$1" ;;
|
||
*.7z) 7z x "$1" ;;
|
||
*.deb) ar x "$1" ;;
|
||
*.tar.xz) tar xf "$1" ;;
|
||
*) printf 'cannot extract "%s" with extract()' "$1" ;;
|
||
esac
|
||
}
|
||
|
||
# Disable ipv6
|
||
function ipv6-disable() {
|
||
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
|
||
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
|
||
}
|
||
|
||
# Enable ipv6
|
||
function ipv6-enable() {
|
||
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
|
||
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
|
||
}
|
||
|
||
# Start CyberChef
|
||
alias cyberchef="open /opt/cyberchef/cyberchef.sh"
|
||
|
||
# Local IP lookup
|
||
alias ips="ip a | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'"
|
||
alias eth0="ip a s eth0 | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*'"
|
||
alias eth1="ip a s eth1 | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*'"
|
||
alias wlan0="ip a s wlan0 | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*'"
|
||
alias wlan1="ip a s wlan1 | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*'"
|
||
alias tun0="ip a s tun0 | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*'"
|
||
alias tun1="ip a s tun1 | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*'"
|
||
# Sublist3r
|
||
alias sublist3r="python3 /opt/Sublist3r/sublist3r.py"
|
||
|
||
# Get PentestMonkey Reverse php Shell
|
||
alias phpshell='wget https://raw.githubusercontent.com/pentestmonkey/php-reverse-shell/master/php-reverse-shell.php -O "shell.php"'
|
||
|
||
# Start reverse_shell_generator
|
||
alias reverse-shell-gen-start='docker start a2f132aa528a; open http://localhost:3321'
|
||
alias reverse-shell-gen-stop='docker stop a2f132aa528a'
|
||
|
||
# WG quick gen
|
||
alias wg-gen="wg genkey | sudo tee ~/wg/"$1"-priv | wg pubkey | sudo tee ~/wg/"$1"-pub"
|
||
|
||
# windirstat shortcut for ncdu
|
||
alias windirstat="ncdu"
|
||
|
||
#What OS
|
||
alias os='cat /etc/os-release'
|
||
|
||
## My Domains Expiry dates - Add list of domains to ~/.domains/domains.txt
|
||
function my-domains()
|
||
{
|
||
lines=$(cat ~/.domains/domains.txt);for domain in $lines; do echo "$(whois $domain | grep -i 'Expiry date:')" - $domain; done
|
||
}
|
||
|
||
## Change Default Shell
|
||
alias shell="cat /etc/shells"
|
||
alias set-shell-bash="chsh -s /usr/bin/bash"
|
||
alias set-shell-zsh="chsh -s /usr/bin/zsh"
|
||
alias set-shell-tmux="chsh -s /usr/bin/tmux"
|
||
|
||
|
||
|
||
## Subnet Table
|
||
function subnet-table() {
|
||
echo " --------------------------------------------------------------------------"
|
||
echo "| Bit Length | Max Hosts | Subnet Mask | Binary Mask | Mask Length |"
|
||
echo "--------------------------------------------------------------------------"
|
||
echo "| 0 | 1 | 255.255.255.255 | 11111111 | 32 |"
|
||
echo "| 0 | 2 | 255.255.255.254 | 11111110 | 31 |"
|
||
echo "| 0 | 4 | 255.255.255.252 | 11111100 | 30 |"
|
||
echo "| 0 | 8 | 255.255.255.248 | 11111000 | 29 |"
|
||
echo "| 0 | 16 | 255.255.255.240 | 11110000 | 28 |"
|
||
echo "| 0 | 32 | 255.255.255.224 | 11100000 | 27 |"
|
||
echo "| 0 | 64 | 255.255.255.192 | 11000000 | 26 |"
|
||
echo "| 0 | 128 | 255.255.255.128 | 10000000 | 25 |"
|
||
echo "| 0 | 256 | 255.255.255.0 | 11111111 | 24 |"
|
||
echo "| 0 | 512 | 255.255.254.0 | 11111110 | 23 |"
|
||
echo "| 0 | 1024 | 255.255.252.0 | 11111100 | 22 |"
|
||
echo "| 0 | 2048 | 255.255.248.0 | 11111000 | 21 |"
|
||
echo "| 0 | 4096 | 255.255.240.0 | 11110000 | 20 |"
|
||
echo "| 0 | 8192 | 255.255.224.0 | 11100000 | 19 |"
|
||
echo "| 0 | 16384 | 255.255.192.0 | 11000000 | 18 |"
|
||
echo "| 0 | 32768 | 255.255.128.0 | 10000000 | 17 |"
|
||
echo "| 0 | 65536 | 255.255.0.0 | 11111111 | 16 |"
|
||
echo "| 0 | 131072 | 255.255.0.0 | 11111110 | 15 |"
|
||
echo "| 0 | 262144 | 255.254.0.0 | 11111100 | 14 |"
|
||
echo "| 0 | 524288 | 255.252.0.0 | 11111000 | 13 |"
|
||
echo "| 0 | 1048576 | 255.240.0.0 | 11110000 | 12 |"
|
||
echo "| 0 | 2097152 | 255.224.0.0 | 11100000 | 11 |"
|
||
echo "| 0 | 4194304 | 255.192.0.0 | 11000000 | 10 |"
|
||
echo "| 0 | 8388608 | 255.128.0.0 | 10000000 | 9 |"
|
||
echo "| 0 | 16777216| 255.0.0.0 | 11111111 | 8 |"
|
||
echo "--------------------------------------------------------------------------"
|
||
}
|
||
|
||
## Check AbuseIPdb
|
||
abuseip_check() {
|
||
ip="$1"
|
||
|
||
abuseipdb_api_key="$HOME/.api/.abuseipdb_api_key"
|
||
|
||
if [ ! -f "$abuseipdb_api_key" ]; then
|
||
echo "API key file not found at $abuseipdb_api_key"
|
||
return 1
|
||
fi
|
||
|
||
api_key=$(cat "$abuseipdb_api_key")
|
||
|
||
if [ -z "$ip" ]; then
|
||
echo "Usage: abuseip_check <IP_ADDRESS>"
|
||
return 1
|
||
fi
|
||
|
||
curl --silent -G https://api.abuseipdb.com/api/v2/check \
|
||
--data-urlencode "ipAddress=$ip" \
|
||
-d maxAgeInDays=90 \
|
||
-d verbose \
|
||
-H "Key: $api_key" \
|
||
-H "Accept: application/json" | jq
|
||
}
|
||
alias temp="vcgencmd measure_temp"
|
||
## Display all commands in this Alias file
|
||
alias my-alias="cat ~/.aliases | grep -oP 'alias\s\K[^=]+' | sort -n"
|
||
|