Compare commits
1 Commits
master
...
2026051820
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e6e8da1184 |
176
README.md
176
README.md
@@ -14,7 +14,7 @@
|
||||
|
||||
一款專為 Android 設計的完整應用數據備份/恢復 Shell 腳本,支援 SSAID、運行時權限、OBB 數據包、WiFi 設定等完整備份,讓你換機換系統後能無縫還原所有應用狀態。
|
||||
|
||||
新版增加**完整的遠端備份系統**,支援 WebDAV / SMB 上傳到 NAS / 雲端 / 區網電腦,並可從遠端下載備份回手機直接恢復。支援**流式備份模式**,邊壓縮邊傳輸,數據完全不佔用本機空間。
|
||||
新版增加**完整的遠端備份系統**,支援 WebDAV / SMB 上傳到 NAS / 雲端 / 區網電腦,並可從遠端下載備份回手機直接恢復。
|
||||
|
||||
> 作者為台灣人,預設發布繁體版本。CN 系統環境下腳本將自動翻譯為簡體中文。
|
||||
|
||||
@@ -36,8 +36,7 @@
|
||||
| 🗜️ 多種壓縮算法 | 支援 `tar`(僅打包)與 `zstd`(高壓縮率高速度) |
|
||||
| ⚡ 高速壓縮 | zstd 壓縮速率快速,優於鈦備份、Swift Backup |
|
||||
| 🔒 完整性校驗 | 內建 tools SHA-256 校驗與壓縮包完整性驗證 |
|
||||
| 🔄 增量備份 | 多維度比對(版本/大小/權限/SSAID),無變化則跳過 |
|
||||
| ✅ 最終計數核驗 | 備份結束後逐檔核對存在性,三態顯示結果 |
|
||||
| 🔄 增量備份 | 比對上次備份大小,無變化則跳過,節省時間 |
|
||||
| 🖥️ 後台執行 | 支援後台執行模式,可完全關閉終端,log 持續刷新 |
|
||||
| 💡 偽裝亮屏 | 備份/恢復期間可偽裝亮屏,避免 IO 因息屏降速 |
|
||||
| 🌐 自動更新 | 聯網偵測最新版本,支援 CDN 節點(適合中國大陸用戶) |
|
||||
@@ -46,8 +45,7 @@
|
||||
| ⬛ 黑名單模式 | 黑名單應用可選「完全忽略」或「僅備份安裝包」 |
|
||||
| ⬜ 白名單支援 | 支援預裝應用白名單與系統應用白名單,可指定備份範圍 |
|
||||
| 📱 進程偵測 | 可設定忽略正在運行中的應用,避免備份數據不一致 |
|
||||
| ☁️ 遠程備份上傳 | 支援 WebDAV / SMB 兩種協議,備份完成自動上傳,智能增量 |
|
||||
| 🚀 流式備份 | 邊壓縮邊傳輸,數據不落本機,節省本地空間 |
|
||||
| ☁️ 遠程備份上傳 | 支援 WebDAV / SMB 兩種協議,備份完成自動上傳,智能範圍與失敗重試 |
|
||||
| 📥 遠程下載恢復 | 可從遠端直接下載備份回手機,點 start.sh 即可恢復 |
|
||||
| 🔍 區網掃描 | 自動掃描區網內所有 SMB 主機,免去手動找 IP |
|
||||
| 🧪 連線測試 | 三層測試(TCP / 認證 / 路徑),設定不需備份就能驗證 |
|
||||
@@ -69,7 +67,7 @@
|
||||
| 單獨上傳當前備份 | 上傳現有本地備份到遠端,不重新跑備份流程 |
|
||||
| 列出遠端備份 | 連線遠端、產生 `appList_network.txt` 讓你勾選要下載哪些 app |
|
||||
| 從遠端下載備份 | 依清單下載備份到本地,可直接執行恢復 |
|
||||
| 殺死運行中腳本 | 安全終止正在執行的備份腳本(整棵進程樹) |
|
||||
| 殺死運行中腳本 | 安全終止正在執行的備份腳本 |
|
||||
|
||||
### 恢復模式
|
||||
|
||||
@@ -99,6 +97,7 @@ backup_script.zip
|
||||
│ ├── curl # 遠程傳輸工具 (WebDAV)
|
||||
│ ├── smbclient # SMB 遠程傳輸
|
||||
│ ├── jq # JSON 處理
|
||||
│ ├── bc # 數學計算
|
||||
│ ├── find # 文件搜索
|
||||
│ ├── keycheck # 音量鍵監聽
|
||||
│ ├── cmd # 系統指令橋接
|
||||
@@ -113,7 +112,7 @@ backup_script.zip
|
||||
|
||||
> ⚠️ **重要:** 無論備份或恢復,都必須確保 `tools/` 目錄完整存在,否則腳本將無法正常運作。
|
||||
|
||||
備份完成後,每個 app 子目錄會額外生成 `backup.sh` / `recover.sh` / `upload.sh`,可單獨備份、恢復或上傳單一應用。
|
||||
備份完成後,每個 app 子目錄會額外生成 `upload.sh`,可單獨上傳該 app 到遠端,不需要重新備份。
|
||||
|
||||
---
|
||||
|
||||
@@ -125,11 +124,11 @@ backup_script.zip
|
||||
| `background_execution` | 後台執行:`1` 可關閉終端 / `0` 需保持終端開啟 | `0` |
|
||||
| `setDisplayPowerMode` | 備份期間偽裝亮屏防止 IO 降速 | `0` |
|
||||
| `Shell_LANG` | 語言:`0` 繁體中文 / `1` 簡體中文(留空自動偵測) | 自動 |
|
||||
| `Output_path` | 自定義備份輸出路徑(留空使用當前目錄) | 空 |
|
||||
| `Output_path` | 自定義備份輸出路徑,支援相對路徑(留空使用當前目錄) | 空 |
|
||||
| `list_location` | 自定義 appList.txt 位置(留空使用當前目錄) | 空 |
|
||||
| `update` | 自動更新:`1` 開啟 / `0` 關閉 | `1` |
|
||||
| `cdn` | 更新 CDN 節點:`0` 直連 / `1` ghfast.top / `2` workers.dev | `1` |
|
||||
| `mount_point` | 屏蔽外部掛載點,多個用 `\|` 分隔 | `rannki\|0000-1` |
|
||||
| `mount_point` | 屏蔽外部掛載點(OTG、虛擬 SD 等),多個用 `\|` 分隔 | `rannki\|0000-1` |
|
||||
| `user` | 指定用戶 ID(留空自動選擇) | 空 |
|
||||
| `Backup_Mode` | 備份模式:`1` 應用+數據 / `0` 僅安裝包 | `1` |
|
||||
| `Backup_user_data` | 備份 user 數據:`1` 是 / `0` 否 | `1` |
|
||||
@@ -144,14 +143,10 @@ backup_script.zip
|
||||
| `Compression_method` | 壓縮算法:`zstd` 或 `tar` | `zstd` |
|
||||
| `rgb_a` / `rgb_b` / `rgb_c` | 終端輸出主色/輔色1/輔色2(256 色代碼) | `220` / `51` / `213` |
|
||||
| `remote_type` | 遠程備份協議:`webdav` / `smb`(留空不啟用) | 空 |
|
||||
| `smb_url` | SMB 伺服器地址 | 空 |
|
||||
| `smb_remote_user` | SMB 認證用戶名 | 空 |
|
||||
| `smb_remote_pass` | SMB 認證密碼 | 空 |
|
||||
| `webdav_url` | WebDAV 伺服器地址 | 空 |
|
||||
| `webdav_remote_user` | WebDAV 認證用戶名 | 空 |
|
||||
| `webdav_remote_pass` | WebDAV 認證密碼 | 空 |
|
||||
| `remote_url` | 遠程伺服器地址(見下方格式說明) | 空 |
|
||||
| `remote_user` | 遠程認證用戶名 | 空 |
|
||||
| `remote_pass` | 遠程認證密碼 | 空 |
|
||||
| `remote_keep_local` | 上傳成功後本地檔案:`1` 保留 / `0` 刪除 | `0` |
|
||||
| `remote_stream` | 流式備份:`1` 開啟(邊壓邊傳,不佔本機) / `0` 關閉 | `0` |
|
||||
|
||||
---
|
||||
|
||||
@@ -163,7 +158,7 @@ backup_script.zip
|
||||
|
||||
**Step 1 — 生成應用列表**
|
||||
|
||||
解壓腳本後執行 `start.sh`,選擇「**生成應用列表**」。執行完畢後,當前目錄會生成 `appList.txt`。
|
||||
解壓腳本後執行 `start.sh`,選擇「**生成應用列表**」。執行完畢後,當前目錄會生成 `appList.txt`,內含所有已安裝的第三方應用(預裝應用預設屏蔽,可於 `backup_settings.conf` 加入白名單)。
|
||||
|
||||
**Step 2 — 編輯應用列表**
|
||||
|
||||
@@ -177,7 +172,7 @@ backup_script.zip
|
||||
|
||||
**Step 4 — 執行備份**
|
||||
|
||||
執行 `start.sh`,選擇「**備份應用**」。備份完成後生成 `Backup_<壓縮算法>_<用戶ID>/` 資料夾。
|
||||
執行 `start.sh`,選擇「**備份應用**」。備份完成後,當前目錄會生成 `Backup_<壓縮算法>_<用戶ID>/` 資料夾,將此資料夾完整保存至安全位置。
|
||||
|
||||
---
|
||||
|
||||
@@ -195,96 +190,76 @@ backup_script.zip
|
||||
|
||||
若恢復結束後提示應用存在 SSAID,請**立刻重啟**後再開啟應用。若先開啟應用,Android 會生成新的 SSAID,導致應用白屏或需要重新登入。
|
||||
|
||||
> 💡 備份資料夾內每個應用子目錄都有獨立的 `backup.sh`、`recover.sh`、`upload.sh`,可單獨操作單一應用。
|
||||
> 💡 備份資料夾內每個應用子目錄都有獨立的 `backup.sh`、`recover.sh`、`upload.sh`,可單獨備份、恢復或上傳單一應用。
|
||||
|
||||
---
|
||||
|
||||
## ☁️ 遠程備份
|
||||
|
||||
### 設定方式
|
||||
備份完成後自動將備份檔案上傳到遠端伺服器,支援 WebDAV 與 SMB:
|
||||
|
||||
編輯 `backup_settings.conf`,SMB 與 WebDAV 地址分開設定,切換協議免重輸:
|
||||
| 協議 | `remote_url` 格式 | 適用場景 |
|
||||
|------|-------------------|---------|
|
||||
| WebDAV | `http://192.168.1.100:8080/dav/backup/` | NAS / Nextcloud / 雲端 / rclone serve |
|
||||
| SMB | `smb://192.168.1.100/share/` | Windows 共享 / Samba 伺服器 / NAS |
|
||||
|
||||
**設定方式:** 編輯 `backup_settings.conf`:
|
||||
|
||||
```conf
|
||||
remote_type=smb
|
||||
|
||||
smb_url=smb://192.168.1.100/Backup
|
||||
smb_remote_user=用戶名
|
||||
smb_remote_pass=密碼
|
||||
|
||||
webdav_url=http://192.168.1.100:8080/dav/
|
||||
webdav_remote_user=用戶名
|
||||
webdav_remote_pass=密碼
|
||||
|
||||
remote_url=smb://192.168.1.100/Backup
|
||||
remote_user=用戶名
|
||||
remote_pass=密碼
|
||||
remote_keep_local=0
|
||||
remote_stream=0
|
||||
```
|
||||
|
||||
| 協議 | 地址格式 | 適用場景 |
|
||||
|------|----------|---------|
|
||||
| SMB | `smb://192.168.1.100/share/` | Windows 共享 / Samba / NAS |
|
||||
| WebDAV | `http://192.168.1.100:8080/dav/` | NAS / Nextcloud / rclone serve |
|
||||
**遠端目錄結構:**
|
||||
|
||||
### 遠端目錄結構
|
||||
|
||||
腳本在 `remote_url` 下自動建立 `Backup_<壓縮算法>_<用戶ID>/`,與本地結構完全鏡像:
|
||||
腳本會自動在 `remote_url` 後加 `Backup_<壓縮算法>_<用戶ID>/` 一層,結構與本地完全鏡像。例如 conf 設 `smb://NAS/Backup`,實際上傳到:
|
||||
|
||||
```
|
||||
smb://NAS/Backup/
|
||||
Backup_zstd_0/
|
||||
1DM+/
|
||||
LINE/
|
||||
Keep記事/
|
||||
8591遊戲交易/...
|
||||
Animeko/...
|
||||
wifi/wifi.json
|
||||
tools/
|
||||
start.sh
|
||||
restore_settings.conf
|
||||
appList.txt
|
||||
MT管理器.apk
|
||||
```
|
||||
|
||||
不同用戶(0、999)自動分開到 `Backup_zstd_0/`、`Backup_zstd_999/`,互不衝突。
|
||||
不同用戶(0、999)會自動分開到 `Backup_zstd_0/`、`Backup_zstd_999/`,互不衝突。
|
||||
|
||||
### 特性
|
||||
|
||||
- **智能增量** — 多維度比對(版本/大小/權限/SSAID),只上傳本次有變更的 app
|
||||
- **遠端預掃** — 單次連線取全部列表 + 批量下載 json,主循環零網路開銷
|
||||
- **流式備份** — `remote_stream=1` 邊壓縮邊傳輸,數據完全不佔本機空間
|
||||
- **最終核驗** — 備份結束後逐檔核對存在性,缺失檔案列出清單
|
||||
**特性:**
|
||||
- **智能範圍上傳** — 只上傳本次備份的 app,不是整個資料夾
|
||||
- **進度與速度** — 每個目錄完成印「完成 X% (12.5 MB/s)」與總耗時
|
||||
- **失敗處理** — 累積失敗清單,完整成功才會刪本地,部分失敗則本地全保留
|
||||
- **連線預檢** — 沒網路時 3 秒內判斷並停用上傳,不卡死腳本
|
||||
- **失敗保護** — 流式上傳失敗不更新遠端 json,確保下輪整體重備
|
||||
|
||||
---
|
||||
|
||||
### 流式備份模式
|
||||
|
||||
`remote_stream=1` 啟用流式備份,數據直接 `tar | zstd | 傳輸`,本機不產生任何備份檔案:
|
||||
|
||||
```conf
|
||||
remote_type=smb
|
||||
smb_url=smb://192.168.1.100/Backup
|
||||
smb_remote_user=用戶名
|
||||
smb_remote_pass=密碼
|
||||
remote_stream=1
|
||||
```
|
||||
|
||||
> ⚠️ 流式模式為全量上傳(無本機校驗),建議搭配穩定的區網環境使用。
|
||||
- **HTTP code 顯示** — WebDAV 失敗時顯示具體狀態(401 / 403 / 404 / 423 等)
|
||||
|
||||
---
|
||||
|
||||
### 從遠端下載備份
|
||||
|
||||
**Step 1** — 主選單選「**列出遠端備份**」,產生 `appList_network.txt`
|
||||
從 NAS / 雲端拉回備份,直接執行恢復:
|
||||
|
||||
**Step 2** — 打開 `appList_network.txt`,用 `#` 註解掉不要下載的 app
|
||||
**Step 1 — 列出遠端備份**
|
||||
|
||||
**Step 3** — 主選單選「**從遠端下載備份**」,下載完成後直接執行內附 `start.sh` 恢復
|
||||
主選單選「**列出遠端備份**」。腳本會連線遠端,檢查必要檔案(`tools/`、`start.sh`、`restore_settings.conf`),產生 `appList_network.txt` 列出所有可下載的 app。
|
||||
|
||||
**Step 2 — 編輯下載清單**
|
||||
|
||||
打開 `appList_network.txt`,用 `#` 註解掉不要下載的 app。
|
||||
|
||||
**Step 3 — 下載**
|
||||
|
||||
主選單選「**從遠端下載備份**」。下載完成後會在當前目錄產生 `Backup_<壓縮算法>_<用戶ID>/`,可直接執行內附的 `start.sh` 恢復。
|
||||
|
||||
---
|
||||
|
||||
### 連線測試
|
||||
|
||||
設定完 `backup_settings.conf` 後,主選單選「**測試遠端連線**」:
|
||||
設定完 `backup_settings.conf` 後,主選單選「**測試遠端連線**」可驗證設定:
|
||||
|
||||
```
|
||||
—————— TCP 連線測試 ——————
|
||||
@@ -295,14 +270,28 @@ SMB 認證通過, share 可存取
|
||||
全部測試通過, 可以開始備份
|
||||
```
|
||||
|
||||
每個失敗階段都有對應錯誤訊息(認證失敗 / share 不存在 / 路徑不存在等)。
|
||||
|
||||
---
|
||||
|
||||
### 上傳範圍
|
||||
|
||||
每次備份自動上傳:
|
||||
- 本次備份的 app(智能比對 appList.txt)
|
||||
- WiFi 配置(若有)
|
||||
- 自定義資料夾 Media/(若有設 Custom_path)
|
||||
- 固定 3 項:`tools/`、`start.sh`、`restore_settings.conf`(讓遠端能獨立恢復)
|
||||
|
||||
---
|
||||
|
||||
## 🔄 腳本更新方式
|
||||
|
||||
1. **ZIP 放置更新**:將下載的 `.zip` 不解壓,直接放到腳本任意目錄(`tools/` 除外),執行任何腳本即自動更新
|
||||
2. **聯網自動更新**:腳本執行時自動連線 GitHub API 檢查版本(需設置 `update=1`)
|
||||
3. **Download 目錄**:將 `.zip` 放置於 `/storage/emulated/0/Download/`,腳本自動偵測並更新
|
||||
4. **QQ 群下載**:從 QQ 群下載的腳本不解壓,直接放置後執行即可自動更新
|
||||
支援以下四種更新方式:
|
||||
|
||||
1. **ZIP 放置更新**:將下載的 `.zip` 不解壓,直接放到腳本任意目錄(`tools/` 除外),執行任何腳本即自動更新。
|
||||
2. **聯網自動更新**:腳本執行時自動連線 GitHub API 檢查版本,發現新版本時提示下載(需設置 `update=1`)。
|
||||
3. **Download 目錄**:將 `.zip` 放置於 `/storage/emulated/0/Download/`,腳本自動偵測並更新。
|
||||
4. **QQ 群下載**:從 QQ 群下載的腳本不解壓,直接放置後執行即可自動更新。
|
||||
|
||||
> 🔒 腳本聯網**僅用於檢查更新**,無任何資料收集或非法操作。
|
||||
|
||||
@@ -325,22 +314,22 @@ SMB 認證通過, share 可存取
|
||||
<details>
|
||||
<summary><b>Q3:為什麼部分應用備份很久?</b></summary>
|
||||
|
||||
腳本會一同備份應用的 OBB 數據包,例如原神數據包超過 9GB。可在 `backup_settings.conf` 設置 `Backup_obb_data=0` 跳過 OBB 備份。
|
||||
腳本會一同備份應用的 OBB 數據包,例如原神數據包超過 9GB,備份與恢復時間自然較長。可在 `backup_settings.conf` 設置 `Backup_obb_data=0` 跳過 OBB 備份。
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Q4:腳本每次都是全量備份嗎?</b></summary>
|
||||
|
||||
否。腳本多維度比對上次備份(版本號/數據大小/權限/SSAID),無差異則跳過,節省時間與空間。
|
||||
否。腳本會比對上次備份的檔案大小,若無差異則跳過該應用,節省時間與空間。
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Q5:為什麼腳本內包含 .dex 檔案?</b></summary>
|
||||
|
||||
`classes.dex` 用於實現 Shell 腳本難以達成的功能:
|
||||
`classes.dex` 用於實現 Shell 腳本難以達成的功能,包含:
|
||||
|
||||
- SSAID 備份與恢復
|
||||
- 運行時權限(Runtime Permission)與 ops 權限批量備份恢復
|
||||
- 運行時權限(Runtime Permission)與 ops 權限備份恢復
|
||||
- GitHub API 更新版本檢查與下載
|
||||
- 應用名稱與包名查詢
|
||||
- 繁體中文 ↔ 簡體中文自動翻譯
|
||||
@@ -352,7 +341,7 @@ SMB 認證通過, share 可存取
|
||||
<details>
|
||||
<summary><b>Q6:息屏後備份速度變慢?</b></summary>
|
||||
|
||||
這是 Android 內核的 IO 節能機制。建議在 `backup_settings.conf` 設置 `setDisplayPowerMode=1` 開啟偽裝亮屏,或備份期間保持螢幕常亮。
|
||||
這是 Android 內核的 IO 節能機制導致的。建議在 `backup_settings.conf` 設置 `setDisplayPowerMode=1` 開啟偽裝亮屏,或在備份期間保持螢幕常亮。
|
||||
</details>
|
||||
|
||||
<details>
|
||||
@@ -361,23 +350,23 @@ SMB 認證通過, share 可存取
|
||||
進入備份資料夾內對應的應用子目錄,直接執行:
|
||||
- `backup.sh` — 單獨備份該 app
|
||||
- `recover.sh` — 單獨恢復該 app
|
||||
- `upload.sh` — 單獨上傳該 app 到遠端
|
||||
- `upload.sh` — 單獨上傳該 app 到遠端(新)
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Q8:WebDAV 上傳顯示 HTTP 423 Locked?</b></summary>
|
||||
|
||||
某些雲端網盤的 WebDAV 對大檔有大小限制。建議改用:
|
||||
- 自家 NAS / Windows SMB
|
||||
- rclone serve webdav
|
||||
- 群暉 / Nextcloud
|
||||
某些雲端網盤(例如 123 網盤)的 WebDAV 對大檔有單檔大小限制,失敗會把路徑標記為 locked。建議改用以下方案:
|
||||
- 自家 NAS / Windows SMB(無限制)
|
||||
- rclone serve webdav(無限制)
|
||||
- 群暉 / Nextcloud(無限制)
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Q9:WebDAV 上傳顯示 HTTP 404?</b></summary>
|
||||
|
||||
請檢查:
|
||||
- `webdav_url` 路徑是否含正確的 webdav 端點(例如 `/dav/` 或 `/remote.php/webdav/`)
|
||||
腳本已強制 curl 使用 HTTP/1.1(`--http1.1`),避開部分 openresty / nginx 對 HTTP/2 PUT 的相容問題。如果仍 404,請檢查:
|
||||
- `remote_url` 路徑是否含正確的 webdav 端點(例如 `/dav/` 或 `/remote.php/webdav/`)
|
||||
- 帳號是否有寫入權限
|
||||
</details>
|
||||
|
||||
@@ -392,18 +381,7 @@ SMB 認證通過, share 可存取
|
||||
<details>
|
||||
<summary><b>Q11:沒網路會影響備份嗎?</b></summary>
|
||||
|
||||
不會。腳本啟動時做 TCP 預檢(3 秒內判斷),沒網路時自動停用遠端上傳但**完整保留本地備份**,流程繼續跑完。
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Q12:流式備份和一般備份有什麼差別?</b></summary>
|
||||
|
||||
| | 一般備份 | 流式備份 |
|
||||
|---|---|---|
|
||||
| 本機空間佔用 | 先壓縮到本機再上傳 | 不佔用(直接傳輸) |
|
||||
| 增量比對 | ✅ 支援 | ✅ 支援 |
|
||||
| 本機完整性校驗 | ✅ 支援 | ❌ 不支援(信任傳輸) |
|
||||
| 適合場景 | 本機空間充足 | 本機空間有限 |
|
||||
不會。腳本啟動時會做 TCP 預檢(3 秒內判斷),沒網路時自動停用遠端上傳但**完整保留本地備份**,流程繼續跑完。
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
@@ -19,12 +19,6 @@ setDisplayPowerMode=0
|
||||
#自定義備份文件輸出位置 支持相對路徑(留空則默認當前路徑)
|
||||
Output_path=""
|
||||
|
||||
#自定義備份目錄後綴(留空則不添加後綴)
|
||||
#支持日期時間變量:%yyyymmdd %hhmmss %yyyymmddhhmmss %yyyy %mm %dd
|
||||
#例:_daily → Backup_zstd_0_daily
|
||||
#例:_%yyyymmdd → Backup_zstd_0_20260522
|
||||
Backup_suffix=""
|
||||
|
||||
#自定義applist.txt位置 支持相對路徑(留空則默認當前路徑)
|
||||
list_location=""
|
||||
|
||||
@@ -43,7 +37,7 @@ cdn=1
|
||||
mount_point="rannki|0000-1"
|
||||
|
||||
#使用者(如0 999等用戶,如存在多個用戶留空強制選擇,無多個用戶則默認用戶0不詢問)
|
||||
user=0
|
||||
user=
|
||||
|
||||
#備份模式
|
||||
#1包含數據+安裝包,0僅包安裝包
|
||||
@@ -65,19 +59,20 @@ backup_media=0
|
||||
Background_apps_ignore=0
|
||||
|
||||
#添加自定義備份路徑 例:Download DCIM等文件夾 請使用絕對路徑,請勿刪除""
|
||||
Custom_path=""
|
||||
Custom_path="
|
||||
/storage/emulated/0/Pictures/
|
||||
/storage/emulated/0/Download/
|
||||
/storage/emulated/0/Music
|
||||
/storage/emulated/0/DCIM/
|
||||
/data/adb
|
||||
"
|
||||
|
||||
#黑名單模式(1完全忽略,不備份 0僅備份安裝包,注意!此選項Backup_Mode=1時黑名單模式才能使用)
|
||||
blacklist_mode=0
|
||||
|
||||
#備份黑名單(備份策略由「黑名單模式」控制,此處只作為黑名單應用列表)
|
||||
blacklist="
|
||||
com.facebook.orca
|
||||
com.facebook.katana
|
||||
com.instagram.barcelona
|
||||
com.instagram.android
|
||||
com.esunbank.ESUNWALLET
|
||||
com.esunbank
|
||||
#com.esunbank
|
||||
#com.chailease.tw.app.android.ccfappcust"
|
||||
|
||||
#位於data的預裝應用白名單 例:相冊 錄音機 天氣 計算器等(默認屏蔽備份預裝應用,如需備份請添加預裝應用白名單)
|
||||
@@ -129,45 +124,21 @@ rgb_c=213
|
||||
|
||||
#遠程備份類型 (留空不啟用)
|
||||
#推薦 webdav (穩定)
|
||||
#smb 支援 SMB2/SMB3 (本腳本拒絕 SMB1/CIFS, 會自動協商到伺服器支援的最高版本)
|
||||
#smb 僅支援 SMB1/CIFS,Windows Server 需手動開啟
|
||||
remote_type=
|
||||
# 保存原始值, 供連線失敗後 (如中途開 WiFi) 重新檢測用
|
||||
_remote_type_orig=
|
||||
|
||||
#遠程地址 (兩種協議分開設定, 切換 remote_type 免重輸)
|
||||
#SMB例: smb://192.168.1.100/backup/
|
||||
smb_url=
|
||||
#認證用戶名
|
||||
smb_remote_user=
|
||||
#認證密碼
|
||||
smb_remote_pass=""
|
||||
#遠程地址
|
||||
#WebDAV例: http://192.168.1.100:8080/dav/
|
||||
webdav_url=
|
||||
#認證用戶名
|
||||
webdav_remote_user=
|
||||
#認證密碼
|
||||
webdav_remote_pass=""
|
||||
#SMB例: smb://192.168.1.100/backup/
|
||||
remote_url=
|
||||
|
||||
#流式上傳 (邊壓邊傳, 不佔本機空間)
|
||||
#1 開啟流式: 數據直接壓縮→管道傳到遠端, 本機不留 tar (省空間, 全量上傳, 不做本機校驗/增量)
|
||||
#0 關閉(預設): 先壓到本機→校驗→再上傳 (保留本機檔案, 支援增量)
|
||||
#支援 smb / webdav 兩種 remote_type
|
||||
remote_stream=0
|
||||
#遠程認證用戶名
|
||||
remote_user=
|
||||
|
||||
#流式上傳除錯 (1=失敗時印出 smbclient/curl 的具體錯誤, 用於排查流式失敗原因)
|
||||
_stream_debug=1
|
||||
#遠程認證密碼
|
||||
remote_pass=
|
||||
|
||||
#遠程備份完成後是否保留本地檔案
|
||||
#1保留本地檔案(上傳後不刪除) 0上傳成功後刪除本地檔案
|
||||
remote_keep_local=0
|
||||
|
||||
#邊備份邊上傳 (每備份完一個應用立即上傳,然後刪除本機檔案再備份下一個,以節省本機空間)
|
||||
#1 開啟 0 關閉
|
||||
#開啟後:每個應用備份完成 → 立即上傳遠端 → 上傳成功後刪除本機檔案 → 繼續備份下一個
|
||||
#關閉後:先備份所有應用 → 全部備份完再統一上傳
|
||||
remote_upload_per_app=0
|
||||
|
||||
#log 目錄大小上限 (單位 MB), 達到上限會在啟動時自動清空 log/
|
||||
#留空或設 0 = 關閉自動清理
|
||||
log_max_size_mb=1
|
||||
|
||||
|
||||
@@ -158,11 +158,7 @@
|
||||
"2512BPNDAI" "Xiaomi 17 Ultra 印度版"
|
||||
"25128PNA1C" "Xiaomi 17 Ultra by Leica 國行版 (衛星通訊)"
|
||||
"25128PNA1G" "Leica Leitzphone powered by Xiaomi 國際版"
|
||||
"2605EPN8EC" "Xiaomi 17 Max"
|
||||
"M531DA" "Xiaomi 17T 國行版"
|
||||
"2602DPT53G" "Xiaomi 17T 國際版"
|
||||
"2602DPT53I" "Xiaomi 17T 印度版"
|
||||
"M025EC" "Xiaomi 17T Pro 國行版"
|
||||
"2602EPTC0G" "Xiaomi 17T Pro 國際版"
|
||||
"2602EPTC0R" "Xiaomi 17T Pro 日本版 (無鎖)"
|
||||
"2014616" "小米 Note 雙網通版"
|
||||
@@ -638,8 +634,7 @@
|
||||
"24069RA21C" "Redmi Turbo 3"
|
||||
"24129RT7CC" "REDMI Turbo 4"
|
||||
"25053RT47C" "REDMI Turbo 4 Pro"
|
||||
"2511FRT34C" "REDMI Turbo 5 國行版"
|
||||
"2606FRT34I" "REDMI Turbo 5 印度版"
|
||||
"2511FRT34C" "REDMI Turbo 5"
|
||||
"2602BRT18C" "REDMI Turbo 5 Max"
|
||||
"M1903F10A" "Redmi K20 全網通版"
|
||||
"M1903F10C" "Redmi K20 運營商全網通版"
|
||||
@@ -856,7 +851,7 @@
|
||||
"2410FPCC5G" "POCO C75 國際版"
|
||||
"2410FPCC5I" "POCO C75 印度版"
|
||||
"24116PCC1I" "POCO C75 5G 印度版"
|
||||
"25128PC17Y" "POCO C81 Pro 國際版"
|
||||
"25128PC17G" "POCO C81 Pro 國際版"
|
||||
"25128PC17L" "POCO C81 Pro 拉美版"
|
||||
"25128PC17I" "POCO C81 印度版"
|
||||
"26020PCB4I" "POCO C81x 印度版"
|
||||
@@ -868,12 +863,11 @@
|
||||
"24074PCD2I" "POCO Pad 5G 印度版"
|
||||
"25099RP08G" "POCO Pad X1 國際版"
|
||||
"2509ARPBDG" "POCO Pad M1 國際版"
|
||||
"2603APC14G" "POCO Pad C1 國際版"
|
||||
"FYJ01QP" "小米米家翻譯機"
|
||||
"21051191C" "CyberDog 仿生四足機器人"
|
||||
"2405AVPB7C" "小米澎湃智能座艙 (第一代 SU7/SU7 Ultra)"
|
||||
"25033VP3FC" "小米澎湃智能座艙 (YU7/新一代 SU7)"
|
||||
"2503CVPC6C" "小米汽車後排移動控制屏"
|
||||
"2503CVPC6C" "Xiaomi YU7 後排移動控制屏"
|
||||
"MI-ONE" "Mi 1 Lite"
|
||||
"2109119BC" "Xiaomi Civi China"
|
||||
"2109119BC" "Xiaomi Civi 1S China"
|
||||
@@ -2905,7 +2899,6 @@
|
||||
"RMX5171" "realme 16 5G"
|
||||
"RMX5120" "realme 16 Pro 5G"
|
||||
"RMX5131" "realme 16 Pro+ 5G"
|
||||
"RMX5268" "realme 16T 5G"
|
||||
"RMX1921" "realme XT Global"
|
||||
"RMX1922" "realme XT India"
|
||||
"RMX1992" "realme X2 India"
|
||||
@@ -3135,8 +3128,6 @@
|
||||
"V2465A" "vivo S30 Pro mini"
|
||||
"V2528A" "vivo S50 / vivo S50t"
|
||||
"V2527A" "vivo S50 Pro mini"
|
||||
"V2571A" "vivo S60"
|
||||
"V2572A" "vivo S60 元氣版"
|
||||
"V1901A" "vivo Y3 全網通版"
|
||||
"V1901T" "vivo Y3 移動全網通版"
|
||||
"V1930A" "vivo Y3 標準版 全網通版"
|
||||
@@ -3182,7 +3173,6 @@
|
||||
"V2164A" "vivo Y55s 5G"
|
||||
"V2559A" "vivo Y60 5G / vivo Y6t 5G"
|
||||
"V2559BA" "vivo Y60m 5G"
|
||||
"V2532BA" "vivo Y6m"
|
||||
"V1731CA" "vivo Y71s"
|
||||
"V2102A" "vivo Y71t 5G"
|
||||
"V2164PA" "vivo Y73t 5G"
|
||||
@@ -3219,7 +3209,6 @@
|
||||
"V2516A" "vivo Y500 Pro"
|
||||
"V2531A" "vivo Y500i / vivo Y500s / vivo Y6"
|
||||
"V2561A" "vivo Y600 Pro"
|
||||
"V2553A" "vivo Y600 Turbo"
|
||||
"V2115A" "vivo T1"
|
||||
"V2199GA" "vivo T2"
|
||||
"V2188A" "vivo T2x"
|
||||
@@ -3427,6 +3416,7 @@
|
||||
"V2418" "vivo V40 Lite 5G Indonesia"
|
||||
"V2337" "vivo V40 SE 5G"
|
||||
"V2451" "vivo V50"
|
||||
"V2504" "vivo V50 Pro"
|
||||
"V2428" "vivo V50e"
|
||||
"V2441" "vivo V50 Lite"
|
||||
"V2453" "vivo V50 Lite 5G"
|
||||
@@ -3437,7 +3427,6 @@
|
||||
"V2540" "vivo V70"
|
||||
"V2548" "vivo V70 Elite"
|
||||
"V2558" "vivo V70 FE"
|
||||
"V2637" "vivo V70 Lite 5G"
|
||||
"vivo 1920_20" "vivo S1 Pro"
|
||||
"V2168" "vivo T1"
|
||||
"V2157" "vivo T1 5G"
|
||||
@@ -3457,7 +3446,6 @@
|
||||
"V2509" "vivo T4 Lite 5G"
|
||||
"V2518" "vivo T4R 5G"
|
||||
"V2510" "vivo T4 Pro"
|
||||
"V2504" "vivo T4 Ultra"
|
||||
"V2568" "vivo T5 Pro"
|
||||
"V2545" "vivo T5x 5G"
|
||||
"V2603" "vivo T5 Lite 5G"
|
||||
@@ -3539,8 +3527,7 @@
|
||||
"V2036_21" "vivo Y31"
|
||||
"V2521" "vivo Y31 5G"
|
||||
"V2534" "vivo Y31 Pro 5G"
|
||||
"V2636" "vivo Y31d"
|
||||
"V2543" "vivo Y31d Pro"
|
||||
"V2611" "vivo Y31d"
|
||||
"V2533" "vivo Y31e 5G"
|
||||
"V2057" "vivo Y33"
|
||||
"V2109-EG" "vivo Y33A"
|
||||
@@ -3731,8 +3718,6 @@
|
||||
"PLW110" "OPPO Reno15"
|
||||
"PLV110" "OPPO Reno15 Pro"
|
||||
"PMD110" "OPPO Reno15c"
|
||||
"PMM110" "OPPO Reno16"
|
||||
"PMK110" "OPPO Reno16 Pro"
|
||||
"PCLM10" "OPPO Reno Ace"
|
||||
"PDHM00" "OPPO Ace2"
|
||||
"PACM00" "OPPO R15 全網通版"
|
||||
@@ -3817,7 +3802,7 @@
|
||||
"PLT120" "OPPO A6s / OPPO A6i+ / OPPO A6k"
|
||||
"PMT110" "OPPO A6s Pro"
|
||||
"PLT130" "OPPO A6v"
|
||||
"PLT140" "OPPO A6x / OPPO A6m"
|
||||
"PLT140" "OPPO A6x"
|
||||
"PMC110" "OPPO A6c"
|
||||
"PBCM30" "OPPO K1"
|
||||
"PCGM00" "OPPO K3 全網通版"
|
||||
@@ -3854,7 +3839,6 @@
|
||||
"OPD2501" "OPPO Pad Air5"
|
||||
"OPD2511" "OPPO Pad 5 Pro"
|
||||
"OPD2515" "OPPO Pad Mini"
|
||||
"OPD2601" "OPPO Pad 6"
|
||||
"OB19O1" "OPPO Band 運動版"
|
||||
"OB19O3" "OPPO Band 運動版 (國際版)"
|
||||
"OB19O7" "OPPO Band 活力版"
|
||||
|
||||
Binary file not shown.
6062
tools/tools.sh
6062
tools/tools.sh
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user