Home Page
Projects > FileSync
50% completed
Quickly synchronize differences between file systems over a system or network
Rating: 6 (One of my most useful programs, but never completed most of the needed options to make it live up to its potential.)
Project Time: -: 80
Languages: C++
Downloads: No downloads currently available (See any updates below for prior versions)
Sections: Information, Content, Concepts, Updates, Comments

Takes a hash snapshot of entire directory structures and can compare any parts of a snapshot to parts of any other snapshots.

Quick, easy, and intuitive interfaces to find differences between directories. View differences between files in multiple ways. Many ways to choose how directories are re-synced together.

Includes server to remotely take snapshots and sync files over a network or the internet.

This is kind of like the Unix rsync utility, which I found out about a number of years after writing this. This is much more user friendly though, and more powerful in many ways :-), though it has less options than rsync.

See Directory Difference in Web Browser for a temporary solution.


It also allows for finding of duplicate files within one or against other lists. This is great for checking on file integrity and doing backups in which you can see the changes first.

Features include:
  • Can connect to another instance of itself running on another computer as a server and run hash finds remotely. A low-resource pure server copy is also available.
  • Can help find differences in directories between computers across the internet or a LAN in a fraction of the normal time it would take.
  • Allows list manipulation (moving, deleting, merging, and importing/saving) to cut back on signature finding time if things have shifted around on your hard drive.
  • Tree structure interface allows for easy and quick viewing of file trees and file-difference trees.
  • Allows syncing different files in a minimum amount of time through file sectioning.
  • Shows differences between files byte by byte using a proprietary algorithm.

This originally started out with just a client connecting to the server and comparing their 2 lists, with no saving at all, and that was completed. I decided it could be much better and started expanding from there, and unfortunately never finished it :-(. It’s a great utility and I use it all the time, though. I currently have it in a very-hacked and non complete state so it’s difficult to use until I finish it out.

It uses some very bit-torrent like technology with file sectioning and hashes for comparison... though I started this well before bit-torrent was even released [though not rsync!]. Though, emule and other p2p clients also have some of the same concepts so it’s not exactly original (though at the time, I thought it was. See Note #1 in Picture Encrypt). If only I ever got these things finished... bleh!

Networking, hashing, MFC, Windows object manipulation, sorting algorithms
Contact page and removed projects @ 2015-11-20 21:33:18
  1. Email contact has been removed from the Contact page, in lieu of using the forum. Explanation is on the contact page.
  2. I have removed all the projects from my projects page and site map that I will never finish and aren’t far enough along to be of any use to anyone. Most of these were written before I was 13 (in 1997). I had originally intended this site to be a collection of everything I have ever started and done, but I now see a lot of this as useless fluff. Projects removed are:
    • Personal Libraries: Old C++ libraries that are very outdated
    • Picture Encrypt: This was just an image steganography encrypter using the picture as a one time pad. I made this as a kid before I knew image steganography and one-time-pads were things that were already known.
    • WebRoute: This was a Windows file system driver that allowed grabbing files from different directories in tiers. Its functionality is easily matched with symbolic links and apache redirects.
    • FileSync: A visually interactive rsync type program. Rsync is a better solution anyways, and I’m sure frontends for it are out there.
    • File Functions: Old C++ CLI libraries that are very outdated and all have better alternatives out there
    • Web Rich Text Editor: While I was way ahead of the curve on making this, I never polished and released it. There are so many out there nowadays anyways...
    • Midi: This was the very first “large” project I built as a kid (Probably ~11). Essentially, I wanted to create a competitor to what was then the only solution (I think) for creating midis/sheet-music, Cakewalk Studio.
    • Web List Creator: Old and outdated JS library
    • eBay Content Creation: An old project I never finished, which was used to quickly create eBay pages with widgets and precompiled graphical designs.
    • RubixSolver: A program I never even really started to implement due to technological constraints of the time.
    • Icon Run: A novel gimmick from when I was very young that I never got working very well
    • MP3 Tagger: Pretty useless old program that uses a file format trick I should not have utilized in the first place
    • Logic Puzzles: Silly knock-offs of puzzles from the game Journeyman 2 (you have to be pretty old to remember these)
    • File Sender, QuickChat, Collage Maker: Outdated with much better solutions out there
    • College Crap, QBasic Crap, Highschool C++ Class: Like they say, old useless crap
    • Process Saver, All-In-One Networking Kit: Programs I never even got started
  3. I added MySQL replication ring status reporting script to the Other Web Scripts page
Decreased the rating of some stale projects @ 2010-12-12 15:54:35

I decided to knock down the ratings of the MeasureIt, WebRoute, and FileSync projects by 3-4 points as I don’t plan on finishing them any time soon, and they are pretty much the only items with a rating higher than 7 that aren’t in a “completed” (finished, ongoing, or abandoned) state.

To add comments, please go to the forum page for this project (guest comments are allowed for the Projects, Posts, and Updates Forums).
Comments are owned by the user who posted them. We accept no responsibility for the contents of these comments.

No comments for this Project