璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


tech:anki_syc

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
tech:anki_syc [2023/01/27 15:34] – 移除 - 外部编辑 (Unknown date) 127.0.0.1tech:anki_syc [2023/01/27 15:34] (当前版本) – ↷ 页面名由tech:anki改为tech:anki_syc 温婕莺
行 1: 行 1:
 +> 摘录至 知乎
 +
 +
 +====== anki同步服务器 ======
 +
 +===== 1、安装docker,创建数据存储目录 =====
 +
 +<code bash>
 +$ apt install docker docker-compose # Ubuntu 
 +$ yum install docker docker-compose # Centos 
 +$ brew install --cask docker # Homebrew 
 +$ mkdir /data/anki # 用于本地存储anki数据,防止docker挂掉或者版本更新的时候数据丢失。
 +</code>
 +
 +===== 2、获取、使用anki-sync-server =====
 +
 +==== 国内国外源码二选一:(没有区别,哪个下载速度快用哪个) ====
 +
 +<code bash>
 +$ git clone https://github.com/mingwiki/anki-sync-server.git # Github 国外 
 +$ git clone https://gitee.com/mingwiki/anki-sync-server.git # Gitee 国内
 +</code>
 +
 +==== 启动、停止server ====
 +
 +<code bash>
 +$ cd anki-sync-server 
 +$ docker-compose up -d # 启动server,第一次启动会自动构建docker image 
 +$ docker-compose down # 停止server
 +</code>
 +
 +==== 更新至最新版本 ====
 +
 +<code bash>
 +$ docker-compose down 
 +$ git pull 
 +$ docker-compose up -d
 +</code>
 +
 +===== 3、进入docker管理anki用户 =====
 +
 +<code bash>
 +$ docker container exec -it anki-container /bin/bash # 进入容器 
 +$ ./ankisyncctl.py help # 获取命令 
 +$ ./ankisyncctl.py adduser <html><username></html> # 添加用户 
 +$ ./ankisyncctl.py deluser <html><username></html> # 删除用户 
 +$ ./ankisyncctl.py lsuser # 列出用户 
 +$ ./ankisyncctl.py passwd <html><username></html> # 更改用户密码
 +</code>
 +
 +> 退出时输入exit即可。
 +
 +===== 4、此时win版anki已经可以使用,需要安装同步插件。 =====
 +
 +==== 点击工具--插件--查看本地插件文件,自动弹出插件目录 ====
 +
 +==== 在该目录中新建文件夹ankisyncd,进入后,新建txt文件,改名为*\init\*.py ,用记事本打开,内容如下 ====
 +
 +<code python>
 +import os addr = "https://anki.naizi.fun/" #服务器地址,务必修改此处。 
 +os.environ["SYNC_ENDPOINT"] = addr + "sync/" 
 +os.environ["SYNC//ENDPOINT//MEDIA"] = addr + "msync/"
 +</code>
 +
 +> 默认是http 27701端口,所以地址格式为 http:%%//%%127.0.0.1:27701/ ,需要做https的朋友继续下一步。
 +
 +==== 重启anki后,点击同步即可使用。 ====
 +
 +===== 5、安卓麻烦一点,需要用nginx做反向代理http至https。 =====
 +
 +> 使用我的个人站点举例 "anki.naizi.fun"
 +
 +==== 使用云服务器的朋友可以直接获得域名服务商提供的的免费SSL证书,本地电脑自建服务器的需要生成本地证书。 ====
 +
 +<code bash>
 +$ apt/yum/brew install certbot 
 +$ certbot certonly --standalone -d anki.naizi.fun #生成证书包含三个文件xx.cer, xx.pem, xx.key。
 +</code>
 +
 +> 生成本地SSL证书的软件很多,mkcert和openssl均可,网上教程很多。
 +
 +==== 本地建anki-server的朋友需要把生成证书的xx.cer文件,安装至安卓手机。使用云服务器的朋友不需要此步骤。 ====
 +
 +> 设置--安全--证书管理--安装证书,各种手机设置大同小异肯定有此选项。
 +
 +==== 有了证书以后需要设置nginx,推荐配置如下 ====
 +
 +==== 文件名保存为,anki.conf ====
 +
 +<code conf>
 +server { # Allow access via HTTPS listen 443 ssl; listen [::]:443 ssl;
 +
 +<code>
 +# Set server names for access
 +server_name anki.naizi.fun; # 务必编辑此处
 +
 +# Set TLS certificates to use for HTTPS access
 +ssl_certificate certs/anki.naizi.fun.pem; # 务必编辑此处
 +ssl_certificate_key certs/anki.naizi.fun.key; # 务必编辑此处
 +
 +location / {
 +    # Prevent nginx from rejecting larger media files
 +    client_max_body_size 0;
 +
 +    proxy_pass <http://内网ip:27701>; # 务必编辑此处
 +}
 +<"/code>
 +</code>
 +
 +> 把上述文件放在特定的目录下,一般在/etc/nginx/conf.d (linux),/usr/local/etc/nginx/servers (homebrew) 务必不要修改默认的nginx.conf文件 此配置的作用是把http的27701端口反向代理到https的443端口
 +
 +==== 重启nginx后安卓anki便可使用,配置地址应该类似如下格式。 ====
 +
 +https://anki.naizi.fun/ 
 +
 +https://anki.naizi.fun/msync/
 +
 +
 +==== !!!注意最后的斜杠不可省略,一个有一个没有。 ====
 +
 +教程里面的示例账户是我自用的,需要的话可以找我添加账号,免费的,我有空就加,当然数据量不要太大,我的硬盘只有40G剩余,目前正在准备2022考研,所以自己建了一个站。网站正在备案,暂时不影响使用,数据绝对安全。
 +
 +账户需要找我在服务器端手动添加,没办法直接注册。
 +
 +我的服务器在成都,腾讯云,感受就是速度比默认的ankiweb官网快多了,推荐朋友们自己也建一个自己的服务器,跑在自己的笔记本或者nas上也很不错。