olSync 是一個基於 Electron 的桌面應用程式,最初設計用於在 osu!stable 和 osu!lazer 兩個客戶端之間同步遊戲資料。
-
收藏夾
- 合併來自 osu!stable 和 osu!lazer 客戶端的收藏列表並輸出至 osu!stable
-
成績恢復
- 基於 osu! API v2 取得線上成績記錄
- 基於本地成績資料
-
圖包下載
-
下載管理器 (Download Manager)
-
選圖器 (Map Picker)
-
統計 (Statistics)
-
多語系 (i18n)
- 繁體中文 (zh-TW)
- 英文 (en-US)
- 日文 (ja-JP)
點擊齒輪設定 osu! 的路徑後即可使用大部分功能!
部分功能需求 osu! API 權限, 你必須至 osu!web 設定 中生成一個 OAuth 應用程式 並將 Client ID 與 Client Secert 填寫至齒輪設定當中!
Caution
Client ID 與 Client Secert 為敏感資訊, 他們將會明碼儲存於 config.json 當中 (通常位於olsync資料夾中的data資料夾裡面)
請切記不要隨意分享它們!
- Electron 35.x | React 19.x | TypeScript 5.8
- MUI v7 | MobX 6.x 狀態管理
- Biome 2.x (Lint / Format) | Webpack 5.x
- echarts 6.x (圖表) | rosu-pp-js (PP 計算) | realm 12.x (Lazer DB)
npm installnpm run devnpm run build:prod
npm run dist:winnpm run gen-keys # 首次產生 RSA 金鑰
npm run dist:win:signed # 建置並簽署 manifest更新流程由主程序 (src/entrypoint/js/updater) 完全掌控,渲染層僅能觸發/監聽狀態,無法指定下載來源或路徑。
共用邏輯(canonical JSON、SHA-256、RSA 簽名、路徑白名單、增量補丁等)集中於 src/updater-core,並同時提供給主程序與 scripts/generate-release.ts 使用。安裝階段會透過 updaterWorker.js 以獨立的 Node/Electron 程序執行,主程序在啟動輔助程序後安全退出,避免 app.asar 被鎖定。
- Windows 10 或更新版本
- Node.js 18.x 或更新版本
- osu!stable 和/或 osu!lazer 客戶端


