前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搭建自己的Anki同步服务器

搭建自己的Anki同步服务器

原创
作者头像
光帆
修改2019-03-25 17:34:13
7.7K0
修改2019-03-25 17:34:13
举报
文章被收录于专栏:用云做点什么

搭建自己的Anki同步服务器

Anki自带的AnkiWeb同步服务体验较差,当你的单词库较大时,同步起来体验非常的差。因此我在腾讯云上自己搭建了Anki同步服务器。

注意:

  1. windows端只能使用2.0的旧版 2.0版本使用python2写的插件,2.1版本用python3写的插件,而GitHub上提供的服务器版本是基于python2.7的,所以新版本无法使用此方法来和私有服务器同步,可以和AnkiWeb同步或是下载具有同步功能的插件来同步,但是我不知道怎么写一个适合新版本的插件出来,因此使用旧版Anki。
  2. 发现一个严重的问题,桌面端和安卓端会冲突。 桌面端和服务器同步之后,安卓端要重新下载整个库;安卓端和服务器同步后,桌面端要重新下载。尚未发现解决办法。

我在网上查到的教程都是比较老的,而且大都模仿Anki知乎专栏的这篇文章。我主要是参考了idealclover的Linux 下尝试自建Anki服务器,在此表示感激。

服务端配置

选择CentOS 7.5 x64系统

我在腾讯云上有个云服务器,关机重新安装系统,很方便,然后用putty远程登录服务器

安装AnkiServer包

# easy_install AnkiServer

报错

your setuptools is too old
your setuptools is too old

“your setuptools is too old (<12)”

可能是安装PasteScript出错了
可能是安装PasteScript出错了

从头开始看,安装PasteScript的时候就不正常了,然后我试着pip PasteScript,机器没有pip,用easy_install 也不行,我干脆去下了个pip。

# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

# python get-pip.py

然后直接

pip install AnkiServer

就好了

设置AnkiServer

~目录下创建Anki文件夹

# mkdir Anki

找到AnkiServer中示例配置的目录,我的在/usr/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/examples

复制example.ini 到我们的目录,修改为production.ini

# cp example.ini ~/Anki/production.ini

之后编辑该文档

# vim ~/Anki/production.ini

production.ini配置文件
production.ini配置文件

我用红色涂抹的是主机地址,填你的服务器的内网地址,下面的允许来访问你的服务器的机器的ip,可以枚举每个你允许的ip,也可以设置0.0.0.0 允许任何ip地址连接,然后按esc键,输入:wq保存并退出vim

# ankiserverctl.py -h

查看命令选项

查看命令选项
查看命令选项

输入 # ankiserverctl.py adduser <username> 来添加用户,该命令回车后会要求你输入密码

可以查看是否成功添加了用户

# ankiserverctl.py lsuser

成功的话,你会看到自己添加的用户名

测试运行

# ankiserverctl.py debug

没有报错的话我们就可以正式运行Ankiserver了,先用Ctrl+C中止调试程序,然后

# ankiserverctl.py start

Anki2.0版Windows客户端的设置

打开插件文件夹

Anki界面打开插件文件夹
Anki界面打开插件文件夹
文件夹内容
文件夹内容

本来这里是没有这个mysyncserver.py文件的,我们创建一个

文件内容如下:

代码语言:txt
复制
import anki.sync
anki.sync.SYNC_BASE = 'http://[你的服务器外网ip]:27701/'
anki.sync.SYNC_MEDIA_BASE = 'http://[你的服务器外网ip]:27701/msync/'

保存后,重启Anki客户端

点击同步按钮,输入自己在服务器里设置的用户名和密码,然后就像用AnkiWeb服务一样了,不过体验如丝般顺滑,而且可以同步很大的库文件

AnkiDroid安卓端设置

一定要注意URL协议是http,用HTTPS会提示网络错误,无法登录

安卓端截图1
安卓端截图1
安卓端截图2
安卓端截图2
安卓端截图3
安卓端截图3

得益于大家的力量,我完成了自己的Anki服务器搭建,但愿我的文章也能给你提供帮助。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 搭建自己的Anki同步服务器
    • 服务端配置
    相关产品与服务
    云服务器
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档