Sari Wallpaper

February 21, 2015 View Sari Wallpaper View Source on GitHub

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

  1. Run python setup.py py2exe to create an exe to store on the client (using Python 3)
  2. Edit client/wallpaper.vbs to reflect the correct path to the generated exe
  3. Edit client/identity.txt to give a unique string to each client listening for wallpapers
  4. 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

  1. Run crontab -e to edit cron jobs
  2. Add the line 0 * * * * python3 /home/username/path/to/file/wallpaper_linux.py to run the script every hour

Server Setup

  1. Make sure the HTML::Template Perl module is installed by running cpan install HTML::Template
  2. 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.
  3. Copy all of the files from the server folder onto your hosting directory.
  4. Make sure everything is chmod 775 and chown www-data:www-data.
  5. If you want to edit the visual styles of the server code, edit the files in server/templates. They use Perl HTML::Template syntax.