Anki 自托管同步服务器教程
1. 项目介绍
anki-sync-server
是一个自托管的 Anki 同步服务器,允许用户使用自己的服务器进行 Anki 数据同步,而不是使用 AnkiWeb。Anki 是一个强大的开源记忆卡片应用程序,通过间隔重复算法帮助用户长期记忆知识。Anki 的主要形式是一个桌面应用程序(支持 Windows、Linux 和 macOS),可以与 AnkiWeb 和移动版本的 Android 和 iOS 同步。
该项目最初由 David Snopek 开发,用于支持 Bibliobird(一个语言学习网络应用程序)中的记忆卡片功能。当前版本是 jdoe0/ankisyncd
的一个分支,支持 Python 3 和 Anki 2.1。
2. 项目快速启动
安装 Anki
首先,确保你安装了支持的 Anki 版本(2.1.1 到 2.1.11,不包括 2.1.91)。如果无法在系统上轻松获取支持的 Anki 版本,可以使用本仓库中的 anki-bundled
:
git submodule update --init
cd anki-bundled
pip install -r requirements.txt
安装依赖
安装必要的依赖:
pip install webob
配置 ankisyncd.conf
根据需要修改 ankisyncd.conf
文件。
创建用户
使用以下命令创建用户:
./ankisyncctl.py adduser <username>
运行服务器
启动 Anki 同步服务器:
python -m ankisyncd
3. 应用案例和最佳实践
自定义同步服务器
通过自托管 Anki 同步服务器,用户可以完全控制自己的数据,避免依赖第三方服务。这对于需要高度隐私保护的用户尤其重要。
多用户支持
anki-sync-server
支持多用户环境,适合在家庭或小型团队中使用。每个用户可以拥有独立的 Anki 数据,并通过自托管服务器进行同步。
安全性
建议使用 HTTPS 协议来保护数据传输的安全性。可以通过配置反向代理(如 Nginx)来实现这一点。
4. 典型生态项目
Anki
Anki 是一个开源的记忆卡片应用程序,支持多种平台(Windows、Linux、macOS、Android、iOS)。它通过间隔重复算法帮助用户高效记忆知识。
AnkiWeb
AnkiWeb 是 Anki 的官方在线同步服务,允许用户在不同设备之间同步 Anki 数据。
AnkiDroid
AnkiDroid 是 Anki 的 Android 版本,支持与 AnkiWeb 和自托管同步服务器同步。
通过这些生态项目,用户可以在不同设备上无缝使用 Anki,并根据自己的需求选择合适的同步方式。