原文鏈接:https://icloudnative.io/posts/anki-sync-server/
Anki 介紹
Anki 是一個輔助記憶軟體,其本質是一個卡片排序工具--即依據使用者對卡片上的自定義內容進行主動測驗、自我評判后,其內部演算法根據評判結果更改每張卡片下次測驗時間的排序工具,
所謂的卡片,專業說法叫 Flash Card(抽認卡或閃卡),是一小塊紙片,分為正反兩面,將問題和提示寫在一面,將答案寫在另一面,使用方法就是先看正面的問題與提示,在腦中回想答案,然后翻出反面進行對照驗證,
閃卡的核心制作原則就是:一個知識點一張卡,因此非常適合用來學習英文,也可以用來記憶歷史事件時間、公式等等,給大家看下我制作的閃卡:

每張卡片只有一個英文單詞,與之配套的是該單詞的音標、發音、圖片、英文解釋、例句,所有的版塊都是英文,絕對不要出現中文! 卡片的核心是圖片和例句,通過圖片可以猜到這個單詞大概是什么意思,通過例句可以驗證自己對單詞意思的猜測是否正確,如果還不放心,可以看下英文解釋,這一套流程下來絕對可以正確理解單詞的意思,完全不需要中文的干涉,這才是學習英文單詞最完美的方式,
即便如此,大家在熟悉單詞的程序中可能還會有一個誤區,比如上面這個單詞,你在學習的程序中可能會忍不住去想這個單詞在中文里究竟是什么意思,甚至可能會在心里默念它的中文意思,即使你看了圖片和英文解釋,你心里可能還會忍不住去想:哦,這是轉瞬即逝的意思,建議大家最好不要這么做,要想做到這一點,記住一句名言:只可意會,不可言傳,你去看這張圖片,然后用心去體會:哦,大概就是這么一種感覺,對對對,你能 get 到這個單詞所表達的那種感覺就行了,不要再去思考如何用中文來描述它,那樣反而吃力不討好,
下面言歸正傳,相信有很多小伙伴和我一樣在使用 Anki 來學習英文單詞或者其他的知識,但是 Anki 的同步服務器在國外,還是一個個人專案,帶寬很小,同步速度很慢,如果我們想在多個客戶端之間同步學習進度和新增的知識點,那將非常痛苦,
為了解決這個問題,我們需要部署一個自定義的同步服務器,然后讓客戶端去使用這個同步服務器,
Anki 同步服務器部署
自從 2023 年 2 月份,Anki 發布了 PC 端 2.1.57 版本以后,Anki 的 PC 端,安卓端,iOS 端用戶都可以自定義同步服務器了,并且不再需要安裝插件,從此 Anki 小伙伴再也不用擔心 Anki 同步的問題了,困擾 Anki 用戶多年的同步問題終于得到徹底解決,
自 PC 端 2.1.57 版本以后,Anki 官方退出了鑲嵌在 Anki 客戶端的同步服務端和通過 Python 安裝的同步服務端,
但是我并不想用官方的這個破玩意,人生苦短,我不用 Python,
我選擇用社區的高大上同步服務端,目前只有 anki-sync-server-rs 這個專案支持最新的 Anki 版本,其他的同步服務器專案基本上都失效了,這個專案是用 Rust 寫的,追蹤 Anki 官方 同步服務端的進度,它們都是基于sqlite c 作為資料存盤后端,最重要的是:它有 Docker 鏡像!
有了鏡像,部署起來就簡單了,不就是 Docker 一把梭嘛!
不懂 Docker 也沒關系,不就是 Sealos 一把梭嘛!樓下的老奶奶都會用 Sealos 一把梭,
你把我下面的步驟教給你家樓下的老奶奶,如果她不會你來找我,我現場給你表演大便活人!
首先在瀏覽器地址欄輸入網址 https://cloud.sealos.io/ 進入 Sealos 桌面,然后打開「應用管理」:

點擊「新建應用」:

依次輸入應用名和鏡像名,容器暴露埠是 27701,并開啟外網訪問:

繼續向下,展開「高級配置」,點擊「編輯環境變數」:

將以下內容粘貼到環境變數輸入框中:
ANKISYNCD_USERNAME=<USERNAME>
ANKISYNCD_PASSWORD=<PASSWD>
請將 <USERNAME> 替換為你自己的用戶名,將 <PASSWD> 替換為你自己的密碼,

點擊「新增存盤卷」:

掛載路徑填入 /app,然后點擊確認:

最后點擊右上角的部署應用即可,
部署完成后點擊「詳情」進入應用詳情界面,

這里可以看到實體的運行狀態,一定要等到狀態是 running 才算是部署成功,如果一段時間以后狀態還不是 running,可以點擊「詳情」查看故障原因:

部署成功后,可以看到應用的運行情況,包括 CPU 占用、記憶體占用等,點擊外網地址即可通過外網域名直接打開同步服務器的 Web 界面,

如果出現以下的界面,則表示部署成功:

查看日志的方法也很簡單,直接點擊實體右側的「三個點」,然后點擊「日志」即可查看日志:


客戶端設定
桌面端
桌面客戶端(macOS/Windows/Linux)配置方法如下:
-
先打開「首選項」

-
點擊「網路」,往下看,可以看到標有
self-hosted sync server(自定義同步服務器)的方框,在里面填寫您的服務端的地址:
-
重啟 Anki,然后點擊「同步」:

-
這時候會彈出一個輸入框讓你輸入用戶名和密碼,你需要將你之前設定的用戶名和密碼輸入進去:

-
點擊確認后,就會開始同步了,
安卓端
安卓端也是直接配置即可,我的 AnkiDroid 版本是 2.15.6,你可以通過「設定 -> 高級設定 -> 自定義同步服務器」找到配置頁面,

再填寫用戶名和密碼:
設定 -> 常用設定 -> AnkiWeb賬戶
這樣就算配置完成了,所有的牌組都同步過來了,


官方的版本實在是太老了,如果你想使用更激進的社區版本,可以到這個頁面下載最新的 Beta 版:
- https://github.com/ankidroid/Anki-Android/releases
建議下載 arm64-v8a 版本,
安裝完成后,可以通過「設定 -> 同步 -> 自定義同步服務器」找到配置頁面:
再填寫用戶名和密碼:
設定 -> 同步 -> AnkiWeb賬戶
iOS 端
AnkiMobile 也已經支持和自建的同步服務器同步了,至少對于版本 Ankimobile 2.0.90(20090.2) 來說,似乎是可行的,這是一位 iOS 系統用戶在 Anki 論壇報告的,
如果設定完成后發現不能同步可以參考下面的內容再試一次:
If you're using AnkiMobile and are unable to connect to a server on your local network, please go into the iOS settings, locate Anki near the bottom, and toggle "Allow Anki to access local network" off and then on again.
上面的內容摘自 ANki tutorial
題外話
大家如果對我的卡片模板比較感興趣,可以掃碼關注公眾號:

后臺聊天框發送暗號 anki,即可獲取我的卡片+模板,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/556134.html
標籤:其他
上一篇:24W機殼式AC-DC降壓開關電源模塊AP21-24W24N產品簡介
下一篇:返回列表
