Compare commits

...

43 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
28dce4b836 ssh-access-notify 2023-04-01 17:20:19 +05:00
a0470b5f06 added dunst 2023-04-01 12:51:45 +05:00
351c1c959f added picom config 2023-03-26 10:42:36 +05:00
23dfbf1592 repace spaces with under score 2023-03-22 15:09:25 +05:00
dd08223fca added activate-linux 2023-03-20 15:45:30 +05:00
617296a477 added enter func 2023-03-19 09:15:58 +05:00
952a809d70 added power manager 2023-03-17 16:53:49 +05:00
8f63f6fbf8 i3config 2023-03-13 09:19:24 +05:00
d03559fd51 someday, i will write touch pad scipt 2023-03-03 21:29:57 +05:00
71537f9de5 in func 2023-01-17 15:30:34 +05:00
c124a99266 root function 2023-01-17 15:29:06 +05:00
40e6023c83 correct path for scripts ln 2023-01-09 20:36:22 +05:00
c84e170e4f restore fonts from correct path 2023-01-09 20:31:35 +05:00
992987fb3c question the scripts 2023-01-09 20:29:07 +05:00
5f96594506 restore fonts 2023-01-09 20:27:37 +05:00
73c6a8b1a0 creat existing folders 2023-01-09 20:22:06 +05:00
e81e4d9e61 fixed variable 2023-01-09 20:20:59 +05:00
90b980b39a added scripts 2023-01-09 20:19:02 +05:00
e4ead60afe commit test 2023-01-09 13:42:55 +05:00
502fdd2149 update..something 2023-01-09 13:27:29 +05:00
50afc6ed7f fix xsettingsd 2022-12-14 21:21:55 +05:00
8244d5cf6b added xsettingsd 2022-12-14 21:19:33 +05:00
20 changed files with 592 additions and 67 deletions

121
bashrc
View File

@@ -1,7 +1,19 @@
PATH=$HOME/.scripts:/opt:$PATH
# vars
PATH=$HOME/.scripts:/opt:/home/shihaam/.local/bin:$HOME/.shortcuts/wineprograms:$HOME/Applications:$PATH
HISTSIZE=999999 HISTSIZE=999999
HISTFILESIZE=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/.ssh
export SSH_CA_REVOCATION_LIST=$HOME/git/alliedmaldives/ops/ssh-ca/revoked_keys
export SSL_FILES=$HOME/git/alliedmaldives/ops/ssl-certs
#load ble.sh #load ble.sh
source ~/.local/share/blesh/ble.sh source ~/.local/share/blesh/ble.sh
@@ -14,21 +26,114 @@ source ~/.bash-seafly-prompt/command_prompt.bash
cd(){ builtin cd "$@" && pwd > ~/.cache/whereami;} cd(){ builtin cd "$@" && pwd > ~/.cache/whereami;}
cdl(){ cd $(cat ~/.cache/whereami);};cdl cdl(){ cd $(cat ~/.cache/whereami);};cdl
#alias ssh='TERM=xterm ssh -o StrictHostKeyChecking=no' ip(){
#alias ssh='TERM=xterm ssh' if [[ $1 == "info" ]]
#alias ssh='TERM=xterm-256color ssh' then
curl -s https://ipinfo.io/$2 | jq
else
command ip "$@"
fi
}
alias nano='nano -i'
####### ALIASES ##########
# add features
#alias nano='nano -l'
alias hdd='cd /mnt/hdd' alias hdd='cd /mnt/hdd'
alias drag=ripdrag
#Adding output colors #Adding output colors
alias ls='ls --color=always' alias ls='ls --color=always'
alias grep='grep --color=always' alias grep='grep --color=auto'
alias less='less -R' 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
#}
#do math in shell ##################### Some cool funcations hehe ###############################
# do math in shell
math(){ echo $1 | bc;} math(){ echo $1 | bc;}
# Simpleway to see IP resolved to DNS record
checkip(){ dig $1 +short;}
# search for term and edit first file with that specific text
edit(){ nano $(grep $1 * -R | awk '{print $1}'|cut -f1 -d ':' | head -n1);}
#root(){ su -c "$@";}
# view md file on cli
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
#enter () {
# local container="$(echo "$1" | cut -d'_' -f1)"
# if docker ps | grep "$container" >/dev/null 2>&1; then
# docker exec -it "$container" bash
# elif podman ps | grep "$container" >/dev/null 2>&1; then
# podman exec -it "$container" bash
# else
# echo "Error: Container '$container' not found" >&2
# return 1
# fi
#}
enter () {
local container="$1"
# local container="$(echo "$1" | cut -d'_' -f1)"
if docker ps | grep "$container" >/dev/null 2>&1; then
docker exec -it "$container" bash
elif podman ps | grep "$container" >/dev/null 2>&1; then
podman exec -it "$container" bash
else
echo "Error: Container '$container' not found" >&2
return 1
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 #load neofetch
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

@@ -44,6 +44,10 @@ bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOU
# Use Mouse+$mod to drag floating windows to their wanted position # Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod floating_modifier $mod
# move tiling windows via drag & drop by left-clicking into the title bar,
# or left-clicking anywhere into the window while holding the floating modifier.
tiling_drag modifier titlebar
# start a terminal # start a terminal
bindsym $mod+Return exec i3-sensible-terminal bindsym $mod+Return exec i3-sensible-terminal
@@ -53,8 +57,6 @@ bindsym $mod+Shift+q kill
# start dmenu (a program launcher) # start dmenu (a program launcher)
#bindsym $mod+d exec --no-startup-id dmenu_run #bindsym $mod+d exec --no-startup-id dmenu_run
bindsym $mod+d exec --no-startup-id rofi -show run bindsym $mod+d exec --no-startup-id rofi -show run
# A more modern dmenu replacement is rofi: # A more modern dmenu replacement is rofi:
# bindcode $mod+40 exec "rofi -modi drun,run -show drun" # bindcode $mod+40 exec "rofi -modi drun,run -show drun"
# There also is i3-dmenu-desktop which only displays applications shipping a # There also is i3-dmenu-desktop which only displays applications shipping a
@@ -113,16 +115,16 @@ bindsym $mod+a focus parent
# Define names for default workspaces for which we configure key bindings later on. # Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places. # We use variables to avoid repeating the names in multiple places.
set $ws1 "1: " set $ws1 "1"
set $ws2 "2: " set $ws2 "2"
set $ws3 "3: " set $ws3 "3"
set $ws4 "4: " set $ws4 "4"
set $ws5 "5: " set $ws5 "5"
set $ws6 "6: " set $ws6 "6"
set $ws7 "7: " set $ws7 "7"
set $ws8 "8: " set $ws8 "8"
set $ws9 "9: " set $ws9 "9"
set $ws10 "10: " set $ws10 "10"
# switch to workspace # switch to workspace
bindsym $mod+1 workspace number $ws1 bindsym $mod+1 workspace number $ws1
@@ -148,7 +150,6 @@ bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9 bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10 bindsym $mod+Shift+0 move container to workspace number $ws10
# reload the configuration file # reload the configuration file
bindsym $mod+Shift+c reload bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
@@ -189,57 +190,54 @@ bar {
status_command i3status status_command i3status
} }
##my config
#lock screen
bindsym $mod+shift+x exec i3lock --color=000000
#set wallpaper # remove blue border on windows
#exec nitrogen --restore
#exec_always feh --bg-scale /usr/share/backgrounds/archlinux/archbtw.png
#exec_always feh --no-fehbg --bg-scale '/usr/share/backgrounds/archlinux/archwave.png'
#exec_always feh --no-fehbg --bg-scale ~/Pictures/Wallpapers/current-wallpaper
exec_always ~/.scripts/set-random-wallpaper
#screenshot util
bindsym $mod+shift+s exec flameshot gui
#fixed opening workspaces
assign [class="TelegramDesktop"] $ws10
#assign [class=""] $ws9
assign [class="obs"] $ws8
assign [class="Virt-manager"] $ws7
assign [class="org.remmina.Remmina"] $ws7
assign [class="Brave"] $ws6
assign [class="Pcmanfm"] $ws5
#window boder size
for_window [class="^.*"] border pixel 0 for_window [class="^.*"] border pixel 0
#floating mode windows #restore displays
# float Bitwarden Extension from brave #exec --no-startup-id /home/shihaam/.scripts/home.sh
for_window [class="Brave-browser" instance="crx_nngceckbapebfimnlniiiahkandclblb"] floating enable #exec --no-startup-id autorandr --change home
# float network manager setting window #exec --no-startup-id i3-resurrect --restore
for_window [class="Nm-connection-editor" instance="nm-connection-editor"] floating enable
#start programs # flameshot
exec telegram-desktop #bindsym $mod+Shift+s exec flameshot gui
exec_always picom bindsym Print exec flameshot gui
exec dunst bindsym $mod+Print exec flameshot gui --raw | tesseract stdin stdout | xclip -in -selection clipboard
exec ~/.script/addvirtualsoundcard Virtual-Sound-Card # rofi ssh
exec systemctl --user start mpd bindsym $mod+Shift+s exec rofi -show ssh
exec --no-startup-id i3-msg 'workspace $ws1;exec i3-sensible-terminal ~/.scripts/run'
exec --no-startup-id i3-msg 'workspace $ws9;exec i3-sensible-terminal ncmpcpp' # start the compositor at login
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
# start power mmanager
exec --no-startup-id xfce4-power-manager
# start 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
# Sreen brightness controls # start kde connect
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness exec --no-startup-id kdeconnectd
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness
# Touchpad controls #set a wallpaper
bindsym XF86TouchpadToggle exec /home/shihaam/.scripts/toggletouchpad.sh # toggle touchpad 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
# Media player controls
bindsym XF86AudioPlay exec playerctl play bindsym $mod+period exec rofi -modi emoji -show emoji
bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous

View File

@@ -1 +1,20 @@
include /usr/share/nano-syntax-highlighting/* 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

23
config/picom/picom.conf Normal file
View File

@@ -0,0 +1,23 @@
backend = "xrender";
no-dock-shadow = true;
active-opacity = 10;
frame-opacity = 10;
inactive-opacity-override = false;
blur-background = false;
corner-radius = 5;
shadow = false;
shadow-ignore-shaped = false;
no-fading-destroyed-argb = true;
no-fading-openclose = true;
no-fading-destroy = true;
fade-in-step = 1;
fade-out-step = 1;
fade-delta = 0;
daemon = true;
fading = false;
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
use-damage = true;
xrender-sync-fence = true;
vsync = false;
unredir-if-possible = false;

View File

@@ -0,0 +1,12 @@
Net/ThemeName "Breeze-Dark"
Gtk/EnableAnimations 1
Gtk/DecorationLayout "icon:minimize,maximize,close"
Gtk/PrimaryButtonWarpsSlider 0
Gtk/ToolbarStyle 3
Gtk/MenuImages 1
Gtk/ButtonImages 1
Gtk/CursorThemeSize 24
Gtk/CursorThemeName "breeze_cursors"
Net/IconThemeName "breeze-dark"
Gtk/FontName "Noto Sans, 10"

View File

@@ -13,6 +13,16 @@ then
fi fi
################################################################### ###################################################################
###################################################################
read -p "Restore i3wm config?? [Y/n]: " ENABLE_NANO
if [ "$RESTORE_I3" = "Y" ] || [ "$RESTORE_I3" = "y" ] || [ "$RESTORE_I3" = "" ]
then
rm -rfv $HOME/.config/i3
mkdir -p $HOME/.config/i3
ln -s $PWD/config/i3/config $HOME/.config/i3/config
fi
###################################################################
################################################################### ###################################################################
read -p "Restore ~/.bashrc? [Y/n]: " ENABLE_BASHRC read -p "Restore ~/.bashrc? [Y/n]: " ENABLE_BASHRC
if [ "$ENABLE_BASHRC" = "Y" ] || [ "$ENABLE_BASHRC" = "y" ] || [ "$ENABLE_NANO" = "" ] if [ "$ENABLE_BASHRC" = "Y" ] || [ "$ENABLE_BASHRC" = "y" ] || [ "$ENABLE_NANO" = "" ]
@@ -29,3 +39,40 @@ then
ln -s $PWD/bashrc $HOME/.bashrc ln -s $PWD/bashrc $HOME/.bashrc
fi fi
################################################################### ###################################################################
###################################################################
read -p "xsettingsd [Y/n]: " XSETTINGSD
if [ "$XSETTINGSD" = "Y" ] || [ "$XSETTINGSD" = "y" ] || [ "$XSETTINGSD" = "" ]
then
sudo pacman -S xsettingsd
mkdir -p $HOME/.config/xsettingsd/
ln -s $PWD/config/xsettingsd/xsettingsd.conf $HOME/.config/xsettingsd/xsettingsd.conf
fi
###################################################################
###################################################################
read -p "Would you like to restore scripts [Y/n]: " SCRIPTS
if [ "$SCRIPTS" = "Y" ] || [ "$SCRIPTS" = "y" ] || [ "$SCRIPTS" = "" ]
then
mkdir $HOME/.scripts $HOME/.shortcuts -p
ln -s $PWD/scripts/* $HOME/.scripts/
fi
###################################################################
###################################################################
read -p "Would you like to restore fonts [Y/n]: " FONTS
if [ "$FONTS" = "Y" ] || [ "$FONTS" = "y" ] || [ "$FONTS" = "" ]
then
mkdir -vp $HOME/.local/share/fonts
ln -s $PWD/local/share/fonts/* $HOME/.local/share/fonts/
fi
###################################################################
read -p "Would you like to restore picom config [Y/n]: " FONTS
if [ "$PICOM" = "Y" ] || [ "$PICOM" = "y" ] || [ "$PICOM" = "" ]
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}'

22
scripts/notify-ssh-access.sh Executable file
View File

@@ -0,0 +1,22 @@
#!/bin/bash
doas tail -fn0 /var/log/audit/audit.log | while read -r line; do
key=$(echo "$line" | grep -oP '(?<=key=").*?(?=")')
exe=$(echo "$line" | grep -oP '(?<=exe=").*?(?=")')
pid=$(echo "$line" | awk -F'ppid=[0-9]+ pid=' '{print $2}' | awk -F' ' '{print $1}')
username=$(echo "$line" | grep -oP '(?<=EUID=").+?(?=")')
if [ "$key" = "ssh-key-read" ]
then
SUBJECT="SSH Key accessed!"
MESSAGE="exec=$exe\nuser=$username\npid=$pid"
if [ "$exe" = "/usr/bin/scp" ] || [ "$exe" = "/usr/bin/ssh" ]
then
notify-send "$SUBJECT" "$MESSAGE"
else
notify-send -u critical "$SUBJECT" "$MESSAGE"
fi
fi
done

2
scripts/office2kdisplay.sh Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/sh
xrandr --output eDP-1 --mode 1920x1080 --pos 0x360 --rotate normal --output HDMI-1 --off --output DP-1 --primary --mode 2560x1440 --pos 1920x0 --rotate normal --output HDMI-2 --off

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

13
scripts/scrcpy-autostart Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
while true; do
if [ -L /dev/android_adb ]
then
# scrcpy --no-audio --turn-screen-off --stay-awake & sndcpy
scrcpy --turn-screen-off --stay-awake
else
adb wait-for-device
fi
done

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

19
scripts/touchpad.sh Normal file
View File

@@ -0,0 +1,19 @@
la2110 ~/.scripts xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ DELL0959:00 06CB:CDD5 Mouse id=9 [slave pointer (2)]
⎜ ↳ DELL0959:00 06CB:CDD5 Touchpad id=10 [slave pointer (2)]
⎜ ↳ PS/2 Generic Mouse id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Integrated_Webcam_HD: Integrate id=8 [slave keyboard (3)]
↳ Intel HID events id=11 [slave keyboard (3)]
↳ Intel HID 5 button array id=12 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
xinput set-prop 10 "Device Enabled" 1