diff --git a/apps/xiaomi-album-syncer/0.17.1/data.yml b/apps/xiaomi-album-syncer/0.17.1/data.yml deleted file mode 100644 index 2d9343e14..000000000 --- a/apps/xiaomi-album-syncer/0.17.1/data.yml +++ /dev/null @@ -1,67 +0,0 @@ -additionalProperties: - formFields: - - default: 8232 - edit: true - envKey: PANEL_APP_PORT_HTTP - labelEn: Web Port - labelZh: Web 端口 - label: - en: Web Port - zh: Web 端口 - zh-Hant: Web 連接埠 - ja: Web ポート - ko: Web 포트 - ru: Веб-порт - ms: Port Web - pt-br: Porta Web - required: true - rule: paramPort - type: number - - default: ./data/download - edit: true - envKey: DOWNLOAD_DIR - labelEn: Download Directory - labelZh: 下载目录 - label: - en: Download Directory - zh: 下载目录 - zh-Hant: 下載目錄 - ja: ダウンロードディレクトリ - ko: 다운로드 디렉터리 - ru: Каталог загрузок - ms: Direktori Muat Turun - pt-br: Diretório de Downloads - required: true - type: text - - default: ./data/db - edit: true - envKey: DATABASE_DIR - labelEn: Database Directory - labelZh: 数据库目录 - label: - en: Database Directory - zh: 数据库目录 - zh-Hant: 資料庫目錄 - ja: データベースディレクトリ - ko: 데이터베이스 디렉터리 - ru: Каталог базы данных - ms: Direktori Pangkalan Data - pt-br: Diretório do Banco de Dados - required: true - type: text - - default: Asia/Shanghai - edit: true - envKey: TZ - labelEn: Timezone - labelZh: 时区 - label: - en: Timezone - zh: 时区 - zh-Hant: 時區 - ja: タイムゾーン - ko: 시간대 - ru: Часовой пояс - ms: Zon Waktu - pt-br: Fuso Horário - required: true - type: text diff --git a/apps/xiaomi-album-syncer/0.17.1/docker-compose.yml b/apps/xiaomi-album-syncer/0.17.1/docker-compose.yml deleted file mode 100644 index e19346096..000000000 --- a/apps/xiaomi-album-syncer/0.17.1/docker-compose.yml +++ /dev/null @@ -1,30 +0,0 @@ -services: - xiaomi-album-syncer: - image: "coolfan1024/xiaomi-album-syncer:0.17.1" - container_name: ${CONTAINER_NAME} - restart: unless-stopped - environment: - - TZ=${TZ} - volumes: - - "${DOWNLOAD_DIR}:/app/download" - - "${DATABASE_DIR}:/app/db" - ports: - - "${PANEL_APP_PORT_HTTP}:8080" - healthcheck: - test: - - CMD - - bash - - -c - - exec 3<>/dev/tcp/127.0.0.1/8080 - start_period: 30s - interval: 30s - timeout: 10s - retries: 5 - labels: - createdBy: "Apps" - networks: - - 1panel-network - -networks: - 1panel-network: - external: true diff --git a/apps/xiaomi-album-syncer/0.17.1/scripts/uninstall.sh b/apps/xiaomi-album-syncer/0.17.1/scripts/uninstall.sh deleted file mode 100755 index 6e877466e..000000000 --- a/apps/xiaomi-album-syncer/0.17.1/scripts/uninstall.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail diff --git a/apps/xiaomi-album-syncer/0.17.1/scripts/upgrade.sh b/apps/xiaomi-album-syncer/0.17.1/scripts/upgrade.sh deleted file mode 100755 index 6e877466e..000000000 --- a/apps/xiaomi-album-syncer/0.17.1/scripts/upgrade.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail diff --git a/apps/xiaomi-album-syncer/0.17.1/.env.sample b/apps/xiaomi-album-syncer/0.18.0/.env.sample similarity index 100% rename from apps/xiaomi-album-syncer/0.17.1/.env.sample rename to apps/xiaomi-album-syncer/0.18.0/.env.sample index ec8b4d7f6..6fe1c26af 100644 --- a/apps/xiaomi-album-syncer/0.17.1/.env.sample +++ b/apps/xiaomi-album-syncer/0.18.0/.env.sample @@ -1,5 +1,5 @@ +CONTAINER_NAME=xiaomi-album-syncer-compose-check PANEL_APP_PORT_HTTP=8232 DOWNLOAD_DIR=./data/download DATABASE_DIR=./data/db TZ=Asia/Shanghai -CONTAINER_NAME=xiaomi-album-syncer-compose-check diff --git a/apps/xiaomi-album-syncer/0.18.0/data.yml b/apps/xiaomi-album-syncer/0.18.0/data.yml new file mode 100644 index 000000000..baf6ee656 --- /dev/null +++ b/apps/xiaomi-album-syncer/0.18.0/data.yml @@ -0,0 +1,83 @@ +additionalProperties: + formFields: + - default: 8232 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Web Port + labelZh: Web 端口 + label: + en: Web Port + zh: Web 端口 + zh-hant: Web 連接埠 + ja: Web ポート + ko: Web 포트 + ru: Веб-порт + ms: Port Web + pt-br: Porta Web + tr: Web bağlantı noktası + es-es: Puerto web + fa: درگاه وب + lo: ພອດເວັບ + required: true + rule: paramPort + type: number + - default: ./data/download + edit: true + envKey: DOWNLOAD_DIR + labelEn: Download Directory + labelZh: 下载目录 + label: + en: Download Directory + zh: 下载目录 + zh-hant: 下載目錄 + ja: ダウンロードディレクトリ + ko: 다운로드 디렉터리 + ru: Каталог загрузок + ms: Direktori Muat Turun + pt-br: Diretório de Downloads + tr: İndirme dizini + es-es: Directorio de descargas + fa: پوشه دانلود + lo: ໄດເຣັກທໍຣີດາວໂຫຼດ + required: true + type: text + - default: ./data/db + edit: true + envKey: DATABASE_DIR + labelEn: Database Directory + labelZh: 数据库目录 + label: + en: Database Directory + zh: 数据库目录 + zh-hant: 資料庫目錄 + ja: データベースディレクトリ + ko: 데이터베이스 디렉터리 + ru: Каталог базы данных + ms: Direktori Pangkalan Data + pt-br: Diretório do Banco de Dados + tr: Veritabanı dizini + es-es: Directorio de base de datos + fa: پوشه پایگاه داده + lo: ໄດເຣັກທໍຣີຖານຂໍ້ມູນ + required: true + type: text + - default: Asia/Shanghai + edit: true + envKey: TZ + labelEn: Timezone + labelZh: 时区 + label: + en: Timezone + zh: 时区 + zh-hant: 時區 + ja: タイムゾーン + ko: 시간대 + ru: Часовой пояс + ms: Zon Waktu + pt-br: Fuso Horário + tr: Saat dilimi + es-es: Zona horaria + fa: منطقه زمانی + lo: ເຂດເວລາ + required: true + type: text diff --git a/apps/xiaomi-album-syncer/0.17.1/data/.gitkeep b/apps/xiaomi-album-syncer/0.18.0/data/.gitkeep similarity index 100% rename from apps/xiaomi-album-syncer/0.17.1/data/.gitkeep rename to apps/xiaomi-album-syncer/0.18.0/data/.gitkeep diff --git a/apps/xiaomi-album-syncer/latest/docker-compose.yml b/apps/xiaomi-album-syncer/0.18.0/docker-compose.yml similarity index 91% rename from apps/xiaomi-album-syncer/latest/docker-compose.yml rename to apps/xiaomi-album-syncer/0.18.0/docker-compose.yml index 5619b3a0f..7d891f66d 100644 --- a/apps/xiaomi-album-syncer/latest/docker-compose.yml +++ b/apps/xiaomi-album-syncer/0.18.0/docker-compose.yml @@ -1,6 +1,6 @@ services: xiaomi-album-syncer: - image: "coolfan1024/xiaomi-album-syncer:latest" + image: "coolfan1024/xiaomi-album-syncer:0.18.0" container_name: ${CONTAINER_NAME} restart: unless-stopped environment: diff --git a/apps/xiaomi-album-syncer/0.17.1/scripts/init.sh b/apps/xiaomi-album-syncer/0.18.0/scripts/init.sh similarity index 100% rename from apps/xiaomi-album-syncer/0.17.1/scripts/init.sh rename to apps/xiaomi-album-syncer/0.18.0/scripts/init.sh diff --git a/apps/xiaomi-album-syncer/README_en.md b/apps/xiaomi-album-syncer/README_en.md new file mode 100644 index 000000000..7021510ee --- /dev/null +++ b/apps/xiaomi-album-syncer/README_en.md @@ -0,0 +1,36 @@ +# Xiaomi Album Syncer + +## Introduction + +Xiaomi Album Syncer downloads Xiaomi Cloud albums and recordings to local +storage through a browser-based interface. It supports full, incremental, and +scheduled synchronization and organizes downloaded files by album. + +## Features + +- Synchronize Xiaomi Cloud albums, recordings, and related metadata. +- Run full, incremental, or scheduled synchronization jobs. +- Configure the service through a Web UI and preserve job state locally. +- Support Xiaomi account authorization with the credentials documented by the + upstream project. + +## Usage + +After installation, open `http://:` using the port configured +by `PANEL_APP_PORT_HTTP` (the default is `8232`). On first access, set a strong +management password for the application, then complete Xiaomi account +authorization according to the upstream documentation. + +`DOWNLOAD_DIR` is mounted at `/app/download` and stores synchronized albums and +recordings. `DATABASE_DIR` is mounted at `/app/db` and stores authorization, +tasks, and synchronization records. Back up both directories before upgrading. + +Treat the database directory as sensitive: it may contain Xiaomi account +authorization data. Restrict host access, use HTTPS through a 1Panel reverse +proxy when exposing the Web UI, and only synchronize content you are allowed to +access. + +## References + +- Project and documentation: +- Docker image: diff --git a/apps/xiaomi-album-syncer/data.yml b/apps/xiaomi-album-syncer/data.yml index 4995e82ed..94d67beab 100644 --- a/apps/xiaomi-album-syncer/data.yml +++ b/apps/xiaomi-album-syncer/data.yml @@ -1,26 +1,34 @@ name: Xiaomi Album Syncer tags: - - 云存储 - - 备份 +- Storage +- Tool title: 将小米云相册和录音全量、增量或定时同步到本地 description: 将小米云相册和录音全量、增量或定时同步到本地 additionalProperties: key: xiaomi-album-syncer name: Xiaomi Album Syncer tags: - - Storage - - Tool + - Storage + - Tool shortDescZh: 将小米云相册和录音全量、增量或定时同步到本地 shortDescEn: Synchronize Xiaomi Cloud albums and recordings to local storage description: - en: Download Xiaomi Cloud albums and recordings to local storage with full, incremental, and scheduled synchronization. + en: Download Xiaomi Cloud albums and recordings to local storage with full, incremental, + and scheduled synchronization. zh: 将小米云相册和录音通过全量、增量或定时任务下载到本地存储。 - zh-Hant: 將小米雲端相簿和錄音透過完整、增量或排程任務下載到本機儲存空間。 + zh-hant: 將小米雲端相簿和錄音透過完整、增量或排程任務下載到本機儲存空間。 ja: Xiaomi Cloudのアルバムと録音を完全、増分、またはスケジュール同期でローカルストレージへ保存します。 ko: Xiaomi Cloud 앨범과 녹음을 전체, 증분 또는 예약 동기화로 로컬 저장소에 다운로드합니다. - ru: Загружайте альбомы и записи Xiaomi Cloud в локальное хранилище с полной, инкрементальной или плановой синхронизацией. - ms: Muat turun album dan rakaman Xiaomi Cloud ke storan tempatan melalui penyegerakan penuh, bertambah atau berjadual. - pt-br: Baixe álbuns e gravações do Xiaomi Cloud para armazenamento local com sincronização completa, incremental ou agendada. + ru: Загружайте альбомы и записи Xiaomi Cloud в локальное хранилище с полной, инкрементальной + или плановой синхронизацией. + ms: Muat turun album dan rakaman Xiaomi Cloud ke storan tempatan melalui penyegerakan + penuh, bertambah atau berjadual. + pt-br: Baixe álbuns e gravações do Xiaomi Cloud para armazenamento local com sincronização + completa, incremental ou agendada. + tr: Xiaomi Cloud albümlerini ve kayıtlarını tam, artımlı veya zamanlanmış senkronizasyonla yerel depolamaya indirin. + es-es: Descarga álbumes y grabaciones de Xiaomi Cloud al almacenamiento local mediante sincronizaciones completas, incrementales o programadas. + fa: آلبوم‌ها و ضبط‌های Xiaomi Cloud را با همگام‌سازی کامل، افزایشی یا زمان‌بندی‌شده در حافظه محلی دانلود کنید. + lo: ດາວໂຫຼດອັນບັ້ມ ແລະ ບັນທຶກສຽງຈາກ Xiaomi Cloud ໄປຍັງບ່ອນເກັບຂໍ້ມູນທ້ອງຖິ່ນ ດ້ວຍການຊິງແບບເຕັມ, ເພີ່ມຂຶ້ນ ຫຼື ຕາມກຳນົດເວລາ. type: tool crossVersionUpdate: true limit: 0 @@ -29,5 +37,5 @@ additionalProperties: github: https://github.com/Coooolfan/XiaomiAlbumSyncer document: https://github.com/Coooolfan/XiaomiAlbumSyncer#%E4%BD%BF%E7%94%A8 architectures: - - amd64 - - arm64 + - amd64 + - arm64 diff --git a/apps/xiaomi-album-syncer/latest/.env.sample b/apps/xiaomi-album-syncer/latest/.env.sample deleted file mode 100644 index ec8b4d7f6..000000000 --- a/apps/xiaomi-album-syncer/latest/.env.sample +++ /dev/null @@ -1,5 +0,0 @@ -PANEL_APP_PORT_HTTP=8232 -DOWNLOAD_DIR=./data/download -DATABASE_DIR=./data/db -TZ=Asia/Shanghai -CONTAINER_NAME=xiaomi-album-syncer-compose-check diff --git a/apps/xiaomi-album-syncer/latest/data.yml b/apps/xiaomi-album-syncer/latest/data.yml deleted file mode 100644 index 2d9343e14..000000000 --- a/apps/xiaomi-album-syncer/latest/data.yml +++ /dev/null @@ -1,67 +0,0 @@ -additionalProperties: - formFields: - - default: 8232 - edit: true - envKey: PANEL_APP_PORT_HTTP - labelEn: Web Port - labelZh: Web 端口 - label: - en: Web Port - zh: Web 端口 - zh-Hant: Web 連接埠 - ja: Web ポート - ko: Web 포트 - ru: Веб-порт - ms: Port Web - pt-br: Porta Web - required: true - rule: paramPort - type: number - - default: ./data/download - edit: true - envKey: DOWNLOAD_DIR - labelEn: Download Directory - labelZh: 下载目录 - label: - en: Download Directory - zh: 下载目录 - zh-Hant: 下載目錄 - ja: ダウンロードディレクトリ - ko: 다운로드 디렉터리 - ru: Каталог загрузок - ms: Direktori Muat Turun - pt-br: Diretório de Downloads - required: true - type: text - - default: ./data/db - edit: true - envKey: DATABASE_DIR - labelEn: Database Directory - labelZh: 数据库目录 - label: - en: Database Directory - zh: 数据库目录 - zh-Hant: 資料庫目錄 - ja: データベースディレクトリ - ko: 데이터베이스 디렉터리 - ru: Каталог базы данных - ms: Direktori Pangkalan Data - pt-br: Diretório do Banco de Dados - required: true - type: text - - default: Asia/Shanghai - edit: true - envKey: TZ - labelEn: Timezone - labelZh: 时区 - label: - en: Timezone - zh: 时区 - zh-Hant: 時區 - ja: タイムゾーン - ko: 시간대 - ru: Часовой пояс - ms: Zon Waktu - pt-br: Fuso Horário - required: true - type: text diff --git a/apps/xiaomi-album-syncer/latest/data/.gitkeep b/apps/xiaomi-album-syncer/latest/data/.gitkeep deleted file mode 100644 index 8b1378917..000000000 --- a/apps/xiaomi-album-syncer/latest/data/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apps/xiaomi-album-syncer/latest/scripts/init.sh b/apps/xiaomi-album-syncer/latest/scripts/init.sh deleted file mode 100755 index 61df377c3..000000000 --- a/apps/xiaomi-album-syncer/latest/scripts/init.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -ENV_FILE="${ENV_FILE:-$ROOT_DIR/.env}" - -read_env_value() { - local key="$1" - [[ -f "$ENV_FILE" ]] || return 0 - local value - value="$(sed -n "s/^${key}=//p" "$ENV_FILE" | tail -n 1)" - case "$value" in - \"*\") value="${value#\"}"; value="${value%\"}" ;; - \'*\') value="${value#\'}"; value="${value%\'}" ;; - esac - printf '%s\n' "$value" -} - -configured_value() { - local key="$1" - local default_value="$2" - local value - value="${!key:-}" - if [[ -z "$value" ]]; then - value="$(read_env_value "$key")" - fi - printf '%s\n' "${value:-$default_value}" -} - -resolve_app_path() { - local raw="$1" - if [[ "$raw" = /* ]]; then - printf '%s\n' "$raw" - else - printf '%s\n' "$ROOT_DIR/${raw#./}" - fi -} - -ensure_dir() { - local path - path="$(resolve_app_path "$(configured_value "$1" "$2")")" - mkdir -p "$path" -} - -ensure_file_parent() { - local path - local parent - path="$(resolve_app_path "$(configured_value "$1" "$2")")" - parent="$(dirname "$path")" - mkdir -p "$parent" -} - -ensure_dir "DOWNLOAD_DIR" "./data/download" -ensure_dir "DATABASE_DIR" "./data/db" diff --git a/apps/xiaomi-album-syncer/latest/scripts/uninstall.sh b/apps/xiaomi-album-syncer/latest/scripts/uninstall.sh deleted file mode 100755 index 6e877466e..000000000 --- a/apps/xiaomi-album-syncer/latest/scripts/uninstall.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail diff --git a/apps/xiaomi-album-syncer/latest/scripts/upgrade.sh b/apps/xiaomi-album-syncer/latest/scripts/upgrade.sh deleted file mode 100755 index 6e877466e..000000000 --- a/apps/xiaomi-album-syncer/latest/scripts/upgrade.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail diff --git a/apps/xiaomi-album-syncer/logo.png b/apps/xiaomi-album-syncer/logo.png index 049dc355a..fec2d5885 100644 Binary files a/apps/xiaomi-album-syncer/logo.png and b/apps/xiaomi-album-syncer/logo.png differ