Compare commits

...

21 Commits

Author SHA1 Message Date
8b24c9f318 idek whats in here, there might even be some password idk 2024-08-06 22:23:56 +05:00
44d2ac2019 a better port scan 2023-11-15 20:04:40 +05:00
63a62572f2 add port scan 2023-11-15 19:57:03 +05:00
be0d92ebc1 better docker compose up 2023-11-12 22:15:59 +05:00
6fd9a92306 updates 2023-11-12 22:10:38 +05:00
e77e963a98 updated bashrc and i3conf 2023-10-04 13:16:32 +05:00
e7c2673576 socketttts 2023-10-04 02:18:48 +05:00
b0a4bb2270 updated 2023-10-03 23:52:45 +05:00
25d69a780d friend 2023-08-20 12:27:28 +05:00
0c092f7ab7 added passcode setup if not found 2023-08-20 12:24:56 +05:00
709079c3e5 added pin file check 2023-08-20 12:15:35 +05:00
7eeecd9991 pretty 2023-08-20 12:01:56 +05:00
e742d169c2 mOdUlAr 2023-08-20 12:00:53 +05:00
b2e7765b13 check if x11 or not 2023-08-20 11:32:38 +05:00
94e23dc226 updated bashrc +HISTCONTROL=ignoreboth:erasedups 2023-08-20 11:26:07 +05:00
1c9b6cd94a added telegram lock/unlock script 2023-08-20 11:21:03 +05:00
7192a961e9 added i3lock.sh 2023-08-07 11:06:54 +05:00
be1692c02a idk 2023-08-07 11:05:54 +05:00
cf08990f6d sensible-terminal 2023-07-31 08:52:48 +05:00
ce77f97011 sensible-terminal 2023-07-31 08:33:33 +05:00
9c6b39aa4b added ssh-terminal 2023-07-31 08:17:03 +05:00
15 changed files with 382 additions and 16 deletions

73
bashrc
View File

@@ -1,13 +1,19 @@
PATH=$HOME/.scripts:/opt:/home/shihaam/.local/bin:$HOME/.shortcuts/wineprograms:$PATH
# vars
PATH=$HOME/.scripts:/opt:/home/shihaam/.local/bin:$HOME/.shortcuts/wineprograms:$HOME/Applications:$PATH
HISTSIZE=999999
HISTFILESIZE=999999
HISTCONTROL=ignoreboth:erasedups
export GPG_TTY=$(tty) #Set GPG_TTY veriable, needed for signing git commits other gpg stuff
export COMPOSE_DOCKER_CLI_BUILD=1
export DOCKER_BUILDKIT=1
#export SSH_CA_FILES=/home/shihaam/git/alliedmaldives/ops/ssh-ca
export SSH_CA_FILES=/home/shihaam/.ssh
export SSH_CA_FILES=$HOME/.ssh
export SSH_CA_REVOCATION_LIST=$HOME/git/alliedmaldives/ops/ssh-ca/revoked_keys
export SSL_FILES=/home/shihaam/ssl/allied
export SSL_FILES=$HOME/git/alliedmaldives/ops/ssl-certs
#load ble.sh
source ~/.local/share/blesh/ble.sh
@@ -20,18 +26,41 @@ 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 ##########
alias nano='nano -i'
# 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
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
#}
##################### Some cool funcations hehe ###############################
# do math in shell
@@ -45,6 +74,9 @@ edit(){ nano $(grep $1 * -R | awk '{print $1}'|cut -f1 -d ':' | head -n1);}
catmd() { pandoc $1 | lynx -stdin;}
# replace white spaces in file name with underscores
rmspace() { for file in *; do mv -- "$file" "${file// /_}"; done;}
yq() {
podman run --rm -i -v "${PWD}":/workdir mikefarah/yq "$@"
}
###############################################################################
### Enter container
@@ -73,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

View File

@@ -195,30 +195,49 @@ bar {
for_window [class="^.*"] border pixel 0
#restore displays
exec --no-startup-id /home/shihaam/.scripts/office2kdisplay.sh
#exec --no-startup-id /home/shihaam/.scripts/home.sh
#exec --no-startup-id autorandr --change home
#exec --no-startup-id i3-resurrect --restore
# flameshot
bindsym $mod+Shift+s exec flameshot gui
#bindsym $mod+Shift+s exec flameshot gui
bindsym Print exec flameshot gui
bindsym $mod+Print exec flameshot gui --raw | tesseract stdin stdout | xclip -in -selection clipboard
# rofi ssh
bindsym $mod+Shift+s exec rofi -show ssh
# start the compositor at login
exec --no-startup-id picom
# Start bluetooth system tray applet at login
# Start bluetooth system tray applet at login
exec --no-startup-id blueman-applet
exec --no-startup-id /home/shihaam/.scripts/scrcpy-autostart
# start activty watcher
exec --no-startup-id aw-qt
#exec --no-startup-id /home/shihaam/.scripts/scrcpy-autostart
# start power mmanager
exec --no-startup-id xfce4-power-manager
# start activate-linux
exec --no-startup-id activate-linux
#exec --no-startup-id activate-linux
# start ssh key monitoring
#exec --no-startup-id doas auditctl -w /home/shihaam/.ssh/id_ed25519 -p r -k ssh-key-read
# Start dunst (notification service)
exec --no-startup-id dunst
# start ssh access notification script
exec --no-startup-id /home/shihaam/.scripts/notify-ssh-access.sh
#exec --no-startup-id /home/shihaam/.scripts/notify-ssh-access.sh
# start kde connect
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
bindsym $mod+period exec rofi -modi emoji -show emoji

View File

@@ -1 +1,20 @@
include /usr/share/nano-syntax-highlighting/*
set autoindent
set linenumbers
#set smooth
set backup
set backupdir "~/.cache/nano"
set titlecolor brightblue,black
set statuscolor brightgreen,blue
set selectedcolor brightwhite,magenta
set numbercolor yellow
set keycolor brightcyan
set functioncolor green
set nohelp
#bind ^[ ( main
#bind ^] ) main
#bind ^{ { main
#bind ^} } main

View File

@@ -74,3 +74,5 @@ then
mkdir /home/shihaam/.config/picom/
ln -s $PWD/config/picom/picom.conf $HOME/.config/picom/picom.conf
fi
# install screen key please add it here

48
scripts/get-http Executable file
View File

@@ -0,0 +1,48 @@
#!/bin/bash
# Usage check
if [ $# -ne 1 ]; then
echo "Usage: $0 <URL>"
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<&-

27
scripts/i3lock-finger Executable file
View File

@@ -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

2
scripts/i3lock.sh Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/bash
/usr/bin/i3lock -c 000000

72
scripts/netscan Executable file
View File

@@ -0,0 +1,72 @@
#!/bin/bash
# Check if an interface name is provided
if [ -z "$1" ]; then
echo "Usage: $0 <network-interface>"
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}'

3
scripts/open-url.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
xdg-open "$1"

BIN
scripts/output.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

23
scripts/port-scan Executable file
View File

@@ -0,0 +1,23 @@
#!/bin/bash
# Check if two arguments are provided
if [ "$#" -ne 2 ]; then
echo "Usage: $0 <hostname or ip> <port-range>"
exit 1
fi
hostname=$1
port_range=$2
# Split the port range into start and end
IFS='-' read -ra PORTS <<< "$port_range"
start_port=${PORTS[0]}
end_port=${PORTS[1]}
# Iterate over the port range
for ((port=start_port; port<=end_port; port++))
do
(echo > /dev/tcp/$hostname/$port) &>/dev/null && echo "Port $port open"
done
exit 0

View File

@@ -4,7 +4,7 @@ while true; do
if [ -L /dev/android_adb ]
then
# scrcpy --turn-screen-off --stay-awake & sndcpy
# scrcpy --no-audio --turn-screen-off --stay-awake & sndcpy
scrcpy --turn-screen-off --stay-awake
else
adb wait-for-device

9
scripts/sensible-terminal Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
if [ "$1" = "-e" ]; then
shift # Remove the first argument (-e) from the argument list
command_args="$*"
/sbin/xfce4-terminal -e "$command_args"
elif [ -z "$1" ]; then
/sbin/xfce4-terminal
fi

26
scripts/telegram-desktop Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
SOCKET_ID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 8)
# Start socat in the background
socat UNIX-LISTEN:/tmp/xdg-open$SOCKET_ID.socket,fork EXEC:"xargs -n 1 xdg-open" &
# Run the Podman container
podman run --rm \
--name 64gram \
--hostname 64gram \
-e DISPLAY \
--device /dev/snd:/dev/snd \
--device /dev/video0:/dev/video0 \
-v $HOME/.local/share/64Gram:/root/.local/share/64Gram \
-v $HOME/Downloads:/root/Downloads \
-v $HOME/Pictures:/root/Pictures \
-v $HOME/Documents:/root/Documents \
-v /etc/localtime:/etc/localtime \
-v /usr/share/icons:/usr/share/icons \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /tmp/xdg-open$SOCKET_ID.socket:/tmp/xdg-open.socket \
git.shihaam.dev/dockerfiles/64gram
# Wait for all background processes to finish
wait

55
scripts/tginput.sh Executable file
View File

@@ -0,0 +1,55 @@
#!/bin/bash
if [[ $XDG_SESSION_TYPE != "x11" ]]; then
echo "Unsupported session type: $XDG_SESSION_TYPE"
exit 1
fi
get_tg_window_id(){
tg_window_id=$(wmctrl -lx | grep telegram-desktop | awk '{print $1}')
}
get_mouse_location(){
mouse_xy=$(xdotool getmouselocation --shell)
mouse_x=$(printf "%s\n" "$mouse_xy" | grep X= | cut -d= -f2)
mouse_y=$(printf "%s\n" "$mouse_xy" | grep Y= | cut -d= -f2)
}
return_mouse(){
xdotool mousemove $mouse_x $mouse_y
}
lock_tg(){
xdotool windowactivate --sync $tg_window_id key ctrl+l
}
read_passcode(){
if [[ ! -f $HOME/.local/.tgpasscode ]]; then
echo "Passcode file not found!, Enter Telegram local passcode seperated characters by space."
echo "Example: If passcode is 1234, then enter 1 2 3 4 "
read -p "Enter passcode: " PASSCODE
echo $PASSCODE > $HOME/.local/.tgpasscode
echo Telegram Passcode saved at: $HOME/.local/.tgpasscode
fi
tgpasscode=$(cat $HOME/.local/.tgpasscode)
}
unlock_tg(){
xdotool windowactivate --sync $tg_window_id key $tgpasscode Return
}
if [ "$1" == "lock" ]; then
get_tg_window_id
get_mouse_location
lock_tg
return_mouse
elif [ "$1" == "unlock" ]; then
read_passcode
get_tg_window_id
get_mouse_location
unlock_tg
return_mouse
else
echo "Invalid argument. Please use 'lock' or 'unlock'."
exit 1
fi