自建ANKI同步服务器(使用AnkiServer),运行环境windows。

AnkiWeb同步使用正常就用AnkiWeb,自建服务器有很多坑要踩的,而且这些坑很多都没人填(没资源可以协助解决问题),请回头用AnkiWeb或是手动备份比较实际。

注意:

  1. 同步前先把牌组全部导出,把手机跟桌面版牌组资料清除,避免同步资料异常。
  2. IOS手机的ANKI,因没有重新指定服务器IP的选项,所以无法连线自建的服务器。
  3. 使用pip安装ankiserver会出异常,请使用easy_install安装。
  4. Linux安装请参考这篇,枇杷树zhuanlan.zhihu.com/p/25
  5. 电脑板(2.0.38)跟手机版(2.8.0稳定),要注意版本相容性,不是越新越好,稳定才是重要。
  6. 牌组有异动一定要检查资料库跟媒体,不然可能发生媒体异常(图片无法显示)。
  7. Ubuntu(Linux)比较稳定,windows总有些奇怪的问题,可能还需要改code,建议用Ubuntu安装。


下载及安装Python27

python官网Python官网下载python27

设定Python27的环境变数(PATH),才能在cmd下使用python指令,详细安装可以参考这篇文章

如何在Windows上安装Python 2.7版


将副檔名.py与python.exe关联,才能正常执行py scrpit

在Windows\system32\startnet.cmd中加入如下命令:
关联Python文件扩展名:assoc .py=PythonFile

或是对.py文件右键属性修改预设开启程式


安装ankiserver套件

使用Python27安装ANKI-Server,使用下列其中一个指令安装即可,ANKI-Server的套件会安装在C:\Python27\Lib\site-packages\ankiserver-2.0.6-py2.7.egg

开启cmd执行下列指令

easy_install AnkiServer
pip install AnkiServer(不要用這個裝,會不能正常執行ankiserverctl.py)

新增一个存放ANKI-Server同步资料及设定的资料夹

从C:\Python27\Lib\site-packages\ankiserver-2.0.6-py2.7.egg\examples复制example.ini设定檔,并修改檔名production.ini及IP(预设使用http)


在cmd下输入指令ankiserverctl.py adduser新增用户及密码


启动ANKI-Server

启动ANKI-Server开启cmd使用ankiserverctl.py debug(停止Ctrl+C)或ankiserverctl.py star(停止ankiserverctl.py stop)启动ANKI-Server


ANKI桌面版设定

开启插件文件夹

新增一个txt挡案,檔名修改为mysyncserver.py。

文件内容如下

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/'

IP自行修改为本机区网IP

保存后,重启anki即可测试同步。

android版anki(AnkiDroid)设定,IOS目前无法自定义server IP。


网址要注意ankiserver预设是使用http而不是https


文章内容参考

老黄Anki自建服务器教程-在线播放-优酷网,视频高清在线观看

GitHub dsnopek/anki-sync-server

编辑于 2017-02-20

文章被以下专栏收录