Skip to content

Latest commit

 

History

History
86 lines (66 loc) · 6.35 KB

README_CN.md

File metadata and controls

86 lines (66 loc) · 6.35 KB

anki-sync-server-rs

LicenseGithub statusGithub contributorsDockerHub versionDockerHub pullsDockerHub stars Gitter Downloads

简体中文|English

这是一个Rust语言版本的Anki 自建同步服务端,模仿参考一个广为人知的Python版本的anki-sync-server,它们都是基于sqlite c 作为数据存储后端。

服务端的简单的使用说明

安装 (通过二进制可执行文件)

  1. 下载二进制文件,地址releases ,注意下载与您的计算机平台相符的文件,比如说,对于Windows的用户来说,下载文件名带有windows_x86_64的文件。下载后解压缩并进入解压后的文件夹。
  2. 添加账号(注:下面提到的usernamepassword为您想设置的用户名和密码)。

对于Linux、macOS的用户,运行命令:

 ./ankisyncd user --add username password

对于WIndows用户,进入解压后的文件夹,打开一个命令行终端,运行命令:

 ./ankisyncd.exe user --add username password

如果您还想进行其它账号相关的操作,执行帮助命令:

 ./ankisyncd user --help
  1. 启动即运行服务端,对于Linux、macOS的用户,运行命令:./ankisyncd,对于WIndows用户直接鼠标双击可执行文件ankisyncd.exe
  2. 到这里服务端的配置基本完成了。

安装(通过容器Docker安装)

具体细节查看文件Docker

当然您也可以同步从源码构建目标平台的二进制文件Install或者从源码构建docker镜像来安装服务端DockerBuild

设置Anki客户端

Anki 电脑端

  1. 打开Anki,依次鼠标点击选中工具 -> 插件
  2. 在插件页面,点击获取插件,填写代码358444159,点击确认(OK)。
  3. 下载好后鼠标选中我们的插件custom sync server redirector,点击右下角的配置(Config)。
  4. 不出意外接着会弹出一个窗口,在里面填写您的服务端的地址。
  5. 重启Anki。

AnkiDroid

打开AnkiDroid,依次进入 设置(Settings) -> 高级(Advanced) -> 自定义同步服务器(Custom sync server) (对于2.16及以上的版本,依次进入 设置(Settings) -> 同步(Sync) -> Custom sync server自定义同步服务器(Custom sync server) )。

除非设置反向代理来处理加密连接,我们使用HTTP协议。端口可以是默认的27701或者可以在配置文件ankisyncd.toml中设置您中意的端口。

安卓端提供了和Anki endpoint类似的两个地址来同步收藏数据(Collection)和媒体文件(Media),分别是同步地址(Sync url) and the 媒体文件同步地址(Media sync url),但是在新版2.16中出现了些微的改变。

举个例子,假设我们的服务器IP地址为192.0.0.0,而且我们使用HTTP协议,27701作为端口,相应的地址是,

同步地址(Sync url):http://192.0.0.0:27701

媒体文件同步地址(Media sync url): http://192.0.0.0:27701/msync

在2.16及以上版本中,

同步地址(Sync url):http://192.0.0.0:27701/sync/

媒体文件同步地址(Media sync url): http://192.0.0.0:27701/msync/

想要支持https,查看文件certificate setup (注:2.16版本允许不安全HTTP连接);反向代理如何设置,查看文件reverse proxy setup

贡献

如果您有建议或者批评,请提交问题或者PR,我们洗耳恭听。具体操作查看文件CONTRIBUTING.md

配置

环境变量

支持通过换届变量添加账号啦。

ANKISYNCD_USERNAME 用户名,如果设置则非空
ANKISYNCD_PASSWORD 密码,如果设置则非空

可选的服务端配置

注意,这并不是必选项,这一步可以略过。如果您想改变服务端同步数据存储位置或者改变监听端口,可以修改我们提供的配置文件ankisyncd.toml,它也在解压缩后的文件夹里面,最后运行如下命令(注:下面的命令适用于linux/和macOS,使用Windows的用户将ankisyncd替换成ankisyncd.exe,配置文件ankisyncd.toml的具体路径根据您计算机配置文件的实际路径而定),

./ankisyncd  --config /path/to/ankisyncd.toml

许可

See LICENSE

引用

本项目的建立,与另外两个项目密不可分,它们是 ankicommunity/anki-sync-server , ankitects/anki,我们几乎复刻了anki-sync-server中的媒体同步的实现逻辑;而对于Anki,我们使用了它的Collection同步API,所以,如果我们不在能够访问到这个API,那么这个项目就停摆了。