initial commit
This commit is contained in:
commit
9c23e94bd2
|
@ -0,0 +1,112 @@
|
|||
#!/bin/bash
|
||||
CONF="/home/$USER/.config/wpdl.conf"
|
||||
source $CONF
|
||||
WPFILE="$1"
|
||||
SMBGET=$(command -v smbget)
|
||||
FEH=$(command -v feh)
|
||||
LASTWP=$(cat $WALL_LOC/.lastwp)
|
||||
WPSET_REMOTEVER=$(curl sftp://$HOST_DISP/home/$SSH_USER/bin/wpset -u $SSH_USER: | grep VERSION | sed "s/\# VERSION //")
|
||||
WPSET_LOCALVER=$(cat /bin/wpset | grep VERSION | sed "s/\# VERSION //")
|
||||
|
||||
if [ "$WPSET_REMOTEVER" != "$WPSET_LOCALVER" ]; then
|
||||
curl sftp://$SSH_HOST/home/$SSH_USER/bin/wpset-update -u $SSH_USER: | bash
|
||||
fi
|
||||
|
||||
# function for setting our wallpaper
|
||||
function setwall() {
|
||||
echo "setting $WPFILE as system wallpaper..."
|
||||
feh --bg-max $WALL_LOC/$WPFILE
|
||||
echo "$WPFILE" > $WALL_LOC/.lastwp
|
||||
echo "done!"
|
||||
exit
|
||||
}
|
||||
|
||||
# dependency installer
|
||||
function depinstall() {
|
||||
if [ "$DEPREQ" = "true" ]; then
|
||||
PASSWD=$(pass system/sudo)
|
||||
echo $PASSWD | sudo -S apt install $DEPS -y
|
||||
fi
|
||||
}
|
||||
|
||||
# is zenity configured to be a floater?
|
||||
echo "check to see if zenity is in floating mode"
|
||||
ZENFREE=$(cat /home/$USER/.config/i3/config | grep "zenfree=true")
|
||||
if [ "$ZENFREE" = "# zenfree=true" ]; then
|
||||
# if yes...
|
||||
echo "she's free!"
|
||||
else
|
||||
# if not...
|
||||
echo "window not floating, adding to config"
|
||||
echo "# zenfree=true" | tee -a /home/$USER/.config/i3/config &> /dev/null
|
||||
echo "for_window [class=\"Zenity\" instance=\"zenity\"] floating enable" | tee -a /home/$USER/.config/i3/config &> /dev/null
|
||||
i3-msg restart &> /dev/null
|
||||
fi
|
||||
|
||||
|
||||
SMBUSR=$(zenity --forms --text "Enter your credentials for the remote server '$HOST_DISP'" --add-entry "Username" --add-password "Password" --title "WallpaperDL")
|
||||
|
||||
# depcheck: wpset
|
||||
WPSET=$(command -v wpset)
|
||||
if [ "$WPSET" = "/bin/wpset" ]; then
|
||||
echo ""
|
||||
else
|
||||
PASSWD=$(pass system/sudo)
|
||||
curl -s sftp://$SSH_HOST/home/$SSH_USER/bin/wpset -u $SSH_USER: -o wpset
|
||||
echo '$PASSWD' | sudo -S mv wpset /bin/wpset
|
||||
echo '$PASSWD' | sudo -S chmod +x /bin/wpset
|
||||
echo "we noticed you don't have wpset installed. as it's now a dependency, it's been installed for you."
|
||||
fi
|
||||
|
||||
# depcheck: SMBGet
|
||||
echo "check for smbget"
|
||||
if [ "$SMBGET" = "/usr/bin/smbget" ]; then
|
||||
echo "smbget is installed, continuing..."
|
||||
else
|
||||
echo "smbget is missing, downloading and installing..."
|
||||
DEPS="$DEPS smbclient"
|
||||
DEPREQ="true"
|
||||
fi
|
||||
|
||||
# dependency check: feh
|
||||
echo "check for feh"
|
||||
if [ "$FEH" = "/usr/bin/feh" ]; then
|
||||
echo "feh is installed, continuing..."
|
||||
else
|
||||
echo "feh is missing, adding to installer"
|
||||
DEPS="$DEPS feh"
|
||||
DEPREQ="true"
|
||||
fi
|
||||
|
||||
depinstall
|
||||
|
||||
# parse username and password
|
||||
SMBUSER=$(echo "$SMBUSR" | awk -F'|' '{print $1}')
|
||||
SMBPASS=$(echo "$SMBUSR" | awk -F'|' '{print $2}')
|
||||
|
||||
# debugging things
|
||||
# echo "username: $SMBUSER"
|
||||
# echo "password: $SMBPASS"
|
||||
|
||||
# download wallpaper if not already downloaded
|
||||
#echo 'clearing wallpaper folder...'
|
||||
#rm -rf "$WALL_LOC/"
|
||||
#sleep 2
|
||||
echo "downloading file..."
|
||||
mkdir -p "$WALL_LOC/"
|
||||
cd "$WALL_LOC/"
|
||||
|
||||
echo "[create ssh tunnel]"
|
||||
ssh -f -N -M -S $WALL_LOC/ssh-sock -L 1445:$HOST:445 $SSH_USER@$HOST_DISP
|
||||
echo "[wait 5s for it to establish]"
|
||||
sleep 5
|
||||
echo "[pull file from Samba share]"
|
||||
smbget -v smb://$SMBUSER:$SMBPASS@$HOST:1445/$SMBFOLDER/$WPFILE
|
||||
|
||||
setwall
|
||||
|
||||
echo "[kill ssh tunnel]"
|
||||
ssh -S $WALL_LOC/ssh-sock -O exit $SSH_USER@$HOST_DISP
|
||||
sleep 2
|
||||
rm $WALL_LOC/ssh-sock
|
||||
echo "exiting..."
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
# collates a list of wallpapers available on a samba share.
|
||||
|
||||
ls /home/brendo/Wallpapers > ../wp.list
|
||||
echo "list collated, cleaning up and closing"
|
|
@ -0,0 +1,79 @@
|
|||
#!/bin/bash
|
||||
# WPDL
|
||||
VERSION="0.1-rev80"
|
||||
CONF="/home/$USER/.config/wpdl.conf"
|
||||
source $CONF
|
||||
|
||||
# updater
|
||||
if [ "$1" = "-u" ]; then
|
||||
curl sftp://$HOST_DISP/home/$SSH_USER/bin/wpset-update -u $SSH_USER: | bash
|
||||
exit
|
||||
fi
|
||||
|
||||
# version
|
||||
if [ "$1" = "-v" ]; then
|
||||
echo "v$VERSION"
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
# set last wp
|
||||
if [ "$1" = "last" ]; then
|
||||
feh --bg-max $WALL_LOC/$LAST
|
||||
exit
|
||||
fi
|
||||
|
||||
function wplist() {
|
||||
curl -u $SSH_USER: sftp://$SSH_HOST/home/$SSH_USER/wp.list
|
||||
}
|
||||
|
||||
function listupdate() {
|
||||
echo "updating wallpaper list..."
|
||||
ssh $SSH_USER@$SSH_HOST "bash /home/sysadmin/bin/wplist" &> /dev/null
|
||||
}
|
||||
|
||||
listupdate
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "usage: wpset <wallpaper name>"
|
||||
echo "to list available wallpapers: wpset -l"
|
||||
echo "[for startup script] to set last wp: wpset last"
|
||||
exit
|
||||
fi
|
||||
|
||||
# wallpaper list
|
||||
if [ "$1" = "-l" ]; then
|
||||
wplist
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ "$1" = "list" ]; then
|
||||
wplist
|
||||
exit
|
||||
fi
|
||||
|
||||
# check for locally installed walls and set em if it's there
|
||||
WPCHECK=$(ls $WALL_LOC | grep $1)
|
||||
if [ "$WPCHECK" = "$1" ]; then
|
||||
feh --bg-max $WALL_LOC/$1
|
||||
echo "$1" > $WALL_LOC/.lastwp
|
||||
exit
|
||||
|
||||
else
|
||||
|
||||
# wallpaper lookup
|
||||
WPLIST=$(wplist | grep $1)
|
||||
if [ "$WPLIST" = "$1" ]; then
|
||||
# download the actual script
|
||||
curl -s sftp://brendo.org/home/sysadmin/bin/wpdl -u sysadmin: -o wpdl
|
||||
chmod +x wpdl
|
||||
clear
|
||||
$PWD/wpdl $*
|
||||
rm wpdl
|
||||
[ -e wp.list ] && rm $PWD/wp.list
|
||||
else
|
||||
clear
|
||||
echo "could not find the wallpaper you requested, here's a list of what's available:"
|
||||
wplist
|
||||
fi
|
||||
fi
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
CONF="/home/$USER/.config/wpdl.conf"
|
||||
source $CONF
|
||||
WPSET_REMOTEVER=$(curl sftp://$SSH_HOST/home/$SSH_USER/bin/wpset -u $SSH_USER: | grep -m1 VERSION | sed "s/VERSION\=//g" | sed s/\"//g)
|
||||
WPSET_LOCALVER=$(wpset -v)
|
||||
clear
|
||||
|
||||
if [ "$WPSET_REMOTEVER" == "$WPSET_LOCALVER" ]; then
|
||||
|
||||
echo "no updates to install, latest version already installed"
|
||||
exit
|
||||
|
||||
else
|
||||
PASSWD=$(pass system/sudo)
|
||||
curl sftp://$SSH_HOST/home/$SSH_USER/bin/wpset -o wpset -u $SSH_USER:
|
||||
echo "$PASSWD" | sudo -S mv wpset /bin/wpset
|
||||
echo "$PASSWD" | sudo -S chmod +x /bin/wpset
|
||||
sleep 1
|
||||
echo "wpset updated."
|
||||
WPSET_LOCALVER=$(wpset -v)
|
||||
echo "wpset version is now $WPSET_LOCALVER."
|
||||
fi
|
Loading…
Reference in New Issue