最简单的 Anki 同步教程: Difference between revisions
No edit summary |
No edit summary |
||
(25 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
作为一款强大的记忆卡软件,原理如同一张纸质卡片,正面记问题,反面记答案,再加一套渐进式、抗遗忘、间隔复习的算法,Anki 对许多学生的知识记忆,起到了不可估量的作用。Anki 在知识记忆领域的生态蓬勃发展,未来将会有更多人参与进来,Anki 的功能也会更加强大。 | 作为一款强大的记忆卡软件,原理如同一张纸质卡片,正面记问题,反面记答案,再加一套渐进式、抗遗忘、间隔复习的算法,Anki 对许多学生的知识记忆,起到了不可估量的作用。Anki 在知识记忆领域的生态蓬勃发展,未来将会有更多人参与进来,Anki 的功能也会更加强大。 | ||
Anki | Anki 的多端同步,之前叫人头疼,但现在已经非常方便了。要实现多端同步,需要一个中转站,此中转站,即称云端服务器。循环工作流是这样的:电脑上操作了,同步到云端服务器;手机要用,就先从云端服务器取回进度;手机更改了,同步到云端服务器;电脑又用,又先从云端服务器取回进度。 | ||
简而言之:更改后同步进度至云端服务器;使用前先从云端服务器取回进度。 | 简而言之:更改后同步进度至云端服务器;使用前先从云端服务器取回进度。 | ||
Line 10: | Line 10: | ||
其次,以下操作均在服务器完成: | 其次,以下操作均在服务器完成: | ||
<syntaxhighlight lang="bash" line> | <syntaxhighlight lang="bash" line> | ||
# 打开服务器,一键开一个 Debian 系统 | # 打开服务器,一键开一个 Debian 系统 | ||
Line 16: | Line 17: | ||
python3 -m venv ~/syncserver | python3 -m venv ~/syncserver | ||
cd ~/syncserver/bin | cd ~/syncserver/bin | ||
source | source activate | ||
pip install anki | pip install anki | ||
# 在你的服务器上,防火墙打开相应端口,默认是 8080 | # 在你的服务器上,防火墙打开相应端口,默认是 8080 | ||
SYNC_USER1=user:passwd SYNC_PORT=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 # 以后想查看同步服务的运行详情时,可以用这个命令连回去 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
最后,在电脑或手机 Anki 上设置同步服务器为 <nowiki>http://12.34.56.78:8080/</nowiki>,IP 用你自己的服务器 IP,账密使用你在 Anki 自身注册的账密,即可实现多端同步。一次设置,只要云端服务器一直续费,同步就永恒有效。 | |||
---- | |||
注意,上边的教程够用了。以下为非必需步骤。进阶用法只适合懂一点 apache 或 nginx 服务器知识的人: | |||
如果你嫌弃上边的同步,未经过 https,不太安全。那你得知道一点 apache 或 nginx 服务器的知识,核心的认知是:<b>你必须让开启 anki.syncserver 的目录,处于 https 流量的管辖之下。</b><ref>[https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-debian-11 怎样在 apache 服务器上安装一个网站]</ref> <ref>[[现在配置 SSL 证书实现 https 非常简单了]]</ref>如果你能看明白前一句话,那么你只需要在 apache conf 文件的 virtualhost 配置里加上如下两行,即可实现 https 传输: | |||
<syntaxhighlight lang="bash" line> | |||
ProxyPass /syncserver/ http://127.0.0.1:8080/ | |||
ProxyPassReverse /syncserver/ http://127.0.0.1:8080/ | |||
</syntaxhighlight> | |||
当然,加了后使用 <code>sudo a2enmod proxy proxy_http proxy_wstunnel</code> 开启相应模块,以及 <code>sudo systemctl restart apache2</code>重启一下服务器。 | |||
我就是这样用的,仅设置一次后,天天极速同步,在几台电脑和手机上,随时随地都能专注学习。 | |||
插播一句:若你不想折腾只想快速用起来,本人提供付费服务,暂定 0.3 元一天。可加我微信 qlzq-tqp,我教你注册一个 AnkiWeb 账号,同时在我的服务器为你提供同步服务。只适合同步不涉及隐私的学习内容,因为我必须有你的账号密码才能把它加进我的服务器同步进程里,介意就别来啦~ | |||
如果你想使用进阶用法,请彻底读明白这两篇参考文章: |
Latest revision as of 19:16, 20 October 2024
作为一款强大的记忆卡软件,原理如同一张纸质卡片,正面记问题,反面记答案,再加一套渐进式、抗遗忘、间隔复习的算法,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 自身注册的账密,即可实现多端同步。一次设置,只要云端服务器一直续费,同步就永恒有效。
注意,上边的教程够用了。以下为非必需步骤。进阶用法只适合懂一点 apache 或 nginx 服务器知识的人:
如果你嫌弃上边的同步,未经过 https,不太安全。那你得知道一点 apache 或 nginx 服务器的知识,核心的认知是:你必须让开启 anki.syncserver 的目录,处于 https 流量的管辖之下。[1] [2]如果你能看明白前一句话,那么你只需要在 apache conf 文件的 virtualhost 配置里加上如下两行,即可实现 https 传输:
ProxyPass /syncserver/ http://127.0.0.1:8080/
ProxyPassReverse /syncserver/ http://127.0.0.1:8080/
当然,加了后使用 sudo a2enmod proxy proxy_http proxy_wstunnel
开启相应模块,以及 sudo systemctl restart apache2
重启一下服务器。
我就是这样用的,仅设置一次后,天天极速同步,在几台电脑和手机上,随时随地都能专注学习。
插播一句:若你不想折腾只想快速用起来,本人提供付费服务,暂定 0.3 元一天。可加我微信 qlzq-tqp,我教你注册一个 AnkiWeb 账号,同时在我的服务器为你提供同步服务。只适合同步不涉及隐私的学习内容,因为我必须有你的账号密码才能把它加进我的服务器同步进程里,介意就别来啦~
如果你想使用进阶用法,请彻底读明白这两篇参考文章: