我在网上查到的教程都是比较老的,其中遇到的坑真的数不胜数,现在分享一下。

亲测win-anki-2.1.8AnkiDroid-2.9.1完美使用。

说明一下,这个教程仅适用于安卓、windows、macOS端,iOS无法使用。

安装python3和pip3

sudo apt-get update
sudo apt-get install python3
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3 get-pip.py

安装anki-sync-server

git clone https://github.com/tsudoko/anki-sync-server.git
cd anki-sync-server
git submodule update --init
cd anki-bundled
echo '/^pyaudio/d;w' | tr ';' '\n' | ed requirements.txt
pip install -r requirements.txt
pip install webob
cd ..

配置anki-sync-server

#添加用户,设置密码
python3 ./ankisyncctl.py adduser YourUserName

python3 -m ankisyncd
#如果正常运行,就按下Ctrl + C 停止任务,执行下面的代码,保持后台运行

python3 -m ankisyncd &

一般你的服务器是不关的,但也有其他原因,需要重启,

只要在终端窗口执行下面这两条命令,服务将再次打开:

cd anki-sync-server
nohup python3.6 -m ankisyncd &

 
如果要添加更多用户,就执行下面的代码,记得更换UserName

cd anki-sync-server
python3.6 ./ankisyncctl.py adduser UserName

若无法同步,请检查服务器27701端口是否开放


安卓端anki配置

安卓端将同步地址改为:

http://服务器ip:10005/

将媒体文件同步地址改为:

http://服务器ip:10005/msync


电脑anki配置

进入anki,选择 工具->附加组件->查看文件

在addons文件夹内,创建ankisyncd文件夹

对于2.1版本的anki,新建__init__.py,写入下列代码

import anki.sync, anki.hooks, aqt

addr = "http://服务器ip:27701/" #ip更换成你的服务器
anki.sync.SYNC_BASE = "%s" + addr
def resetHostNum():
    aqt.mw.pm.profile['hostNum'] = None
anki.hooks.addHook("profileLoaded", resetHostNum)

对于2.0版本的anki,新建anki_server.py,写入下列代码

import anki.sync

addr = "http://服务器ip:27701/" #ip更换成你的服务器
anki.sync.SYNC_BASE = addr
anki.sync.SYNC_MEDIA_BASE = addr + "msync/"