Go to file
Christoph Mack 573aeece81 Add more test helpers and integration tests for SyncApp's media sync feature using WebTest's TestApp.
Add test helpers for creating, inspecting and manipulating instances of SyncApp and RestApp.
Add subclasses of Anki's RemoteServer and RemoteMediaServer for communicating with the wrapped SyncApp instance under test.
Add helpers for monkey patching Anki's MediaManager and DB for easier testing.
Add test assets directory.
2017-10-28 22:36:48 +02:00
anki-bundled@499b02281b Apply @ndl's patches 2016-11-03 22:32:19 +07:00
ankisyncd Add test helper classes for creating and managing temporary files, working with anki collections and sqlite dbs. Add class for 2017-10-28 21:55:19 +02:00
tests Add more test helpers and integration tests for SyncApp's media sync feature using WebTest's TestApp. 2017-10-28 22:36:48 +02:00
.gitmodules Apply @ndl's patches 2016-11-03 22:32:19 +07:00
ankisyncctl.py Use os.path.join() for path concatenation 2017-10-28 19:55:50 +02:00
ankisyncd.conf Bring back authentication 2017-10-28 19:55:40 +02:00
ankisyncd.sh ankisyncd.sh: Disable python version check 2014-01-18 01:40:43 +07:00
COPYING Renamed LICENSE.txt to COPYING 2013-10-13 16:10:00 -05:00
libanki.patch Apply @ndl's patches 2016-11-03 22:32:19 +07:00
patch_libanki.sh Apply @ndl's patches 2016-11-03 22:32:19 +07:00
README.md Remove support for legacy modules 2017-10-28 20:43:24 +02:00

ankisyncd

A personal Anki sync server (so you can sync against your own server rather than AnkiWeb). This version has been modified from dsnopek's Anki Sync Server to remove the REST API, which makes it possible to drop some dependencies.

Installing

  1. Install the dependencies:

     $ pip install webob
    
  2. Patch the bundled libanki:

    $ ./patch_libanki.sh

  3. Modify ankisyncd.conf according to your needs

  4. Create user:

     $ ./ankisyncctl.py adduser <username>
    
  5. Run ankisyncd:

     $ python ./ankisyncd/sync_app.py
    

Setting up Anki

To make Anki use ankisyncd as its sync server, create a file (name it something like ankisyncd.py) containing the code below and put it in ~/Anki/addons.

import anki.sync

anki.sync.SYNC_BASE = 'http://127.0.0.1:27701/'
anki.sync.SYNC_MEDIA_BASE = 'http://127.0.0.1:27701/msync/'

Replace 127.0.0.1 with the IP address or the domain name of your server if ankisyncd is not running on the same machine as Anki.