最简单的 Anki 同步教程
作为一款强大的记忆卡软件,原理如同一张纸质卡片,正面记问题,反面记答案,再加一套渐进式、抗遗忘、间隔复习的算法,Anki 对许多学生的知识记忆,起到了不可估量的作用。Anki 在知识记忆领域的生态蓬勃发展,未来将会有更多人参与进来,Anki 的功能也会更加强大。
Anki 的多端同步,之前叫人头疼,但现在已经非常方便了。要实现多端同步,需要一个中转站,此中转站,即称云端服务器。循环工作流是这样的:电脑上操作了,同步到云端服务器;手机要用,就先从云端服务器取回进度;手机更改了,同步到云端服务器;电脑又用,又先从云端服务器取回进度。
简而言之:更改后同步进度至云端服务器;使用前先从云端服务器取回进度。
为了安全和速度,我们往往不想使用 Anki 自身提供的云端服务器,而是自己买一台云端服务器。买后自行设立自己的同步中转站,也非常简单——
首先,购买一台服务器,阿里云经常有 99 元一年的服务器,可以长期按这个价格续费。学生认证后购买更便宜,有时相当于免费送。有的大学也会免费给学生送服务器。本站用的服务器是 这款,99 元一年,用了好几年了。
其次,以下操作均在服务器完成:
# 打开服务器,一键开一个 Debian 系统
sudo apt install python3 # 安装 Python 3
# 安装 Anki 同步软件:
python3 -m venv ~/syncserver
cd ~/syncserver/bin
source activate
pip install anki
# 在你的服务器上,防火墙打开相应端口,默认是 8080
sudo apt install screen # 安装一个后台挂机软件 screen
screen # 打开虚拟屏幕,在它中间打开同步,可以让我们离开服务器时,Anki 同步服务依旧持续地在虚拟屏幕中正常运行
SYNC_USER1=user:passwd SYNC_PORT=8080 ~/syncserver/bin/python -m anki.syncserver
Ctrl a d # 把同步服务放进后台的虚拟屏幕,之后叉掉浏览器,也不影响我们的同步服务在后台活跃
screen -r # 以后想查看同步服务的运行详情时,可以用这个命令连回去
最后,在电脑或手机 Anki 上设置同步服务器为 http://12.34.56.78:8080/,IP 用你自己的服务器 IP,账密使用你在 Anki 自身注册的账密,即可实现多端同步。一次设置,只要云端服务器一直续费,同步就永恒有效。
如果你嫌弃上边的同步,未经过 https,不太安全。那你得知道一点 apache 或 nginx 服务器的知识,核心的认知是:你必须让 anki.syncserver 开启的目录,处于 https 流量的管辖之下。如果你能看明白前一句话,那么你只需要在apache conf 文件的 virtualhost 配置里加上如下两行,即可实现 https 传输:
ProxyPass /syncserver/ http://127.0.0.1:24528/
ProxyPassReverse /syncserver/ http://127.0.0.1:24528/
我就是这样用的,仅设置一次后,天天极速同步,在几台电脑和手机上,随时随地都能专注学习。