The patches fix the issue where syncing across different profiles will always trigger a full sync if there's any change in either of the profiles.
1.8 KiB
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
Manual installation
-
First, you need to install "virtualenv". If your system has easy_install, this is just a matter of:
$ easy_install virtualenvIf your system doesn't have easy_install, I recommend getting it!
-
Next, you need to create a Python environment for running ankisyncd and install some of the dependencies we need there:
$ virtualenv ankisyncd.env $ ankisyncd.env/bin/easy_install webob simplejson eventlet -
Patch the bundled libanki:
$ ./patch_libanki.sh
-
Copy the example.ini to production.ini and edit for your needs. Warning: If you disable SSL, login credentials will be transported in plain text!
-
Create authentication database:
$ sqlite3 auth.db 'CREATE TABLE auth (user VARCHAR PRIMARY KEY, hash VARCHAR)' -
Create user:
$ ./ankisyncctl.py adduser <username> -
Then we can run ankisyncd like so:
$ ./ankisyncctl.py startTo stop the server, run:
$ ./ankisyncctl.py stop
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
import httplib2
anki.sync.SYNC_BASE = 'http://127.0.0.1:27701/'
anki.sync.SYNC_MEDIA_BASE = 'http://127.0.0.1:27701/msync/'
anki.sync.httpCon = lambda: httplib2.Http()
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.