前言:
之前一直在使用Anki2.0的同步服务器 AnkiServer,最近在电脑版上提示升级anki ,顺手点击了升级,发现就无法进行同步了,搜索得知,发现新版不支持AnkiServer了。Anki2.1开始使用 Ankisyncd, 于是乎开始折腾新版的anki自定义服务器了
这里我服务器系统用的是 ubuntu18.04,用centos也是类似的操作,就是安装软件命令不一样,问题不大
记得提前防火墙放通端口,如果是用的云服务器,记得在安全组添加端口
需要提前安装好 python3 git pip(2.7版本太老了,还是用新的版本比较好,日后方便)
由于我使用的ubuntu18.04系统默认已经安装了python3 git 所以我只需要装pip即可,命令如下:
sudo apt install python3-pip
开始搭建新版anki同步服务器
参考项目地址:https://github.com/tsudoko/anki-sync-server
创建anki文件夹并进入新建的文件夹
mkdir anki && cd anki
克隆项目
git clone https://github.com/tsudoko/anki-sync-server.git
进入 anki-sync-server文件夹
cd anki-sync-server
接着输入命令
git submodule update --init
cd anki-bundled/
pip3 install -r requirements.txt
此时会提示报错,vi 打开requirements.txt 删除第三行的pyaudio
wq保存
重新运行 pip3 install -r requirements.txt
就成功安装了
安装 webob 库
pip install webob
根据需要修改
vi ankisyncctl.py
这里将python改成python3
创建用户
./ankisyncctl.py adduser <username>
例如 ./ankisyncctl.py adduser anki
后台运行服务
nohup python3 -m ankisyncd
测试是否成功
我这里是本地测试,也可以外网直接,直接用web浏览器访问ip+端口即可
curl -I 127.0.0.1:27701
客户端开始同步以Windows为例
打开anki插件文件夹C:\Users\one\AppData\Roaming\Anki2\addons21
改成自己的计算机用户名即可
新建文件夹 命名为 ankisyncd
新建名为__init__.py
的文件
内容如下
import anki.sync, anki.hooks, aqt
addr = "http://192.168.1.1:27701/" # 改成自己服务器地址
anki.sync.SYNC_BASE = "%s" + addr
def resetHostNum():
aqt.mw.pm.profile['hostNum'] = None
anki.hooks.addHook("profileLoaded", resetHostNum)
其它默认即可
打开Windows版的anki就能看到同步插件了
点击同步就会提示让你输入账号密码,按照提示输入即可
我用的版本是目前最新的2.1.20版本,界面比之前的2.0.52版本好看了不少。
文章同时也会在我的博客 0ne0ne.com同步更新。