Migrated from: https://bitbucket.org/stgatilov/tdmsync/
This library allows to update local file to its remote version stored on web server. It uses the algorithm of rsync to reduce download size, and is very similar to zsync (in fact, is a simplified version of it). It was originally made as better system of differential updates for The Dark Mod game.
In order to build tdmsync, you should install:
If you don't want to mess with libcurl, you can set WITH_CURL=OFF
in CMake configuration.
Then you don't need to install conan, but you won't be able to update files over HTTP (i.e. you will be limited to local updates).
Here is how you can run fuzz-testing.
- Build tdmsync with libcurl (see
build.bat
). pip install cherrypy
- Copy
fuzz.py
andcherryserv.py
to directory with binaries. - Run
cherryserv.py
there to start web server. - Run
fuzz.py
to start infinite testing loop.
If you don't want to mess with curl, you can also test local updates.
To do so, set g_local = True
in fuzz.py
and skip steps 2 and 4.