Skip to main content

0 likes • Mar 21, 2021 • 0 views

More Shell Posts

Search file with word list fast

0 likes • Feb 22, 2022 • 1 view
#Leif Messinger
#For when you want to search a lot of words in a file fast
#Arg 1 is the argument the list of words you want to search
#Arg 2 is the file you want to search
#-z means that it looks at the file as a whole, just treating newlines a characters.
#-r is regex. Needed for $, even tho the documentation says you don't need it. They are liars.
#First command replaces all . with \. and all - with \-
#Second command takes all newlines and replaces them with )|(
#Third command takes the trailing |( and deletes it
#Forth command puts a /( at the start
#Fith command puts /!d at the end. This tells it to not delete any lines that match the pattern.
#The second sed takes the output of the first sed as a command that searches any of the combined words
#-f - takes a command from the input
sed -z -r -e 's/\./\\\./g ; s/\-/\\\-/g' -e 's/\n/\)\|\(/g' -e 's/\|\($//' -e 'i/\(' -e 'a/!d' $1 | sed -r -f - $2

0 likes • Jan 12, 2023 • 0 views
#Originally made by Isaac Cook
#Modified by Leif Messinger [server_ip [server2_ip [...]]]
#To be run locally on a linux computer
if [ -e ~/.ssh/ ];
echo "SSH Key already exists on local machine"
echo "Generating SSH key on local machine"
ssh-keygen -t rsa #generates id_rsa and
chmod -R 700 ~/.ssh #Sets permissions of ssh folder
ssh-add #Adds keys (and passwords?) to ssh_agent. (hopefully doesn't require password)
echo "Loading client public key into memory"
for server
echo "Adding client public key to $server remote server authorized keys"
#Idiot Isaac Cook didn't know about ssh-copy-id
#ssh-copy-id even checks if your key already exists
#In fairness, I didn't either until researching ssh-add
ssh-copy-id -i ~/.ssh/ $server #In theory, this should prompt for a username
#ssh $server "mkdir -p ~/.ssh; #Make the folder if not already made
# echo \"$pubKey\" >> ~/.ssh/authorized_keys; #Append your public key to the server's authorized_keys
# chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys" #Set the correct permissions of those files
#echo "Adding server public key to local authorized keys"
#ssh $server "ssh-copy-id -i ~/.ssh/ \$SSH_CLIENT" #this might need some awk, as $SSH_CLIENT spits out clientip portnumber
echo "Displaying server public key"
ssh $server "cat ~/.ssh/"
#Though, he did give me a good idea
echo "Displaying keys authorized on $server (you can paste them in your authorized_keys file)"
ssh $server "cat ~/.ssh/authorized_keys"
#echo "Appending keys authorized on $server to your local authorized_keys"
#ssh $server "cat ~/.ssh/authorized_keys" >> ~/.ssh/authorized_keys
echo "SSH keys schronized successfully!"

Check For File

0 likes • Aug 7, 2023 • 2 views
# Three ways of checking if a file exists in a shell script
if test -f "$FILE"; then
echo "$FILE exists."
if [ -f "$FILE" ]; then
echo "$FILE exists."
if [[ -f "$FILE" ]]; then
echo "$FILE exists."

abuseipdb config

0 likes • Nov 18, 2022 • 0 views
#for ssh abuse attempts
action = %(action_)s
%(action_abuseipdb)s[abuseipdb_apikey="", abuseipdb_category="18,22"]
actionban = curl --fail --ciphers ecdhe_ecdsa_aes_256_sha --data 'key=<abuseipdb_apikey>' --data-urlencode 'comment=<matches>' --data 'ip=<ip>' --data 'category=<abuseipdb_category>' ""

0 likes • Apr 21, 2021 • 0 views
Shell by Leif Messinger
#For use on debian, where your cds aren't immediately mounted
wall "CD inserted boss"
set -x #echo on
cdDrivePath=$(ls -l /dev/cdrom | awk '{print $NF}')
#CD could have no label, so that's why I need awk
cdLabel=$(lsblk -n "/dev/$cdDrivePath" -o label)
if [[ ! -z "$cdLabel" ]]; then #CD has label
echo "The cd label is ${folderName}"
if mkdir ./cds/"${folderName}"; then #Folder didn't exist before
sudo mount /dev/cdrom ./.cdmountpoint
sudo cp -r ./.cdmountpoint/* "./cds/${folderName}"
sudo chmod -R 777 "./cds/${folderName}"
sudo umount ./.cdmountpoint
wall "CD done and ejecting"
wall "Already read that cd, skipped"
wall "CD had no label, skipped"

NPM Workspaces Commands

0 likes • Aug 16, 2023 • 2 views
# Run "test" script on all packages
npm run test --workspaces
# Tip - this also works:
npm run test -ws
# Runs "test" only on package-a
npm run test --workspace package-a
# Tip - this also works:
npm run test -w package-a
# Install `lodash` on `package-a`
npm install lodash --workspace package-a
# Install `tap` on `package-b` as a dev dependency
npm install tap --workspace package-b --save-dev
# Install `package-a` on `package-b`
npm install package-a --workspace package-b
# Install `eslint` in all packages
npm install eslint --workspaces