老柯修机铺

通讯行老师傅的手机软件笔记——每款 App 装过、用过,才敢写下来

一個帳號跨裝置同步歌單——listen1 的 GitHub Gist 備份全流程

listen1 把歌單備份到 GitHub Gist 的同步方案完整拆解,從授權到恢復一步步跟著做,解決跨裝置歌單不同步的頭痛問題。

listen1 是什麼

listen1官網 是一款開源免費的音樂聚合播放器,一個軟體裡就能搜尋和收聽各大音樂平台的歌曲,省去在不同 App 之間切換的麻煩。支援 Android 手機、Windows / macOS 桌面、瀏覽器外掛三種形態,界面乾淨、無廣告、不強制登入就能用。

它的核心用法很簡單:打開軟體 → 在搜尋欄輸入歌名或歌手 → 從聚合結果裡挑一首播放 → 喜歡就收藏或加進自建歌單。但這裡有個老問題:你在手機上建了十條歌單、收藏了兩百首歌,換到另一台裝置 listen1 安裝好一看——歌單全空。每個軟體的收藏都是本地存儲,跨裝置同步要嘛是付費會員、要嘛是官方帳號綁定。listen1文檔 給出的解法比較特別:把歌單備份到 GitHub Gist。

安裝

listen1下載 目前最新版本 0.8.1,安裝包大小約 23.75M,Android 手機直接下載 APK 安裝即可。如果系統彈出「未知來源」提示,到設定 → 安全性 → 允許未知來源安裝打開即可——這是 Android 的通用保護機制,不是 listen1 本身有問題。首次啟動不會要求註冊帳號,直接進入主界面就能開始搜尋和播放。桌面版(Windows / macOS)以安裝包或 DMG 鏡像發布,標準拖曳安裝流程,macOS 用戶首次打開若遇到 Gatekeeper 提示,到系統設定的「隱私與安全性」裡點「仍要打開」即可。

listen1 桌面介面截圖

前置條件

開始同步設定之前,確認三件事:你有一個 GitHub 帳號(免費的就夠)、listen1 已安裝並能正常搜尋播放、歌單裡已經有一些收藏內容——空歌單備份了也沒東西好恢復。

第一步:GitHub 授權

授權是整個同步流程的開關,只做一次就行。具體操作:

  1. 打開 listen1 主界面,點擊右上角齒輪圖示進入設定
  2. 在設定頁往下滾,找到「帳號同步」區塊
  3. 點擊「GitHub 授權」按鈕——此時瀏覽器會彈出 GitHub 授權頁面
  4. 如果彈窗被瀏覽器擋掉,手動點地址欄旁邊的彈窗放行圖示,或者複製 listen1 設定頁裡顯示的授權碼到瀏覽器手動完成
  5. 在 GitHub 授權頁確認後,GitHub 會回傳一個 code 給 listen1 的 callback 頁
  6. 回到 listen1 設定頁,點擊「已經完成授權」按鈕
  7. 看到「授權成功」提示就完成了,listen1 已獲得讀寫 Gist 的權限

整個授權過程本質是 OAuth 流程:GitHub 確認你的身份、確認授權範圍只有 Gist,listen1 拿到一個短期 code 換取長期 token。所有環節都在你自己的 GitHub 帳號下完成,listen1 看不到你的密碼。

第二步:建立備份 Gist

授權成功後 listen1 會自動在你的 GitHub 帳號下建立一個專用 Gist,不需要你手動去 GitHub 頁面操作。這個 Gist 會被標記為 Secret(私密),只有你本人和擁有 token 的 listen1 能讀取。Gist 裡面包含幾個 JSON 檔案:playlists.json(你建立的全部歌單)、favorites.json(收藏的歌曲)、fav_playlists.json(收藏的外部歌單)。

你隨時可以到 GitHub 個人主頁的 Gists 標籤頁找到它,檔名通常以 listen1_playlists_ 開頭,內容是純 JSON 文字。Gist 自帶版本歷史,任何一次備份都是一個新版本,這意味著你甚至可以恢復到任意時間點的歌單狀態。

第三步:一鍵備份與自動備份

授權完成後,在「帳號同步」區塊你會看到一個備份按鈕。點一下,listen1 立即把當前本地全部歌單推送到 Gist。部分版本還支援「每 30 分鐘自動備份」開關,打開之後 listen1 會在後台定期同步,你不用記得手動點。

建議養成每次整理完歌單後點一下備份的習慣——尤其當你在一台裝置上做了大量收藏或歌單編輯時,立即備份確保不會因手機損壞、應用重裝而丟失。

第四步:換裝置恢復

當你換了新手機、或者 listen1 重裝之後,恢復流程跟授權一模一樣:用同一個 GitHub 帳號完成授權,listen1 自動偵測到帳號下已存在的 Gist,彈出「偵測到云端備份,是否恢復?」提示,點擊確認後歌單和收藏就全部拉回來了。

常見卡點與解法

授權失敗是最常見的第一個卡點。彈窗被瀏覽器攔截是主因——Chrome 會在地址欄旁顯示一個彈窗被擋的圖示,點一下選擇「始終允許彈窗」即可;Firefox 會直接阻擋並在頁面頂部顯示提示條,點「選項」→「允許」放行。如果授權頁面一直無法回傳 code 給 listen1,可以手動複製 listen1 設定頁顯示的授權碼,粘貼到瀏覽器地址欄完成授權後再回 listen1 點確認。

備份衝突是第二個容易踩的坑。如果你在兩台裝置上都修改了歌單、然後分別點備份,後備份的會覆蓋前面的——Gist 是覆蓋式寫入,不做合併。解決方法是固定一台為主裝置:主裝置上整理完歌單立即備份,其他裝置先點恢復拿到最新狀態再開始使用。

第三個卡點是手動刪除了 GitHub 上的備份 Gist。如果你在 GitHub 個人主頁的 Gists 標籤頁手動刪掉了 listen1 的備份,listen1 下次檢測時會發現 Gist 不存在,彈出提示讓你重新建立。刪除 Gist 之前一定要確認備份數據不再需要——一旦刪除且 listen1 重建了新的空白 Gist,舊備份的數據就真的找不回來了。

進階:備份了什麼、沒備份什麼

Gist 備份的是歌單結構和歌曲元數據:歌名、歌手、專輯、來源平台 ID。這意味著換裝置恢復歌單之後,你還需要重新登入各個音樂平台的帳號(網易雲音樂、QQ 音樂、酷狗等)才能正常播放——各平台的登入 token 出於安全考慮不進 Gist,listen1 不會把你的平台帳號密碼上傳到任何地方。播放歷史和搜尋歷史也不在備份範圍內,這兩項是本地臨時數據,不會丟失重要信息。

本文为个人基于网络公开资料整理编写,非官方内容,仅供学习交流参考;软件版权归原作者所有,请支持正版;使用过程中遇到问题请查阅官方渠道,本文不承担任何责任。

同类文章

Baka 上手第一天——从零开始追番不踩坑

第一次装 Baka 不知道从哪下手?这篇带你从打开应用到追到第一部番剧,最短路径跑通全流程,顺便摸清弹幕、下载和快捷键三个最实用的小功能。