An open API service indexing awesome lists of open source software.

https://github.com/amireh/karazeh

Karazeh is a library for patching desktop software, suitable for use as a game launcher.
https://github.com/amireh/karazeh

Last synced: 5 months ago
JSON representation

Karazeh is a library for patching desktop software, suitable for use as a game launcher.

Awesome Lists containing this project

README

        

# Karazeh

[![Gitter](https://badges.gitter.im/karazeh/Lobby.svg)](https://gitter.im/karazeh/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

> **NOTE**
>
> You are currently reading the documentation for the _master_ branch which
> is NOT stable and is not yet ready for production use. Refer to the
> [stable](https://github.com/amireh/Karazeh/tree/stable) branch if that's
> what you're looking for.

Karazeh is a cross-platform tool for patching and launching desktop applications, suited for PC games. The purpose of this tool is to provide you with the ability to update your users' clients with minimal hassle without requiring you to re-invent the wheel and write your own patcher.

Karazeh is meant to be used with [Kiwi](https://github.com/amireh/Kiwi), the tool that generates the patch scripts which Karazeh consumes. They both should operate on Windows, Linux, and Mac OS X.

Both tools are freely available and licensed under the MIT license.

## Building

See the [[./doc/building.md]] guide.

## Usage

Currently there's a basic example you can see under `examples/basic` which
shows how to interface with the low-level APIs to get an application to fetch
the available updates and apply them in succession. However, it's likely we'll
be introducing higher level APIs to do this sort of thing in the future so you
wouldn't have to fret with so much details.

_TBD_

## Tests

To run the unit tests you must launch an http server on port 9393 to serve the
files under `/path/to/karazeh/test/fixture` for the tests.

If you have Python2 available, it's very easy:

(cd test/fixture; python2 -m SimpleHTTPServer 9393)

If you're on Arch Linux, you can use `darkhttpd` instead:

```bash
pacman -S darkhttpd
darkhttpd /path/to/karazeh/test/fixture --port 9393
```

Afterwards, run the binary:

```bash
./build/karazeh_tests
```

The test runner can be customized using some environment variables:

- `VERBOSE=1` if you want more output
- `ROOT=/path/to/root` should point to the root directory of the Karazeh repository; this is needed in case the built-in binary locators aren't doing their job correctly.
- `HOST=http://customhost:1234` should point to the fixture server. Defaults to `http://localhost:9393`

## License

Copyright 2011-2016 Ahmad Amireh .

The code is licensed under the GNU L-GPL v3.0 (see COPYING) and is free to use,
link-against and embed within free and commercial applications.

Libraries used by Karazeh to link against and their respective licenses:

- [json11](https://github.com/dropbox/json11) - MIT
- [librsync](http://librsync.sourcefrog.net/) - GNU LGPL v2.1
- [binreloc](https://github.com/datenwolf/binreloc) - DWTFYWT
- RSA Data Security, Inc. MD5 Message-Digest
Algorithm - ???