資安

阿里云服务器自建AnkiServer

刚开始用 Anki ,它的服务器真是让人捉急,索性自己建一个。参考一下文档,几经挫折,我终于建立了我自己的 Anki 服务器,同步速度飞一般的感觉。

Linux 下自建Anki服务器

手把手教你搭建自己专属的Anki服务器

阿里云主机(VPS主机)上搭建Anki服务器及Anki服务器搭建方案分析

要成功搭建自己的 Anki 服务器,必备材料有:

  • 服务器(上阿里云租去,学生价只要九块九,阿里欠我一条广告费,:-P)
  • AnkiSerer 程序
  • 会操作 Vim或nano , ssh 连接 的程序员一枚

特别要注意的有

  • AnkiServer 是一个 Python 包,使用 easy_install 安装。还未安装 easy_install 的可以参考linux下easy_install的安装与使用详解 安装。
  • production.ini 内的是服务器内网IP,客户端连接的是外网IP
  • 全程在root下操作

Step 1 服务器配置

如果你已经有了一台服务器,那么登录并切换到 Root 下操作。然后下载 AnkiServer。

easy_install AnkiServer

安装成功测试命令

ankiserverctl.py

注意看安装目录,下一步要复制的文件在安装目录下。一般是

/usr/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/examples/

如果不是这个目录,就看自己的安装目录在哪里,总之,要找到这个文件

example.ini

把它复制到 root 的根目录下,并改名为

production.ini

修改 production.ini 文件内容并保存 (这里直接引用文章了)

host= x.x.x.x  #自己服务器的内网地址也可是局域网IP
allowed_hosts=0.0.0.0 #允许同步的客户端ip地址,使用0.0.0.0表示允许任何ip地址连接

AnkiServerproini

要改的地方就两处,也就是上图红色框里的内容。这里的内网IP可以在云主机控制台查到。如下图红框所示。

AnkiServerAl

注意:27701 这个端口好不要改!!!

然后添加用户,这里添加的用户是将来在Anki客户端登录时使用的用户,使用以下指令添加用户,然后输入对应的密码。

ankiserverctl.py adduser username  #usename替换为你的用户名,如xiaoming
ankiserverctl.py lsuser            #列出用户列表,能看到上一步添加的用户即为成功

测试服务器

ankiserverctl.py debug

出现这样的窗口,一直不动,代表服务器调试正常。

fig

按 结束调试,然后启动服务。

ankiserverctl.py start

最后,外网测试能否连上端口,输入外网IP 及 27701 端口号,查看端口是否开放。
T 在线工具,端口扫描

Step2 客户端配置

PC 端:

打开 Anki -> 菜单栏 ->工具 -> 插件 -> 打开插件文件夹

新建名为 mysyncserver.py 的文件并输入以下内容。

import anki.sync
anki.sync.SYNC_BASE = 'http://192.168.0.100:27701/'
anki.sync.SYNC_MEDIA_BASE = 'http://192.168.0.100:27701/msync/'

登陆失败的话,把上边最后的/号去掉。by zjq 2019-10-24

修改 IP 地址为本机外网 IP,即公网IP。

AnkiSerVerUser

然后,保存,重启 Anki。照常登录,此处登录名和密码是刚刚 ankiserverctl.py adduser username 中的用户名和密码。然后同步就可以了

安卓手机端:

左滑菜单-> 设置->高级设置 ->自定义同步服务器

AnkiSerVerUserSJ

网址要注意ankiserver预设是使用http而不是https

然后照常登录就可以了。

Leave a Reply

Your email address will not be published. Required fields are marked *