在放緩文章更新速度的這兩年內,筆者不少的時間都花在了閲讀和學習上,尤其是對社科、心理學、哲學、歷史等學科的學習。起初為了方便獲取書籍資源和方便的雲同步,筆者選擇了在用户體驗和出版物數量上首屈一指的微信讀書 APP,但隨着學習的深入,微信讀書內的書籍逐漸無法滿足我的閲讀需要(尤其是外文圖書的缺失),更致命的是,微信讀書會在部分書籍的版權到期後選擇下架書籍,就算已下載到設備裏的書,也會隨之消失,包括所有的批註和筆記……本文將為讀者分享筆者最近半年來為實現閲讀自由而構建的解決方案,希望能幫助書友們構建自己的數字圖書館。
本文原載於未命名小站,由作者本人同步至知乎,轉載請註明原作者博客地址或本鏈接,謝謝!
0x01 分析需求
本文的目的是構建自由可控數字圖書館和雲閲讀的解決方案,筆者按照自己的需求將這一方案拆解,可以得到如下的目標:
- 書籍獲取來源自由,不受特定平台限制,不能有 DRM
- 書籍、元數據、筆記統一管理,以科學方法進行分類,以次構建自己的圖書館,筆記支持跨書籍查詢
- 自由選擇閲讀平台,支持備份恢復,導入導出筆記,並能在不同的設備(手機、閲讀器、平板電腦)上同步閲讀進度和最新筆記
- 所有數據本地存儲,雲平台只作為同步和備份使用
- 儘量降低成本,或轉為一次性開支,避免被訂閲捆綁
抱着這樣的目標,筆者找到了不少方案。
0x02 尋找方案
-
滿足以上目標的書籍獲取來源有:
- 圖靈社區、異步社區:只有 IT 類書籍,且數量有限
- 古登堡項目:只有版權過期的圖書,且大部分為英文圖書
- 淘寶:大部分為 PDF 掃描版,來自圖書館流出,體積較大,無法摘錄文字,且收費較高(2~5 元)
- Libgen:主要是論文,中文書籍較少
- Internet Archive:主要是英文書籍,未來尚不明確(互聯網檔案館因開放 140 萬冊版權圖書遭起訴,美國法院裁定該網站無權掃描圖書 - IT 之家)
- Z-Library:書籍和論文都有,有大量中文圖書,但截至目前訪問較為困難
這樣對比下來,Z-Library 是以上所有選擇中最佳選項。且 Z-Library 還有 Z-Alert 功能,就算當前沒有的書籍,也可以通過這一功能進行監視,一旦有志願者上傳了這本書籍,就會第一時間通知用户。當然它也不是萬能的,如果有的書在 Z-Library 上找不到,也可以使用其他來源進行尋找,總而言之這些途徑能讓我們不受限於單一平台所提供的書庫。
-
而滿足以上目標的書籍管理軟件有:
- Kindle for PC:免費軟件,支持導入本地圖書,本地存儲
- Calibre:開源軟件,支持 Windows、macOS、Linux,支持自定義元數據、安裝插件、編寫腳本
- BookFusion:支持上傳本地圖書,跨設備同步,並能將本地 Calibre 書庫同步到雲端,有訂閲費用
對比之後,Calibre 免費開源可擴展的特性最能滿足筆者的需求,我們可以根據自己的閲讀習慣來構建自己的圖書館,如果有一定開發能力甚至可以自己編寫插件擴展其功能。
事實上這三款軟件都有內置的書籍閲讀功能,但筆者個人體驗下來覺得三個都不夠完美,有的 UI 簡陋、有的操作複雜、有的不支持自定義字體、且以上所有閲讀器都沒有針對中文排版優化。因此我們還是需要選擇一個獨立閲讀軟件。
-
滿足以上目標的閲讀軟件有:
- iBooks:操作簡潔,和 iCloud 結合,無縫同步,但導出批註較為困難
- Kindle APP:退出中國 後,雲同步功能不受保障
- 微信讀書:可以導入本地圖書,雲同步非常快,但用户體驗沒有平台內書籍那麼好
- FBReader:簡潔但不夠美觀,對中文排版不友好,支持 Google Drive 同步
- 靜讀天下:對中文排版有特別優化,但選項太多,初次使用不友好,支持自定義 WebDav 同步
以上閲讀軟件各有優勢,如果使用 iOS 設備,那麼 iBooks 和微信讀書(只拿來閲讀本地圖書)是較好的選擇,但是筆者使用 Android 設備,因此筆者選擇了靜讀天下 APP,因為它有自定義的 WebDav 同步,不用考慮 FBReader 在國內使用 Google Drive 的問題。
0x03 書籍獲取
由於 Z-Library 被美國 FBI 查封,其主要域名已不可用,但我們可以通過它的登錄入口瞭解到最新域名:singlelogin.me。
如果讀者掌握 Tor 網絡的基礎知識,尤其是在大陸以外地區,希望避免訪問 Z-Library 導致的訴訟風險,也可以使用 Qubes OS、Whonix、Tails、Tor Browser 等工具匿名訪問該網站:http://zlibrary24tuxziyiyfr7zd46ytefdqbqd2axkmxm4o5374ptpc52fad.onion/。
為了方便下載書籍,建議註冊一個帳號,這樣可以使用 Z-Alert 功能求書,還可以直接將書籍發送到郵箱,另外還可以擁有專屬域名,避免後續公開域名又被封禁。
此外,Z-Library 每年會進行兩次籌款活動,以保障其服務器運轉,召募志願者等操作,籌款一般都會支持國內支付途徑,不支持的話也會有加密貨幣渠道,筆者不久前就使用 ETH 捐贈了 5 美元。如果這一平台有助於正閲讀本文的你獲取更多知識,請考慮捐贈!捐贈後可以擁有一個月的高級帳户,可以下載更多圖書。具體差別如下圖所示:
如果你已經有了自己的本地圖書收藏,也可以搜索一下這些書有沒有在 Z-Library 上傳過,沒有的話可以點擊右上角的菜單上傳書籍。目前 Z-Library 裏的中文書籍覆蓋還不夠全面,尤其是教材、參考資料等書籍較少,需要有條件的用户進一步貢獻。
0x04 書籍收集
下載書籍之後當然可以直接閲讀,但如果讀者需要管理自己的書庫,尤其當書籍數量超過 1000 本後,對其進行分類和篩選便非常重要。
考慮到書籍收藏是終生事業,選擇自由和開源軟件是最優選擇,而其中社區最龐大的則是 Calibre。
打開 Calibre 後,我們可以直接點擊左上角的添加書籍,將本地下載好的書籍導入其中。如果書籍是從 Z-Library 下載的,那麼其元數據應該基本齊全,但筆者建議修改標籤,以滿足自己對圖書歸類的需求。
以筆者個人為例,我的常用標籤組織如下所示:
- 已歸檔
- 已讀
- 未讀
- 閲讀中
- 科學技術
- 計算機技術
- 中國歷史
- 西方歷史
- 古典哲學
- 現代哲學
- 社會科學
- 心理學
- 中國政治
- 西方政治
- ...
通常一本書的標籤示例為:已歸檔,閲讀中,心理學。
對書打好標籤後,我們可以在左側邊欄的標籤選項中對書籍按標籤進行篩選,點一下是篩選,點兩下是反選,點三下是取消選擇。例如筆者需要知道目前哪些書籍導入了,但還沒有歸檔,就可以點兩下 “已歸檔” 的標籤,將這些未標記 “已歸檔” 的書籍篩選出來。
此外,我們還可以標記閲讀完成的日期。這需要新增一個自定義字段,點擊首選項-添加欄目,按照如下格式添加一個名為 “結束閲讀日期” 的字段,就可以在書籍列表中看到這個字段,單擊後再單擊一次,即可方便標記閲讀完成的日期:
0x05 書籍閲讀
由於筆者的設備都是 Android 系統,因此這裏主要分享 Android 下靜讀天下 APP 的使用方法。
這個 APP 的官方網站為:Moon+ Reader for Android ,可以從介紹內容中看到其對中文的優化已經超過了不少中文閲讀軟件。付費版本專屬的功能如下所示:
無廣告
搖晃手機即可朗讀(支持 TTS 引擎)
支持 PDF 多重註釋,快速且支持語音
更美觀的背景、字體和閲讀主題
支持多點觸控
啓動時可選密碼保護
支持耳機和藍牙按鍵控制
書籍到主屏幕的快捷方式
自定義閲讀器工具欄功能
小部件支持,將您喜愛的書籍分組,將它們放置在桌面上作為小部件
客户電子郵件支持
筆者個人實際體驗下來,免費版已經足夠使用,但如果讀者希望去掉廣告,或者和筆者一樣希望支持軟件作者,也可以去 Google Play 購買 Moon Reader+ Pro:Moon+ Reader Pro - Apps on Google Play。
不得不説,靜讀天下這個譯名極為信達雅,甚至讓筆者一度猜測是先有的中文名,再翻譯成英文,考慮到作者似乎是國人,這一猜測也許並不假。
靜讀天下有着所有閲讀器軟件中最完善的選項,其字體搜索功能還可以直接在內置瀏覽器下載字體、封面下載功能也是通過打開內置瀏覽器,長按圖片完成選擇。如下截圖,可以看到其選項的豐富程度,建議用户初次使用時將所有選項嘗試一遍,打造最舒適的閲讀體驗:
0x06 同步閲讀進度
儘管手機是最方便的閲讀工具,但在手機上閲讀,最大的問題在於如何抵禦源源不斷的推送消息、工作信息,以及來自視頻和新聞的誘惑,另外現在手機常用的 OLED 顯示屏相比 LCD 屏幕更容易對視力造成影響,也不能久看。倘若是在公司等電梯時,排隊時,帶薪如廁時,拿起手機尚可利用一下閒暇時間,回到家中則最好使用平板電腦、電紙書等設備繼續閲讀更好。
這樣隨時隨地閲讀的需求,導致了我們需要一個同步書籍和閲讀進度的方案。好在靜讀天下提供了這樣的能力,我們可以在閲讀界面右上角點擊其它選項,滾動到最下面,勾選 “通過 WebDav 在手機平板間同步閲讀進度”,並設置 WebDav 服務器的地址、賬號密碼。
考慮到需要同步的書籍數據並不大,但要求同步速度夠快,我們可以使用堅果雲實現這一目標。堅果雲是目前對 WebDav 支持最好的在線網盤,儘管容量不大,但口碑較好,訪問速度也很快,使用堅果雲 WebDav 功能的教程可參考:堅果雲第三方應用授權 WebDAV 開啓方法 | 堅果雲幫助中心。
配置好閲讀進度後,只需要將靜讀天下 APP 置於後台,或點擊返回按鈕退出閲讀狀態,就會上傳閲讀進度到雲端,沒有衝突處理,默認覆蓋閲讀進度。
此外,我們還需要在不同的設備同步書庫。在靜讀天下首頁點擊設置-備份,選擇備份到 WebDav,勾選包含書籍封面和書籍文件,則會將整個書庫(包括設置)打包上傳。上傳完成後,在其它設備點擊恢復,輸入帳號密碼,選擇備份,即可同步書庫。這一操作需要在新增圖書後進行一次,但操作並不麻煩。
在所有設備的書庫保持同步後,我們在其中一個設備退出閲讀,自動上傳閲讀進度,在其他設備打開這本書,就會提示是否同步最新閲讀進度,我們點擊是,就可以跳轉到之前的閲讀狀態,並且批註、筆記均會保持同步。
需要注意的是,靜讀天下的備份選項只支持備份最近閲讀的 20 本圖書,因此我們需要在閲讀完成後儘快歸檔並刪除已閲讀的圖書,避免降低備份恢復的速度,或導致其它問題。
0x07 閲讀筆記歸檔
在閲讀完一本書籍後,我們希望將書籍裏的批註、劃線、筆記整理出來,以便集中查閲。這樣的操作需要我們結合靜讀天下和 Calibre:
首先在靜讀天下的閲讀界面點擊左下角的書籤按鈕,點擊分享按鈕,選擇分享高亮與備註,將其分享到任何你喜歡的文本編輯器,筆者這裏選擇了點擊複製,粘貼到騰訊文檔小程序。
在電腦上打開這篇文檔,複製文本,然後打開 Calibre,編輯這本書的元數據,將其粘貼到右側的註釋中,保存後即可對閲讀筆記進行歸檔:
歸檔後有什麼用呢?舉個例子,如果筆者在註釋中寫下 CATCHMEIFYOUCAN 這段文本,然後在 Calibre 上面的搜索框搜索該文本(筆者沒有任何一本書裏有這段文字,可以排除全文搜索到書籍內容的可能性),即可搜索到包含對應註釋的書籍。
用這種方法整理批註和筆記,有助於我們後續寫作過程中需要相關素材時能快速找到對應書籍作為參考,讓數字圖書館不僅僅作為松鼠黨的癖好,而是能夠伴隨一生的知識庫。
0x08 書籍備份
Calibre 的數據目錄結構主要由數據庫和書籍目錄組成,其中最重要的當屬數據庫,我們可以使用堅果雲的 WebDav 功能來單獨備份這個數據庫文件,再使用百度網盤或本地介質來備份書籍文件。筆者採取的方案是使用 Linux 的定時任務,配合 rclone 工具和一些腳本,每日備份一次,備份最新的 10 個數據庫到堅果雲,並同步整個目錄到 NAS 裏。
讀者也可以根據自己的需求採取其他方案,如使用 Syncthing 將 Calibre 目錄同步到多台電腦,或是直接將 Calibre 目錄放在 OneDrive 等同步盤裏均可。
0x09 這是否是一種“盜版”
以下內容為筆者個人想法,無意展開討論,也並不對其內容的正確性背書,只是希望拋磚引玉,給讀者一些新的思考角度。
當我們提到盜版與否時,我們往往會忽略一個事實:盜版本身其實是一個誣衊性用語,在資產階級法權下保障版權方的利益是一種法律行為,甚至商業行為,而非道德行為。如果只是因為看書不花錢就要遭到道德懲罰和人身攻擊,那麼首先受到懲罰的應該是圖書館,因為圖書館裏看書不花錢的歷史已經持續了上百年。
相對於下載盜版書籍,筆者更推薦使用 “無 DRM 書籍” 取代之。大膽承認吧,版權已經是過時的東西,只是因為太多利益糾葛,這羣遺老遺少們在互聯網時代依舊陰魂不散,只因為所謂的分享精神和公共知識阻礙了他們依靠知識完成資本增值和壟斷出版市場的所謂 “戰略”,就要對下載盜版電影、看盜版書,甚至只是翻唱一首版權歌曲的人發起討伐,這是否是一種極大的不公正?
當然,很多人會持有這樣的論點:如果人人都不花錢獲取信息,那麼創作者們就會失業。但事實情況是:只有少部分的創作者依靠版税實現自給自足,絕大多數的創作者收不到任何版税,或是隻能收到很少的版税,而最致命的問題在於創作者根本不知道自己收不到版税的原因是沒有人購買,還是大部分收入被版權商剋扣。不合理的定價、複雜的退款政策、嚴苛的 DRM,版權商對於創作者和用户的雙向壓榨才是真正的問題所在,所謂盜版行為更多是一種無奈的無聲抗議。
當我們提到盜版會毀滅創作者時,也要意識到 “免費獲取” 可以讓創作者得到更多的曝光和關注度。事實上互聯網新聞、社交媒體、視頻網站……這些都是免費獲取的典型案例,難道它們都賺不到錢嗎?甚至連軟件行業也有類似的案例,比如微軟對盜版 Windows 的縱容,使得微軟在很多發展中國家形成了事實壟斷,但這並不影響微軟成為軟件巨頭,市值萬億美金,甚至可以説縱容盜版反而能讓微軟收入更多,開拓更大的市場。
開源軟件行業也有類似的情況,例如早些時候 core-js 作者的遭遇(core-js 作者快被缺錢“拖垮”了:全職做開源維護,月均收入從 2500 美元鋭減到 400 美元 | Redian 新聞,core-js/2023-02-14-so-whats-next.md at master · zloirock/core-js),全世界主流網站都在使用 core-js,而主流開源協議並未放棄版權,在版權客觀存在的情況下,作者卻只能收到主要來自個人開發者的捐贈,試問這時候那些將版權道德化的企業又去了哪裏?這樣的例子數不勝數,所謂版權,只是資本方最大化利益的包裝罷了。
展開來説,實際上最近的 AI 潮,也深刻反映了這一點,那些曾將版權視為圭臬的財團,在意識到大模型能夠混淆版權,讓人找不到來源後,開始不斷踐踏知識產權。試問網站站長最初將自己的網站開放給搜索引擎爬蟲爬取時,是否希望自己的作品被搜索引擎利用並二次創作?如果説 AI 是第四次工業革命,那麼對於互聯網信息的肆意採集、私有化、商業化,就是工業革命前血腥的原始積累。很多人説 AI 大模型學習互聯網信息和人類學習互聯網信息的模式類似,因此不能算作侵權,那麼請問人類是創造利益的機器嗎?人類學習的目的首先是為了完成生命的表達,其次才是創造利益和價值,最重要的是人不是誰的奴隸,也不是誰的賺錢機器。但目前來看,大模型只有超級企業才有能力擁有,這意味着生命的表達被工具化,智力勞動的意義正如當年第一次工業革命的體力勞動一樣正被稀釋。類似上世紀 50 年代的計算機革命導致大企業對數據和計算能力的壟斷,互聯網急需一場類似上世紀 70 年代的“人民計算機運動”(People's Computer Company - Wikipedia),解放算力和大模型,讓大模型成為自由軟件:自由軟件現在更加重要 - GNU 工程 - 自由軟件基金會。
互聯網時代,信息的交換應當是點對點的,事實上早些年的互聯網的確在這一方面做到了極致:撥號網絡、BitTorrent、RSS……可惜這一切止步於移動互聯網時代對效率和可用性的追求,以至於當移動支付興起時,這一互聯網精神卻隨着 Google 關閉 Google Reader 而被人遺棄。試想我們對某本書的支付,其款項可以 100% 給予作者本人,這樣的世界該多麼美好!只是這樣一來,資本充當不了中間人,沒有辦法賺錢,自然也沒有動力去推進,甚至會故意打壓之。
當今荒謬的版權制度現實無法避免,那麼我們應該如何在下載 “無 DRM 書籍” 時,儘可能保障作者的合理權益,並同時鼓勵創作和知識分享呢?筆者提供一些思路,其中部分是筆者個人正在踐行的:
- 如果是一本很好的書,不妨買回家收藏,好書多多翻閲也有益處。
- 如果家裏放不下,可以將這本書送給貧困地區的鄉村圖書館,擴展孩子們的閲讀面。可以直接在線下單書籍,寄送到你所知道的學校/圖書館地址(提前打好招呼),也可以將自己買回家但不常看的書籍打包寄到這些地方。最好是一次寄送多本書籍,避免給對方造成麻煩。
- 如果知道作者的聯繫方式(如微信公眾號、專欄、視頻平台等),可以直接捐贈一筆資金,能儘可能避免被版權方剋扣。
- 如果作者已去世,或是書籍已經停止出版,則應當將電子書分享給更多的人,因為既然作者已經無法獲得收益,我們所付出的金錢都給了版税方,這並不能鼓勵創作。
- 偶爾捐贈一筆資金給類似 Z-Library 這樣鼓勵知識自由獲取的在線圖書館,讓人們能夠平等且無門檻地獲取知識,實現自我成長。
希望以上技術分享和筆者的個人想法能給看到這裏的讀者一些啓發和火花。
如果發現內容有謬誤,請指正,筆者一定改正;如果覺得筆者的想法和您的想法不同,請尊重彼此的觀念差異,並友善地提出您的觀點,以讓更多讀者得到啓發。