Sari Wallpaper
A joke I'm playing on my sister where I remotely change her wallpaper to pictures of me.
See the past wallpapers and web interface here: https://www.davepagurek.com/stuff/wallpaper
The Backstory
So my sister is seven years younger than me. I thought it might be weird for her not having me in the house once I left for university so I decided to play this joke on her where I repeatedly change her wallpaper to pictures of me instead.
I started first by changing her wallpaper while I was in the house, so she thought I was physically sneaking into her room at night to change her wallpaper. Passwords were changed but the wallpapers still arrived. I laid low for a week or so after going to Waterloo to lure her back into a false sense of security and then made the wallpapers come back with a vengeance.
Since then, the surprise of having my wallpapers arrive has warn off, so the fun exists mostly in picking interesting photos and selfies to set her wallpaper to. I showed her how the whole thing works and she implemented her own version to change my dad's wallpapers.
Client Setup
Windows
- Run python setup.py py2exe to create an exe to store on the client (using Python 3)
- Edit client/wallpaper.vbs to reflect the correct path to the generated exe
- Edit client/identity.txt to give a unique string to each client listening for wallpapers
- Open the Windows Task Scheduler and import client/update_wallpaper.xml to create scheduled tasks to update wallpapers. Edit the task's Action to the location you have wallpaper.vbs stored.
Linux
- Run crontab -e to edit cron jobs
- Add the line 0 * * * * python3 /home/username/path/to/file/wallpaper_linux.py to run the script every hour
Server Setup
- Make sure the HTML::Template Perl module is installed by running cpan install HTML::Template
- Edit server/config-example.pl and change the password string to the password to use for the upload server. Change the devices you are listening for, corresponding to the contents of client/identity.txt earlier. Then, rename the file to server/config.pl.
- Copy all of the files from the server folder onto your hosting directory.
- Make sure everything is chmod 775 and chown www-data:www-data.
- If you want to edit the visual styles of the server code, edit the files in server/templates. They use Perl HTML::Template syntax.