This commit is contained in:
2026-01-19 21:36:25 -05:00
parent f28c54f610
commit 04fd09550a
52 changed files with 1743 additions and 0 deletions

20
bin/wsl/captureall_start_dir.sh Executable file
View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Check if the argument (top-level directory) is provided
if [ -z "$1" ]; then
echo "Usage: $0 <top-level-directory>"
exit 1
fi
# Use the provided argument as the top-level directory for the find command
top_dir="$1"
export IFS=$'\n'
for i in $(find "$top_dir" -type f \( -iname "*.mp4" \) | sort -f);
do
filename="${i}"
echo "screencapturing: ${filename}"
# Uncomment the following line to actually run screencapture.py
screencapture.py "${filename}"
done

26
bin/wsl/ff169-to-43.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
MAX_WIDTH=960
MAX_HEIGHT=540
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
echo "Will convert to: ${i:2}_mobile.mp4";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
echo "Resizing: ${i:2} ";\
ffmpeg -i ${i:2} -aspect "4:3" -acodec aac -b:v 3.8M -vcodec libx264 -g 30 ${i:2}_mobile.mp4
# ffmpeg -i temp.mp4 -pix_fmt yuv420p -c:v libx264 -b:v 3.8M \
# -vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
# -r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 10k -f mp4 -y ${i:2}_mobile.mp4
# rm temp.mp4
done
date

26
bin/wsl/ff43-to-169.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
MAX_WIDTH=960
MAX_HEIGHT=540
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
echo "Will convert to: ${i:2}_mobile.mp4";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
echo "Resizing: ${i:2} ";\
ffmpeg -i ${i:2} -aspect "16:9" -acodec aac -vcodec libx264 -g 30 ${i:2}_mobile.mp4
#ffmpeg -i temp.mp4 -pix_fmt yuv420p -c:v libx264 -b:v 1.8M \
# -vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
# -r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 10k -f mp4 -y ${i:2}_mobile.mp4
# rm temp.mp4
done
date

51
bin/wsl/fflarge-pick_bitrate.sh Executable file
View File

@@ -0,0 +1,51 @@
#!/bin/bash
MAX_WIDTH=1920
MAX_HEIGHT=1080
read -p "Which bit-rate in MB? " thismb
read -p "Want a notify? " notifyval
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Will convert to: ${fn_noext}${ext}";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Resizing: ${i:2} ";\
ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v ${thismb}M \
-vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
-r:v 59/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 10k -f mp4 -g 118 -y ${fn_noext}${ext}
date
done
if [[ ( -n ${notifyval} ) ]]; then
ntfy -b pushover -o user_key useV3kis7G1EsecHhyDprNeywH72or -t 'From laptop.' send "ff job done."
fi

53
bin/wsl/fflarge.sh Executable file
View File

@@ -0,0 +1,53 @@
#!/bin/bash
MAX_WIDTH=1920
MAX_HEIGHT=1080
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Will convert to: ${fn_noext}${ext}";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
bitrate=`ffmpeg -i ${i:2} 2>&1 | egrep 'Video:' | grep -Po '[[:digit:]]+ kb/s' | cut -d ' ' -f 1`
echo "Found bitrate: ${bitrate} kb/s";
if [ "${bitrate}" == "0" ] || [ -z ${bitrate} ]; then
bitrate=`echo "8000"`
fi
echo "--> Final bitrate: ${bitrate} kb/s";
echo "Resizing: ${i:2} ";\
ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v ${bitrate}k \
-vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
-r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 10k -f mp4 -g 30 -y ${fn_noext}${ext}
date
done

50
bin/wsl/fflarge_60fps.sh Executable file
View File

@@ -0,0 +1,50 @@
#!/bin/bash
MAX_WIDTH=1920
MAX_HEIGHT=1080
read -p "Want a notify when done? " notifyval
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Will convert to: ${fn_noext}${ext}";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Resizing: ${i:2} ";\
ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v 10M \
-vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
-r:v 59/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 10k -f mp4 -g 118 -y ${fn_noext}${ext}
date
done
if [[ ( -n ${notifyval} ) ]]; then
ntfy -b pushover -o user_key useV3kis7G1EsecHhyDprNeywH72or -t 'From laptop.' send "ff job done."
fi

53
bin/wsl/ffmedium.sh Executable file
View File

@@ -0,0 +1,53 @@
#!/bin/bash
MAX_WIDTH=1280
MAX_HEIGHT=720
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Will convert to: ${fn_noext}${ext}";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
# bitrate=`ffmpeg -i ${i:2} 2>&1 | egrep 'Video:' | grep -Po '[[:digit:]]+ kb/s' | cut -d ' ' -f 1`
# echo "Found bitrate: ${bitrate} kb/s";
if [ "${bitrate}" == "0" ] || [ -z ${bitrate} ]; then
bitrate=`echo "4000"`
fi
echo "--> Final bitrate: ${bitrate} kb/s";
echo "Resizing: ${i:2} ";\
ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v ${bitrate}k \
-vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
-r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 28k -f mp4 -g 30 -y ${fn_noext}${ext}
date
done

50
bin/wsl/ffmedium_60fps.sh Executable file
View File

@@ -0,0 +1,50 @@
#!/bin/bash
MAX_WIDTH=1280
MAX_HEIGHT=720
read -p "Want a notify when done? " notifyval
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Will convert to: ${fn_noext}${ext}";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Resizing: ${i:2} ";\
ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v 2.8M \
-vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
-r:v 59/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 10k -f mp4 -g 118 -y ${fn_noext}${ext}
date
done
if [[ ( -n ${notifyval} ) ]]; then
ntfy -b pushover -o user_key useV3kis7G1EsecHhyDprNeywH72or -t 'From laptop.' send "ff job done."
fi

53
bin/wsl/ffmedium_noaudio.sh Executable file
View File

@@ -0,0 +1,53 @@
#!/bin/bash
MAX_WIDTH=1280
MAX_HEIGHT=720
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Will convert to: ${fn_noext}${ext}";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
# bitrate=`ffmpeg -i ${i:2} 2>&1 | egrep 'Video:' | grep -Po '[[:digit:]]+ kb/s' | cut -d ' ' -f 1`
# echo "Found bitrate: ${bitrate} kb/s";
if [ "${bitrate}" == "0" ] || [ -z ${bitrate} ]; then
bitrate=`echo "4000"`
fi
echo "--> Final bitrate: ${bitrate} kb/s";
echo "Resizing: ${i:2} ";\
ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v ${bitrate}k \
-vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
-r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -an -f mp4 -g 30 -y ${fn_noext}${ext}
date
done

11
bin/wsl/ffmerge.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
rm mylist.txt
rm merged.mp4
touch merged.mp4
rm merged.mp4
#listfiles=`ls -cr *.mp4`
listfiles=`ls *.mp4 *.m4v *.mkv`
for f in $listfiles; do echo "file '$f' " >> mylist.txt; done
ffmpeg -safe 0 -f concat -i mylist.txt -c copy -y merged.mp4

53
bin/wsl/ffresize.sh Executable file
View File

@@ -0,0 +1,53 @@
#!/bin/bash
MAX_WIDTH=960
MAX_HEIGHT=540
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Will convert to: ${fn_noext}${ext}";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
bitrate=`ffmpeg -i ${i:2} 2>&1 | egrep 'Video:' | grep -Po '[[:digit:]]+ kb/s' | cut -d ' ' -f 1`
echo "Found bitrate: ${bitrate} kb/s";
if [ "${bitrate}" == "0" ] || [ -z ${bitrate} ]; then
bitrate=`echo "2700"`
fi
echo "--> Final bitrate: ${bitrate} kb/s";
echo "Resizing: ${i:2} ";\
ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v ${bitrate}k \
-vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
-r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 160k -f mp4 -g 30 -y ${fn_noext}${ext}
date
done

48
bin/wsl/ffrmaudio.sh Executable file
View File

@@ -0,0 +1,48 @@
#!/bin/bash
MAX_WIDTH=960
MAX_HEIGHT=540
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Will remove audio : ${fn_noext}${ext}";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.ts" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Removing audio: ${i:2} ";\
ffmpeg -i ${i:2} \
-threads 0 -c:v copy -an -f mp4 -y ${fn_noext}${ext}
# ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v 1.8M \
# -vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
# -vf "transpose=2,transpose=2" \
# -r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 10k -f mp4 -y ${fn_noext}${ext}
date
done

46
bin/wsl/ffrotate180-resize.sh Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/bash
MAX_WIDTH=960
MAX_HEIGHT=540
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Will rotate and convert to: ${fn_noext}${ext}";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Flipping: ${i:2} ";\
ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v 1.8M \
-vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
-vf "transpose=2,transpose=2" \
-r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 10k -f mp4 -g 30 -y ${fn_noext}${ext}
date
done

49
bin/wsl/ffrotate180.sh Executable file
View File

@@ -0,0 +1,49 @@
#!/bin/bash
MAX_WIDTH=960
MAX_HEIGHT=540
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Will rotate and convert to: ${fn_noext}${ext}";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Flipping: ${i:2} ";\
ffmpeg -i ${i:2} \
-vf "transpose=2,transpose=2" \
-threads 0 -y ${fn_noext}${ext}
# ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v 1.8M \
# -vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
# -vf "transpose=2,transpose=2" \
# -r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 10k -f mp4 -y ${fn_noext}${ext}
date
done

45
bin/wsl/ffrotate90-resize.sh Executable file
View File

@@ -0,0 +1,45 @@
#!/bin/bash
MAX_WIDTH=960
MAX_HEIGHT=540
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Will rotate and convert to: ${fn_noext}${ext}";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Flipping: ${i:2} ";\
ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v 1.8M \
-vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
-vf "transpose=1" \
-r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 10k -f mp4 -g 30 -y ${fn_noext}${ext}
date
done

45
bin/wsl/ffrotate90ccw-resize.sh Executable file
View File

@@ -0,0 +1,45 @@
#!/bin/bash
MAX_WIDTH=960
MAX_HEIGHT=540
date
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Will rotate and convert to: ${fn_noext}${ext}";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile);
do
filename=`echo ${i:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
if [ $ext == ".mp4" ]; then
ext=`echo "_mobile.mp4"`
else
ext=`echo "_mobile.mp4"`
fi
echo "Flipping: ${i:2} ";\
ffmpeg -i ${i:2} -pix_fmt yuv420p -c:v libx264 -b:v 1.8M \
-vf scale="iw*sar*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih):ih*min($MAX_WIDTH/(iw*sar)\,$MAX_HEIGHT/ih),pad=$MAX_WIDTH:$MAX_HEIGHT:(ow-iw)/2:(oh-ih)/2,setsar=1/1" \
-vf "transpose=2" \
-r:v 29/1 -force_fps -movflags +faststart -threads 0 -c:a aac -b:a 10k -f mp4 -g 30 -y ${fn_noext}${ext}
date
done

18
bin/wsl/ffslowdown2x.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) );
do
echo "Will convert to: ${i:2}_2x.mp4";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) );
do
echo "Speeding up .5x: ${i:2} ";\
ffmpeg -i ${i:2} -r 30 -filter:v "setpts=2.0*PTS" -filter:a "atempo=0.5" ${i:2}_slow.mp4
done
exit 0
done
done

18
bin/wsl/ffspeedup2x.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
export IFS=$'\n';
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) );
do
echo "Will convert to: ${i:2}_2x.mp4";
done
echo " "
echo " "
for i in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) );
do
echo "Speeding up 2x: ${i:2} ";\
ffmpeg -i ${i:2} -r 60 -filter:v "setpts=0.5*PTS" -filter:a "atempo=2.0" ${i:2}_2x.mp4
done
exit 0
done
done

11
bin/wsl/find265media.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/sh
echo "h265 media:"
echo "--------------------"
for i in `ls`
do
OUTPUT="$(ffmpeg -i $i 2>&1 | egrep ' hevc ')"
if [ ! -z "$OUTPUT" ]; then
echo " "
echo $i
fi
done

14
bin/wsl/find60fps.sh Executable file
View File

@@ -0,0 +1,14 @@
#!/bin/sh
echo "60fps media:"
echo "--------------------"
for i in `ls`
do
OUTPUT50=`ffmpeg -i $i 2>&1 | egrep '50 fps'`
OUTPUT59=`ffmpeg -i $i 2>&1 | egrep '59 fps'`
OUTPUT5994=`ffmpeg -i $i 2>&1 | egrep '59.94 fps'`
OUTPUT60=`ffmpeg -i $i 2>&1 | egrep '60 fps'`
if [[ ( -n "$OUTPUT50" ) || ( -n "$OUTPUT59" ) || ( -n "$OUTPUT5994" ) || ( -n "$OUTPUT60" ) ]]; then
echo " "
echo $i
fi
done

48
bin/wsl/find_similar_videos.sh Executable file
View File

@@ -0,0 +1,48 @@
# Use the current working directory as the image directory
IMAGE_DIR="."
# Get a list of all files in the directory
files=("$IMAGE_DIR"/*.jpg)
# Calculate the total number of attempts
num_files=${#files[@]}
total_attempts=$((num_files * (num_files - 1) / 2))
# Calculate hours and minutes
total_hours=$((total_attempts / 3600))
total_minutes=$(( (total_attempts % 3600) / 60 ))
# Output the number of attempts and estimated time in hours and minutes
echo "Total attempts to compare all files: $total_attempts"
echo "Estimated time to complete (assuming 1 second per comparison): ${total_hours} hours and ${total_minutes} minutes"
echo
echo
# Get a list of all files in the directory
files=("$IMAGE_DIR"/*.jpg)
# Loop through each file by index
x=0
for ((i=0; i<${#files[@]}-1; i++)); do
for ((j=i+1; j<${#files[@]}; j++)); do
x=$((x + 1))
# Compare files[i] with files[j]
similar_images.py "${files[i]}" "${files[j]}"
# Calculate number of symbols based on x % 10
mod_result=$((x % 10))
# Determine whether to use * or o based on x being even or odd
if (( x % 2 == 0 )); then
symbol="*"
else
symbol="o"
fi
# Clear the line and print the symbols on the same line
printf "\r"
for ((k=0; k<mod_result; k++)); do
printf "$symbol"
done
done
done

15
bin/wsl/findlarge_media.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/sh
echo "Large 1440|1852|1920|2030|2048 media:"
echo "--------------------"
for i in `ls`
do
OUTPUT1440=`ffmpeg -i $i 2>&1 | egrep '1440x'`
OUTPUT1852=`ffmpeg -i $i 2>&1 | egrep '1852x'`
OUTPUT1920=`ffmpeg -i $i 2>&1 | egrep '1920x'`
OUTPUT2030=`ffmpeg -i $i 2>&1 | egrep '2030x'`
OUTPUT2048=`ffmpeg -i $i 2>&1 | egrep '2048x'`
if [[ ( -n "$OUTPUT1440" ) || ( -n "$OUTPUT1852" ) || ( -n "$OUTPUT1920" ) || ( -n "$OUTPUT2030" ) || ( -n "$OUTPUT2048" ) ]]; then
echo " "
echo $i
fi
done

12
bin/wsl/findmedium_media.sh Executable file
View File

@@ -0,0 +1,12 @@
#!/bin/sh
echo "Medium 1280|1440 media:"
echo "--------------------"
for i in `ls`
do
OUTPUT1280=`ffmpeg -i $i 2>&1 | egrep '1280x'`
OUTPUT1440=`ffmpeg -i $i 2>&1 | egrep '1440x'`
if [[ ( -n "$OUTPUT1280" ) || ( -n "$OUTPUT1440" ) ]]; then
echo " "
echo $i
fi
done

12
bin/wsl/findnon_hcodec.sh Executable file
View File

@@ -0,0 +1,12 @@
#!/bin/sh
echo "Media to convert to h.264"
echo "--------------------"
for i in `ls`
do
OUTPUTh264=`ffmpeg -i $i 2>&1 | egrep 'h264'`
OUTPUTh265=`ffmpeg -i $i 2>&1 | egrep 'hevc'`
if [[ ( -z "$OUTPUTh264" ) && ( -z "$OUTPUTh265" ) ]]; then
echo " "
echo $i
fi
done

5
bin/wsl/jpg2mp4.sh Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
#ffmpeg -y -r 1/5 -f concat -safe 0 -i list.txt -c:v libx264 -vf "fps=25,scale=1920:1080,format=yuv420p" out.mp4
ffmpeg -framerate 1.5/1 -i %04d.jpg -r 30 -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,format=yuv420p" -codec:v libx264 -y out.mp4

View File

@@ -0,0 +1,49 @@
#!/opt/homebrew/bin/bash
#
# x.sh — sanitize filenames: lowercase, replace non-alnum/dot with underscores,
# collapse runs of underscores, trim, and never overwrite a *different* existing file.
#
shopt -s globstar
SAVEIFS=$IFS
IFS=$'\n' # only split on newlines
sanitize() {
local name="$1"
# 1) lowercase
name="${name,,}"
# 2) anything not az, 09, or dot → underscore
name="${name//[^a-z0-9.]/_}"
# 3) collapse multiple underscores → one underscore
name="$(echo "$name" | sed -E 's/_+/_/g')"
# 4) remove underscore adjacent to dots
name="$(echo "$name" | sed -E 's/_\.|\._/./g')"
# 5) trim leading/trailing underscores
name="$(echo "$name" | sed -E 's/^_+|_+$//g')"
printf '%s' "$name"
}
export -f sanitize
# depth-first traversal so directories are renamed after their contents
find . -depth -print0 | while IFS= read -r -d '' src; do
dir=$(dirname "$src")
base=$(basename "$src")
dst=$(sanitize "$base")
if [[ "$base" != "$dst" ]]; then
target="$dir/$dst"
if [[ -e "$target" ]]; then
# If the only difference is case (macOS/APFS), allow it:
if [[ "${src,,}" = "${target,,}" ]]; then
mv -v "$src" "$target"
else
echo "Skipping: '$src' → '$target' (target exists)"
fi
else
mv -v "$src" "$target"
fi
fi
done
IFS=$SAVEIFS

16
bin/wsl/move_nonhcodec.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/sh
echo "Media to convert to h.264"
echo "--------------------"
for i in `ls`
do
OUTPUTh264=`ffmpeg -i $i 2>&1 | egrep 'h264'`
OUTPUTh265=`ffmpeg -i $i 2>&1 | egrep 'hevc'`
if [[ ( -z "$OUTPUTh264" ) && ( -z "$OUTPUTh265" ) ]]; then
echo " "
if [[ -f $i ]]; then
echo "Moving $i"
mkdir -p to_mp4
mv $i to_mp4
fi
fi
done

4
bin/wsl/notify.sh Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
val1="$@"
ntfy -b pushover -o user_key useV3kis7G1EsecHhyDprNeywH72or -t 'From laptop.' send "$val1"

53
bin/wsl/preview_remove_dates.sh Executable file
View File

@@ -0,0 +1,53 @@
#!/bin/bash
SAVEIFS=$IFS
export IFS=$'\n';
CDIR=$(pwd)
if (pwd | grep -c '\/home\/mobaxterm'); then
#echo "Correct Directory"
echo " "
else
echo "Recursive - Are you sure? CTRL-C now to terminate."
# exit 0
sleep 4
fi
echo " removing in order: .dddd.dd.dd .dd.dd.dddd .dd.dd.dd .19dd .20dd "
for i in `find $CDIR -maxdepth 1 -type f -print`; do
unset hasdate
# echo echo "Looking at $i"
hasfulldate=`echo "$i" | awk '/[\._][[:digit:]][[:digit:]][[:digit:]][[:digit:]][\._]/'`
if [ -z "$hasfulldate" ] ; then
hasfulldate=`echo ""`
else
hasdate=`echo "1"`
fi
if [ -z "$hasfulldate" ] ; then
haspartialdate=`echo "$i" | awk '/[\._][[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]]/'`
if [ -z "$haspartialdate" ] ; then
haspartialdate=`echo ""`
else
hasdate=`echo "1"`
fi
fi
if [ -z $hasdate ] ; then
unset hasdate
else
echo "found: $i "
# in this order:
# .dddd.dd.dd
# .dd.dd.dddd
# .dd.dd.dd
# .19dd
# .20dd
#
fi
done
IFS=$SAVEIFS

77
bin/wsl/remove_dates.sh Executable file
View File

@@ -0,0 +1,77 @@
#!/bin/bash
export IFS=$'\n';
for afile in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${afile:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
i=`echo ${filename}`
# echo "Will remove date: ${i}";
unset hasdate
# echo echo "Looking at $i"
hasfulldate=`echo "$i" | awk '/[[:digit:]][[:digit:]][[:digit:]][[:digit:]][\._]/'`
if [ -z "$hasfulldate" ] ; then
hasfulldate=`echo ""`
else
hasdate=`echo "1"`
fi
if [ -z "$hasfulldate" ] ; then
haspartialdate=`echo "$i" | awk '/[\._][[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]]/'`
if [ -z "$haspartialdate" ] ; then
haspartialdate=`echo ""`
else
hasdate=`echo "1"`
fi
fi
if [ -z $hasdate ] ; then
unset hasdate
else
echo "mv -n date: $i "
# in this order:
# .dddd.dd.dd
# .dd.dd.dddd
# .dd.dd.dd
# .19dd
# .20dd
#
# res=`echo mv -n "$i" "${i//[[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]]/}"`
# echo echo "res is $res"
# dddd.dd.dd.
mv -n "$i" "${i//[[:digit:]][[:digit:]][[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]][\._]/}"
if [ -f $i ] ; then
# 19dddddd.
mv -n "$i" "${i//[1][9][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][\._]/}"
fi
if [ -f $i ] ; then
# 20dddddd.
mv -n "$i" "${i//[2][0][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][\._]/}"
fi
if [ -f $i ] ; then
# dd.dd.dddd.
mv -n "$i" "${i//[[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]][[:digit:]][[:digit:]][\._]/}"
fi
if [ -f $i ] ; then
# dd.dd.dd.
mv -n "$i" "${i//[[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]][\._][[:digit:]][[:digit:]][\._]/}"
fi
if [ -f $i ] ; then
# 19dd.
mv -n "$i" "${i//[1][9][[:digit:]][[:digit:]][\._]/}"
fi
if [ -f $i ] ; then
# 20dd.
mv -n "$i" "${i//[2][0][[:digit:]][[:digit:]][\._]/}"
fi
# echo " ---- "
# echo " "
fi
done
IFS=$SAVEIFS

36
bin/wsl/remove_digits.sh Executable file
View File

@@ -0,0 +1,36 @@
#!/bin/bash
export IFS=$'\n';
for afile in $(find . -maxdepth 1 -type f \( -iname "*.mpg" -o -iname "*.vob" -o -iname "*.m4v" -o -iname "*.mov" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.wmv" -o -iname "*.flv" -o -iname "*.rmvb" -o -iname "*.mpeg" -o -iname "*.mkv" -o -iname "*.mov" \) | grep -v mobile | sort -f);
do
filename=`echo ${afile:2}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
i=`echo ${filename}`
# echo "Will remove digit: ${i}";
unset hasdigit
# echo echo "Looking at $i"
hasfulldigit=`echo "$i" | awk '/[[:digit:]][\._]/'`
if [ -z "$hasfulldigit" ] ; then
hasfulldigit=`echo ""`
else
hasdigit=`echo "1"`
fi
if [ -z $hasdigit ] ; then
unset hasdigit
else
echo "mv -n digit: $i "
# res=`echo mv -n "$i" "${i//[[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]]/}"`
# echo echo "res is $res"
# d.
mv -n "$i" "${fn_noext//[[:digit:]]/}"${ext}
fi
done
IFS=$SAVEIFS

25
bin/wsl/rename60fps_media.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/sh
echo "60fps media:"
echo "--------------------"
for i in `ls`
do
OUTPUT50=`ffmpeg -i $i 2>&1 | egrep '50 fps'`
OUTPUT59=`ffmpeg -i $i 2>&1 | egrep '59 fps'`
OUTPUT5994=`ffmpeg -i $i 2>&1 | egrep '59.94 fps'`
OUTPUT60=`ffmpeg -i $i 2>&1 | egrep '60 fps'`
if [ -n "$OUTPUT50" ] || [ -n "$OUTPUT59" ] || [ -n "$OUTPUT5994" ] || [ -n "$OUTPUT60" ]; then
echo " "
echo $i
tol=`echo "$i" | tr '[:upper:]' '[:lower:]'`
echo $tol
# if ! [ $tol in *"_60fps."* ]; then
if [ $tol != *"_60fps."* ]; then
filename=`echo ${i}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
new_fn=`echo ${fn_noext}_60fps${ext}`
echo "new filename is ${new_fn}"
mv $i ${new_fn}
fi
fi
done

34
bin/wsl/rename_any.sh Executable file
View File

@@ -0,0 +1,34 @@
#!/bin/bash
SAVEIFS=$IFS
export IFS=$'\n';
CDIR=$(pwd)
read -p "any name to replace: " startold
read -p "name to use instead: " startnew
echo "Renaming from ${startold} to ${startnew} ";\
if (pwd | grep -c '\/home\/mobaxterm'); then
echo "Correct Directory"
echo " "
else
echo "Wrong Directory"
echo " "
# exit 0
fi
for i in `find $CDIR -maxdepth 0 -type d -print`; do
DIR=$i
cd "$DIR"
echo "Inside $DIR :"
for file in `find . -maxdepth 1 -type f -iname "*${startold}*"`; do
sedstr=`echo "s/${startold}/${startnew}/g"`
newfile=`echo "${file}" | sed ${sedstr}`
echo "moving ${file} to ${newfile}"
mv -n ${file} ${newfile}
done
cd "$CDIR"
done
IFS=$SAVEIFS

26
bin/wsl/rename_front.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
SAVEIFS=$IFS
export IFS=$'\n';
CDIR=$(pwd)
read -p "starting name to add to front: " startfront
echo "Renaming front with ${startfront} ";\
if (pwd | grep -c '\/home\/mobaxterm'); then
echo "Correct Directory"
echo " "
else
echo "non-recursive: proceeding in non-mobaxterm directory"
echo " "
# exit 0
fi
for i in `ls`; do
newfile=`echo "${startfront}${i}"`
echo "moving ${i} to ${newfile}"
mv ${i} ${newfile}
done
IFS=$SAVEIFS

35
bin/wsl/rename_start.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/bin/bash
SAVEIFS=$IFS
export IFS=$'\n';
CDIR=$(pwd)
read -p "starting name to replace: " startold
read -p "starting name to use instead: " startnew
echo "Renaming from ${startold} to ${startnew} ";\
if (pwd | grep -c '\/home\/mobaxterm'); then
echo "Correct Directory"
echo " "
else
echo "Recursive!! Are you sure? CTRL-C to terminate."
# sleep 2
echo " "
# exit 0
fi
for i in `find $CDIR -type d -print`; do
DIR=$i
cd "$DIR"
echo "Inside $DIR :"
for file in `find . -maxdepth 1 -type f -iname "${startold}*"`; do
sedstr=`echo "s/${startold}/${startnew}/"`
newfile=`echo "${file}" | sed ${sedstr}`
echo "moving ${file} to ${newfile}"
mv -n ${file} ${newfile}
done
cd "$CDIR"
done
IFS=$SAVEIFS

24
bin/wsl/renamelarge_media.sh Executable file
View File

@@ -0,0 +1,24 @@
#!/bin/sh
echo "Large 1440|1852|1920|2030|2048 media:"
echo "--------------------"
for i in `ls | grep -v _Med.`
do
OUTPUT1440=`ffmpeg -i $i 2>&1 | egrep '1440x'`
OUTPUT1852=`ffmpeg -i $i 2>&1 | egrep '1852x'`
OUTPUT1920=`ffmpeg -i $i 2>&1 | egrep '1920x'`
OUTPUT2030=`ffmpeg -i $i 2>&1 | egrep '2030x'`
OUTPUT2048=`ffmpeg -i $i 2>&1 | egrep '2048x'`
if [ -n "$OUTPUT1440" ] || [ -n "$OUTPUT1852" ] || [ -n "$OUTPUT1920" ] || [ -n "$OUTPUT2030" ] || [ -n "$OUTPUT2048" ] ; then
echo " "
echo $i
tol=`echo "$i" | tr '[:upper:]' '[:lower:]'`
if [ $tol != *"_large.mp4"* ]; then
filename=`echo ${i}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
new_fn=`echo ${fn_noext}_Large${ext}`
echo "new filename is ${new_fn}"
mv $i ${new_fn}
fi
fi
done

19
bin/wsl/renamemedium_media.sh Executable file
View File

@@ -0,0 +1,19 @@
#!/bin/sh
echo "Medium 1280|1440 media:"
echo "--------------------"
for i in `ls | grep -v _Large`
do
OUTPUT1280=`ffmpeg -i $i 2>&1 | egrep '1280x'`
OUTPUT1440=`ffmpeg -i $i 2>&1 | egrep '1440x'`
if [ -n "$OUTPUT1280" ] || [ -n "$OUTPUT1440" ]; then
tol=`echo "$i" | tr '[:upper:]' '[:lower:]'`
if [ $tol != *"_med.mp4"* ]; then
filename=`echo ${i}`
ext=`echo ${filename} | awk -F. '{print "."$NF}'`
fn_noext=`basename "${filename}" $ext`
new_fn=`echo ${fn_noext}_Med${ext}`
echo "new filename is ${new_fn}"
mv $i ${new_fn}
fi
fi
done

15
bin/wsl/renumber_jpgs.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
SAVEIFS=$IFS
export IFS=$'\n';
CDIR=$(pwd)
n=1
for i in `ls *.jpg`; do
nn=`printf "%04d\n" ${n}`
echo "mv ${i} to ${nn}.jpg"
mv ${i} ${nn}.jpg
((n++))
done
IFS=$SAVEIFS

33
bin/wsl/sanitizefilenames.sh Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/bash
SAVEIFS=$IFS
export IFS=$'\n';
CDIR=$(pwd)
echo "Recursive - Are you sure? CTRL-C now to terminate."
sleep 4
for i in `find $CDIR -type d -print`; do
DIR=$i
cd "$DIR"
echo echo "In $DIR"
find . -maxdepth 1 -type f \( -iname "* *" \) -exec bash -c 'mv -n "$0" "${0//\ /_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*-*" \) -exec bash -c 'mv -n "$0" "${0//\-/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*+*" \) -exec bash -c 'mv -n "$0" "${0//\+/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*,*" \) -exec bash -c 'mv -n "$0" "${0//\,/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*\!*" \) -exec bash -c 'mv -n "$0" "${0//\!/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*\'*" \) -exec bash -c 'mv -n "$0" "${0//\'"'"'/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*#*" \) -exec bash -c 'mv -n "$0" "${0//#/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*;*" \) -exec bash -c 'mv -n "$0" "${0//;/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*&*" \) -exec bash -c 'mv -n "$0" "${0//&/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*\[*" \) -exec bash -c 'mv -n "$0" "${0//\[/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*]*" \) -exec bash -c 'mv -n "$0" "${0//\]/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*(*" \) -exec bash -c 'mv -n "$0" "${0//\(/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*)*" \) -exec bash -c 'mv -n "$0" "${0//\)/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*___*" \) -exec bash -c 'mv -n "$0" "${0//___/_}"' {} \;
find . -maxdepth 1 -type f \( -iname "*__*" \) -exec bash -c 'mv -n "$0" "${0//__/_}"' {} \;
for f in `find . -maxdepth 1 -type f` ; do mv -v $f `echo $f | tr '[A-Z]' '[a-z]'` ; done
cd "$CDIR"
done
IFS=$SAVEIFS

68
bin/wsl/screencapture.py Executable file
View File

@@ -0,0 +1,68 @@
#!/usr/bin/python3
import argparse
import os
import cv2
def capture_and_resize_frame(video_path, capture_time=180):
# Extract the base filename from the video path
base_filename = os.path.splitext(os.path.basename(video_path))[0]
output_image_path = f"{base_filename}_screencapture.jpg"
# Open the video file
video = cv2.VideoCapture(video_path)
# Get the frames per second (fps) of the video
fps = video.get(cv2.CAP_PROP_FPS)
# Calculate the frame number for the specified capture time (180 seconds by default)
frame_number = int(fps * capture_time)
# Set the frame position to the capture time in the video
video.set(cv2.CAP_PROP_POS_FRAMES, frame_number)
# Read the frame
success, frame = video.read()
# Check if the frame was successfully read
if success:
# Save the frame as an image temporarily
temp_image_path = 'temp_screencapture.jpg'
cv2.imwrite(temp_image_path, frame)
#print(f"Frame at {capture_time} seconds saved as {temp_image_path}")
# Load the captured image for resizing
image = cv2.imread(temp_image_path)
# Set new dimensions
new_width, new_height = 960, 540
# Resize the image
resized_image = cv2.resize(image, (new_width, new_height))
# Save the resized image with the new output path
cv2.imwrite(output_image_path, resized_image)
print(f"Screen capture resized and saved as {output_image_path}")
else:
print("Failed to capture the frame, video shorter than 3 mins.")
# Release the video
video.release()
# Remove the temporary file
os.remove(temp_image_path)
def main():
# Set up argument parser
parser = argparse.ArgumentParser(description="Extract and resize a frame from a video.")
parser.add_argument("video_path", type=str, help="Path to the video file")
# Parse arguments
args = parser.parse_args()
# Call the capture and resize function
capture_and_resize_frame(args.video_path)
if __name__ == "__main__":
main()

37
bin/wsl/similar_images.py Executable file
View File

@@ -0,0 +1,37 @@
#!/usr/bin/python3
import argparse
from skimage.metrics import structural_similarity as ssim
import cv2
def are_images_similar(image_path1, image_path2, similarity_threshold=0.95):
# Load both images in grayscale mode
image1 = cv2.imread(image_path1, cv2.IMREAD_GRAYSCALE)
image2 = cv2.imread(image_path2, cv2.IMREAD_GRAYSCALE)
# Check if images are the same size
if image1.shape != image2.shape:
print("Images have different dimensions.")
return False
# Calculate the SSIM between the two images
score, _ = ssim(image1, image2, full=True)
# Return True if the score is above the similarity threshold
return score >= similarity_threshold
def main():
# Set up argument parser
parser = argparse.ArgumentParser(description="Compare two images for similarity.")
parser.add_argument("image1_path", type=str, help="Path to the first image file")
parser.add_argument("image2_path", type=str, help="Path to the second image file")
# Parse arguments
args = parser.parse_args()
# Compare images
if are_images_similar(args.image1_path, args.image2_path):
print(f"\nFound similar videos:\n{args.image1_path} and {args.image2_path}\n")
if __name__ == "__main__":
main()

51
rsa/github_rsa Executable file
View File

@@ -0,0 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

1
rsa/github_rsa.pub Executable file
View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCgnf6E57LoG+6C8SaXoo84r7MHaqinr2aKF2gEvAWDbqsrr9yoOu32CqG20aiz8P51qR7WHgcMqJKnOzie2ozAZ+qBGre0z5EAHIdiTD85Tq9wvMIHSzC1tk2wPKmKICbuyrovZtI3EcqiChPpveD/PT+F0rjp9u31MzYYhWfHhEk5bhj6u36RmahnUYOnvICIxJvRQ8RI0Zg9usRrAVeleMkVESO/ZQs9coXR6GloeXo/n+E8wGhJBJ2tSAG+Cqvdz7wlNfIK82ClXR3UiSw35w+rx0t5lpkWbAIvC3cUo8BhXeaZntc+g0gE9ITSyj8n3SEJuGE4blxU+KYQm+p9qnv1aAufDdsM9SQJto1b+jV04gIB/9N5Y3H3UBPBFZZ01xlAGkAPJw2pTiuBQecEOZDLXVew8VxcBOSZCmnd31i6pWIi7ngrCBzazmBP1aQtqaV9S/WcssfDAbnEPaLHS9dBfOmGU4/O4FWVrQsQa/WOeJaKu8g80gDCrOKpJKFdVjxnodzIG2CYuRuarMovo5a3Dow0JHKsswGndvSeR05BMyJczYm4sjICA1z/le4sgIP/x1DKWHXbYQhnlBBBifxxNqkNwV5bB+RrEL1Zcj+n5weAAeIi7jjeQ1CLkygFccpbl1Wgux54LheoFn9vzosz63u07jsUXtD0SJG0gw== jnevans@gmail.com

12
rsa/known_hosts Executable file
View File

@@ -0,0 +1,12 @@
|1|U4JnWP2h+2UBtazh93Ly45c+IVU=|9nQIUSNOF4Qf9WvjjKfN4Ka0Ji4= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|1|8rKQSRfUcdF0ccpeVT890C/ONmc=|zm1BvnaesklPUK+N1S2WZsoj7c8= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|1|xTTSmxKBSH/Yyjt3vLOl+86Nq0s=|DHIBTUURNusTVeQYiiyKOCYjkWE= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|1|jcYyaPNdXGDdY4sR1ScOLI/JVjQ=|VD4Sxxr0RAj9gcVF8VEQIXVoE4A= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|1|eIHWajic9DX6ERT52LORHypNpmI=|wR23x/RC4rkd5RQiPDPqF1INMIg= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|1|wzv1TNBxVfGNZ52J1WrhuJ0bgMw=|aSXPe5Xwqb2/Yh/as4S89KBX2gQ= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMGZH04gOQxn5W4e1nKNXLfQIrUDAVFr357iSCBUqsQJYPgoUKD+2/8k2J8QwKFK7MQKRfRu8POyyOMBQW2Czv4=
|1|AKVEi+8QVRPS9AHVH+1kDzEZC2A=|BikNTu7pB1ZqhbJKz796lf8avzs= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJq1Fo+yE/u5rHL+/cJsNanGa7Jt2pWo0zz3+vbFqn7nmtNfcf7EsfSYQXbmGFVsbN/M0DrZ93U6z+pVELyfNWg=
|1|ePGboPRtaeflYp0eFbmwKJ0cQ1Y=|mQKrJ/EiSOQTFlvfu+mklKjhHqk= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJq1Fo+yE/u5rHL+/cJsNanGa7Jt2pWo0zz3+vbFqn7nmtNfcf7EsfSYQXbmGFVsbN/M0DrZ93U6z+pVELyfNWg=
|1|yQFIpvqZgeDBCTxCxa982ru8EYQ=|9/IarMP13aDVe79zHWZ0nETTnoA= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBxjNUx1mowPfGOWvQZtursknRpvx6bl7Gkyg9KhmePz7a+TY3DyTOpEItnxrz2dk2U91FThhdM7lPzEI7ydLDw=
|1|5tX7jzKr+76ZE3+g+J+kZZSqXfw=|0Dg5G0V70KdXKoLmpkVzutZAw/4= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBxjNUx1mowPfGOWvQZtursknRpvx6bl7Gkyg9KhmePz7a+TY3DyTOpEItnxrz2dk2U91FThhdM7lPzEI7ydLDw=
|1|hfDE/8lsG5Sg31/he77GROoE8qU=|vyIebyQiATD9b3kS7F5kpx2mKzY= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBLfg0EZ6alxmMkwCVJZIVxZqmfU7kOpcpNV5ImYTU9GUA5pyTYv0WpUAn68URcUKmE4dhLg0yTOLuJiOTsqJ40=
|1|lz6AmyT8+3meLNGuojRNYqtQpys=|wXK/8dab96Fzf1PzEb9M0YA9cFM= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKoPSbwfPFSMsHTzvhaG+F71DCt6kZi5Fq2v0KoIzxED8scUmPjcWY4vZPuU1osNY9gyTHCxa22tgH5sKYVnMpY=

18
rsa/spark.pem Executable file
View File

@@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC3jCCAcagAwIBAgIIUM8w5rv1HZYwDQYJKoZIhvcNAQEFBQAwGDEWMBQGA1UE
AwwNcHJvZC1zcGFyay0xMDAeFw0xNDA0MDkxOTM0MTJaFw0xOTAzMTQxOTM0MTJa
MBgxFjAUBgNVBAMMDXByb2Qtc3BhcmstMTAwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQDWAu6XXUeoQIYShignFqV/fQ+EOwNo0BXLDI9BhKxND7/jnx+s
dOzifN6ZJk/DJODtvauzMBeOfNepJ7yLgGzbZHz4f/96cXlZ+eaB10HIzEwk2p+N
DCn3JrB6zE0a/Xd3kMIHmLpQId/qldcElucXZFHvZQ2rTmbC0XTD1p6dWK4lZC76
j4VRaiKfOgJ3tD0lKy+Y7Su5i8a3F9QI2DuhMC75diWwG1X7tdelvWDbNIk352Ep
af7yH5LCrfRkZf7ZveKwbQM3XcXTOvUchDjH+GQ7/I8SNQttTDr1VAWXUsQtWdT5
Wjje7D+MEl6cy6XHhwkPYphE88I+p5j6lAe1AgMBAAGjLDAqMCgGA1UdEQQhMB+g
HQYIKwYBBQUHCAWgEQwPKi5wcm9kLXNwYXJrLTEwMA0GCSqGSIb3DQEBBQUAA4IB
AQBg9AUzJwYkO/akgjfJyUI3K5GlEvf1B/w3o8u0zesZYc5J42YQ+MF2RAnsYKxA
Bieu5ZBGH5nOmQl0V5U2FRKwOJWKvh9cNvyjiS1zbjYjX4z2BZJLkyN5SVRzkQto
+F/+oIW9/poOTK+wU44cvdFRDnmg1xXthMFML2RFAzdDQKwBiJBKfheZPpTrb81V
RJhqVlyv1ouGrX6Lp/bBo9kCNvEwXbshREn85QtVO5Mo0osghhp6vPUv0iGkLiuW
xar4ugeLo6zc4OtpINh3lC0D9nAvsdML/FNbTbe1U7eRWkGPtQir/e9dp6Yk07ZH
qGvfcvzmT1MUsWz+pCjWGiys
-----END CERTIFICATE-----

69
rsa/ssh_machines Executable file
View File

@@ -0,0 +1,69 @@
alias sshgads='ssh -Y deploy@prod-gads-10'
# deploy, zzdeploy
#Zways
#alias sshsystestzway='ssh jevans@st-dmgk-01.svr.bestvrs.com'
alias sshsystestzway='ssh -i ~/.ssh/systest_vcs-id_rsa root@st-dmgk-01.svr.bestvrs.com'
# jevans, zzxjared
#HubSERs
alias sshhubser10='ssh jevans@prod-hubser-10'
# jevans, zzxjared
alias sshhubser20='ssh jevans@prod-hubser-20'
# jevans, zzxjared
alias sshsthubser='ssh jevans@st-hubser-01'
#alias sshsthubser='ssh jevans@24.73.117.130'
# jevans, zzxjared
#HubGKs
alias sshsthubgk='ssh jevans@st-hubgk-01'
# jevans, zzxjared
alias sshhubgk10='ssh jevans@prod-hubgk-10'
alias sshhubgk10a='ssh jevans@prod-hubgk-10-a'
alias sshhubgk10b='ssh jevans@prod-hubgk-10-b'
# jevans, zzxjared
alias sshhubgk20='ssh jevans@prod-hubgk-20'
alias sshhubgk20a='ssh jevans@prod-hubgk-20-a'
alias sshhubgk20b='ssh jevans@prod-hubgk-20-b'
# jevans, zzxjared
#TbgSERs
# DC2
alias sshtbgser10='ssh jevans@prod-tbgser-10'
# jevans, zzxjared
# DC4
alias sshtbgser20='ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no jevans@208.95.32.87'
alias sshtbgser20a='ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no jevans@prod-tbgser-20-a'
alias sshtbgser20b='ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no jevans@prod-tbgser-20-b'
# jevans, zzxjared
alias sshsttbgser='ssh jevans@st-tbgser-01'
# jevans, zzxjared
#Lobby Servers
alias sshlob10='ssh jevans@prod-lobgk-10'
# jevans, zzxjared
alias sshlob20='ssh jevans@prod-lobgk-20'
# jevans, zzxjared
#Systest VCS
alias sshstvcs='ssh -i ~/.ssh/systest_vcs-id_rsa root@24.73.117.36'
#VCS11 - IRS
alias sshvcs11='ssh root@prod-vcs-11'
#VCS 10,12,20,22 - round robin for Z150s
#208.94.16.100 prod-vcs-10
#208.94.16.132 prod-vcs-12
#208.95.32.100 prod-vcs-20
#208.95.32.132 prod-vcs-22
alias sshvcs10='ssh root@prod-vcs-10'
alias sshvcs12='ssh root@prod-vcs-12'
alias sshvcs20='ssh root@prod-vcs-20'
alias sshvcs22='ssh root@prod-vcs-22'
#Systest Agent servers, zzxjared
alias sshsystestagent1='ssh jevans@st-agent-01'
alias sshsystestagent2='ssh jevans@st-agent-02'
#Austin center laptop
#password zvrs
alias sshaustin='ssh zvrs@70.115.159.14'

27
rsa/zappy-id_jared_rsa Normal file
View File

@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA6xjE3nurTTQUtQEqTCOcdybTJptUao+V9T+8PDV3851E/SYY
Z0SZUv6//etRtwEr1sQ8HKuZzqYMquMT8McEVaQcZNHwas4GIruaJyW4RPb5RD2R
RkbEyv03BI5mByVay8IynIQNbw4ununuiwXY3s5ILX1+xgFXcMi5a21cG5/+x91n
LmlN6E1dE/F0GMQwizfmAFvUAVvw4eLpjPxAIa76Zxw2E2fh4OTTaxhoKCGAL3Ui
LtERAeYhUUhZBjcMfFqbhEOlxhYrJ4lPUiz5QvxEr7dsyfC+/EQWG0QMG1g6fCJn
E0P8HmUSrMKAWd4R7GyquXSJAlR52fBoffHhpwIDAQABAoIBADAnsqufyUbXFCa/
RlqyMKp3WWjfCDuLjbvegkAS868C187Crtz4QC+v3sO0H9jMdJ5ZM7brr2WUvaOD
P+Jh4ZFpPCeqmQRHjxouMzUxlL0LmaNQuSEb/dNWap6UTHHKRP7XmGZW5imJTiNe
522ylOmOd1paCk2kmLSRaOmITQWbK5zRA9JQM9ENylSHHzhKt061TCoOzfrcBLcK
xiCBvUJKyAbowLKaxk3w2NtFwgSCLrkWTOI4WbC8AtsVEG8fWqSZH2txTs+aRmsc
7V+IVdz3xELMkfsJozzJQmeW1CbyEe5iqSJVzulehskVACDDY8OrWlavfyqwv09O
ODpT8IECgYEA+1VRNa+qVbYDwXfLWSvts7WviS8kYTrpto07vm0VADskW+QlT35l
KnZjSFDX9b0j5NL3q4tUg/CPIiYR1Nga0RYmix67s2gEEMw+TrFXy+AHaazqUgm6
DnLNSf+Om0gwANuHL4omVDfz4ThoNRWCOXFkhBVFsNwnOTbTbf0eEDMCgYEA73ZG
AJySTemjGPjhE07mDoET5w0d+DxWxlMjGm7H3USr/HU4DWvnshANd1fp19QtwUl5
/kG/JXUBzGH8BI7WyEqrmLNS9u1OZyU41pannFnZENEMyNULsykcfuU4a64eSrSo
MaSY5xOmSDGcVJ2xf9wUFrxnyoeDaYXeSMHkZL0CgYBwLFn8fhSmAICYnqDRgbur
k5Fuxu2Tv7mD0nExwnm3Cq5lnOPSIPWCCCizo/FfKjWU8Vu84oisAne/pAIdXv5J
B3vYZ7Uak3gNDztX3+rxgWGNlrFWQCUcQbzCJB8/yu4x08j4PM5ylC5y/Lv1xU3D
2YolMWFTWE7hSEkBNBFw5QKBgQDE59qUMitUCeRlanGZsO0XzCgTfAPC1cr89ewN
lj6ewhMyWykmUC6LiwunsRDGuuCM6eB4pJOLN3WtHH1hOht/Q3dq7zovdd9cjYz5
V5SnynHllCERG66tOgcGiXIliV27TGZpu9FHYi7/elv0cF8+pjeWooIuVdRHdx7b
cSRfeQKBgDE8nxA+EMvAqAPgGftz4keu5TfRCRSXuSsXGUJW6izJsd9fYxz0vazD
2MWTUwJBJHeYCr4n7gq5DH5fOhZYfLO5zLzspgayEER5ttnEFcJ+7icotjtGHv1P
+/xYK3Vn1d05sKNlIzcFzGiTQZbArGnvfwIMchagfYBZ8p3q4ky8
-----END RSA PRIVATE KEY-----

51
rsa/zappy-id_root_rsa.key Normal file
View File

@@ -0,0 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

27
rsa/zappy-id_rsa Executable file
View File

@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEArmc7hfQKLsui9fbyKFf0oQwkc2sl83uApqQaKwDjUZ0wF77d
xtQO63vkCSdQXgMSzPgWiRGf930FowZNXET9QxiuR1TJkr+ImTrLTegUfbUPkVMj
1IX3wQ0ddVRMF/UIFoyfGvMD6EN5or5rsoViyCzA3NsBJIrgdY5w0ISKbdtDcT6s
8P3KDBdlejvl4WbRTwSd5bvfMUG0Qf3hnIk6aRcfJUz1H3hPuX3YWVW4/iVjqXIN
wFDQT7A9w4WmBCoQ99w/D22W58EJcTKN7ufmiEMJe92F0aGOD0d17L0apvBi2+8A
F9i7Nl8nbdUNfNyWjM5P9fvUPS6JKy6KoSShlQIDAQABAoIBAQCEAYVPRcEzXFUz
gUAXg0OZZnxslCx8l/1vpIReCmUFEEonnwN0jGvil7qppwUws3jWhe1gwGNpS0sp
8wo5Dcr4r0Synx2Xoru854Ccrk5cO+DVqa1UHjbB+7BRb4XNGF2P285N8qUBd5ko
sqMH0+hKBX3RbT73Ltrof/EqEzhIH075WWRqMKyBbhFA86mNSmiJNR50TQTDEssc
PnKACiZTWiqbX6YTzvDd3Ut8c1NK7i+4/Bk9i1+Ophac+9jvmNuKnbiEvHT/w66n
olYj9c5q7mlSkJJfRG3oaw/D7TF2bOrpBAMMhfM7HtidkF7RrDHk8TwxS4+N4HsP
Kr70qFtBAoGBAODAeWEaP4dSEVEbs0XYSRfm3sf/ro5m01WeruUXLVx7iXP9XdJt
T20RP6qj3z/grEydgqb+kBF3SKFLatE4VRj5mqPdr2Cz8STLs2JoMwBkxBhy9ORw
k2u1gHoJiWcsHcjJ7Wdb/SiM4mGsUUBqJ6VtvBPmuYQkc5k84E0c6rmRAoGBAMam
tzK/1DSwVtTu2EDTJm+/x4ophC2ZVsoHN9ocj5dnRybrNhAVdpEk0rLTufzVB1/O
tBuvWgJvkhfje4oQ46UuV81QN61OgVbCgWfikZD/ZFoZDqu2OXPpi9HmSHyWLY2z
R9wz9YsMr/QFJZWFtukN69vBxCSlVH8Lx6BKpAXFAoGAMy/i9RiTS3CHfR9/7vJZ
g1YTex1iVhBZJXDkiEyFCkEghwg3bAt1QXPiOizkVZoH49MjxIDJsxClvAZ/J3Na
/jsq2xNMNAwHacfy7QCqTPamKqNT3ws8qBVIU4MEhjjn96j1psqul6Ouk2w5fSAw
M18QrL+plMzwfv/8XdOuKeECgYArw3K8pXI0oVyf0Han4VyoZdGp6HeMLCnonCp7
zKr9qe0M7+ibJn9WfoxEhUyGHNBhFQKszra/rqC6zoza39mm/EyvmKqLba4k1Pj5
T/rNvNX422hV//EsThlVhqwVdmhWvVZpdrDzjzn8Ql4DUM/5C+4YHdn+UMYKryet
coQsGQKBgHPEHmqVPOucogsNcwu3KI/TvlaQLmdunBYGX4n+lC5VRT8XsuWJ5j66
1XpwPzA3n02fGhxPn8v+HEO5IPLwWqCxKp5r0IaJp4JrTdoM6BdsruQGVneuRJD+
rrJX2uqg06JMQhED0E14+zM/Mi7dB2HBDO9nC+wK0Ce7kKtlywIK
-----END RSA PRIVATE KEY-----

51
rsa/zappy-id_rsa.key Normal file
View File

@@ -0,0 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

26
rsa/zappy.ppk Normal file
View File

@@ -0,0 +1,26 @@
PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: imported-openssh-key
Public-Lines: 6
AAAAB3NzaC1yc2EAAAADAQABAAABAQCuZzuF9Aouy6L19vIoV/ShDCRzayXze4Cm
pBorAONRnTAXvt3G1A7re+QJJ1BeAxLM+BaJEZ/3fQWjBk1cRP1DGK5HVMmSv4iZ
OstN6BR9tQ+RUyPUhffBDR11VEwX9QgWjJ8a8wPoQ3mivmuyhWLILMDc2wEkiuB1
jnDQhIpt20NxPqzw/coMF2V6O+XhZtFPBJ3lu98xQbRB/eGciTppFx8lTPUfeE+5
fdhZVbj+JWOpcg3AUNBPsD3DhaYEKhD33D8PbZbnwQlxMo3u5+aIQwl73YXRoY4P
R3XsvRqm8GLb7wAX2Ls2Xydt1Q183JaMzk/1+9Q9LokrLoqhJKGV
Private-Lines: 14
AAABAQCEAYVPRcEzXFUzgUAXg0OZZnxslCx8l/1vpIReCmUFEEonnwN0jGvil7qp
pwUws3jWhe1gwGNpS0sp8wo5Dcr4r0Synx2Xoru854Ccrk5cO+DVqa1UHjbB+7BR
b4XNGF2P285N8qUBd5kosqMH0+hKBX3RbT73Ltrof/EqEzhIH075WWRqMKyBbhFA
86mNSmiJNR50TQTDEsscPnKACiZTWiqbX6YTzvDd3Ut8c1NK7i+4/Bk9i1+Ophac
+9jvmNuKnbiEvHT/w66nolYj9c5q7mlSkJJfRG3oaw/D7TF2bOrpBAMMhfM7Htid
kF7RrDHk8TwxS4+N4HsPKr70qFtBAAAAgQDgwHlhGj+HUhFRG7NF2EkX5t7H/66O
ZtNVnq7lFy1ce4lz/V3SbU9tET+qo98/4KxMnYKm/pARd0ihS2rROFUY+Zqj3a9g
s/Eky7NiaDMAZMQYcvTkcJNrtYB6CYlnLB3Iye1nW/0ojOJhrFFAaielbbwT5rmE
JHOZPOBNHOq5kQAAAIEAxqa3Mr/UNLBW1O7YQNMmb7/HiimELZlWygc32hyPl2dH
Jus2EBV2kSTSstO5/NUHX860G69aAm+SF+N7ihDjpS5XzVA3rU6BVsKBZ+KRkP9k
WhkOq7Y5c+mL0eZIfJYtjbNH3DP1iwyv9AUllYW26Q3r28HEJKVUfwvHoEqkBcUA
AACAc8QeapU865yiCw1zC7coj9O+VpAuZ26cFgZfif6ULlVFPxey5YnmPrrVenA/
MDefTZ8aHE+fy/4cQ7kg8vBaoLEqnmvQhomngmtN2gzoF2yu5AZWd65EkP6uslfa
6qDTokxCEQPQTXj7Mz8yLt0HYcEM72cL7ArQJ7uQq2XLAgo=
Private-MAC: eb19d4c49cde8e5f3286c82548eaef75acb39633

27
rsa/zippy-id_rsa Executable file
View File

@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA37+hzBkNff1mFCjCnXKqIygqp7V9wPCsQcBiLBEtsV6B8PzC
e0bQQWAev9vywdiupg0lJy0x3K0YgpfOY0xW4lslVwEiy7M95aBYU8RMkJGqR2xp
SFEMMxDTysD/XEf6M7HF2dQM273exNVrdXNs9XtCcpYFB/rhldUfhcZIhL8R/ukj
n5nnAgzrCGRaAmBE664wwvvDpxCn5tcxe6M1t3WccNfc94VBYKCBY4Q7PDIPKSfz
83Is7cktXu5jXpWpDwrWACcPaO0QAQbEPgB5V1DAHfYX9F4KoSQmtPI7APplNz6n
VbwcVo5WWD/rMQmVhr23jVPOnVRS3zNsSdfZUwIDAQABAoIBAQDWpYk7OiF2Z1zB
JCUnVHQhjAv3naXJLVmjLkM/0S8LhAWWQXT1PIbW4LY/CmsFSbCqPdwRjErUT/4+
chGdswN63UOiBsXxsr9DhaKWoa9t1UAMitUpeg8BAjibvrB7P9WoN/f9M28ucyS9
oZwYLaYujZO+R2sGL8ivq6g09nZlWPg5O8hywWnPTctangVs9iEkmBDkWF30brYY
KvJxyyAcs3YJ1Okqe67adyscxsrk7npiLUT0mSZHdDW+gtSwHYrebnNS/Flqshtd
xdJd8P4geLcHdglM7qOB1NwWEm/5rWADqogGRZlhPaqRUStnbKzwhkiB0QJ2744+
8b5KMvUxAoGBAPWejuk6ILPRJWDt3PQXTTOZ24/jS48OJzL7B3rVMUoK77LzjyUX
+pLCkPE2sEC2b0C6FVBCnmgH7KGu0Km+0x3/uc9YZGBkxRcwaymKJV1dMXfdPTy4
LQxOEnkriTfpfJiSj/egyztlz08KDCXrcN1lpSahaIBA/riW5G3m1CNJAoGBAOk0
ciW3qfQpBu47ePixBjNDdegkLv4sjs64xVT2xptdrYxemVUUtEMjBbDSwWd9Z2/z
2j55RlrgkO5UQ/iSGRcKkk+F42UlGWP1GUsAZIJCbzjxKITmdpyfgxhO/VH0WZ9Y
EZSEE5Fo+6rAu011vdYpi0ouZuKOHdJqJ1ZSfnu7AoGBAMPEI+3aabRIr30pOSHH
7L2DFRADPvb/ddjZYeXSRJ3aR6CfJemPyiTtNO89ApAhmFzDtDcrUexi3IUlu6R/
tu9DIssTjbWSu9A2xELwm8VlgQcjbCqYNTeIhorTW2QYEjndHyhknXdzNx+tR291
z5h26oH2xj7rDtr7UYgTIeQZAoGAObaUBUeV1OoOYAjx4EIXMbqhRGkoBBlM4lYR
5/wGnM6rM5D5y3eLQQ46y07tNEpxveAQg+OJiNYIqCLMi4jEktI38VxGMXLj/Lvc
nZYkSaRdWC8+gt1yP0Kus+ZghNa/E1M9To79NMBRgCmgcQQRjh3L7fjb13eqY7eH
srJJwR8CgYAfJk1baDypbIGPujo/OVuS9zLYiZ4H9oxMe3x6fuGe4PlTLHsExjn4
Rb/uvQB2cE40Ik5AA4popBZcY1nOJTwjwDzK3dv+FvPv1dLRbBncu1twVtSp2KF1
WWJjQc5Hwu5eXBTd93w2v7vAiFlfEPnGSBKsgdgjTHafmbQUk6PPoA==
-----END RSA PRIVATE KEY-----