From 8b24c9f31850bf0db9c2cc5e62e193840db5413e Mon Sep 17 00:00:00 2001 From: Shihaam Abdul Rahman Date: Tue, 6 Aug 2024 22:23:56 +0500 Subject: [PATCH] idek whats in here, there might even be some password idk --- bashrc | 55 ++++++++++++++++++++++++++------ config/i3/config | 7 ++-- scripts/get-http | 48 ++++++++++++++++++++++++++++ scripts/i3lock-finger | 27 ++++++++++++++++ scripts/netscan | 72 ++++++++++++++++++++++++++++++++++++++++++ scripts/output.jpg | Bin 0 -> 31711 bytes 6 files changed, 197 insertions(+), 12 deletions(-) create mode 100755 scripts/get-http create mode 100755 scripts/i3lock-finger create mode 100755 scripts/netscan create mode 100644 scripts/output.jpg diff --git a/bashrc b/bashrc index a95709c..87f4a84 100644 --- a/bashrc +++ b/bashrc @@ -26,19 +26,27 @@ source ~/.bash-seafly-prompt/command_prompt.bash cd(){ builtin cd "$@" && pwd > ~/.cache/whereami;} cdl(){ cd $(cat ~/.cache/whereami);};cdl +ip(){ + if [[ $1 == "info" ]] + then + curl -s https://ipinfo.io/$2 | jq + else + command ip "$@" + fi +} + ####### ALIASES ########## # add features #alias nano='nano -l' alias hdd='cd /mnt/hdd' alias drag=ripdrag - #Adding output colors alias ls='ls --color=always' alias grep='grep --color=auto' alias less='less -R' - +alias ping='ping -O' # fix typos alias ckear=clear alias sl=ls @@ -46,13 +54,13 @@ alias ks=ls alias dc=cd ######################### -docker(){ - if [[ $1 == "compose" && $2 == "up" && $# -eq 2 ]]; then - docker compose up -d && docker compose logs -f - else - command docker "$@" - fi -} +#docker(){ +# if [[ $1 == "compose" && $2 == "up" && $# -eq 2 ]]; then +# docker compose up -d && docker compose logs -f +# else +# command docker "$@" +# fi +#} ##################### Some cool funcations hehe ############################### # do math in shell @@ -97,6 +105,35 @@ enter () { fi } +extract() { + if [ -f "$1" ] ; then + local folder_name=$(basename "$1" | sed -e 's/\..*$//') + mkdir -p "$folder_name" + case "$1" in + *.tar.bz2) tar xvjf "$1" -C "$folder_name" ;; + *.tar.gz) tar xvzf "$1" -C "$folder_name" ;; + *.bz2) bunzip2 -k "$1" && mv "${1%.*}" "$folder_name" ;; + *.rar) unrar x "$1" "$folder_name" ;; + *.gz) gunzip -k "$1" && mv "${1%.*}" "$folder_name" ;; + *.tar) tar xvf "$1" -C "$folder_name" ;; + *.tbz2) tar xvjf "$1" -C "$folder_name" ;; + *.tgz) tar xvzf "$1" -C "$folder_name" ;; + *.zip) unzip "$1" -d "$folder_name" ;; + *.Z) uncompress "$1" && mv "${1%.*}" "$folder_name" ;; + *.7z) 7z x "$1" -o"$folder_name" ;; + *.xz) xz --decompress --keep "$1" && mv "${1%.*}" "$folder_name" ;; + *) echo "'$1' cannot be extracted via extract()" ;; + esac + else + echo "'$1' is not a valid file" + fi +} + #load neofetch #neofetch +source /usr/share/nvm/init-nvm.sh + +PATH=$PATH:/home/shihaam/.wine/drive_c/users/shihaam/AppData/Roaming/.tlauncher/legacy/Minecraft +shopt -s cdspell +#fastfetch diff --git a/config/i3/config b/config/i3/config index f8e3a01..d7959cf 100644 --- a/config/i3/config +++ b/config/i3/config @@ -212,7 +212,7 @@ exec --no-startup-id picom # Start bluetooth system tray applet at login exec --no-startup-id blueman-applet -exec --no-startup-id /home/shihaam/.scripts/scrcpy-autostart +#exec --no-startup-id /home/shihaam/.scripts/scrcpy-autostart # start power mmanager exec --no-startup-id xfce4-power-manager @@ -231,11 +231,12 @@ exec --no-startup-id dunst # start kde connect -exec --no-startup-id /usr/lib/kdeconnectd +exec --no-startup-id kdeconnectd #set a wallpaper exec --no-startup-id feh --no-fehbg --bg-scale /usr/share/backgrounds/archlinux/split.png - +#start ibus +exec --no-startup-id ibus start #exec_always polybar diff --git a/scripts/get-http b/scripts/get-http new file mode 100755 index 0000000..f4b6221 --- /dev/null +++ b/scripts/get-http @@ -0,0 +1,48 @@ +#!/bin/bash + +# Usage check +if [ $# -ne 1 ]; then + echo "Usage: $0 " + exit 1 +fi + +# Extract the protocol, hostname, port, and path from the URL +url=$1 +protocol="${url%%://*}" +host_port="${url#*://}" +host="${host_port%%/*}" +path="/${host_port#*/}" +port=80 + +# Check if the protocol is HTTP +if [ "$protocol" != "http" ]; then + echo "Only HTTP protocol is supported." + exit 1 +fi + +# Check if a port is specified +if [[ $host == *:* ]]; then + IFS=':' read -ra ADDR <<< "$host" + host=${ADDR[0]} + port=${ADDR[1]} +fi + +# Open connection to the host +exec 3<>/dev/tcp/$host/$port + +# Send HTTP GET request +echo -e "GET $path HTTP/1.1\r\nHost: $host\r\nConnection: close\r\n\r\n" >&3 + +# Read the response and output the file content +{ + # Skip HTTP headers + while IFS= read -r line; do + [[ $line == $'\r' ]] && break + done + + # Output the body (file content) + cat >&1 +} <&3 + +# Close the connection +exec 3<&- diff --git a/scripts/i3lock-finger b/scripts/i3lock-finger new file mode 100755 index 0000000..ddacef5 --- /dev/null +++ b/scripts/i3lock-finger @@ -0,0 +1,27 @@ +#!/bin/bash + +# Ensure the directory for failed fingerprint images exists +mkdir -p ~/pictures/failed_finger + +# Lock the screen with all passed arguments +i3lock "$@" & + +while true; do + # Run the fingerprint verification and redirect output to /dev/null + fprintd-verify &> /dev/null + + # Capture the exit code + exit_code=$? + + # Check the exit code + if [ $exit_code -eq 0 ]; then + pkill i3lock + exit 0 + elif [ $exit_code -eq 1 ]; then + timestamp=$(date "+%Y%m%d_%H%M%S") + timestamp_human=$(date -d "${timestamp:0:8} ${timestamp:9:2}:${timestamp:11:2}:${timestamp:13:2}" "+%Y-%h-%d %H:%M:%S") + ffmpeg -f video4linux2 -s 1280x720 -i /dev/video0 -frames:v 1 ~/pictures/failed_finger/$timestamp.png + kdeconnect-cli --device $(kdeconnect-cli -a --id-only) --ping-msg "Failed to unlock at $timestamp_human" + fi +done + diff --git a/scripts/netscan b/scripts/netscan new file mode 100755 index 0000000..374f07b --- /dev/null +++ b/scripts/netscan @@ -0,0 +1,72 @@ +#!/bin/bash + +# Check if an interface name is provided +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +INTERFACE=$1 + +# Get the IP subnet for the provided network interface +IP_SUBNET=$(ip route show dev "$INTERFACE" | grep -v default | awk '{print $1}') + + +# Check if the IP information was found +if [ -z "$IP_SUBNET" ]; then + echo "No IP address found for interface $INTERFACE." + exit 1 +fi + +# Scan the subnet using nmap, running as root +echo "Scanning the subnet $IP_SUBNET..." +OUTPUT=$(sudo nmap -sP "$IP_SUBNET") + +# Parse the nmap output and present it in a table +#echo "$OUTPUT" | awk '/Nmap scan report for/{ +# if ($5 ~ /^\(/) { ip=$5; name="Unknown"; } +# else if ($6 ~ /^\(/) { name=$5; ip=$6; } +# else { name="Unknown"; ip=$5; } +# +# ip=gensub(/\(|\)/, "", "g", ip); # Remove parentheses from IP +# +# getline; getline; mac=$3; brand=""; +# +# # Capture the entire remainder as brand, remove parentheses +# for (i=4; i<=NF; i++) brand = brand $i " "; +# brand=gensub(/^\(|\)$/, "", "g", brand); # Clean brand formatting +# print name, ip, mac, brand +#}' | column -t -s ' ' -o ' | ' | awk 'BEGIN {print "Name | IP Address | MAC Address | Brand\n-----------------------------------------------------------------"} {print}' + +# Parse the nmap output and present it in a table +echo "$OUTPUT" | awk '/Nmap scan report for/{ + if ($5 ~ /^\(/) { ip=$5; name="Unknown"; } + else if ($6 ~ /^\(/) { name=$5; ip=$6; } + else { name="Unknown"; ip=$5; } + + ip=gensub(/\(|\)/, "", "g", ip); # Remove parentheses from IP + + getline; getline; mac=$3; brand=$4; # Skip status line and move to MAC and Brand + gsub(/\(|\)/, "", brand); # Clean brand formatting + print name, ip, mac, brand +}' | column -t -s ' ' -o ' | ' | awk 'BEGIN {print "Name | IP Address | MAC Address | Brand\n-----------------------------------------------------------------"} {print}' + + +## Parse the nmap output and present it in a table +#echo "$OUTPUT" | awk '/Nmap scan report for/{ +# if ($5 ~ /^\(/) { ip=$5; name="Unknown"; } +# else if ($6 ~ /^\(/) { name=$5; ip=$6; } +# else { name="Unknown"; ip=$5; } +# +# ip=gensub(/\(|\)/, "", "g", ip); # Remove parentheses from IP +# +# getline; getline; mac=$3; brand=""; +# +# # Capture the entire remainder as brand +# if ($(NF-1) ~ /^\(/) { # Check if the second last field starts with ( +# for (i=4; i<=NF; i++) brand = brand $i " "; +# sub(/\s+$/, "", brand); # Trim trailing space +# brand=gensub(/\((.*)\)/, "\\1", "g", brand); # Remove outer parentheses +# } +# print name, ip, mac, brand +#}' | column -t -s ' ' -o ' | ' | awk 'BEGIN {print "Name | IP Address | MAC Address | Brand\n--------------------------------------------------------------------------------"} {print}' diff --git a/scripts/output.jpg b/scripts/output.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dbeebd505eef51b2f76f077638d24fe19b7863f4 GIT binary patch literal 31711 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 B8wUUY literal 0 HcmV?d00001