So I have finally bloody done it! I have added multi-threaded uploading and downloading, file diff-ing and overwrite protection and multiple file detection.
So my program is pretty much feature complete enough for me! It generate neat diffs and helps me choose which files to keep or orphan (but never delete – all file are kept on my Digital Ocean droplet).
I am very proud of my first real program.