From 19d132f46650950bd7c3359edfe4dda4cdb0e766 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Thu, 28 Aug 2025 22:43:32 +0800 Subject: [PATCH 001/203] =?UTF-8?q?=F0=9F=99=82=E6=B7=BB=E5=8A=A0=E5=BA=94?= =?UTF-8?q?=E7=94=A8anheyu-Blog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/1.0.4/data.yml | 117 +++++++++++++++++++++++++++ anheyu-blog/1.0.4/docker-compose.yml | 26 ++++++ anheyu-blog/README.md | 76 +++++++++++++++++ anheyu-blog/data.yml | 31 +++++++ anheyu-blog/logo.png | Bin 0 -> 7788 bytes 5 files changed, 250 insertions(+) create mode 100644 anheyu-blog/1.0.4/data.yml create mode 100644 anheyu-blog/1.0.4/docker-compose.yml create mode 100644 anheyu-blog/README.md create mode 100644 anheyu-blog/data.yml create mode 100644 anheyu-blog/logo.png diff --git a/anheyu-blog/1.0.4/data.yml b/anheyu-blog/1.0.4/data.yml new file mode 100644 index 000000000..1358a9b55 --- /dev/null +++ b/anheyu-blog/1.0.4/data.yml @@ -0,0 +1,117 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + default: mysql + envKey: PANEL_DB_TYPE + labelEn: Database Service + labelZh: 数据库服务 + label: + en: Database Service + ja: データベースサービス + ms: Perkhidmatan Pangkalan Data + pt-br: Serviço de Banco de Dados + ru: Сервис базы данных + ko: 데이터베이스 서비스 + zh: 数据库服务 + zh-Hant: 數據庫 服務 + required: true + type: apps + values: + - label: MySQL + value: mysql + - label: MariaDB + value: mariadb + - label: PostgreSQL + value: postgres + - default: anheyu + envKey: PANEL_DB_NAME + labelEn: Database Name + labelZh: 数据库名 + label: + en: Database Name + ja: データベース + ms: Pangkalan Data + pt-br: Banco de Dados + ru: База данных + ko: 데이터베이스 + zh: 数据库名 + zh-Hant: 數據庫名 + random: true + required: true + rule: paramCommon + type: text + - default: anheyu + envKey: PANEL_DB_USER + labelEn: Database User + labelZh: 数据库用户 + label: + en: Database User + ja: ユーザー + ms: Pengguna + pt-br: Usuário + ru: Пользователь + ko: 사용자 + zh: 数据库用户 + zh-Hant: 數據庫用戶 + random: true + required: true + rule: paramCommon + type: text + - default: anheyu + envKey: PANEL_DB_PASSWORD + labelEn: Database User Password + labelZh: 数据库用户密码 + label: + en: Database User Password + ja: パスワード + ms: Kata Laluan + pt-br: Senha + ru: Пароль + ko: 비밀번호 + zh: 数据库用户密码 + zh-Hant: 數據庫用戶密碼 + random: true + required: true + type: password + - default: "" + envKey: PANEL_REDIS_HOST + key: redis + labelEn: Redis Service + labelZh: redis 服务 + required: true + type: service + label: + en: Redis Service + ja: Redisサービス + ms: Perkhidmatan Redis + pt-br: Serviço Redis + ru: Сервис Redis + ko: Redis 서비스 + zh: redis 服务 + zh-Hant: redis 服务 + - default: "" + envKey: PANEL_REDIS_ROOT_PASSWORD + labelEn: Redis Service Password + labelZh: 缓存服务服务密码 + required: false + type: password + - default: 37826 + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: HTTP 端口 + label: + en: Port + ja: ポート + ms: Port + pt-br: Porta + ru: Порт + ko: 포트 + zh: HTTP 端口 + zh-Hant: HTTP連接埠 + required: true + rule: paramPort + type: number diff --git a/anheyu-blog/1.0.4/docker-compose.yml b/anheyu-blog/1.0.4/docker-compose.yml new file mode 100644 index 000000000..1e4811769 --- /dev/null +++ b/anheyu-blog/1.0.4/docker-compose.yml @@ -0,0 +1,26 @@ +services: + anheyu: + # build: . + image: anheyu/anheyu-backend:1.0.4 + container_name: ${CONTAINER_NAME} + restart: always + labels: + createdBy: "Apps" + ports: + - ${PANEL_APP_PORT_HTTP}:8091 + environment: + ANHEYU_DATABASE_TYPE: ${PANEL_DB_TYPE} + ANHEYU_DATABASE_HOST: ${PANEL_DB_HOST} + ANHEYU_DATABASE_USER: ${PANEL_DB_USER} + ANHEYU_DATABASE_NAME: ${PANEL_DB_NAME} + ANHEYU_DATABASE_PORT: ${PANEL_DB_PORT} + ANHEYU_DATABASE_PASSWORD: ${PANEL_DB_PASSWORD} + ANHEYU_REDIS_ADDR: redis://:${PANEL_REDIS_ROOT_PASSWORD}@${PANEL_REDIS_HOST}:6379 + networks: + - 1panel-network + volumes: + - ./data:/anheyu/data + +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/anheyu-blog/README.md b/anheyu-blog/README.md new file mode 100644 index 000000000..2c9bfe900 --- /dev/null +++ b/anheyu-blog/README.md @@ -0,0 +1,76 @@ +# 🌈 Anheyu Blog + +如果能给我一个 **Star ⭐**,那将是对我莫大的鼓励。 + +在使用本应用前请注意: +它是一个 **独立应用**,需要服务器环境才能运行。推荐使用 **Docker 部署**,可大大减少环境配置带来的问题。 + +由 **安知鱼** 负责开发与维护。 + +* GitHub: [https://github.com/anzhiyu-c/anheyu-app](https://github.com/anzhiyu-c/anheyu-app) +* 预览: 👍 AnZhiYu | 🤞 AnZhiYu +* 文档: 📖 AnHeYu Docs + +--- + +## 🌟 系统简介 + +**Anheyu Blog** 是一个基于 **Go + Vue3** 的现代化博客与内容管理系统。 +后端使用 **Go** 提供高性能 API,前端采用 **Vue3 + Element Plus** 打造美观易用的用户界面。 + +--- + +## ✨ 功能特性 + +* ✅ Markdown 编辑 & 富文本预览 +* ✅ 图片上传、管理与懒加载 +* ✅ 分类 & 标签管理 +* ✅ 外部链接收集与分享 +* ✅ 内置评论系统,支持用户互动 +* ✅ 文件管理与缩略图优化 +* ✅ 多种数据库支持(MySQL/PostgreSQL/SQLite) +* ✅ 灵活存储配置 +* ✅ 暗黑模式 / 沉浸式状态栏 +* ✅ LaTeX 数学公式 & Mermaid 流程图 +* ✅ 广告挂载 & Inject 自定义扩展 +* ✅ AI 摘要(Pro) +* ✅ PWA 渐进式应用 & 高速缓存 +* ✅ 优秀的隐私协议支持 + +--- + +## 🏗️ 技术栈 + +* **后端**: Go + Ent +* **前端**: Vue3 + Element Plus +* **数据库**: MySQL / PostgreSQL / SQLite + +--- + +## 🤝 贡献 + +欢迎提交 **Issue / PR** 帮助改进项目! + +--- + +## 📄 开源协议 + +本项目基于 **GPL-3.0 License** 开源。 + +--- + +## 👨‍💻 作者 + +* **安知鱼**(项目维护者) + +--- + +## 🙏 致谢 + +感谢所有为本项目贡献的开发者与用户! + +--- + +## 📢 社区 + +* QQ 群组:**464636182** diff --git a/anheyu-blog/data.yml b/anheyu-blog/data.yml new file mode 100644 index 000000000..bfaa562b7 --- /dev/null +++ b/anheyu-blog/data.yml @@ -0,0 +1,31 @@ +name: Anheyu Blog +tags: + - 博客 +title: 一个基于 Go + Vue3 的现代化博客与内容管理系统 +description: 基于 Go 语言后端与 Vue3 前端构建的高性能博客与内容管理平台 +additionalProperties: + key: anheyu-blog + name: Anheyu Blog + tags: + - Blog + - CMS + shortDescZh: 一个基于 Go + Vue3 的现代化博客与内容管理系统 + shortDescEn: A modern blog and content management system built with Go and Vue3 + type: website + crossVersionUpdate: true + limit: 0 + website: https://anheyu.com/ + github: https://github.com/anzhiyu-c/anheyu-app + document: https://anheyu.com/posts/Z3MC + description: + en: A modern blog and content management system built with Go backend and Vue3 frontend. + zh: 一个基于 Go 语言后端与 Vue3 前端构建的现代化博客与内容管理系统。 + zh-Hant: 一個基於 Go 語言後端與 Vue3 前端構建的現代化部落格與內容管理系統。 + ja: Go バックエンドと Vue3 フロントエンドで構築されたモダンなブログ・コンテンツ管理システム。 + ms: Sistem blog dan pengurusan kandungan moden dibina dengan Go backend dan Vue3 frontend. + pt-br: Um sistema moderno de blog e gerenciamento de conteúdo construído com Go e Vue3. + ru: Современная система ведения блогов и управления контентом, построенная на Go и Vue3. + ko: Go 백엔드와 Vue3 프론트엔드로 구축된 현대적인 블로그 및 콘텐츠 관리 시스템. + architectures: + - amd64 + - arm64 diff --git a/anheyu-blog/logo.png b/anheyu-blog/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3f761b195f044422f718ee47d7e4d792a5f11ad8 GIT binary patch literal 7788 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 literal 0 HcmV?d00001 From c027be4c3496ef9e102b7ec73deb2ce854a5546e Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Thu, 28 Aug 2025 22:49:42 +0800 Subject: [PATCH 002/203] =?UTF-8?q?=F0=9F=98=84=E6=9B=B4=E6=96=B0anzhiyu?= =?UTF-8?q?=E7=9A=84=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/data.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/anheyu-blog/data.yml b/anheyu-blog/data.yml index bfaa562b7..cfbf5fff1 100644 --- a/anheyu-blog/data.yml +++ b/anheyu-blog/data.yml @@ -1,14 +1,13 @@ name: Anheyu Blog tags: - - 博客 + - 建站 title: 一个基于 Go + Vue3 的现代化博客与内容管理系统 description: 基于 Go 语言后端与 Vue3 前端构建的高性能博客与内容管理平台 additionalProperties: key: anheyu-blog name: Anheyu Blog tags: - - Blog - - CMS + - website shortDescZh: 一个基于 Go + Vue3 的现代化博客与内容管理系统 shortDescEn: A modern blog and content management system built with Go and Vue3 type: website From 708af429d64a3ab734daf5164fedd9295d3633dd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Aug 2025 14:50:14 +0000 Subject: [PATCH 003/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.0.14 --- anheyu-blog/1.0.4/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.0.4/docker-compose.yml b/anheyu-blog/1.0.4/docker-compose.yml index 1e4811769..e62c4a28c 100644 --- a/anheyu-blog/1.0.4/docker-compose.yml +++ b/anheyu-blog/1.0.4/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.0.4 + image: anheyu/anheyu-backend:1.0.14 container_name: ${CONTAINER_NAME} restart: always labels: From 43e725cdacb82b7a35711a162b5de8d6ba2df125 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 28 Aug 2025 14:50:24 +0000 Subject: [PATCH 004/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.0.4?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.0.14=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.0.4 => 1.0.14}/data.yml | 0 anheyu-blog/{1.0.4 => 1.0.14}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.0.4 => 1.0.14}/data.yml (100%) rename anheyu-blog/{1.0.4 => 1.0.14}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.0.4/data.yml b/anheyu-blog/1.0.14/data.yml similarity index 100% rename from anheyu-blog/1.0.4/data.yml rename to anheyu-blog/1.0.14/data.yml diff --git a/anheyu-blog/1.0.4/docker-compose.yml b/anheyu-blog/1.0.14/docker-compose.yml similarity index 100% rename from anheyu-blog/1.0.4/docker-compose.yml rename to anheyu-blog/1.0.14/docker-compose.yml From bdd55b6bb840c6e8626ff968db36422f1e5f2c16 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Aug 2025 10:32:43 +0000 Subject: [PATCH 005/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.0.17 --- anheyu-blog/1.0.14/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.0.14/docker-compose.yml b/anheyu-blog/1.0.14/docker-compose.yml index e62c4a28c..803f4a50a 100644 --- a/anheyu-blog/1.0.14/docker-compose.yml +++ b/anheyu-blog/1.0.14/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.0.14 + image: anheyu/anheyu-backend:1.0.17 container_name: ${CONTAINER_NAME} restart: always labels: From f4835bd3fe82fba932fc81c37a504c4c429f0e48 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 29 Aug 2025 10:32:55 +0000 Subject: [PATCH 006/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.0.14?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.0.17=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.0.14 => 1.0.17}/data.yml | 0 anheyu-blog/{1.0.14 => 1.0.17}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.0.14 => 1.0.17}/data.yml (100%) rename anheyu-blog/{1.0.14 => 1.0.17}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.0.14/data.yml b/anheyu-blog/1.0.17/data.yml similarity index 100% rename from anheyu-blog/1.0.14/data.yml rename to anheyu-blog/1.0.17/data.yml diff --git a/anheyu-blog/1.0.14/docker-compose.yml b/anheyu-blog/1.0.17/docker-compose.yml similarity index 100% rename from anheyu-blog/1.0.14/docker-compose.yml rename to anheyu-blog/1.0.17/docker-compose.yml From 254199bc694d1def6ba3757160eafe57099500ef Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Fri, 29 Aug 2025 19:39:35 +0800 Subject: [PATCH 007/203] =?UTF-8?q?=F0=9F=98=8B=E5=88=86=E5=BC=80anheyu-bl?= =?UTF-8?q?og=E5=BA=94=E7=94=A8=E7=9A=84redis=E5=AF=86=E7=A0=81=EF=BC=8C?= =?UTF-8?q?=E8=80=8C=E4=B8=8D=E6=98=AF=E6=95=B4=E4=B8=AAredis=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E5=AD=97=E7=AC=A6=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/1.0.17/docker-compose.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/anheyu-blog/1.0.17/docker-compose.yml b/anheyu-blog/1.0.17/docker-compose.yml index 803f4a50a..eb0d6cbf1 100644 --- a/anheyu-blog/1.0.17/docker-compose.yml +++ b/anheyu-blog/1.0.17/docker-compose.yml @@ -15,7 +15,9 @@ services: ANHEYU_DATABASE_NAME: ${PANEL_DB_NAME} ANHEYU_DATABASE_PORT: ${PANEL_DB_PORT} ANHEYU_DATABASE_PASSWORD: ${PANEL_DB_PASSWORD} - ANHEYU_REDIS_ADDR: redis://:${PANEL_REDIS_ROOT_PASSWORD}@${PANEL_REDIS_HOST}:6379 + ANHEYU_REDIS_ADDR: ${PANEL_REDIS_HOST}:6379 + ANHEYU_REDIS_PASSWORD: ${PANEL_REDIS_ROOT_PASSWORD} + ANHEYU_REDIS_DB: 10 networks: - 1panel-network volumes: From fc5d218689eabcd589b50f3a13862dfa89c6db9f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Aug 2025 15:08:17 +0000 Subject: [PATCH 008/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.0.19 --- anheyu-blog/1.0.17/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.0.17/docker-compose.yml b/anheyu-blog/1.0.17/docker-compose.yml index eb0d6cbf1..f5c58abd3 100644 --- a/anheyu-blog/1.0.17/docker-compose.yml +++ b/anheyu-blog/1.0.17/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.0.17 + image: anheyu/anheyu-backend:1.0.19 container_name: ${CONTAINER_NAME} restart: always labels: From 8c54fee5aea6cce301b6d03198ae742f89f3dd98 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 29 Aug 2025 15:08:31 +0000 Subject: [PATCH 009/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.0.17?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.0.19=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.0.17 => 1.0.19}/data.yml | 0 anheyu-blog/{1.0.17 => 1.0.19}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.0.17 => 1.0.19}/data.yml (100%) rename anheyu-blog/{1.0.17 => 1.0.19}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.0.17/data.yml b/anheyu-blog/1.0.19/data.yml similarity index 100% rename from anheyu-blog/1.0.17/data.yml rename to anheyu-blog/1.0.19/data.yml diff --git a/anheyu-blog/1.0.17/docker-compose.yml b/anheyu-blog/1.0.19/docker-compose.yml similarity index 100% rename from anheyu-blog/1.0.17/docker-compose.yml rename to anheyu-blog/1.0.19/docker-compose.yml From 66558eb97ac9833f1d2b73e220c2c4129a8db9c7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Aug 2025 14:15:19 +0000 Subject: [PATCH 010/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.0.21 --- anheyu-blog/1.0.19/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.0.19/docker-compose.yml b/anheyu-blog/1.0.19/docker-compose.yml index f5c58abd3..8784826d2 100644 --- a/anheyu-blog/1.0.19/docker-compose.yml +++ b/anheyu-blog/1.0.19/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.0.19 + image: anheyu/anheyu-backend:1.0.21 container_name: ${CONTAINER_NAME} restart: always labels: From 41f377749025a689672ebcec404c8c6010a9fb76 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 30 Aug 2025 14:15:29 +0000 Subject: [PATCH 011/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.0.19?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.0.21=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.0.19 => 1.0.21}/data.yml | 0 anheyu-blog/{1.0.19 => 1.0.21}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.0.19 => 1.0.21}/data.yml (100%) rename anheyu-blog/{1.0.19 => 1.0.21}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.0.19/data.yml b/anheyu-blog/1.0.21/data.yml similarity index 100% rename from anheyu-blog/1.0.19/data.yml rename to anheyu-blog/1.0.21/data.yml diff --git a/anheyu-blog/1.0.19/docker-compose.yml b/anheyu-blog/1.0.21/docker-compose.yml similarity index 100% rename from anheyu-blog/1.0.19/docker-compose.yml rename to anheyu-blog/1.0.21/docker-compose.yml From d9e471550136eece3182d1dcd0d83ee6663ac5a6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 31 Aug 2025 10:59:30 +0000 Subject: [PATCH 012/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.0.23 --- anheyu-blog/1.0.21/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.0.21/docker-compose.yml b/anheyu-blog/1.0.21/docker-compose.yml index 8784826d2..f563bc698 100644 --- a/anheyu-blog/1.0.21/docker-compose.yml +++ b/anheyu-blog/1.0.21/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.0.21 + image: anheyu/anheyu-backend:1.0.23 container_name: ${CONTAINER_NAME} restart: always labels: From 65fa889162476b61a595995c0ce5d9284db3e7e1 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 31 Aug 2025 10:59:43 +0000 Subject: [PATCH 013/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.0.21?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.0.23=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.0.21 => 1.0.23}/data.yml | 0 anheyu-blog/{1.0.21 => 1.0.23}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.0.21 => 1.0.23}/data.yml (100%) rename anheyu-blog/{1.0.21 => 1.0.23}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.0.21/data.yml b/anheyu-blog/1.0.23/data.yml similarity index 100% rename from anheyu-blog/1.0.21/data.yml rename to anheyu-blog/1.0.23/data.yml diff --git a/anheyu-blog/1.0.21/docker-compose.yml b/anheyu-blog/1.0.23/docker-compose.yml similarity index 100% rename from anheyu-blog/1.0.21/docker-compose.yml rename to anheyu-blog/1.0.23/docker-compose.yml From c2d50a8a0d5729231841c6f80efe0d78110d6242 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 31 Aug 2025 14:06:56 +0000 Subject: [PATCH 014/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.0.24 --- anheyu-blog/1.0.23/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.0.23/docker-compose.yml b/anheyu-blog/1.0.23/docker-compose.yml index f563bc698..4ca425984 100644 --- a/anheyu-blog/1.0.23/docker-compose.yml +++ b/anheyu-blog/1.0.23/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.0.23 + image: anheyu/anheyu-backend:1.0.24 container_name: ${CONTAINER_NAME} restart: always labels: From 5cd95d7d8953c6cf7103735a875f4eb7a83a8bc9 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 31 Aug 2025 14:07:07 +0000 Subject: [PATCH 015/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.0.23?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.0.24=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.0.23 => 1.0.24}/data.yml | 0 anheyu-blog/{1.0.23 => 1.0.24}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.0.23 => 1.0.24}/data.yml (100%) rename anheyu-blog/{1.0.23 => 1.0.24}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.0.23/data.yml b/anheyu-blog/1.0.24/data.yml similarity index 100% rename from anheyu-blog/1.0.23/data.yml rename to anheyu-blog/1.0.24/data.yml diff --git a/anheyu-blog/1.0.23/docker-compose.yml b/anheyu-blog/1.0.24/docker-compose.yml similarity index 100% rename from anheyu-blog/1.0.23/docker-compose.yml rename to anheyu-blog/1.0.24/docker-compose.yml From 6064491f97d6926effb851b773b3505c04777b83 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 31 Aug 2025 17:30:53 +0000 Subject: [PATCH 016/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.0.25 --- anheyu-blog/1.0.24/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.0.24/docker-compose.yml b/anheyu-blog/1.0.24/docker-compose.yml index 4ca425984..1c8b5fce3 100644 --- a/anheyu-blog/1.0.24/docker-compose.yml +++ b/anheyu-blog/1.0.24/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.0.24 + image: anheyu/anheyu-backend:1.0.25 container_name: ${CONTAINER_NAME} restart: always labels: From c3d3647c024ebb50ab00a47edf6e6cc3f88a897a Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 31 Aug 2025 17:31:04 +0000 Subject: [PATCH 017/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.0.24?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.0.25=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.0.24 => 1.0.25}/data.yml | 0 anheyu-blog/{1.0.24 => 1.0.25}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.0.24 => 1.0.25}/data.yml (100%) rename anheyu-blog/{1.0.24 => 1.0.25}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.0.24/data.yml b/anheyu-blog/1.0.25/data.yml similarity index 100% rename from anheyu-blog/1.0.24/data.yml rename to anheyu-blog/1.0.25/data.yml diff --git a/anheyu-blog/1.0.24/docker-compose.yml b/anheyu-blog/1.0.25/docker-compose.yml similarity index 100% rename from anheyu-blog/1.0.24/docker-compose.yml rename to anheyu-blog/1.0.25/docker-compose.yml From ae43eecd132c801fde32bba7749f4d3dcef48fa8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Sep 2025 08:17:50 +0000 Subject: [PATCH 018/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.0.26 --- anheyu-blog/1.0.25/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.0.25/docker-compose.yml b/anheyu-blog/1.0.25/docker-compose.yml index 1c8b5fce3..b3789bbd9 100644 --- a/anheyu-blog/1.0.25/docker-compose.yml +++ b/anheyu-blog/1.0.25/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.0.25 + image: anheyu/anheyu-backend:1.0.26 container_name: ${CONTAINER_NAME} restart: always labels: From 1e67d9c840595bd03330379323d7b8906fe60222 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 2 Sep 2025 08:18:00 +0000 Subject: [PATCH 019/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.0.25?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.0.26=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.0.25 => 1.0.26}/data.yml | 0 anheyu-blog/{1.0.25 => 1.0.26}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.0.25 => 1.0.26}/data.yml (100%) rename anheyu-blog/{1.0.25 => 1.0.26}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.0.25/data.yml b/anheyu-blog/1.0.26/data.yml similarity index 100% rename from anheyu-blog/1.0.25/data.yml rename to anheyu-blog/1.0.26/data.yml diff --git a/anheyu-blog/1.0.25/docker-compose.yml b/anheyu-blog/1.0.26/docker-compose.yml similarity index 100% rename from anheyu-blog/1.0.25/docker-compose.yml rename to anheyu-blog/1.0.26/docker-compose.yml From 526874426f6e9354c5ab39b1ad2380b2e068dea8 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Tue, 2 Sep 2025 18:46:48 +0800 Subject: [PATCH 020/203] =?UTF-8?q?=F0=9F=98=AE=E6=B7=BB=E5=8A=A0=E5=BA=94?= =?UTF-8?q?=E7=94=A8bestsub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/1.1.1/data.yml | 170 +++++ bestsub/1.1.1/data/kvrocks.conf | 1085 ++++++++++++++++++++++++++++++ bestsub/1.1.1/docker-compose.yml | 20 + bestsub/README.md | 160 +++++ bestsub/data.yml | 31 + bestsub/logo.png | Bin 0 -> 7112 bytes 6 files changed, 1466 insertions(+) create mode 100644 bestsub/1.1.1/data.yml create mode 100644 bestsub/1.1.1/data/kvrocks.conf create mode 100644 bestsub/1.1.1/docker-compose.yml create mode 100644 bestsub/README.md create mode 100644 bestsub/data.yml create mode 100644 bestsub/logo.png diff --git a/bestsub/1.1.1/data.yml b/bestsub/1.1.1/data.yml new file mode 100644 index 000000000..2d9daa922 --- /dev/null +++ b/bestsub/1.1.1/data.yml @@ -0,0 +1,170 @@ +additionalProperties: + formFields: + # HTTP 端口 + - default: 32094 + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + label: + en: HTTP Port + ja: HTTPポート + ms: Port HTTP + pt-br: Porta HTTP + ru: HTTP порт + ko: HTTP 포트 + zh: HTTP 端口 + zh-Hant: HTTP 連接埠 + required: true + rule: paramPort + type: number + + # 管理员账号 + - default: admin + envKey: MOONTV_ADMIN_USER + labelEn: Admin Username + labelZh: 管理员用户名 + label: + en: Admin Username + ja: 管理者ユーザー名 + ms: Nama Pengguna Admin + pt-br: Nome de Usuário Admin + ru: Имя пользователя администратора + ko: 관리자 사용자 이름 + zh: 管理员用户名 + zh-Hant: 管理員用戶名 + required: true + type: text + + # 管理员密码 + - default: "password" + envKey: MOONTV_ADMIN_PASSWORD + labelEn: Admin Password + labelZh: 管理员密码 + label: + en: Admin Password + ja: 管理者パスワード + ms: Kata Laluan Admin + pt-br: Senha do Administrador + ru: Пароль администратора + ko: 관리자 비밀번호 + zh: 管理员密码 + zh-Hant: 管理員密碼 + required: true + random: true + type: password + + # 是否开启注册 + - default: 启用 + envKey: MOONTV_ENABLE_REGISTER + required: true + type: select + label: + en: Enable Registration + ja: 登録を有効にする + ms: Dayakan Pendaftaran + pt-br: Habilitar Registro + ru: Включить регистрацию + ko: 회원가입 활성화 + zh: 启用注册 + zh-Hant: 啟用註冊 + values: + - label: 启用 + value: "true" + - label: 禁用 + value: "false" + + # 站点名称 + - default: MoonTV + envKey: MOONTV_SITE_NAME + labelEn: Site Name + labelZh: 站点名称 + label: + en: Site Name + ja: サイト名 + ms: Nama Laman + pt-br: Nome do Site + ru: Название сайта + ko: 사이트 이름 + zh: 站点名称 + zh-Hant: 網站名稱 + required: false + type: text + + # 站点公告 + - default: 本网站仅提供影视信息搜索服务,所有内容均来自第三方网站。本站不存储任何视频资源,不对任何内容的准确性、合法性、完整性负责。 + envKey: MOONTV_ANNOUNCEMENT + labelEn: Announcement + labelZh: 站点公告 + label: + en: Announcement + ja: お知らせ + ms: Pengumuman + pt-br: Anúncio + ru: Объявление + ko: 공지사항 + zh: 站点公告 + zh-Hant: 網站公告 + required: false + type: text + + # 存储类型选择 + - default: kvrocks + envKey: MOONTV_STORAGE_TYPE + labelEn: Storage Type + labelZh: 存储类型 + label: + en: Storage Type + ja: ストレージタイプ + ms: Jenis Stor + pt-br: Tipo de Armazenamento + ru: Тип хранилища + ko: 저장소 유형 + zh: 存储类型 + zh-Hant: 儲存類型 + required: true + type: select + values: + - label: kvrocks + value: kvrocks + - label: redis + value: redis + + # Kvrocks URL(可选) + - default: "" + envKey: KVROCKS_CONNECT_URL + labelEn: Kvrocks URL + labelZh: Kvrocks 连接 URL + label: + en: Kvrocks URL + ja: Kvrocks 接続 URL + ms: Kvrocks URL Sambungan + pt-br: URL Kvrocks + ru: URL подключения Kvrocks + ko: Kvrocks URL + zh: Kvrocks 连接 URL + zh-Hant: Kvrocks 連接 URL + required: false + type: text + dependsOn: + envKey: MOONTV_STORAGE_TYPE + value: kvrocks + + # Redis URL(可选) + - default: "" + envKey: REDIS_CONNECT_URL + labelEn: Redis URL + labelZh: Redis 连接 URL + label: + en: Redis URL + ja: Redis 接続 URL + ms: Redis URL Sambungan + pt-br: URL Redis + ru: URL подключения Redis + ko: Redis URL + zh: Redis 连接 URL + zh-Hant: Redis 連接 URL + required: false + type: text + dependsOn: + envKey: MOONTV_STORAGE_TYPE + value: redis \ No newline at end of file diff --git a/bestsub/1.1.1/data/kvrocks.conf b/bestsub/1.1.1/data/kvrocks.conf new file mode 100644 index 000000000..b69e2640a --- /dev/null +++ b/bestsub/1.1.1/data/kvrocks.conf @@ -0,0 +1,1085 @@ +################################ GENERAL ##################################### + +# By default kvrocks listens for connections from localhost interface. +# It is possible to listen to just one or multiple interfaces using +# the "bind" configuration directive, followed by one or more IP addresses. +# +# Examples: +# +# bind 192.168.1.100 10.0.0.1 +# bind 127.0.0.1 ::1 +# bind 0.0.0.0 +bind 127.0.0.1 + +# Unix socket. +# +# Specify the path for the unix socket that will be used to listen for +# incoming connections. There is no default, so kvrocks will not listen +# on a unix socket when not specified. +# +# unixsocket /tmp/kvrocks.sock +# unixsocketperm 777 + +# Allows a parent process to open a socket and pass its FD down to kvrocks as a child +# process. Useful to reserve a port and prevent race conditions. +# +# PLEASE NOTE: +# If this is overridden to a value other than -1, the bind and tls* directives will be +# ignored. +# +# Default: -1 (not overridden, defer to creating a connection to the specified port) +socket-fd -1 + +# Accept connections on the specified port, default is 6666. +port 6666 + +# Close the connection after a client is idle for N seconds (0 to disable) +timeout 0 + +# The number of worker's threads, increase or decrease would affect the performance. +workers 8 + +# By default, kvrocks does not run as a daemon. Use 'yes' if you need it. +# It will create a PID file when daemonize is enabled, and its path is specified by pidfile. +daemonize no + +# Kvrocks implements the cluster solution that is similar to the Redis cluster solution. +# You can get cluster information by CLUSTER NODES|SLOTS|INFO command, it also is +# adapted to redis-cli, redis-benchmark, Redis cluster SDK, and Redis cluster proxy. +# But kvrocks doesn't support communicating with each other, so you must set +# cluster topology by CLUSTER SETNODES|SETNODEID commands, more details: #219. +# +# PLEASE NOTE: +# If you enable cluster, kvrocks will encode key with its slot id calculated by +# CRC16 and modulo 16384, encoding key with its slot id makes it efficient to +# migrate keys based on the slot. So if you enabled at first time, cluster mode must +# not be disabled after restarting, and vice versa. That is to say, data is not +# compatible between standalone mode with cluster mode, you must migrate data +# if you want to change mode, otherwise, kvrocks will make data corrupt. +# +# Default: no + +cluster-enabled no + +# By default, namespaces are stored in the configuration file and won't be replicated +# to replicas. This option allows to change this behavior, so that namespaces are also +# propagated to slaves. Note that: +# 1) it won't replicate the 'masterauth' to prevent breaking master/replica replication +# 2) it will overwrite replica's namespace with master's namespace, so be careful of in-using namespaces +# 3) cannot switch off the namespace replication once it's enabled +# +# Default: no +repl-namespace-enabled no + +# By default, the max length of bulk string is limited to 512MB. If you want to +# change this limit to a different value(must >= 1MiB), you can use the following configuration. +# It can be just an integer (e.g. 10000000), or an integer followed by a unit (e.g. 12M, 7G, 2T). +# +# proto-max-bulk-len 536870912 + +# Persist the cluster nodes topology in local file($dir/nodes.conf). This configuration +# takes effect only if the cluster mode was enabled. +# +# If yes, it will try to load the cluster topology from the local file when starting, +# and dump the cluster nodes into the file if it was changed. +# +# Default: yes +persist-cluster-nodes-enabled yes + +# Set the max number of connected clients at the same time. By default +# this limit is set to 10000 clients. However, if the server is not +# able to configure the process file limit to allow for the specified limit +# the max number of allowed clients is set to the current file limit +# +# Once the limit is reached the server will close all the new connections sending +# an error 'max number of clients reached'. +# +maxclients 10000 + +# Require clients to issue AUTH before processing any other +# commands. This might be useful in environments in which you do not trust +# others with access to the host running kvrocks. +# +# This should stay commented out for backward compatibility and because most +# people do not need auth (e.g. they run their own servers). +# +# Warning: since kvrocks is pretty fast an outside user can try up to +# 150k passwords per second against a good box. This means that you should +# use a very strong password otherwise it will be very easy to break. +# +# requirepass foobared + +# If the master is password protected (using the "masterauth" configuration +# directive below) it is possible to tell the slave to authenticate before +# starting the replication synchronization process. Otherwise, the master will +# refuse the slave request. +# +# masterauth foobared + +# Master-Salve replication would check db name is matched. if not, the slave should +# refuse to sync the db from master. Don't use the default value, set the db-name to identify +# the cluster. +db-name change.me.db + +# The working directory +# +# The DB will be written inside this directory +# Note that you must specify a directory here, not a file name. +dir /tmp/kvrocks + +# You can configure where to store your server logs by the log-dir. +# If you don't specify one, we will use the above `dir` and +# also stdout as our default log directory, e.g. `/tmp/kvrocks,stdout`. +# `log-dir` can contain multiple destinations, separated by comma (,). +# And every destination can be optionally followed by a corresponding log level, +# separated by colon (:), e.g. `/tmp/my-log-dir:info,stdout:warning,stderr:error`. +# If no log level attached with a destination, +# the config option `log-level` will be used. +# +# log-dir /tmp/kvrocks,stdout + +# Log level +# Possible values: debug, info, warning, error, fatal +# Default: info +log-level info + +# You can configure log-retention-days to control whether to enable the log cleaner +# and the maximum retention days that the INFO level logs will be kept. +# +# if set to negative or 0, that means to disable the log cleaner. +# if set to between 1 to INT_MAX, +# that means it will retent latest N(log-retention-days) day logs. + +# By default the log-retention-days is -1. +log-retention-days -1 + +# When running in daemonize mode, kvrocks writes a PID file in ${CONFIG_DIR}/kvrocks.pid by +# default. You can specify a custom pid file location here. +# pidfile /var/run/kvrocks.pid + +# You can configure a slave instance to accept writes or not. Writing against +# a slave instance may be useful to store some ephemeral data (because data +# written on a slave will be easily deleted after resync with the master) but +# may also cause problems if clients are writing to it because of a +# misconfiguration. +slave-read-only yes + +# The slave priority is an integer number published by Kvrocks in the INFO output. +# It is used by Redis Sentinel in order to select a slave to promote into a +# master if the master is no longer working correctly. +# +# A slave with a low priority number is considered better for promotion, so +# for instance if there are three slave with priority 10, 100, 25 Sentinel will +# pick the one with priority 10, that is the lowest. +# +# However a special priority of 0 marks the replica as not able to perform the +# role of master, so a slave with priority of 0 will never be selected by +# Redis Sentinel for promotion. +# +# By default the priority is 100. +slave-priority 100 + +# Change the default timeout in milliseconds for socket connect during replication. +# The default value is 3100, and 0 means no timeout. +# +# If the master is unreachable before connecting, not having a timeout may block future +# 'clusterx setnodes' commands because the replication thread is blocked on connect. +replication-connect-timeout-ms 3100 + +# Change the default timeout in milliseconds for socket recv during fullsync. +# The default value is 3200, and 0 means no timeout. +# +# If the master is unreachable when fetching SST files, not having a timeout may block +# future 'clusterx setnodes' commands because the replication thread is blocked on recv. +replication-recv-timeout-ms 3200 + +# TCP listen() backlog. +# +# In high requests-per-second environments you need an high backlog in order +# to avoid slow clients connections issues. Note that the Linux kernel +# will silently truncate it to the value of /proc/sys/net/core/somaxconn so +# make sure to raise both the value of somaxconn and tcp_max_syn_backlog +# in order to Get the desired effect. +tcp-backlog 511 + +# If the master is an old version, it may have specified replication threads +# that use 'port + 1' as listening port, but in new versions, we don't use +# extra port to implement replication. In order to allow the new replicas to +# copy old masters, you should indicate that the master uses replication port +# or not. +# If yes, that indicates master uses replication port and replicas will connect +# to 'master's listening port + 1' when synchronization. +# If no, that indicates master doesn't use replication port and replicas will +# connect 'master's listening port' when synchronization. +master-use-repl-port no + +# Currently, master only checks sequence number when replica asks for PSYNC, +# that is not enough since they may have different replication histories even +# the replica asking sequence is in the range of the master current WAL. +# +# We design 'Replication Sequence ID' PSYNC, we add unique replication id for +# every write batch (the operation of each command on the storage engine), so +# the combination of replication id and sequence is unique for write batch. +# The master can identify whether the replica has the same replication history +# by checking replication id and sequence. +# +# By default, it is not enabled since this stricter check may easily lead to +# full synchronization. +use-rsid-psync no + +# Master-Slave replication. Use slaveof to make a kvrocks instance a copy of +# another kvrocks server. A few things to understand ASAP about kvrocks replication. +# +# 1) Kvrocks replication is asynchronous, but you can configure a master to +# stop accepting writes if it appears to be not connected with at least +# a given number of slaves. +# 2) Kvrocks slaves are able to perform a partial resynchronization with the +# master if the replication link is lost for a relatively small amount of +# time. You may want to configure the replication backlog size (see the next +# sections of this file) with a sensible value depending on your needs. +# 3) Replication is automatic and does not need user intervention. After a +# network partition slaves automatically try to reconnect to masters +# and resynchronize with them. +# +# slaveof +# slaveof 127.0.0.1 6379 + +# When a slave loses its connection with the master, or when the replication +# is still in progress, the slave can act in two different ways: +# +# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will +# still reply to client requests, possibly with out-of-date data, or the +# data set may just be empty if this is the first synchronization. +# +# 2) if slave-serve-stale-data is set to 'no' the slave will reply with +# an error "SYNC with master in progress" to all kinds of commands +# but to INFO and SLAVEOF. +# +slave-serve-stale-data yes + +# To guarantee slave's data safe and serve when it is in full synchronization +# state, slave still keep itself data. But this way needs to occupy much disk +# space, so we provide a way to reduce disk occupation, slave will delete itself +# entire database before fetching files from master during full synchronization. +# If you want to enable this way, you can set 'slave-delete-db-before-fullsync' +# to yes, but you must know that database will be lost if master is down during +# full synchronization, unless you have a backup of database. +# +# This option is similar redis replicas RDB diskless load option: +# repl-diskless-load on-empty-db +# +# Default: no +slave-empty-db-before-fullsync no + +# A Kvrocks master is able to list the address and port of the attached +# replicas in different ways. For example the "INFO replication" section +# offers this information, which is used, among other tools, by +# Redis Sentinel in order to discover replica instances. +# Another place where this info is available is in the output of the +# "ROLE" command of a master. +# +# The listed IP address and port normally reported by a replica is +# obtained in the following way: +# +# IP: The address is auto detected by checking the peer address +# of the socket used by the replica to connect with the master. +# +# Port: The port is communicated by the replica during the replication +# handshake, and is normally the port that the replica is using to +# listen for connections. +# +# However when port forwarding or Network Address Translation (NAT) is +# used, the replica may actually be reachable via different IP and port +# pairs. The following two options can be used by a replica in order to +# report to its master a specific set of IP and port, so that both INFO +# and ROLE will report those values. +# +# There is no need to use both the options if you need to override just +# the port or the IP address. +# +# replica-announce-ip 5.5.5.5 +# replica-announce-port 1234 + +# If replicas need full synchronization with master, master need to create +# checkpoint for feeding replicas, and replicas also stage a checkpoint of +# the master. If we also keep the backup, it maybe occupy extra disk space. +# You can enable 'purge-backup-on-fullsync' if disk is not sufficient, but +# that may cause remote backup copy failing. +# +# Default: no +purge-backup-on-fullsync no + +# The maximum allowed rate (in MB/s) that should be used by replication. +# If the rate exceeds max-replication-mb, replication will slow down. +# Default: 0 (i.e. no limit) +max-replication-mb 0 + +# The maximum allowed aggregated write rate of flush and compaction (in MB/s). +# If the rate exceeds max-io-mb, io will slow down. +# 0 is no limit +# Default: 0 +max-io-mb 0 + +# Whether to cache blob files within the block cache. +# Default: no +enable-blob-cache no + +# The maximum allowed space (in GB) that should be used by RocksDB. +# If the total size of the SST files exceeds max_allowed_space, writes to RocksDB will fail. +# Please see: https://github.com/facebook/rocksdb/wiki/Managing-Disk-Space-Utilization +# Default: 0 (i.e. no limit) +max-db-size 0 + +# The maximum backup to keep, server cron would run every minutes to check the num of current +# backup, and purge the old backup if exceed the max backup num to keep. If max-backup-to-keep +# is 0, no backup would be kept. But now, we only support 0 or 1. +max-backup-to-keep 1 + +# The maximum hours to keep the backup. If max-backup-keep-hours is 0, wouldn't purge any backup. +# default: 1 day +max-backup-keep-hours 24 + +# max-bitmap-to-string-mb use to limit the max size of bitmap to string transformation(MB). +# +# Default: 16 +max-bitmap-to-string-mb 16 + +# Whether to enable SCAN-like cursor compatible with Redis. +# If enabled, the cursor will be unsigned 64-bit integers. +# If disabled, the cursor will be a string. +# Default: yes +redis-cursor-compatible yes + +# Whether to enable the RESP3 protocol. +# +# Default: yes +# resp3-enabled yes + +# Maximum nesting depth allowed when parsing and serializing +# JSON documents while using JSON commands like JSON.SET. +# Default: 1024 +json-max-nesting-depth 1024 + +# The underlying storage format of JSON data type +# NOTE: This option only affects newly written/updated key-values +# The CBOR format may reduce the storage size and speed up JSON commands +# Available values: json, cbor +# Default: json +json-storage-format json + +# Whether to enable transactional mode engine::Context. +# +# If enabled, is_txn_mode in engine::Context will be set properly, +# which is expected to improve the consistency of commands. +# If disabled, is_txn_mode in engine::Context will be set to false, +# making engine::Context equivalent to engine::Storage. +# +# NOTE: This is an experimental feature. If you find errors, performance degradation, +# excessive memory usage, excessive disk I/O, etc. after enabling it, please try disabling it. +# At the same time, we welcome feedback on related issues to help iterative improvements. +# +# Default: no +txn-context-enabled no + +# Define the histogram bucket values. +# +# If enabled, those values will be used to store the command execution latency values +# in buckets defined below. The values should be integers and must be sorted. +# An implicit bucket (+Inf in prometheus jargon) will be added to track the highest values +# that are beyond the bucket limits. + +# NOTE: This is an experimental feature. There might be some performance overhead when using this +# feature, please be aware. +# Default: disabled +# histogram-bucket-boundaries 10,20,40,60,80,100,150,250,350,500,750,1000,1500,2000,4000,8000 + +################################## TLS ################################### + +# By default, TLS/SSL is disabled, i.e. `tls-port` is set to 0. +# To enable it, `tls-port` can be used to define TLS-listening ports. +# tls-port 0 + +# Configure a X.509 certificate and private key to use for authenticating the +# server to connected clients, masters or cluster peers. +# These files should be PEM formatted. +# +# tls-cert-file kvrocks.crt +# tls-key-file kvrocks.key + +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-key-file-pass secret + +# Configure a CA certificate(s) bundle or directory to authenticate TLS/SSL +# clients and peers. Kvrocks requires an explicit configuration of at least one +# of these, and will not implicitly use the system wide configuration. +# +# tls-ca-cert-file ca.crt +# tls-ca-cert-dir /etc/ssl/certs + +# By default, clients on a TLS port are required +# to authenticate using valid client side certificates. +# +# If "no" is specified, client certificates are not required and not accepted. +# If "optional" is specified, client certificates are accepted and must be +# valid if provided, but are not required. +# +# tls-auth-clients no +# tls-auth-clients optional + +# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended +# that older formally deprecated versions are kept disabled to reduce the attack surface. +# You can explicitly specify TLS versions to support. +# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", +# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. +# To enable only TLSv1.2 and TLSv1.3, use: +# +# tls-protocols "TLSv1.2 TLSv1.3" + +# Configure allowed ciphers. See the ciphers(1ssl) manpage for more information +# about the syntax of this string. +# +# Note: this configuration applies only to <= TLSv1.2. +# +# tls-ciphers DEFAULT:!MEDIUM + +# Configure allowed TLSv1.3 ciphersuites. See the ciphers(1ssl) manpage for more +# information about the syntax of this string, and specifically for TLSv1.3 +# ciphersuites. +# +# tls-ciphersuites TLS_CHACHA20_POLY1305_SHA256 + +# When choosing a cipher, use the server's preference instead of the client +# preference. By default, the server follows the client's preference. +# +# tls-prefer-server-ciphers yes + +# By default, TLS session caching is enabled to allow faster and less expensive +# reconnections by clients that support it. Use the following directive to disable +# caching. +# +# tls-session-caching no + +# Change the default number of TLS sessions cached. A zero value sets the cache +# to unlimited size. The default size is 20480. +# +# tls-session-cache-size 5000 + +# Change the default timeout of cached TLS sessions. The default timeout is 300 +# seconds. +# +# tls-session-cache-timeout 60 + +# By default, a replica does not attempt to establish a TLS connection +# with its master. +# +# Use the following directive to enable TLS on replication links. +# +# tls-replication yes + +################################## SLOW LOG ################################### + +# The Kvrocks Slow Log is a mechanism to log queries that exceeded a specified +# execution time. The execution time does not include the I/O operations +# like talking with the client, sending the reply and so forth, +# but just the time needed to actually execute the command (this is the only +# stage of command execution where the thread is blocked and can not serve +# other requests in the meantime). +# +# You can configure the slow log with two parameters: one tells Kvrocks +# what is the execution time, in microseconds, to exceed in order for the +# command to get logged, and the other parameter is the length of the +# slow log. When a new command is logged the oldest one is removed from the +# queue of logged commands. + +# The following time is expressed in microseconds, so 1000000 is equivalent +# to one second. Note that -1 value disables the slow log, while +# a value of zero forces the logging of every command. +slowlog-log-slower-than 100000 + +# There is no limit to this length. Just be aware that it will consume memory. +# You can reclaim memory used by the slow log with SLOWLOG RESET. +slowlog-max-len 128 + +# Dump slow logs to logfiles with this level, off means don't dump. +# Possible values: info, warning, off +# Default: off +slowlog-dump-logfile-level off + +# If you run kvrocks from upstart or systemd, kvrocks can interact with your +# supervision tree. Options: +# supervised no - no supervision interaction +# supervised upstart - signal upstart by putting kvrocks into SIGSTOP mode +# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET +# supervised auto - detect upstart or systemd method based on +# UPSTART_JOB or NOTIFY_SOCKET environment variables +# Note: these supervision methods only signal "process is ready." +# They do not enable continuous liveness pings back to your supervisor. +supervised no + +################################## PERF LOG ################################### + +# The Kvrocks Perf Log is a mechanism to log queries' performance context that +# exceeded a specified execution time. This mechanism uses rocksdb's +# Perf Context and IO Stats Context, Please see: +# https://github.com/facebook/rocksdb/wiki/Perf-Context-and-IO-Stats-Context +# +# This mechanism is enabled when profiling-sample-commands is not empty and +# profiling-sample-ratio greater than 0. +# It is important to note that this mechanism affects performance, but it is +# useful for troubleshooting performance bottlenecks, so it should only be +# enabled when performance problems occur. + +# The name of the commands you want to record. Must be original name of +# commands supported by Kvrocks. Use ',' to separate multiple commands and +# use '*' to record all commands supported by Kvrocks. +# Example: +# - Single command: profiling-sample-commands get +# - Multiple commands: profiling-sample-commands get,mget,hget +# +# Default: empty +# profiling-sample-commands "" + +# Ratio of the samples would be recorded. It is a number between 0 and 100. +# We simply use the rand to determine whether to record the sample or not. +# +# Default: 0 +profiling-sample-ratio 0 + +# There is no limit to this length. Just be aware that it will consume memory. +# You can reclaim memory used by the perf log with PERFLOG RESET. +# +# Default: 256 +profiling-sample-record-max-len 256 + +# profiling-sample-record-threshold-ms use to tell the kvrocks when to record. +# +# Default: 100 millisecond +profiling-sample-record-threshold-ms 100 + +################################## CRON ################################### + +# Compact Scheduler, auto compact at schedule time +# Time expression format is the same as crontab (supported cron syntax: *, n, */n, `1,3-6,9,11`) +# e.g. compact-cron 0 3,4 * * * +# would compact the db at 3am and 4am everyday +# compact-cron 0 3 * * * + +# The hour range that compaction checker would be active +# e.g. compaction-checker-range 0-7 means compaction checker would be worker between +# 0-7am every day. +# WARNING: this config option is deprecated and will be removed, +# please use compaction-checker-cron instead +# compaction-checker-range 0-7 + +# The time pattern that compaction checker would be active +# Time expression format is the same as crontab (supported cron syntax: *, n, */n, `1,3-6,9,11`) +# e.g. compaction-checker-cron * 0-7 * * * means compaction checker would be worker between +# 0-7am every day. +compaction-checker-cron * 0-7 * * * + +# When the compaction checker is triggered, the db will periodically pick the SST file +# with the highest "deleted percentage" (i.e. the percentage of deleted keys in the SST +# file) to compact, in order to free disk space. +# However, if a specific SST file was created more than "force-compact-file-age" seconds +# ago, and its percentage of deleted keys is higher than +# "force-compact-file-min-deleted-percentage", it will be forcibly compacted as well. + +# Default: 172800 seconds; Range: [60, INT64_MAX]; +# force-compact-file-age 172800 +# Default: 10 %; Range: [1, 100]; +# force-compact-file-min-deleted-percentage 10 + +# Bgsave scheduler, auto bgsave at scheduled time +# Time expression format is the same as crontab (supported cron syntax: *, n, */n, `1,3-6,9,11`) +# e.g. bgsave-cron 0 3,4 * * * +# would bgsave the db at 3am and 4am every day + +# Kvrocks doesn't store the key number directly. It needs to scan the DB and +# then retrieve the key number by using the dbsize scan command. +# The Dbsize scan scheduler auto-recalculates the estimated keys at scheduled time. +# Time expression format is the same as crontab (supported cron syntax: *, n, */n, `1,3-6,9,11`) +# e.g. dbsize-scan-cron 0 * * * * +# would recalculate the keyspace infos of the db every hour. + +# Command renaming. +# +# It is possible to change the name of dangerous commands in a shared +# environment. For instance, the KEYS command may be renamed into something +# hard to guess so that it will still be available for internal-use tools +# but not available for general clients. +# +# Example: +# +# rename-command KEYS b840fc02d524045429941cc15f59e41cb7be6c52 +# +# It is also possible to completely kill a command by renaming it into +# an empty string: +# +# rename-command KEYS "" + +################################ MIGRATE ##################################### +# Slot migration supports two ways: +# - redis-command: Migrate data by redis serialization protocol(RESP). +# - raw-key-value: Migrate the raw key value data of the storage engine directly. +# This way eliminates the overhead of converting to the redis +# command, reduces resource consumption, improves migration +# efficiency, and can implement a finer rate limit. +# +# Default: raw-key-value +migrate-type raw-key-value + +# If the network bandwidth is completely consumed by the migration task, +# it will affect the availability of kvrocks. To avoid this situation, +# migrate-speed is adopted to limit the migrating speed. +# Migrating speed is limited by controlling the duration between sending data, +# the duration is calculated by: 1000000 * migrate-pipeline-size / migrate-speed (us). +# Value: [0,INT_MAX], 0 means no limit +# +# Default: 4096 +migrate-speed 4096 + +# In order to reduce data transmission times and improve the efficiency of data migration, +# pipeline is adopted to send multiple data at once. Pipeline size can be set by this option. +# Value: [1, INT_MAX], it can't be 0 +# +# Default: 16 +migrate-pipeline-size 16 + +# In order to reduce the write forbidden time during migrating slot, we will migrate the incremental +# data several times to reduce the amount of incremental data. Until the quantity of incremental +# data is reduced to a certain threshold, slot will be forbidden write. The threshold is set by +# this option. +# Value: [1, INT_MAX], it can't be 0 +# +# Default: 10000 +migrate-sequence-gap 10000 + +# The raw-key-value migration way uses batch for migration. This option sets the batch size +# for each migration. +# +# Default: 16kb +migrate-batch-size-kb 16 + +# Rate limit for migration based on raw-key-value, representing the maximum number of data +# that can be migrated per second. 0 means no limit. +# +# Default: 16M +migrate-batch-rate-limit-mb 16 + + +# If it is set to yes, kvrocks will skip the deallocation of block cache +# while closing the database to speed up the shutdown +# +# Default: no +# skip-block-cache-deallocation-on-close no + +################################ ROCKSDB ##################################### + +# Specify the capacity of column family block cache. A larger block cache +# may make requests faster while more keys would be cached. Max Size is 400*1024. +# Default: 4096MB +rocksdb.block_cache_size 4096 + +# Specify the type of cache used in the block cache. +# Accept value: "lru", "hcc" +# "lru" stands for the cache with the LRU(Least Recently Used) replacement policy. +# +# "hcc" stands for the Hyper Clock Cache, a lock-free cache alternative +# that offers much improved CPU efficiency vs. LRU cache under high parallel +# load or high contention. +# +# default lru +rocksdb.block_cache_type lru + +# Number of open files that can be used by the DB. You may need to +# increase this if your database has a large working set. Value -1 means +# files opened are always kept open. You can estimate number of files based +# on target_file_size_base and target_file_size_multiplier for level-based +# compaction. For universal-style compaction, you can usually set it to -1. +# Default: 8096 +rocksdb.max_open_files 8096 + +# Amount of data to build up in memory (backed by an unsorted log +# on disk) before converting to a sorted on-disk file. +# +# Larger values increase performance, especially during bulk loads. +# Up to max_write_buffer_number write buffers may be held in memory +# at the same time, +# so you may wish to adjust this parameter to control memory usage. +# Also, a larger write buffer will result in a longer recovery time +# the next time the database is opened. +# +# Note that write_buffer_size is enforced per column family. +# See db_write_buffer_size for sharing memory across column families. + +# default is 64MB +rocksdb.write_buffer_size 64 + +# Target file size for compaction, target file size for Level N can be calculated +# by target_file_size_base * (target_file_size_multiplier ^ (L-1)) +# +# Default: 128MB +rocksdb.target_file_size_base 128 + +# The maximum number of write buffers that are built up in memory. +# The default and the minimum number is 2, so that when 1 write buffer +# is being flushed to storage, new writes can continue to the other +# write buffer. +# If max_write_buffer_number > 3, writing will be slowed down to +# options.delayed_write_rate if we are writing to the last write buffer +# allowed. +rocksdb.max_write_buffer_number 4 + +# The minimum number of write buffers that will be merged together +# during compaction. +# +# Default: 1 +rocksdb.min_write_buffer_number_to_merge 1 + + +# Maximum number of concurrent background jobs (compactions and flushes). +# For backwards compatibility we will set `max_background_jobs = +# max_background_compactions + max_background_flushes` in the case where user +# sets at least one of `max_background_compactions` or `max_background_flushes` +# (we replace -1 by 1 in case one option is unset). +rocksdb.max_background_jobs 4 + +# DEPRECATED: it is automatically decided based on the value of rocksdb.max_background_jobs +# Maximum number of concurrent background compaction jobs, submitted to +# the default LOW priority thread pool. +rocksdb.max_background_compactions -1 + +# DEPRECATED: it is automatically decided based on the value of rocksdb.max_background_jobs +# Maximum number of concurrent background memtable flush jobs, submitted by +# default to the HIGH priority thread pool. If the HIGH priority thread pool +# is configured to have zero threads, flush jobs will share the LOW priority +# thread pool with compaction jobs. +rocksdb.max_background_flushes -1 + +# This value represents the maximum number of threads that will +# concurrently perform a compaction job by breaking it into multiple, +# smaller ones that are run simultaneously. +# Default: 2 +rocksdb.max_subcompactions 2 + +# If enabled WAL records will be compressed before they are written. Only +# ZSTD (= kZSTD) is supported (until streaming support is adapted for other +# compression types). Compressed WAL records will be read in supported +# versions (>= RocksDB 7.4.0 for ZSTD) regardless of this setting when +# the WAL is read. +# +# Accept value: "no", "zstd" +# Default is no +rocksdb.wal_compression no + +# In order to limit the size of WALs, RocksDB uses DBOptions::max_total_wal_size +# as the trigger of column family flush. Once WALs exceed this size, RocksDB +# will start forcing the flush of column families to allow deletion of some +# oldest WALs. This config can be useful when column families are updated at +# non-uniform frequencies. If there's no size limit, users may need to keep +# really old WALs when the infrequently-updated column families hasn't flushed +# for a while. +# +# In kvrocks, we use multiple column families to store metadata, subkeys, etc. +# If users always use string type, but use list, hash and other complex data types +# infrequently, there will be a lot of old WALs if we don't set size limit +# (0 by default in rocksdb), because rocksdb will dynamically choose the WAL size +# limit to be [sum of all write_buffer_size * max_write_buffer_number] * 4 if set to 0. +# +# Moreover, you should increase this value if you already set rocksdb.write_buffer_size +# to a big value, to avoid influencing the effect of rocksdb.write_buffer_size and +# rocksdb.max_write_buffer_number. +# +# default is 512MB +rocksdb.max_total_wal_size 512 + +# Whether to print malloc stats together with rocksdb.stats when printing to LOG. +# +# Accepted values: "yes", "no" +# Default: yes +rocksdb.dump_malloc_stats yes + +# We implement the replication with rocksdb WAL, it would trigger full sync when the seq was out of range. +# wal_ttl_seconds and wal_size_limit_mb would affect how archived logs will be deleted. +# If WAL_ttl_seconds is not 0, then WAL files will be checked every WAL_ttl_seconds / 2 and those that +# are older than WAL_ttl_seconds will be deleted# +# +# Default: 3 Hours +rocksdb.wal_ttl_seconds 10800 + +# If WAL_ttl_seconds is 0 and WAL_size_limit_MB is not 0, +# WAL files will be checked every 10 min and if total size is greater +# then WAL_size_limit_MB, they will be deleted starting with the +# earliest until size_limit is met. All empty files will be deleted +# Default: 16GB +rocksdb.wal_size_limit_mb 16384 + +# Approximate size of user data packed per block. Note that the +# block size specified here corresponds to uncompressed data. The +# actual size of the unit read from disk may be smaller if +# compression is enabled. +# +# Default: 16KB +rocksdb.block_size 16384 + +# Indicating if we'd put index/filter blocks to the block cache +# +# Default: yes +rocksdb.cache_index_and_filter_blocks yes + +# Specify the compression to use. +# Accept value: "no", "snappy", "lz4", "zstd", "zlib" +# default snappy +rocksdb.compression snappy + +# Specify the compression level to use. It trades compression speed +# and ratio, might be useful when tuning for disk space. +# See details: https://github.com/facebook/rocksdb/wiki/Space-Tuning +# For zstd: valid range is from 1 (fastest) to 19 (best ratio), +# For zlib: valid range is from 1 (fastest) to 9 (best ratio), +# For lz4: adjusting the level influences the 'acceleration'. +# RocksDB sets a negative level to indicate acceleration directly, +# with more negative values indicating higher speed and less compression. +# Note: This setting is ignored for compression algorithms like Snappy that +# do not support variable compression levels. +# +# RocksDB Default: +# - zstd: 3 +# - zlib: Z_DEFAULT_COMPRESSION (currently -1) +# - kLZ4: -1 (i.e., `acceleration=1`; see `CompressionOptions::level` doc) +# For all others, RocksDB does not specify a compression level. +# If the compression type doesn't support the setting, it will be a no-op. +# +# Default: 32767 (RocksDB's generic default compression level. Internally +# it'll be translated to the default compression level specific to the +# compression library as mentioned above) +rocksdb.compression_level 32767 + +# If non-zero, we perform bigger reads when doing compaction. If you're +# running RocksDB on spinning disks, you should set this to at least 2MB. +# That way RocksDB's compaction is doing sequential instead of random reads. +# When non-zero, we also force new_table_reader_for_compaction_inputs to +# true. +# +# Default: 2 MB +rocksdb.compaction_readahead_size 2097152 + +# Enable compression from n levels of LSM-tree. +# By default compression is disabled for the first two levels (L0 and L1), +# because it may contain the frequently accessed data, so it'd be better +# to use uncompressed data to save the CPU. +# Value: [0, 7) (upper boundary is kvrocks maximum levels number) +# +# Default: 2 +rocksdb.compression_start_level 2 + +# he limited write rate to DB if soft_pending_compaction_bytes_limit or +# level0_slowdown_writes_trigger is triggered. + +# If the value is 0, we will infer a value from `rater_limiter` value +# if it is not empty, or 16MB if `rater_limiter` is empty. Note that +# if users change the rate in `rate_limiter` after DB is opened, +# `delayed_write_rate` won't be adjusted. +# +rocksdb.delayed_write_rate 0 +# If enable_pipelined_write is true, separate write thread queue is +# maintained for WAL write and memtable write. +# +# Default: no +rocksdb.enable_pipelined_write no + +# Soft limit on number of level-0 files. We slow down writes at this point. +# A value of 0 means that no writing slowdown will be triggered by number +# of files in level-0. If this value is smaller than +# rocksdb.level0_file_num_compaction_trigger, this will be set to +# rocksdb.level0_file_num_compaction_trigger instead. +# +# Default: 20 +rocksdb.level0_slowdown_writes_trigger 20 + +# Maximum number of level-0 files. We stop writes at this point. If this value +# is smaller than rocksdb.level0_slowdown_writes_trigger, this will be set to +# rocksdb.level0_slowdown_writes_trigger instead. +# +# Default: 40 +rocksdb.level0_stop_writes_trigger 40 + +# Number of files to trigger level-0 compaction. +# +# Default: 4 +rocksdb.level0_file_num_compaction_trigger 4 + +# if not zero, dump rocksdb.stats to LOG every stats_dump_period_sec +# +# Default: 0 +rocksdb.stats_dump_period_sec 0 + +# if yes, the auto compaction would be disabled, but the manual compaction remain works +# +# Default: no +rocksdb.disable_auto_compactions no + +# BlobDB(key-value separation) is essentially RocksDB for large-value use cases. +# Since 6.18.0, The new implementation is integrated into the RocksDB core. +# When set, large values (blobs) are written to separate blob files, and only +# pointers to them are stored in SST files. This can reduce write amplification +# for large-value use cases at the cost of introducing a level of indirection +# for reads. Please see: https://github.com/facebook/rocksdb/wiki/BlobDB. +# +# Note that when enable_blob_files is set to yes, BlobDB-related configuration +# items will take effect. +# +# Default: no +rocksdb.enable_blob_files no + +# The size of the smallest value to be stored separately in a blob file. Values +# which have an uncompressed size smaller than this threshold are stored alongside +# the keys in SST files in the usual fashion. +# +# Default: 4096 byte, 0 means that all values are stored in blob files +rocksdb.min_blob_size 4096 + +# The size limit for blob files. When writing blob files, a new file is +# opened once this limit is reached. +# +# Default: 268435456 bytes +rocksdb.blob_file_size 268435456 + +# Enables garbage collection of blobs. Valid blobs residing in blob files +# older than a cutoff get relocated to new files as they are encountered +# during compaction, which makes it possible to clean up blob files once +# they contain nothing but obsolete/garbage blobs. +# See also rocksdb.blob_garbage_collection_age_cutoff below. +# +# Default: yes +rocksdb.enable_blob_garbage_collection yes + +# The percentage cutoff in terms of blob file age for garbage collection. +# Blobs in the oldest N blob files will be relocated when encountered during +# compaction, where N = (garbage_collection_cutoff/100) * number_of_blob_files. +# Note that this value must belong to [0, 100]. +# +# Default: 25 +rocksdb.blob_garbage_collection_age_cutoff 25 + + +# The purpose of the following three options are to dynamically adjust the upper limit of +# the data that each layer can store according to the size of the different +# layers of the LSM. Enabling this option will bring some improvements in +# deletion efficiency and space amplification, but it will lose a certain +# amount of read performance. +# If you want to know more details about Levels' Target Size, you can read RocksDB wiki: +# https://github.com/facebook/rocksdb/wiki/Leveled-Compaction#levels-target-size +# +# Default: yes +rocksdb.level_compaction_dynamic_level_bytes yes + +# The total file size of level-1 sst. +# +# Default: 268435456 bytes +rocksdb.max_bytes_for_level_base 268435456 + +# Multiplication factor for the total file size of L(n+1) layers. +# This option is a double type number in RocksDB, but kvrocks is +# not support the double data type number yet, so we use integer +# number instead of double currently. +# +# Default: 10 +rocksdb.max_bytes_for_level_multiplier 10 + +# This feature only takes effect in Iterators and MultiGet. +# If yes, RocksDB will try to read asynchronously and in parallel as much as possible to hide IO latency. +# In iterators, it will prefetch data asynchronously in the background for each file being iterated on. +# In MultiGet, it will read the necessary data blocks from those files in parallel as much as possible. + +# Default yes +rocksdb.read_options.async_io yes + +# If yes, the write will be flushed from the operating system +# buffer cache before the write is considered complete. +# If this flag is enabled, writes will be slower. +# If this flag is disabled, and the machine crashes, some recent +# writes may be lost. Note that if it is just the process that +# crashes (i.e., the machine does not reboot), no writes will be +# lost even if sync==false. +# +# Default: no +rocksdb.write_options.sync no + +# If yes, writes will not first go to the write ahead log, +# and the write may get lost after a crash. +# You must keep wal enabled if you use replication. +# +# Default: no +rocksdb.write_options.disable_wal no + +# If enabled and we need to wait or sleep for the write request, fails +# immediately. +# +# Default: no +rocksdb.write_options.no_slowdown no + +# If enabled, write requests are of lower priority if compaction is +# behind. In this case, no_slowdown = true, the request will be canceled +# immediately. Otherwise, it will be slowed down. +# The slowdown value is determined by RocksDB to guarantee +# it introduces minimum impacts to high priority writes. +# +# Default: no +rocksdb.write_options.low_pri no + +# If enabled, this writebatch will maintain the last insert positions of each +# memtable as hints in concurrent write. It can improve write performance +# in concurrent writes if keys in one writebatch are sequential. +# +# Default: no +rocksdb.write_options.memtable_insert_hint_per_batch no + + +# Support RocksDB auto-tune rate limiter for the background IO +# if enabled, Rate limiter will limit the compaction write if flush write is high +# Please see https://rocksdb.org/blog/2017/12/18/17-auto-tuned-rate-limiter.html +# +# Default: yes +rocksdb.rate_limiter_auto_tuned yes + +# If enabled, rocksdb will use partitioned full filters for each SST file. +# +# Default: yes +rocksdb.partition_filters yes + +# Enable this option will schedule the deletion of obsolete files in a background thread +# on iterator destruction. It can reduce the latency if there are many files to be removed. +# see https://github.com/facebook/rocksdb/wiki/IO#avoid-blocking-io +# +# Default: yes +# rocksdb.avoid_unnecessary_blocking_io yes + +# Specifies the maximum size in bytes for a write batch in RocksDB. +# If set to 0, there is no size limit for write batches. +# This option can help control memory usage and manage large WriteBatch operations more effectively. +# +# Default: 0 +# rocksdb.write_options.write_batch_max_bytes 0 + +# RocksDB will try to limit number of bytes in one compaction to be lower than this threshold. +# If set to 0, it will be sanitized to [25 * target_file_size_base] +# +# Default: 0 +rocksdb.max_compaction_bytes 0 + +# Set the delete rate limit in bytes per second for SST files deletion. +# zero means disable delete rate limiting and delete files immediately. +# In scenarios involving frequent database iterations (e.g., HGETALL, SCAN) obsolete WAL files +# may be deleted synchronously, causing latency spikes. Enabling this option activates a +# controlled slow deletion mechanism, which also resolves WAL deletion latency issues when +# an iterator is released. +# see https://github.com/facebook/rocksdb/wiki/Slow-Deletion +# +# Default: 0 +rocksdb.sst_file_delete_rate_bytes_per_sec 0 + +################################ NAMESPACE ##################################### +# namespace.test change.me diff --git a/bestsub/1.1.1/docker-compose.yml b/bestsub/1.1.1/docker-compose.yml new file mode 100644 index 000000000..a367dece3 --- /dev/null +++ b/bestsub/1.1.1/docker-compose.yml @@ -0,0 +1,20 @@ +services: + moontv: + image: bestrui/bestsub:v1.1.1 + container_name: ${CONTAINER_NAME} + restart: always + + labels: + createdBy: "Apps" + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + + volumes: + - ./data:/app/data + + networks: + - 1panel-network + +networks: + 1panel-network: + external: true diff --git a/bestsub/README.md b/bestsub/README.md new file mode 100644 index 000000000..fa1409917 --- /dev/null +++ b/bestsub/README.md @@ -0,0 +1,160 @@ +# BestSub + +BestSub 是一个高性能的节点检测,订阅转换服务,基于 Go 语言开发。该项目提供了完整的 Web 界面和 API 接口,支持多种检测项目,多种订阅格式转换,为用户提供便捷的订阅管理解决方案。 + +## ✨ 主要特性 + +- 🎨 **现代的 WebUI**: 提供现代化的 Web 管理界面,完善的 API 文档,方便用户自定义开发 +- ⚡ **高性能**: 并发处理,低 CPU 占用,低内存消耗,优化的资源利用率 +- 🌍 **多架构**: 支持多种系统架构和操作系统,广泛的兼容性 +- 🗂️ **节点池**: 可持久化保存历史节点,智能淘汰质量低下的节点,确保最佳体验 +- 🔄 **内置 Subconverter**: 支持各种订阅格式的输入输出转换 +- 🔧 **扩展**: 模块化设计,支持 PR 扩展新功能,仅需创建单个文件即可添加新的通知、保存或检测方式 +- 📢 **通知**: 支持多样化的通知方式和自定义通知模板,满足不同场景的消息推送需求 +- 💾 **保存**: 支持多样化的数据保存方式,灵活的数据持久化选择 +- 🔍 **检测**: 支持多样化的节点检测方式,全面的质量评估体系 + +## 🚀 快速开始 + +### 方式一:直接运行 + +1. 从 [Releases](https://github.com/bestruirui/BestSub/releases/latest) 页面下载适合您系统架构的可执行文件 +2. 直接运行程序,系统将自动: + - 创建必要的配置文件 + - 下载 WebUI + - 下载 Subconverter + +### 方式二:Docker + +```bash +docker run -d \ + --name bestsub \ + --restart unless-stopped \ + -v /path/to/data:/app/data \ + -p 8080:8080 \ + ghcr.io/bestruirui/bestsub +``` + +**参数说明:** +- `--name bestsub`: 设置容器名称 +- `--restart unless-stopped`: 容器自动重启策略 +- `-v /path/to/data:/app/data`: 数据持久化挂载(请将 `/path/to/data` 替换为您的实际路径) +- `-p 8080:8080`: 端口映射,访问地址为 `http://localhost:8080` + +### 方式三:Docker Compose + +创建 `docker-compose.yml` 文件: + +```yaml +services: + bestsub: + image: ghcr.io/bestruirui/bestsub:latest + container_name: bestsub + restart: unless-stopped + ports: + - "8080:8080" + volumes: + - ./data:/app/data +``` + +启动服务: +```bash +docker-compose up -d +``` + +## 📁 目录结构 + +程序运行后将创建以下目录结构: + +``` +bestsub/ +├── config.json # 主配置文件 +├── data/ # 数据目录 +│ └── bestsub.db # SQLite 数据库文件 +├── log/ # 日志文件目录 +├── session/ # 会话数据目录 +│ └── bestsub.session # 会话文件 +├── subconverter/ # 订阅转换器目录 +│ ├── base/ # 转换规则基础配置 +│ │ └── base/ +│ │ └── all_base.tpl +│ ├── pref.yml # 转换器配置文件 +│ └── subconverter # 转换器可执行文件 +└── ui/ # Web 界面文件 + ├── index.html # 主页面 + └── ... # 其他静态资源 +``` + +## 🛠️ 手动部署 + +当自动下载失败时,请按以下步骤手动部署: + +1. **下载 WebUI 组件** + - 访问 [BestSubOrg/Front](https://github.com/BestSubOrg/Front/releases/latest) + - 下载最新版本并解压到 `ui` 目录 + +2. **下载 Subconverter 组件** + - 访问 [BestSubOrg/subconverter](https://github.com/BestSubOrg/subconverter/releases/latest) + - 下载对应系统架构的版本并解压到 `subconverter` 目录 + +3. **验证部署** + - 确保目录结构与上述 [目录结构](#-目录结构) 章节一致 + - 重新启动程序 + +## 🔗 版本历史 + +### 当前版本 (v1.x) +- 全新的 Web 界面 +- 增强的性能和稳定性 +- 完整的容器化支持 + +### 经典版本 (v0.3.5) +- **命令行界面版本** +- **[📖 查看文档](https://github.com/bestruirui/BestSub/blob/legacy/doc/README_zh.md)** +- **[⬇️ 下载应用](https://github.com/bestruirui/BestSub/releases/tag/v0.3.5)** + + +## 🤝 贡献指南 + +我们欢迎任何形式的贡献! + +### 项目图标 +- **格式要求**: SVG 格式 +- **用途**: 项目 Logo 和品牌标识 +- **提交方式**: 创建 Issue 或 Pull Request + +### 更多功能 + +- 新的节点检测项目 +- 新的储存渠道 +- 新的通知渠道 + +### 其他贡献方式 +- 🐛 报告 Bug +- 💡 提出新功能建议 +- 📝 改进文档 +- 🧪 编写测试用例 + +## ⚠️ 免责声明 + +本项目仅供学习和研究使用。使用本软件时,请您: + +- ✅ 遵守当地法律法规和相关政策 +- ✅ 尊重网络服务提供商的使用条款 +- ✅ 承担使用本软件可能产生的一切后果和责任 +- ⚠️ 理解作者不对使用本软件造成的任何损失承担责任 + +**请在合法合规的前提下使用本软件。如果您不同意上述条款,请勿使用本软件。** + +## ❤️ 支持项目 + +如果这个项目对您有帮助,请考虑: + +- ⭐ 给项目点个 Star +- 🍴 Fork 项目并参与开发 +- 📢 向朋友推荐本项目 +- 💬 在社区中分享使用体验 + +## 📊 项目统计 + +![Repobeats analytics image](https://repobeats.axiom.co/api/embed/dfefb13ae0ed117da68382c0ed63695992826039.svg "Repobeats analytics image") diff --git a/bestsub/data.yml b/bestsub/data.yml new file mode 100644 index 000000000..91017a3bf --- /dev/null +++ b/bestsub/data.yml @@ -0,0 +1,31 @@ +name: BestSub +tags: + - 网络工具 +title: 高性能的节点检测与订阅转换服务 +description: ⚡ BestSub 是一个基于 Go 语言开发的高性能节点检测与订阅转换服务,支持现代 WebUI、API、节点池管理、内置 Subconverter、多样化检测与通知方式等功能。 +additionalProperties: + key: bestsub + name: BestSub + tags: + - Tool + shortDescZh: 高性能的节点检测与订阅转换服务 + shortDescEn: High-performance node detection and subscription conversion service + type: website + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://github.com/bestruirui/BestSub + github: https://github.com/bestruirui/BestSub + document: https://github.com/bestruirui/BestSub#readme + description: + en: ⚡ BestSub is a high-performance node detection and subscription conversion service built with Go. It provides a modern Web UI and complete API, supports multiple detection methods, subscription format conversions, persistent node pools, extensible modules, and flexible notification and storage options. + zh: ⚡ BestSub 是一个高性能的节点检测与订阅转换服务,基于 Go 语言开发。它提供现代化的 Web 管理界面与完整的 API,支持多种检测方式、订阅格式转换、节点池持久化、模块化扩展,以及灵活的通知与存储方案。 + zh-Hant: ⚡ BestSub 是一個高效能的節點檢測與訂閱轉換服務,基於 Go 語言開發。提供現代化的 Web 管理介面與完整的 API,支援多種檢測方式、訂閱格式轉換、節點池持久化、模組化擴展,以及靈活的通知與存儲方案。 + ja: ⚡ BestSub は Go で開発された高性能ノード検出およびサブスクリプション変換サービスです。最新の Web 管理画面と完全な API を提供し、複数の検出方式、サブスクリプション形式変換、ノードプールの永続化、モジュール拡張、柔軟な通知と保存方法をサポートします。 + ms: ⚡ BestSub ialah perkhidmatan pengesanan nod berprestasi tinggi dan penukaran langganan yang dibangunkan dengan Go. Ia menyediakan antara muka pengurusan Web moden dan API lengkap, menyokong pelbagai kaedah pengesanan, penukaran format langganan, kolam nod berterusan, modul boleh diperluas, serta pilihan notifikasi dan simpanan yang fleksibel. + pt-br: ⚡ BestSub é um serviço de detecção de nós e conversão de assinaturas de alto desempenho, desenvolvido em Go. Ele fornece uma interface Web moderna e API completa, suporta vários métodos de detecção, conversões de formato de assinatura, pool de nós persistente, módulos extensíveis e opções flexíveis de notificação e armazenamento. + ru: ⚡ BestSub — это высокопроизводительный сервис для проверки узлов и преобразования подписок, разработанный на Go. Он предоставляет современный веб-интерфейс и полный API, поддерживает различные методы проверки, преобразование форматов подписок, постоянные пулы узлов, модульные расширения, а также гибкие варианты уведомлений и хранения данных. + ko: ⚡ BestSub는 Go로 개발된 고성능 노드 감지 및 구독 변환 서비스입니다. 현대적인 웹 UI와 완전한 API를 제공하며, 다양한 감지 방식, 구독 형식 변환, 노드 풀 영속화, 모듈 확장, 유연한 알림 및 저장 옵션을 지원합니다. + architectures: + - amd64 + - arm64 diff --git a/bestsub/logo.png b/bestsub/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..034e494a867e6a56fb85f8afc3b727c67870fc39 GIT binary patch literal 7112 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 literal 0 HcmV?d00001 From 43370a940c60206f56962725d629008ec27a0aee Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Tue, 2 Sep 2025 19:17:37 +0800 Subject: [PATCH 021/203] =?UTF-8?q?=F0=9F=A4=A9=E4=BF=AE=E6=94=B9=E6=96=B0?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E5=AD=97=E6=AE=B5=EF=BC=8C=E5=88=A0=E6=8E=89?= =?UTF-8?q?=E5=85=B6=E4=BD=99=E6=97=A0=E7=94=A8=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/1.1.1/data.yml | 155 +---- bestsub/1.1.1/data/kvrocks.conf | 1085 ------------------------------- 2 files changed, 2 insertions(+), 1238 deletions(-) delete mode 100644 bestsub/1.1.1/data/kvrocks.conf diff --git a/bestsub/1.1.1/data.yml b/bestsub/1.1.1/data.yml index 2d9daa922..4c6353f9b 100644 --- a/bestsub/1.1.1/data.yml +++ b/bestsub/1.1.1/data.yml @@ -1,7 +1,7 @@ additionalProperties: formFields: # HTTP 端口 - - default: 32094 + - default: 9834 envKey: PANEL_APP_PORT_HTTP labelEn: HTTP Port labelZh: HTTP 端口 @@ -16,155 +16,4 @@ additionalProperties: zh-Hant: HTTP 連接埠 required: true rule: paramPort - type: number - - # 管理员账号 - - default: admin - envKey: MOONTV_ADMIN_USER - labelEn: Admin Username - labelZh: 管理员用户名 - label: - en: Admin Username - ja: 管理者ユーザー名 - ms: Nama Pengguna Admin - pt-br: Nome de Usuário Admin - ru: Имя пользователя администратора - ko: 관리자 사용자 이름 - zh: 管理员用户名 - zh-Hant: 管理員用戶名 - required: true - type: text - - # 管理员密码 - - default: "password" - envKey: MOONTV_ADMIN_PASSWORD - labelEn: Admin Password - labelZh: 管理员密码 - label: - en: Admin Password - ja: 管理者パスワード - ms: Kata Laluan Admin - pt-br: Senha do Administrador - ru: Пароль администратора - ko: 관리자 비밀번호 - zh: 管理员密码 - zh-Hant: 管理員密碼 - required: true - random: true - type: password - - # 是否开启注册 - - default: 启用 - envKey: MOONTV_ENABLE_REGISTER - required: true - type: select - label: - en: Enable Registration - ja: 登録を有効にする - ms: Dayakan Pendaftaran - pt-br: Habilitar Registro - ru: Включить регистрацию - ko: 회원가입 활성화 - zh: 启用注册 - zh-Hant: 啟用註冊 - values: - - label: 启用 - value: "true" - - label: 禁用 - value: "false" - - # 站点名称 - - default: MoonTV - envKey: MOONTV_SITE_NAME - labelEn: Site Name - labelZh: 站点名称 - label: - en: Site Name - ja: サイト名 - ms: Nama Laman - pt-br: Nome do Site - ru: Название сайта - ko: 사이트 이름 - zh: 站点名称 - zh-Hant: 網站名稱 - required: false - type: text - - # 站点公告 - - default: 本网站仅提供影视信息搜索服务,所有内容均来自第三方网站。本站不存储任何视频资源,不对任何内容的准确性、合法性、完整性负责。 - envKey: MOONTV_ANNOUNCEMENT - labelEn: Announcement - labelZh: 站点公告 - label: - en: Announcement - ja: お知らせ - ms: Pengumuman - pt-br: Anúncio - ru: Объявление - ko: 공지사항 - zh: 站点公告 - zh-Hant: 網站公告 - required: false - type: text - - # 存储类型选择 - - default: kvrocks - envKey: MOONTV_STORAGE_TYPE - labelEn: Storage Type - labelZh: 存储类型 - label: - en: Storage Type - ja: ストレージタイプ - ms: Jenis Stor - pt-br: Tipo de Armazenamento - ru: Тип хранилища - ko: 저장소 유형 - zh: 存储类型 - zh-Hant: 儲存類型 - required: true - type: select - values: - - label: kvrocks - value: kvrocks - - label: redis - value: redis - - # Kvrocks URL(可选) - - default: "" - envKey: KVROCKS_CONNECT_URL - labelEn: Kvrocks URL - labelZh: Kvrocks 连接 URL - label: - en: Kvrocks URL - ja: Kvrocks 接続 URL - ms: Kvrocks URL Sambungan - pt-br: URL Kvrocks - ru: URL подключения Kvrocks - ko: Kvrocks URL - zh: Kvrocks 连接 URL - zh-Hant: Kvrocks 連接 URL - required: false - type: text - dependsOn: - envKey: MOONTV_STORAGE_TYPE - value: kvrocks - - # Redis URL(可选) - - default: "" - envKey: REDIS_CONNECT_URL - labelEn: Redis URL - labelZh: Redis 连接 URL - label: - en: Redis URL - ja: Redis 接続 URL - ms: Redis URL Sambungan - pt-br: URL Redis - ru: URL подключения Redis - ko: Redis URL - zh: Redis 连接 URL - zh-Hant: Redis 連接 URL - required: false - type: text - dependsOn: - envKey: MOONTV_STORAGE_TYPE - value: redis \ No newline at end of file + type: number \ No newline at end of file diff --git a/bestsub/1.1.1/data/kvrocks.conf b/bestsub/1.1.1/data/kvrocks.conf deleted file mode 100644 index b69e2640a..000000000 --- a/bestsub/1.1.1/data/kvrocks.conf +++ /dev/null @@ -1,1085 +0,0 @@ -################################ GENERAL ##################################### - -# By default kvrocks listens for connections from localhost interface. -# It is possible to listen to just one or multiple interfaces using -# the "bind" configuration directive, followed by one or more IP addresses. -# -# Examples: -# -# bind 192.168.1.100 10.0.0.1 -# bind 127.0.0.1 ::1 -# bind 0.0.0.0 -bind 127.0.0.1 - -# Unix socket. -# -# Specify the path for the unix socket that will be used to listen for -# incoming connections. There is no default, so kvrocks will not listen -# on a unix socket when not specified. -# -# unixsocket /tmp/kvrocks.sock -# unixsocketperm 777 - -# Allows a parent process to open a socket and pass its FD down to kvrocks as a child -# process. Useful to reserve a port and prevent race conditions. -# -# PLEASE NOTE: -# If this is overridden to a value other than -1, the bind and tls* directives will be -# ignored. -# -# Default: -1 (not overridden, defer to creating a connection to the specified port) -socket-fd -1 - -# Accept connections on the specified port, default is 6666. -port 6666 - -# Close the connection after a client is idle for N seconds (0 to disable) -timeout 0 - -# The number of worker's threads, increase or decrease would affect the performance. -workers 8 - -# By default, kvrocks does not run as a daemon. Use 'yes' if you need it. -# It will create a PID file when daemonize is enabled, and its path is specified by pidfile. -daemonize no - -# Kvrocks implements the cluster solution that is similar to the Redis cluster solution. -# You can get cluster information by CLUSTER NODES|SLOTS|INFO command, it also is -# adapted to redis-cli, redis-benchmark, Redis cluster SDK, and Redis cluster proxy. -# But kvrocks doesn't support communicating with each other, so you must set -# cluster topology by CLUSTER SETNODES|SETNODEID commands, more details: #219. -# -# PLEASE NOTE: -# If you enable cluster, kvrocks will encode key with its slot id calculated by -# CRC16 and modulo 16384, encoding key with its slot id makes it efficient to -# migrate keys based on the slot. So if you enabled at first time, cluster mode must -# not be disabled after restarting, and vice versa. That is to say, data is not -# compatible between standalone mode with cluster mode, you must migrate data -# if you want to change mode, otherwise, kvrocks will make data corrupt. -# -# Default: no - -cluster-enabled no - -# By default, namespaces are stored in the configuration file and won't be replicated -# to replicas. This option allows to change this behavior, so that namespaces are also -# propagated to slaves. Note that: -# 1) it won't replicate the 'masterauth' to prevent breaking master/replica replication -# 2) it will overwrite replica's namespace with master's namespace, so be careful of in-using namespaces -# 3) cannot switch off the namespace replication once it's enabled -# -# Default: no -repl-namespace-enabled no - -# By default, the max length of bulk string is limited to 512MB. If you want to -# change this limit to a different value(must >= 1MiB), you can use the following configuration. -# It can be just an integer (e.g. 10000000), or an integer followed by a unit (e.g. 12M, 7G, 2T). -# -# proto-max-bulk-len 536870912 - -# Persist the cluster nodes topology in local file($dir/nodes.conf). This configuration -# takes effect only if the cluster mode was enabled. -# -# If yes, it will try to load the cluster topology from the local file when starting, -# and dump the cluster nodes into the file if it was changed. -# -# Default: yes -persist-cluster-nodes-enabled yes - -# Set the max number of connected clients at the same time. By default -# this limit is set to 10000 clients. However, if the server is not -# able to configure the process file limit to allow for the specified limit -# the max number of allowed clients is set to the current file limit -# -# Once the limit is reached the server will close all the new connections sending -# an error 'max number of clients reached'. -# -maxclients 10000 - -# Require clients to issue AUTH before processing any other -# commands. This might be useful in environments in which you do not trust -# others with access to the host running kvrocks. -# -# This should stay commented out for backward compatibility and because most -# people do not need auth (e.g. they run their own servers). -# -# Warning: since kvrocks is pretty fast an outside user can try up to -# 150k passwords per second against a good box. This means that you should -# use a very strong password otherwise it will be very easy to break. -# -# requirepass foobared - -# If the master is password protected (using the "masterauth" configuration -# directive below) it is possible to tell the slave to authenticate before -# starting the replication synchronization process. Otherwise, the master will -# refuse the slave request. -# -# masterauth foobared - -# Master-Salve replication would check db name is matched. if not, the slave should -# refuse to sync the db from master. Don't use the default value, set the db-name to identify -# the cluster. -db-name change.me.db - -# The working directory -# -# The DB will be written inside this directory -# Note that you must specify a directory here, not a file name. -dir /tmp/kvrocks - -# You can configure where to store your server logs by the log-dir. -# If you don't specify one, we will use the above `dir` and -# also stdout as our default log directory, e.g. `/tmp/kvrocks,stdout`. -# `log-dir` can contain multiple destinations, separated by comma (,). -# And every destination can be optionally followed by a corresponding log level, -# separated by colon (:), e.g. `/tmp/my-log-dir:info,stdout:warning,stderr:error`. -# If no log level attached with a destination, -# the config option `log-level` will be used. -# -# log-dir /tmp/kvrocks,stdout - -# Log level -# Possible values: debug, info, warning, error, fatal -# Default: info -log-level info - -# You can configure log-retention-days to control whether to enable the log cleaner -# and the maximum retention days that the INFO level logs will be kept. -# -# if set to negative or 0, that means to disable the log cleaner. -# if set to between 1 to INT_MAX, -# that means it will retent latest N(log-retention-days) day logs. - -# By default the log-retention-days is -1. -log-retention-days -1 - -# When running in daemonize mode, kvrocks writes a PID file in ${CONFIG_DIR}/kvrocks.pid by -# default. You can specify a custom pid file location here. -# pidfile /var/run/kvrocks.pid - -# You can configure a slave instance to accept writes or not. Writing against -# a slave instance may be useful to store some ephemeral data (because data -# written on a slave will be easily deleted after resync with the master) but -# may also cause problems if clients are writing to it because of a -# misconfiguration. -slave-read-only yes - -# The slave priority is an integer number published by Kvrocks in the INFO output. -# It is used by Redis Sentinel in order to select a slave to promote into a -# master if the master is no longer working correctly. -# -# A slave with a low priority number is considered better for promotion, so -# for instance if there are three slave with priority 10, 100, 25 Sentinel will -# pick the one with priority 10, that is the lowest. -# -# However a special priority of 0 marks the replica as not able to perform the -# role of master, so a slave with priority of 0 will never be selected by -# Redis Sentinel for promotion. -# -# By default the priority is 100. -slave-priority 100 - -# Change the default timeout in milliseconds for socket connect during replication. -# The default value is 3100, and 0 means no timeout. -# -# If the master is unreachable before connecting, not having a timeout may block future -# 'clusterx setnodes' commands because the replication thread is blocked on connect. -replication-connect-timeout-ms 3100 - -# Change the default timeout in milliseconds for socket recv during fullsync. -# The default value is 3200, and 0 means no timeout. -# -# If the master is unreachable when fetching SST files, not having a timeout may block -# future 'clusterx setnodes' commands because the replication thread is blocked on recv. -replication-recv-timeout-ms 3200 - -# TCP listen() backlog. -# -# In high requests-per-second environments you need an high backlog in order -# to avoid slow clients connections issues. Note that the Linux kernel -# will silently truncate it to the value of /proc/sys/net/core/somaxconn so -# make sure to raise both the value of somaxconn and tcp_max_syn_backlog -# in order to Get the desired effect. -tcp-backlog 511 - -# If the master is an old version, it may have specified replication threads -# that use 'port + 1' as listening port, but in new versions, we don't use -# extra port to implement replication. In order to allow the new replicas to -# copy old masters, you should indicate that the master uses replication port -# or not. -# If yes, that indicates master uses replication port and replicas will connect -# to 'master's listening port + 1' when synchronization. -# If no, that indicates master doesn't use replication port and replicas will -# connect 'master's listening port' when synchronization. -master-use-repl-port no - -# Currently, master only checks sequence number when replica asks for PSYNC, -# that is not enough since they may have different replication histories even -# the replica asking sequence is in the range of the master current WAL. -# -# We design 'Replication Sequence ID' PSYNC, we add unique replication id for -# every write batch (the operation of each command on the storage engine), so -# the combination of replication id and sequence is unique for write batch. -# The master can identify whether the replica has the same replication history -# by checking replication id and sequence. -# -# By default, it is not enabled since this stricter check may easily lead to -# full synchronization. -use-rsid-psync no - -# Master-Slave replication. Use slaveof to make a kvrocks instance a copy of -# another kvrocks server. A few things to understand ASAP about kvrocks replication. -# -# 1) Kvrocks replication is asynchronous, but you can configure a master to -# stop accepting writes if it appears to be not connected with at least -# a given number of slaves. -# 2) Kvrocks slaves are able to perform a partial resynchronization with the -# master if the replication link is lost for a relatively small amount of -# time. You may want to configure the replication backlog size (see the next -# sections of this file) with a sensible value depending on your needs. -# 3) Replication is automatic and does not need user intervention. After a -# network partition slaves automatically try to reconnect to masters -# and resynchronize with them. -# -# slaveof -# slaveof 127.0.0.1 6379 - -# When a slave loses its connection with the master, or when the replication -# is still in progress, the slave can act in two different ways: -# -# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will -# still reply to client requests, possibly with out-of-date data, or the -# data set may just be empty if this is the first synchronization. -# -# 2) if slave-serve-stale-data is set to 'no' the slave will reply with -# an error "SYNC with master in progress" to all kinds of commands -# but to INFO and SLAVEOF. -# -slave-serve-stale-data yes - -# To guarantee slave's data safe and serve when it is in full synchronization -# state, slave still keep itself data. But this way needs to occupy much disk -# space, so we provide a way to reduce disk occupation, slave will delete itself -# entire database before fetching files from master during full synchronization. -# If you want to enable this way, you can set 'slave-delete-db-before-fullsync' -# to yes, but you must know that database will be lost if master is down during -# full synchronization, unless you have a backup of database. -# -# This option is similar redis replicas RDB diskless load option: -# repl-diskless-load on-empty-db -# -# Default: no -slave-empty-db-before-fullsync no - -# A Kvrocks master is able to list the address and port of the attached -# replicas in different ways. For example the "INFO replication" section -# offers this information, which is used, among other tools, by -# Redis Sentinel in order to discover replica instances. -# Another place where this info is available is in the output of the -# "ROLE" command of a master. -# -# The listed IP address and port normally reported by a replica is -# obtained in the following way: -# -# IP: The address is auto detected by checking the peer address -# of the socket used by the replica to connect with the master. -# -# Port: The port is communicated by the replica during the replication -# handshake, and is normally the port that the replica is using to -# listen for connections. -# -# However when port forwarding or Network Address Translation (NAT) is -# used, the replica may actually be reachable via different IP and port -# pairs. The following two options can be used by a replica in order to -# report to its master a specific set of IP and port, so that both INFO -# and ROLE will report those values. -# -# There is no need to use both the options if you need to override just -# the port or the IP address. -# -# replica-announce-ip 5.5.5.5 -# replica-announce-port 1234 - -# If replicas need full synchronization with master, master need to create -# checkpoint for feeding replicas, and replicas also stage a checkpoint of -# the master. If we also keep the backup, it maybe occupy extra disk space. -# You can enable 'purge-backup-on-fullsync' if disk is not sufficient, but -# that may cause remote backup copy failing. -# -# Default: no -purge-backup-on-fullsync no - -# The maximum allowed rate (in MB/s) that should be used by replication. -# If the rate exceeds max-replication-mb, replication will slow down. -# Default: 0 (i.e. no limit) -max-replication-mb 0 - -# The maximum allowed aggregated write rate of flush and compaction (in MB/s). -# If the rate exceeds max-io-mb, io will slow down. -# 0 is no limit -# Default: 0 -max-io-mb 0 - -# Whether to cache blob files within the block cache. -# Default: no -enable-blob-cache no - -# The maximum allowed space (in GB) that should be used by RocksDB. -# If the total size of the SST files exceeds max_allowed_space, writes to RocksDB will fail. -# Please see: https://github.com/facebook/rocksdb/wiki/Managing-Disk-Space-Utilization -# Default: 0 (i.e. no limit) -max-db-size 0 - -# The maximum backup to keep, server cron would run every minutes to check the num of current -# backup, and purge the old backup if exceed the max backup num to keep. If max-backup-to-keep -# is 0, no backup would be kept. But now, we only support 0 or 1. -max-backup-to-keep 1 - -# The maximum hours to keep the backup. If max-backup-keep-hours is 0, wouldn't purge any backup. -# default: 1 day -max-backup-keep-hours 24 - -# max-bitmap-to-string-mb use to limit the max size of bitmap to string transformation(MB). -# -# Default: 16 -max-bitmap-to-string-mb 16 - -# Whether to enable SCAN-like cursor compatible with Redis. -# If enabled, the cursor will be unsigned 64-bit integers. -# If disabled, the cursor will be a string. -# Default: yes -redis-cursor-compatible yes - -# Whether to enable the RESP3 protocol. -# -# Default: yes -# resp3-enabled yes - -# Maximum nesting depth allowed when parsing and serializing -# JSON documents while using JSON commands like JSON.SET. -# Default: 1024 -json-max-nesting-depth 1024 - -# The underlying storage format of JSON data type -# NOTE: This option only affects newly written/updated key-values -# The CBOR format may reduce the storage size and speed up JSON commands -# Available values: json, cbor -# Default: json -json-storage-format json - -# Whether to enable transactional mode engine::Context. -# -# If enabled, is_txn_mode in engine::Context will be set properly, -# which is expected to improve the consistency of commands. -# If disabled, is_txn_mode in engine::Context will be set to false, -# making engine::Context equivalent to engine::Storage. -# -# NOTE: This is an experimental feature. If you find errors, performance degradation, -# excessive memory usage, excessive disk I/O, etc. after enabling it, please try disabling it. -# At the same time, we welcome feedback on related issues to help iterative improvements. -# -# Default: no -txn-context-enabled no - -# Define the histogram bucket values. -# -# If enabled, those values will be used to store the command execution latency values -# in buckets defined below. The values should be integers and must be sorted. -# An implicit bucket (+Inf in prometheus jargon) will be added to track the highest values -# that are beyond the bucket limits. - -# NOTE: This is an experimental feature. There might be some performance overhead when using this -# feature, please be aware. -# Default: disabled -# histogram-bucket-boundaries 10,20,40,60,80,100,150,250,350,500,750,1000,1500,2000,4000,8000 - -################################## TLS ################################### - -# By default, TLS/SSL is disabled, i.e. `tls-port` is set to 0. -# To enable it, `tls-port` can be used to define TLS-listening ports. -# tls-port 0 - -# Configure a X.509 certificate and private key to use for authenticating the -# server to connected clients, masters or cluster peers. -# These files should be PEM formatted. -# -# tls-cert-file kvrocks.crt -# tls-key-file kvrocks.key - -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-key-file-pass secret - -# Configure a CA certificate(s) bundle or directory to authenticate TLS/SSL -# clients and peers. Kvrocks requires an explicit configuration of at least one -# of these, and will not implicitly use the system wide configuration. -# -# tls-ca-cert-file ca.crt -# tls-ca-cert-dir /etc/ssl/certs - -# By default, clients on a TLS port are required -# to authenticate using valid client side certificates. -# -# If "no" is specified, client certificates are not required and not accepted. -# If "optional" is specified, client certificates are accepted and must be -# valid if provided, but are not required. -# -# tls-auth-clients no -# tls-auth-clients optional - -# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended -# that older formally deprecated versions are kept disabled to reduce the attack surface. -# You can explicitly specify TLS versions to support. -# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", -# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. -# To enable only TLSv1.2 and TLSv1.3, use: -# -# tls-protocols "TLSv1.2 TLSv1.3" - -# Configure allowed ciphers. See the ciphers(1ssl) manpage for more information -# about the syntax of this string. -# -# Note: this configuration applies only to <= TLSv1.2. -# -# tls-ciphers DEFAULT:!MEDIUM - -# Configure allowed TLSv1.3 ciphersuites. See the ciphers(1ssl) manpage for more -# information about the syntax of this string, and specifically for TLSv1.3 -# ciphersuites. -# -# tls-ciphersuites TLS_CHACHA20_POLY1305_SHA256 - -# When choosing a cipher, use the server's preference instead of the client -# preference. By default, the server follows the client's preference. -# -# tls-prefer-server-ciphers yes - -# By default, TLS session caching is enabled to allow faster and less expensive -# reconnections by clients that support it. Use the following directive to disable -# caching. -# -# tls-session-caching no - -# Change the default number of TLS sessions cached. A zero value sets the cache -# to unlimited size. The default size is 20480. -# -# tls-session-cache-size 5000 - -# Change the default timeout of cached TLS sessions. The default timeout is 300 -# seconds. -# -# tls-session-cache-timeout 60 - -# By default, a replica does not attempt to establish a TLS connection -# with its master. -# -# Use the following directive to enable TLS on replication links. -# -# tls-replication yes - -################################## SLOW LOG ################################### - -# The Kvrocks Slow Log is a mechanism to log queries that exceeded a specified -# execution time. The execution time does not include the I/O operations -# like talking with the client, sending the reply and so forth, -# but just the time needed to actually execute the command (this is the only -# stage of command execution where the thread is blocked and can not serve -# other requests in the meantime). -# -# You can configure the slow log with two parameters: one tells Kvrocks -# what is the execution time, in microseconds, to exceed in order for the -# command to get logged, and the other parameter is the length of the -# slow log. When a new command is logged the oldest one is removed from the -# queue of logged commands. - -# The following time is expressed in microseconds, so 1000000 is equivalent -# to one second. Note that -1 value disables the slow log, while -# a value of zero forces the logging of every command. -slowlog-log-slower-than 100000 - -# There is no limit to this length. Just be aware that it will consume memory. -# You can reclaim memory used by the slow log with SLOWLOG RESET. -slowlog-max-len 128 - -# Dump slow logs to logfiles with this level, off means don't dump. -# Possible values: info, warning, off -# Default: off -slowlog-dump-logfile-level off - -# If you run kvrocks from upstart or systemd, kvrocks can interact with your -# supervision tree. Options: -# supervised no - no supervision interaction -# supervised upstart - signal upstart by putting kvrocks into SIGSTOP mode -# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET -# supervised auto - detect upstart or systemd method based on -# UPSTART_JOB or NOTIFY_SOCKET environment variables -# Note: these supervision methods only signal "process is ready." -# They do not enable continuous liveness pings back to your supervisor. -supervised no - -################################## PERF LOG ################################### - -# The Kvrocks Perf Log is a mechanism to log queries' performance context that -# exceeded a specified execution time. This mechanism uses rocksdb's -# Perf Context and IO Stats Context, Please see: -# https://github.com/facebook/rocksdb/wiki/Perf-Context-and-IO-Stats-Context -# -# This mechanism is enabled when profiling-sample-commands is not empty and -# profiling-sample-ratio greater than 0. -# It is important to note that this mechanism affects performance, but it is -# useful for troubleshooting performance bottlenecks, so it should only be -# enabled when performance problems occur. - -# The name of the commands you want to record. Must be original name of -# commands supported by Kvrocks. Use ',' to separate multiple commands and -# use '*' to record all commands supported by Kvrocks. -# Example: -# - Single command: profiling-sample-commands get -# - Multiple commands: profiling-sample-commands get,mget,hget -# -# Default: empty -# profiling-sample-commands "" - -# Ratio of the samples would be recorded. It is a number between 0 and 100. -# We simply use the rand to determine whether to record the sample or not. -# -# Default: 0 -profiling-sample-ratio 0 - -# There is no limit to this length. Just be aware that it will consume memory. -# You can reclaim memory used by the perf log with PERFLOG RESET. -# -# Default: 256 -profiling-sample-record-max-len 256 - -# profiling-sample-record-threshold-ms use to tell the kvrocks when to record. -# -# Default: 100 millisecond -profiling-sample-record-threshold-ms 100 - -################################## CRON ################################### - -# Compact Scheduler, auto compact at schedule time -# Time expression format is the same as crontab (supported cron syntax: *, n, */n, `1,3-6,9,11`) -# e.g. compact-cron 0 3,4 * * * -# would compact the db at 3am and 4am everyday -# compact-cron 0 3 * * * - -# The hour range that compaction checker would be active -# e.g. compaction-checker-range 0-7 means compaction checker would be worker between -# 0-7am every day. -# WARNING: this config option is deprecated and will be removed, -# please use compaction-checker-cron instead -# compaction-checker-range 0-7 - -# The time pattern that compaction checker would be active -# Time expression format is the same as crontab (supported cron syntax: *, n, */n, `1,3-6,9,11`) -# e.g. compaction-checker-cron * 0-7 * * * means compaction checker would be worker between -# 0-7am every day. -compaction-checker-cron * 0-7 * * * - -# When the compaction checker is triggered, the db will periodically pick the SST file -# with the highest "deleted percentage" (i.e. the percentage of deleted keys in the SST -# file) to compact, in order to free disk space. -# However, if a specific SST file was created more than "force-compact-file-age" seconds -# ago, and its percentage of deleted keys is higher than -# "force-compact-file-min-deleted-percentage", it will be forcibly compacted as well. - -# Default: 172800 seconds; Range: [60, INT64_MAX]; -# force-compact-file-age 172800 -# Default: 10 %; Range: [1, 100]; -# force-compact-file-min-deleted-percentage 10 - -# Bgsave scheduler, auto bgsave at scheduled time -# Time expression format is the same as crontab (supported cron syntax: *, n, */n, `1,3-6,9,11`) -# e.g. bgsave-cron 0 3,4 * * * -# would bgsave the db at 3am and 4am every day - -# Kvrocks doesn't store the key number directly. It needs to scan the DB and -# then retrieve the key number by using the dbsize scan command. -# The Dbsize scan scheduler auto-recalculates the estimated keys at scheduled time. -# Time expression format is the same as crontab (supported cron syntax: *, n, */n, `1,3-6,9,11`) -# e.g. dbsize-scan-cron 0 * * * * -# would recalculate the keyspace infos of the db every hour. - -# Command renaming. -# -# It is possible to change the name of dangerous commands in a shared -# environment. For instance, the KEYS command may be renamed into something -# hard to guess so that it will still be available for internal-use tools -# but not available for general clients. -# -# Example: -# -# rename-command KEYS b840fc02d524045429941cc15f59e41cb7be6c52 -# -# It is also possible to completely kill a command by renaming it into -# an empty string: -# -# rename-command KEYS "" - -################################ MIGRATE ##################################### -# Slot migration supports two ways: -# - redis-command: Migrate data by redis serialization protocol(RESP). -# - raw-key-value: Migrate the raw key value data of the storage engine directly. -# This way eliminates the overhead of converting to the redis -# command, reduces resource consumption, improves migration -# efficiency, and can implement a finer rate limit. -# -# Default: raw-key-value -migrate-type raw-key-value - -# If the network bandwidth is completely consumed by the migration task, -# it will affect the availability of kvrocks. To avoid this situation, -# migrate-speed is adopted to limit the migrating speed. -# Migrating speed is limited by controlling the duration between sending data, -# the duration is calculated by: 1000000 * migrate-pipeline-size / migrate-speed (us). -# Value: [0,INT_MAX], 0 means no limit -# -# Default: 4096 -migrate-speed 4096 - -# In order to reduce data transmission times and improve the efficiency of data migration, -# pipeline is adopted to send multiple data at once. Pipeline size can be set by this option. -# Value: [1, INT_MAX], it can't be 0 -# -# Default: 16 -migrate-pipeline-size 16 - -# In order to reduce the write forbidden time during migrating slot, we will migrate the incremental -# data several times to reduce the amount of incremental data. Until the quantity of incremental -# data is reduced to a certain threshold, slot will be forbidden write. The threshold is set by -# this option. -# Value: [1, INT_MAX], it can't be 0 -# -# Default: 10000 -migrate-sequence-gap 10000 - -# The raw-key-value migration way uses batch for migration. This option sets the batch size -# for each migration. -# -# Default: 16kb -migrate-batch-size-kb 16 - -# Rate limit for migration based on raw-key-value, representing the maximum number of data -# that can be migrated per second. 0 means no limit. -# -# Default: 16M -migrate-batch-rate-limit-mb 16 - - -# If it is set to yes, kvrocks will skip the deallocation of block cache -# while closing the database to speed up the shutdown -# -# Default: no -# skip-block-cache-deallocation-on-close no - -################################ ROCKSDB ##################################### - -# Specify the capacity of column family block cache. A larger block cache -# may make requests faster while more keys would be cached. Max Size is 400*1024. -# Default: 4096MB -rocksdb.block_cache_size 4096 - -# Specify the type of cache used in the block cache. -# Accept value: "lru", "hcc" -# "lru" stands for the cache with the LRU(Least Recently Used) replacement policy. -# -# "hcc" stands for the Hyper Clock Cache, a lock-free cache alternative -# that offers much improved CPU efficiency vs. LRU cache under high parallel -# load or high contention. -# -# default lru -rocksdb.block_cache_type lru - -# Number of open files that can be used by the DB. You may need to -# increase this if your database has a large working set. Value -1 means -# files opened are always kept open. You can estimate number of files based -# on target_file_size_base and target_file_size_multiplier for level-based -# compaction. For universal-style compaction, you can usually set it to -1. -# Default: 8096 -rocksdb.max_open_files 8096 - -# Amount of data to build up in memory (backed by an unsorted log -# on disk) before converting to a sorted on-disk file. -# -# Larger values increase performance, especially during bulk loads. -# Up to max_write_buffer_number write buffers may be held in memory -# at the same time, -# so you may wish to adjust this parameter to control memory usage. -# Also, a larger write buffer will result in a longer recovery time -# the next time the database is opened. -# -# Note that write_buffer_size is enforced per column family. -# See db_write_buffer_size for sharing memory across column families. - -# default is 64MB -rocksdb.write_buffer_size 64 - -# Target file size for compaction, target file size for Level N can be calculated -# by target_file_size_base * (target_file_size_multiplier ^ (L-1)) -# -# Default: 128MB -rocksdb.target_file_size_base 128 - -# The maximum number of write buffers that are built up in memory. -# The default and the minimum number is 2, so that when 1 write buffer -# is being flushed to storage, new writes can continue to the other -# write buffer. -# If max_write_buffer_number > 3, writing will be slowed down to -# options.delayed_write_rate if we are writing to the last write buffer -# allowed. -rocksdb.max_write_buffer_number 4 - -# The minimum number of write buffers that will be merged together -# during compaction. -# -# Default: 1 -rocksdb.min_write_buffer_number_to_merge 1 - - -# Maximum number of concurrent background jobs (compactions and flushes). -# For backwards compatibility we will set `max_background_jobs = -# max_background_compactions + max_background_flushes` in the case where user -# sets at least one of `max_background_compactions` or `max_background_flushes` -# (we replace -1 by 1 in case one option is unset). -rocksdb.max_background_jobs 4 - -# DEPRECATED: it is automatically decided based on the value of rocksdb.max_background_jobs -# Maximum number of concurrent background compaction jobs, submitted to -# the default LOW priority thread pool. -rocksdb.max_background_compactions -1 - -# DEPRECATED: it is automatically decided based on the value of rocksdb.max_background_jobs -# Maximum number of concurrent background memtable flush jobs, submitted by -# default to the HIGH priority thread pool. If the HIGH priority thread pool -# is configured to have zero threads, flush jobs will share the LOW priority -# thread pool with compaction jobs. -rocksdb.max_background_flushes -1 - -# This value represents the maximum number of threads that will -# concurrently perform a compaction job by breaking it into multiple, -# smaller ones that are run simultaneously. -# Default: 2 -rocksdb.max_subcompactions 2 - -# If enabled WAL records will be compressed before they are written. Only -# ZSTD (= kZSTD) is supported (until streaming support is adapted for other -# compression types). Compressed WAL records will be read in supported -# versions (>= RocksDB 7.4.0 for ZSTD) regardless of this setting when -# the WAL is read. -# -# Accept value: "no", "zstd" -# Default is no -rocksdb.wal_compression no - -# In order to limit the size of WALs, RocksDB uses DBOptions::max_total_wal_size -# as the trigger of column family flush. Once WALs exceed this size, RocksDB -# will start forcing the flush of column families to allow deletion of some -# oldest WALs. This config can be useful when column families are updated at -# non-uniform frequencies. If there's no size limit, users may need to keep -# really old WALs when the infrequently-updated column families hasn't flushed -# for a while. -# -# In kvrocks, we use multiple column families to store metadata, subkeys, etc. -# If users always use string type, but use list, hash and other complex data types -# infrequently, there will be a lot of old WALs if we don't set size limit -# (0 by default in rocksdb), because rocksdb will dynamically choose the WAL size -# limit to be [sum of all write_buffer_size * max_write_buffer_number] * 4 if set to 0. -# -# Moreover, you should increase this value if you already set rocksdb.write_buffer_size -# to a big value, to avoid influencing the effect of rocksdb.write_buffer_size and -# rocksdb.max_write_buffer_number. -# -# default is 512MB -rocksdb.max_total_wal_size 512 - -# Whether to print malloc stats together with rocksdb.stats when printing to LOG. -# -# Accepted values: "yes", "no" -# Default: yes -rocksdb.dump_malloc_stats yes - -# We implement the replication with rocksdb WAL, it would trigger full sync when the seq was out of range. -# wal_ttl_seconds and wal_size_limit_mb would affect how archived logs will be deleted. -# If WAL_ttl_seconds is not 0, then WAL files will be checked every WAL_ttl_seconds / 2 and those that -# are older than WAL_ttl_seconds will be deleted# -# -# Default: 3 Hours -rocksdb.wal_ttl_seconds 10800 - -# If WAL_ttl_seconds is 0 and WAL_size_limit_MB is not 0, -# WAL files will be checked every 10 min and if total size is greater -# then WAL_size_limit_MB, they will be deleted starting with the -# earliest until size_limit is met. All empty files will be deleted -# Default: 16GB -rocksdb.wal_size_limit_mb 16384 - -# Approximate size of user data packed per block. Note that the -# block size specified here corresponds to uncompressed data. The -# actual size of the unit read from disk may be smaller if -# compression is enabled. -# -# Default: 16KB -rocksdb.block_size 16384 - -# Indicating if we'd put index/filter blocks to the block cache -# -# Default: yes -rocksdb.cache_index_and_filter_blocks yes - -# Specify the compression to use. -# Accept value: "no", "snappy", "lz4", "zstd", "zlib" -# default snappy -rocksdb.compression snappy - -# Specify the compression level to use. It trades compression speed -# and ratio, might be useful when tuning for disk space. -# See details: https://github.com/facebook/rocksdb/wiki/Space-Tuning -# For zstd: valid range is from 1 (fastest) to 19 (best ratio), -# For zlib: valid range is from 1 (fastest) to 9 (best ratio), -# For lz4: adjusting the level influences the 'acceleration'. -# RocksDB sets a negative level to indicate acceleration directly, -# with more negative values indicating higher speed and less compression. -# Note: This setting is ignored for compression algorithms like Snappy that -# do not support variable compression levels. -# -# RocksDB Default: -# - zstd: 3 -# - zlib: Z_DEFAULT_COMPRESSION (currently -1) -# - kLZ4: -1 (i.e., `acceleration=1`; see `CompressionOptions::level` doc) -# For all others, RocksDB does not specify a compression level. -# If the compression type doesn't support the setting, it will be a no-op. -# -# Default: 32767 (RocksDB's generic default compression level. Internally -# it'll be translated to the default compression level specific to the -# compression library as mentioned above) -rocksdb.compression_level 32767 - -# If non-zero, we perform bigger reads when doing compaction. If you're -# running RocksDB on spinning disks, you should set this to at least 2MB. -# That way RocksDB's compaction is doing sequential instead of random reads. -# When non-zero, we also force new_table_reader_for_compaction_inputs to -# true. -# -# Default: 2 MB -rocksdb.compaction_readahead_size 2097152 - -# Enable compression from n levels of LSM-tree. -# By default compression is disabled for the first two levels (L0 and L1), -# because it may contain the frequently accessed data, so it'd be better -# to use uncompressed data to save the CPU. -# Value: [0, 7) (upper boundary is kvrocks maximum levels number) -# -# Default: 2 -rocksdb.compression_start_level 2 - -# he limited write rate to DB if soft_pending_compaction_bytes_limit or -# level0_slowdown_writes_trigger is triggered. - -# If the value is 0, we will infer a value from `rater_limiter` value -# if it is not empty, or 16MB if `rater_limiter` is empty. Note that -# if users change the rate in `rate_limiter` after DB is opened, -# `delayed_write_rate` won't be adjusted. -# -rocksdb.delayed_write_rate 0 -# If enable_pipelined_write is true, separate write thread queue is -# maintained for WAL write and memtable write. -# -# Default: no -rocksdb.enable_pipelined_write no - -# Soft limit on number of level-0 files. We slow down writes at this point. -# A value of 0 means that no writing slowdown will be triggered by number -# of files in level-0. If this value is smaller than -# rocksdb.level0_file_num_compaction_trigger, this will be set to -# rocksdb.level0_file_num_compaction_trigger instead. -# -# Default: 20 -rocksdb.level0_slowdown_writes_trigger 20 - -# Maximum number of level-0 files. We stop writes at this point. If this value -# is smaller than rocksdb.level0_slowdown_writes_trigger, this will be set to -# rocksdb.level0_slowdown_writes_trigger instead. -# -# Default: 40 -rocksdb.level0_stop_writes_trigger 40 - -# Number of files to trigger level-0 compaction. -# -# Default: 4 -rocksdb.level0_file_num_compaction_trigger 4 - -# if not zero, dump rocksdb.stats to LOG every stats_dump_period_sec -# -# Default: 0 -rocksdb.stats_dump_period_sec 0 - -# if yes, the auto compaction would be disabled, but the manual compaction remain works -# -# Default: no -rocksdb.disable_auto_compactions no - -# BlobDB(key-value separation) is essentially RocksDB for large-value use cases. -# Since 6.18.0, The new implementation is integrated into the RocksDB core. -# When set, large values (blobs) are written to separate blob files, and only -# pointers to them are stored in SST files. This can reduce write amplification -# for large-value use cases at the cost of introducing a level of indirection -# for reads. Please see: https://github.com/facebook/rocksdb/wiki/BlobDB. -# -# Note that when enable_blob_files is set to yes, BlobDB-related configuration -# items will take effect. -# -# Default: no -rocksdb.enable_blob_files no - -# The size of the smallest value to be stored separately in a blob file. Values -# which have an uncompressed size smaller than this threshold are stored alongside -# the keys in SST files in the usual fashion. -# -# Default: 4096 byte, 0 means that all values are stored in blob files -rocksdb.min_blob_size 4096 - -# The size limit for blob files. When writing blob files, a new file is -# opened once this limit is reached. -# -# Default: 268435456 bytes -rocksdb.blob_file_size 268435456 - -# Enables garbage collection of blobs. Valid blobs residing in blob files -# older than a cutoff get relocated to new files as they are encountered -# during compaction, which makes it possible to clean up blob files once -# they contain nothing but obsolete/garbage blobs. -# See also rocksdb.blob_garbage_collection_age_cutoff below. -# -# Default: yes -rocksdb.enable_blob_garbage_collection yes - -# The percentage cutoff in terms of blob file age for garbage collection. -# Blobs in the oldest N blob files will be relocated when encountered during -# compaction, where N = (garbage_collection_cutoff/100) * number_of_blob_files. -# Note that this value must belong to [0, 100]. -# -# Default: 25 -rocksdb.blob_garbage_collection_age_cutoff 25 - - -# The purpose of the following three options are to dynamically adjust the upper limit of -# the data that each layer can store according to the size of the different -# layers of the LSM. Enabling this option will bring some improvements in -# deletion efficiency and space amplification, but it will lose a certain -# amount of read performance. -# If you want to know more details about Levels' Target Size, you can read RocksDB wiki: -# https://github.com/facebook/rocksdb/wiki/Leveled-Compaction#levels-target-size -# -# Default: yes -rocksdb.level_compaction_dynamic_level_bytes yes - -# The total file size of level-1 sst. -# -# Default: 268435456 bytes -rocksdb.max_bytes_for_level_base 268435456 - -# Multiplication factor for the total file size of L(n+1) layers. -# This option is a double type number in RocksDB, but kvrocks is -# not support the double data type number yet, so we use integer -# number instead of double currently. -# -# Default: 10 -rocksdb.max_bytes_for_level_multiplier 10 - -# This feature only takes effect in Iterators and MultiGet. -# If yes, RocksDB will try to read asynchronously and in parallel as much as possible to hide IO latency. -# In iterators, it will prefetch data asynchronously in the background for each file being iterated on. -# In MultiGet, it will read the necessary data blocks from those files in parallel as much as possible. - -# Default yes -rocksdb.read_options.async_io yes - -# If yes, the write will be flushed from the operating system -# buffer cache before the write is considered complete. -# If this flag is enabled, writes will be slower. -# If this flag is disabled, and the machine crashes, some recent -# writes may be lost. Note that if it is just the process that -# crashes (i.e., the machine does not reboot), no writes will be -# lost even if sync==false. -# -# Default: no -rocksdb.write_options.sync no - -# If yes, writes will not first go to the write ahead log, -# and the write may get lost after a crash. -# You must keep wal enabled if you use replication. -# -# Default: no -rocksdb.write_options.disable_wal no - -# If enabled and we need to wait or sleep for the write request, fails -# immediately. -# -# Default: no -rocksdb.write_options.no_slowdown no - -# If enabled, write requests are of lower priority if compaction is -# behind. In this case, no_slowdown = true, the request will be canceled -# immediately. Otherwise, it will be slowed down. -# The slowdown value is determined by RocksDB to guarantee -# it introduces minimum impacts to high priority writes. -# -# Default: no -rocksdb.write_options.low_pri no - -# If enabled, this writebatch will maintain the last insert positions of each -# memtable as hints in concurrent write. It can improve write performance -# in concurrent writes if keys in one writebatch are sequential. -# -# Default: no -rocksdb.write_options.memtable_insert_hint_per_batch no - - -# Support RocksDB auto-tune rate limiter for the background IO -# if enabled, Rate limiter will limit the compaction write if flush write is high -# Please see https://rocksdb.org/blog/2017/12/18/17-auto-tuned-rate-limiter.html -# -# Default: yes -rocksdb.rate_limiter_auto_tuned yes - -# If enabled, rocksdb will use partitioned full filters for each SST file. -# -# Default: yes -rocksdb.partition_filters yes - -# Enable this option will schedule the deletion of obsolete files in a background thread -# on iterator destruction. It can reduce the latency if there are many files to be removed. -# see https://github.com/facebook/rocksdb/wiki/IO#avoid-blocking-io -# -# Default: yes -# rocksdb.avoid_unnecessary_blocking_io yes - -# Specifies the maximum size in bytes for a write batch in RocksDB. -# If set to 0, there is no size limit for write batches. -# This option can help control memory usage and manage large WriteBatch operations more effectively. -# -# Default: 0 -# rocksdb.write_options.write_batch_max_bytes 0 - -# RocksDB will try to limit number of bytes in one compaction to be lower than this threshold. -# If set to 0, it will be sanitized to [25 * target_file_size_base] -# -# Default: 0 -rocksdb.max_compaction_bytes 0 - -# Set the delete rate limit in bytes per second for SST files deletion. -# zero means disable delete rate limiting and delete files immediately. -# In scenarios involving frequent database iterations (e.g., HGETALL, SCAN) obsolete WAL files -# may be deleted synchronously, causing latency spikes. Enabling this option activates a -# controlled slow deletion mechanism, which also resolves WAL deletion latency issues when -# an iterator is released. -# see https://github.com/facebook/rocksdb/wiki/Slow-Deletion -# -# Default: 0 -rocksdb.sst_file_delete_rate_bytes_per_sec 0 - -################################ NAMESPACE ##################################### -# namespace.test change.me From b07364487c0ae1a1853bca48e4d8f7d2031e4798 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Tue, 2 Sep 2025 19:18:45 +0800 Subject: [PATCH 022/203] =?UTF-8?q?=F0=9F=A5=B0=E4=BF=AE=E6=94=B9=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/1.1.1/data.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bestsub/1.1.1/data.yml b/bestsub/1.1.1/data.yml index 4c6353f9b..005b47916 100644 --- a/bestsub/1.1.1/data.yml +++ b/bestsub/1.1.1/data.yml @@ -16,4 +16,5 @@ additionalProperties: zh-Hant: HTTP 連接埠 required: true rule: paramPort - type: number \ No newline at end of file + type: number + \ No newline at end of file From 5ace7b27c195eff57f10b2fe415a38c5a9abba6c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Sep 2025 09:59:53 +0000 Subject: [PATCH 023/203] chore(deps): update bestrui/bestsub docker tag to v1.3.0 --- bestsub/1.1.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bestsub/1.1.1/docker-compose.yml b/bestsub/1.1.1/docker-compose.yml index a367dece3..25bbc7ed5 100644 --- a/bestsub/1.1.1/docker-compose.yml +++ b/bestsub/1.1.1/docker-compose.yml @@ -1,6 +1,6 @@ services: moontv: - image: bestrui/bestsub:v1.1.1 + image: bestrui/bestsub:v1.3.0 container_name: ${CONTAINER_NAME} restart: always From d438b5fb39ce1f292f5c8b206da1870f8073c798 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 3 Sep 2025 10:00:04 +0000 Subject: [PATCH 024/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20bestsub=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1.1=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.0=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/{1.1.1 => 1.3.0}/data.yml | 0 bestsub/{1.1.1 => 1.3.0}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename bestsub/{1.1.1 => 1.3.0}/data.yml (100%) rename bestsub/{1.1.1 => 1.3.0}/docker-compose.yml (100%) diff --git a/bestsub/1.1.1/data.yml b/bestsub/1.3.0/data.yml similarity index 100% rename from bestsub/1.1.1/data.yml rename to bestsub/1.3.0/data.yml diff --git a/bestsub/1.1.1/docker-compose.yml b/bestsub/1.3.0/docker-compose.yml similarity index 100% rename from bestsub/1.1.1/docker-compose.yml rename to bestsub/1.3.0/docker-compose.yml From e8f7863ad5d01eb7a3d532e6f08c24e8342f8571 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Sep 2025 12:54:43 +0000 Subject: [PATCH 025/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.0.27 --- anheyu-blog/1.0.26/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.0.26/docker-compose.yml b/anheyu-blog/1.0.26/docker-compose.yml index b3789bbd9..65a5996ee 100644 --- a/anheyu-blog/1.0.26/docker-compose.yml +++ b/anheyu-blog/1.0.26/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.0.26 + image: anheyu/anheyu-backend:1.0.27 container_name: ${CONTAINER_NAME} restart: always labels: From 5c5bcfa801e225110a833ee298c1ac1870e7bbcb Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 3 Sep 2025 12:54:56 +0000 Subject: [PATCH 026/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.0.26?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.0.27=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.0.26 => 1.0.27}/data.yml | 0 anheyu-blog/{1.0.26 => 1.0.27}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.0.26 => 1.0.27}/data.yml (100%) rename anheyu-blog/{1.0.26 => 1.0.27}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.0.26/data.yml b/anheyu-blog/1.0.27/data.yml similarity index 100% rename from anheyu-blog/1.0.26/data.yml rename to anheyu-blog/1.0.27/data.yml diff --git a/anheyu-blog/1.0.26/docker-compose.yml b/anheyu-blog/1.0.27/docker-compose.yml similarity index 100% rename from anheyu-blog/1.0.26/docker-compose.yml rename to anheyu-blog/1.0.27/docker-compose.yml From 6de299c485ab34cc0708e49ce85c7a2e4702514e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Sep 2025 03:53:33 +0000 Subject: [PATCH 027/203] chore(deps): update bestrui/bestsub docker tag to v1.4.1 --- bestsub/1.3.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bestsub/1.3.0/docker-compose.yml b/bestsub/1.3.0/docker-compose.yml index 25bbc7ed5..3ddca1fa5 100644 --- a/bestsub/1.3.0/docker-compose.yml +++ b/bestsub/1.3.0/docker-compose.yml @@ -1,6 +1,6 @@ services: moontv: - image: bestrui/bestsub:v1.3.0 + image: bestrui/bestsub:v1.4.1 container_name: ${CONTAINER_NAME} restart: always From 73cd35039f6add221b4d1a390e3764def981e3df Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 4 Sep 2025 03:53:42 +0000 Subject: [PATCH 028/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20bestsub=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3.0=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.1=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/{1.3.0 => 1.4.1}/data.yml | 0 bestsub/{1.3.0 => 1.4.1}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename bestsub/{1.3.0 => 1.4.1}/data.yml (100%) rename bestsub/{1.3.0 => 1.4.1}/docker-compose.yml (100%) diff --git a/bestsub/1.3.0/data.yml b/bestsub/1.4.1/data.yml similarity index 100% rename from bestsub/1.3.0/data.yml rename to bestsub/1.4.1/data.yml diff --git a/bestsub/1.3.0/docker-compose.yml b/bestsub/1.4.1/docker-compose.yml similarity index 100% rename from bestsub/1.3.0/docker-compose.yml rename to bestsub/1.4.1/docker-compose.yml From 0351b4113ebfea0d05935c8b53a9239c3b602b74 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Sep 2025 09:59:12 +0000 Subject: [PATCH 029/203] chore(deps): update bestrui/bestsub docker tag to v1.4.2 --- bestsub/1.4.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bestsub/1.4.1/docker-compose.yml b/bestsub/1.4.1/docker-compose.yml index 3ddca1fa5..515f389e9 100644 --- a/bestsub/1.4.1/docker-compose.yml +++ b/bestsub/1.4.1/docker-compose.yml @@ -1,6 +1,6 @@ services: moontv: - image: bestrui/bestsub:v1.4.1 + image: bestrui/bestsub:v1.4.2 container_name: ${CONTAINER_NAME} restart: always From a0523065be0843a6379ba1354edb3180d1a410c3 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 4 Sep 2025 09:59:23 +0000 Subject: [PATCH 030/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20bestsub=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4.1=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.2=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/{1.4.1 => 1.4.2}/data.yml | 0 bestsub/{1.4.1 => 1.4.2}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename bestsub/{1.4.1 => 1.4.2}/data.yml (100%) rename bestsub/{1.4.1 => 1.4.2}/docker-compose.yml (100%) diff --git a/bestsub/1.4.1/data.yml b/bestsub/1.4.2/data.yml similarity index 100% rename from bestsub/1.4.1/data.yml rename to bestsub/1.4.2/data.yml diff --git a/bestsub/1.4.1/docker-compose.yml b/bestsub/1.4.2/docker-compose.yml similarity index 100% rename from bestsub/1.4.1/docker-compose.yml rename to bestsub/1.4.2/docker-compose.yml From 470d7727c745a37b434549ce4dc367bff7a4513b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Sep 2025 04:44:27 +0000 Subject: [PATCH 031/203] chore(deps): update bestrui/bestsub docker tag to v1.4.4 --- bestsub/1.4.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bestsub/1.4.2/docker-compose.yml b/bestsub/1.4.2/docker-compose.yml index 515f389e9..7ad3122d1 100644 --- a/bestsub/1.4.2/docker-compose.yml +++ b/bestsub/1.4.2/docker-compose.yml @@ -1,6 +1,6 @@ services: moontv: - image: bestrui/bestsub:v1.4.2 + image: bestrui/bestsub:v1.4.4 container_name: ${CONTAINER_NAME} restart: always From a349f6befcb18256b4d3dfdbdaf29141a1369866 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 5 Sep 2025 04:44:41 +0000 Subject: [PATCH 032/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20bestsub=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4.2=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.4=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/{1.4.2 => 1.4.4}/data.yml | 0 bestsub/{1.4.2 => 1.4.4}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename bestsub/{1.4.2 => 1.4.4}/data.yml (100%) rename bestsub/{1.4.2 => 1.4.4}/docker-compose.yml (100%) diff --git a/bestsub/1.4.2/data.yml b/bestsub/1.4.4/data.yml similarity index 100% rename from bestsub/1.4.2/data.yml rename to bestsub/1.4.4/data.yml diff --git a/bestsub/1.4.2/docker-compose.yml b/bestsub/1.4.4/docker-compose.yml similarity index 100% rename from bestsub/1.4.2/docker-compose.yml rename to bestsub/1.4.4/docker-compose.yml From 4d3ebf00a026b4430d4a99dec1c4fa7e13c4008d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Sep 2025 08:36:46 +0000 Subject: [PATCH 033/203] chore(deps): update bestrui/bestsub docker tag to v1.5.0 --- bestsub/1.4.4/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bestsub/1.4.4/docker-compose.yml b/bestsub/1.4.4/docker-compose.yml index 7ad3122d1..70f1497e0 100644 --- a/bestsub/1.4.4/docker-compose.yml +++ b/bestsub/1.4.4/docker-compose.yml @@ -1,6 +1,6 @@ services: moontv: - image: bestrui/bestsub:v1.4.4 + image: bestrui/bestsub:v1.5.0 container_name: ${CONTAINER_NAME} restart: always From 90a9d9e096262a1a7b77955df08d9beacbb3f879 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 5 Sep 2025 08:37:00 +0000 Subject: [PATCH 034/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20bestsub=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4.4=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=201.5.0=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/{1.4.4 => 1.5.0}/data.yml | 0 bestsub/{1.4.4 => 1.5.0}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename bestsub/{1.4.4 => 1.5.0}/data.yml (100%) rename bestsub/{1.4.4 => 1.5.0}/docker-compose.yml (100%) diff --git a/bestsub/1.4.4/data.yml b/bestsub/1.5.0/data.yml similarity index 100% rename from bestsub/1.4.4/data.yml rename to bestsub/1.5.0/data.yml diff --git a/bestsub/1.4.4/docker-compose.yml b/bestsub/1.5.0/docker-compose.yml similarity index 100% rename from bestsub/1.4.4/docker-compose.yml rename to bestsub/1.5.0/docker-compose.yml From bddee25680fc9a5b2263bd0df25f6add7cd8c544 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 02:49:10 +0000 Subject: [PATCH 035/203] chore(deps): update bestrui/bestsub docker tag to v1.5.1 --- bestsub/1.5.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bestsub/1.5.0/docker-compose.yml b/bestsub/1.5.0/docker-compose.yml index 70f1497e0..672e742fc 100644 --- a/bestsub/1.5.0/docker-compose.yml +++ b/bestsub/1.5.0/docker-compose.yml @@ -1,6 +1,6 @@ services: moontv: - image: bestrui/bestsub:v1.5.0 + image: bestrui/bestsub:v1.5.1 container_name: ${CONTAINER_NAME} restart: always From 5e461fd0761fec0225f127302858c50e3666661e Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Mon, 8 Sep 2025 02:49:22 +0000 Subject: [PATCH 036/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20bestsub=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.5.0=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=201.5.1=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/{1.5.0 => 1.5.1}/data.yml | 0 bestsub/{1.5.0 => 1.5.1}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename bestsub/{1.5.0 => 1.5.1}/data.yml (100%) rename bestsub/{1.5.0 => 1.5.1}/docker-compose.yml (100%) diff --git a/bestsub/1.5.0/data.yml b/bestsub/1.5.1/data.yml similarity index 100% rename from bestsub/1.5.0/data.yml rename to bestsub/1.5.1/data.yml diff --git a/bestsub/1.5.0/docker-compose.yml b/bestsub/1.5.1/docker-compose.yml similarity index 100% rename from bestsub/1.5.0/docker-compose.yml rename to bestsub/1.5.1/docker-compose.yml From 2e823408c3bc9e57100357087fd941cc3e039f4a Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Mon, 15 Sep 2025 23:58:29 +0800 Subject: [PATCH 037/203] =?UTF-8?q?=F0=9F=98=8E=E6=9B=B4=E6=96=B0anheyu-ap?= =?UTF-8?q?p-pro=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=8D=95=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=84=9A=E6=9C=AC=EF=BC=8C=E5=AE=8C=E5=96=84?= =?UTF-8?q?mirror.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/1.0.27/data.yml | 133 ++++++++++++++++++++++ anheyu-blog-pro/1.0.27/docker-compose.yml | 29 +++++ anheyu-blog-pro/1.0.27/scripts/init.sh | 29 +++++ anheyu-blog-pro/1.0.27/scripts/upgrade.sh | 29 +++++ anheyu-blog-pro/README.md | 78 +++++++++++++ anheyu-blog-pro/data.yml | 30 +++++ anheyu-blog-pro/logo.png | Bin 0 -> 7541 bytes anheyu-blog/1.0.27/data.yml | 2 +- anheyu-blog/1.0.27/docker-compose.yml | 2 +- 9 files changed, 330 insertions(+), 2 deletions(-) create mode 100644 anheyu-blog-pro/1.0.27/data.yml create mode 100644 anheyu-blog-pro/1.0.27/docker-compose.yml create mode 100644 anheyu-blog-pro/1.0.27/scripts/init.sh create mode 100644 anheyu-blog-pro/1.0.27/scripts/upgrade.sh create mode 100644 anheyu-blog-pro/README.md create mode 100644 anheyu-blog-pro/data.yml create mode 100644 anheyu-blog-pro/logo.png diff --git a/anheyu-blog-pro/1.0.27/data.yml b/anheyu-blog-pro/1.0.27/data.yml new file mode 100644 index 000000000..e14910b2c --- /dev/null +++ b/anheyu-blog-pro/1.0.27/data.yml @@ -0,0 +1,133 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + default: mysql + envKey: PANEL_DB_TYPE + labelEn: Database Service + labelZh: 数据库服务 + label: + en: Database Service + ja: データベースサービス + ms: Perkhidmatan Pangkalan Data + pt-br: Serviço de Banco de Dados + ru: Сервис базы данных + ko: 데이터베이스 서비스 + zh: 数据库服务 + zh-Hant: 數據庫 服務 + required: true + type: apps + values: + - label: MySQL + value: mysql + - label: MariaDB + value: mariadb + - label: PostgreSQL + value: postgres + - default: anheyu + envKey: PANEL_DB_NAME + labelEn: Database Name + labelZh: 数据库名 + label: + en: Database Name + ja: データベース + ms: Pangkalan Data + pt-br: Banco de Dados + ru: База данных + ko: 데이터베이스 + zh: 数据库名 + zh-Hant: 數據庫名 + random: true + required: true + rule: paramCommon + type: text + - default: anheyu + envKey: PANEL_DB_USER + labelEn: Database User + labelZh: 数据库用户 + label: + en: Database User + ja: ユーザー + ms: Pengguna + pt-br: Usuário + ru: Пользователь + ko: 사용자 + zh: 数据库用户 + zh-Hant: 數據庫用戶 + random: true + required: true + rule: paramCommon + type: text + - default: anheyu + envKey: PANEL_DB_USER_PASSWORD + labelEn: Database User Password + labelZh: 数据库用户密码 + label: + en: Database User Password + ja: パスワード + ms: Kata Laluan + pt-br: Senha + ru: Пароль + ko: 비밀번호 + zh: 数据库用户密码 + zh-Hant: 數據庫用戶密碼 + random: true + required: true + type: password + - default: "" + envKey: PANEL_REDIS_HOST + key: redis + labelEn: Redis Service + labelZh: redis 服务 + required: true + type: service + label: + en: Redis Service + ja: Redisサービス + ms: Perkhidmatan Redis + pt-br: Serviço Redis + ru: Сервис Redis + ko: Redis 서비스 + zh: redis 服务 + zh-Hant: redis 服务 + - default: "" + envKey: PANEL_REDIS_ROOT_PASSWORD + labelEn: Redis Service Password + labelZh: 缓存服务服务密码 + required: false + type: password + # 验证密钥 + - default: "" + envKey: PANEL_LICENSE_KEY + labelEn: License Key + labelZh: 授权密钥 + label: + en: License Key + ja: ライセンスキー + ms: Kunci Lesen + pt-br: Chave de Licença + ru: Лицензионный ключ + ko: 라이선스 키 + zh: 授权密钥 + zh-Hant: 授權密鑰 + required: true + type: password + - default: 37826 + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: HTTP 端口 + label: + en: Port + ja: ポート + ms: Port + pt-br: Porta + ru: Порт + ko: 포트 + zh: HTTP 端口 + zh-Hant: HTTP連接埠 + required: true + rule: paramPort + type: number diff --git a/anheyu-blog-pro/1.0.27/docker-compose.yml b/anheyu-blog-pro/1.0.27/docker-compose.yml new file mode 100644 index 000000000..e6eb618a9 --- /dev/null +++ b/anheyu-blog-pro/1.0.27/docker-compose.yml @@ -0,0 +1,29 @@ +services: + anheyu: + # build: . + image: anheyu/anheyu-backend:v1.0.27 + container_name: ${CONTAINER_NAME} + restart: always + labels: + createdBy: "Apps" + ports: + - ${PANEL_APP_PORT_HTTP}:8091 + environment: + ANHEYU_DATABASE_TYPE: ${PANEL_DB_TYPE} + ANHEYU_DATABASE_HOST: ${PANEL_DB_HOST} + ANHEYU_DATABASE_USER: ${PANEL_DB_USER} + ANHEYU_DATABASE_NAME: ${PANEL_DB_NAME} + ANHEYU_DATABASE_PORT: ${PANEL_DB_PORT} + ANHEYU_DATABASE_PASSWORD: ${PANEL_DB_USER_PASSWORD} + ANHEYU_REDIS_ADDR: ${PANEL_REDIS_HOST}:6379 + ANHEYU_REDIS_PASSWORD: ${PANEL_REDIS_ROOT_PASSWORD} + ANHEYU_REDIS_DB: 10 + ANHEYU_LICENSE_KEY: ${PANEL_LICENSE_KEY} + networks: + - 1panel-network + volumes: + - ./data:/anheyu/data + +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/anheyu-blog-pro/1.0.27/scripts/init.sh b/anheyu-blog-pro/1.0.27/scripts/init.sh new file mode 100644 index 000000000..d68a2c04d --- /dev/null +++ b/anheyu-blog-pro/1.0.27/scripts/init.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# Script to replace anheyu/anheyu-backend with harbor.anheyu.com/anheyu/pro in docker-compose.yml +# Compatible with Ubuntu, CentOS, Debian and other Linux distributions +# Check if docker-compose.yml exists +if [ ! -f "./docker-compose.yml" ]; then + echo "Error: ./docker-compose.yml file not found!" + exit 1 +fi +# Check if backup file already exists and remove it +if [ -f "./docker-compose.yml.back" ]; then + echo "Existing backup file found, removing old backup..." + rm ./docker-compose.yml.back +fi +# Create backup of original file +cp ./docker-compose.yml ./docker-compose.yml.back +echo "Backup created: ./docker-compose.yml.back" +# Replace anheyu/anheyu-backend with harbor.anheyu.com/anheyu/pro +sed -i 's|anheyu/anheyu-backend|harbor.anheyu.com/anheyu/pro|g' ./docker-compose.yml +# Check if replacement was successful +if grep -q "harbor.anheyu.com/anheyu/pro" ./docker-compose.yml; then + echo "Successfully replaced anheyu/anheyu-backend with harbor.anheyu.com/anheyu/pro" + echo "Changes applied to ./docker-compose.yml" +else + echo "Warning: No replacements were made. Please check if 'anheyu/anheyu-backend' exists in the file." +fi +# Show the changes +echo "" +echo "Modified lines:" +grep "harbor.anheyu.com/anheyu/pro" ./docker-compose.yml || echo "No matching lines found" \ No newline at end of file diff --git a/anheyu-blog-pro/1.0.27/scripts/upgrade.sh b/anheyu-blog-pro/1.0.27/scripts/upgrade.sh new file mode 100644 index 000000000..d68a2c04d --- /dev/null +++ b/anheyu-blog-pro/1.0.27/scripts/upgrade.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# Script to replace anheyu/anheyu-backend with harbor.anheyu.com/anheyu/pro in docker-compose.yml +# Compatible with Ubuntu, CentOS, Debian and other Linux distributions +# Check if docker-compose.yml exists +if [ ! -f "./docker-compose.yml" ]; then + echo "Error: ./docker-compose.yml file not found!" + exit 1 +fi +# Check if backup file already exists and remove it +if [ -f "./docker-compose.yml.back" ]; then + echo "Existing backup file found, removing old backup..." + rm ./docker-compose.yml.back +fi +# Create backup of original file +cp ./docker-compose.yml ./docker-compose.yml.back +echo "Backup created: ./docker-compose.yml.back" +# Replace anheyu/anheyu-backend with harbor.anheyu.com/anheyu/pro +sed -i 's|anheyu/anheyu-backend|harbor.anheyu.com/anheyu/pro|g' ./docker-compose.yml +# Check if replacement was successful +if grep -q "harbor.anheyu.com/anheyu/pro" ./docker-compose.yml; then + echo "Successfully replaced anheyu/anheyu-backend with harbor.anheyu.com/anheyu/pro" + echo "Changes applied to ./docker-compose.yml" +else + echo "Warning: No replacements were made. Please check if 'anheyu/anheyu-backend' exists in the file." +fi +# Show the changes +echo "" +echo "Modified lines:" +grep "harbor.anheyu.com/anheyu/pro" ./docker-compose.yml || echo "No matching lines found" \ No newline at end of file diff --git a/anheyu-blog-pro/README.md b/anheyu-blog-pro/README.md new file mode 100644 index 000000000..2acdf20d6 --- /dev/null +++ b/anheyu-blog-pro/README.md @@ -0,0 +1,78 @@ +# 🌈 Anheyu Blog Pro + +> 该版本需要密钥方可运行,如果尚未得到授权请使用社区版本 + +如果能给我一个 **Star ⭐**,那将是对我莫大的鼓励。 + +在使用本应用前请注意: +它是一个 **独立应用**,需要服务器环境才能运行。推荐使用 **Docker 部署**,可大大减少环境配置带来的问题。 + +由 **安知鱼** 负责开发与维护。 + +* GitHub: [https://github.com/anzhiyu-c/anheyu-app](https://github.com/anzhiyu-c/anheyu-app) +* 预览: 👍 AnZhiYu | 🤞 AnZhiYu +* 文档: 📖 AnHeYu Docs + +--- + +## 🌟 系统简介 + +**Anheyu Blog** 是一个基于 **Go + Vue3** 的现代化博客与内容管理系统。 +后端使用 **Go** 提供高性能 API,前端采用 **Vue3 + Element Plus** 打造美观易用的用户界面。 + +--- + +## ✨ 功能特性 + +* ✅ Markdown 编辑 & 富文本预览 +* ✅ 图片上传、管理与懒加载 +* ✅ 分类 & 标签管理 +* ✅ 外部链接收集与分享 +* ✅ 内置评论系统,支持用户互动 +* ✅ 文件管理与缩略图优化 +* ✅ 多种数据库支持(MySQL/PostgreSQL/SQLite) +* ✅ 灵活存储配置 +* ✅ 暗黑模式 / 沉浸式状态栏 +* ✅ LaTeX 数学公式 & Mermaid 流程图 +* ✅ 广告挂载 & Inject 自定义扩展 +* ✅ AI 摘要(Pro) +* ✅ PWA 渐进式应用 & 高速缓存 +* ✅ 优秀的隐私协议支持 + +--- + +## 🏗️ 技术栈 + +* **后端**: Go + Ent +* **前端**: Vue3 + Element Plus +* **数据库**: MySQL / PostgreSQL / SQLite + +--- + +## 🤝 贡献 + +欢迎提交 **Issue / PR** 帮助改进项目! + +--- + +## 📄 开源协议 + +本项目基于 **GPL-3.0 License** 开源。 + +--- + +## 👨‍💻 作者 + +* **安知鱼**(项目维护者) + +--- + +## 🙏 致谢 + +感谢所有为本项目贡献的开发者与用户! + +--- + +## 📢 社区 + +* QQ 群组:**464636182** diff --git a/anheyu-blog-pro/data.yml b/anheyu-blog-pro/data.yml new file mode 100644 index 000000000..303990deb --- /dev/null +++ b/anheyu-blog-pro/data.yml @@ -0,0 +1,30 @@ +name: Anheyu Blog Pro +tags: + - 建站 +title: [赞助版]一个基于 Go + Vue3 的现代化博客与内容管理系统 +description: [赞助版]基于 Go 语言后端与 Vue3 前端构建的高性能博客与内容管理平台 +additionalProperties: + key: anheyu-blog-pro + name: Anheyu Blog Pro + tags: + - website + shortDescZh: 一个基于 Go + Vue3 的现代化博客与内容管理系统 + shortDescEn: A modern blog and content management system built with Go and Vue3 + type: website + crossVersionUpdate: true + limit: 0 + website: https://anheyu.com/ + github: https://github.com/anzhiyu-c/anheyu-app + document: https://anheyu.com/posts/Z3MC + description: + en: A modern blog and content management system built with Go backend and Vue3 frontend. + zh: 一个基于 Go 语言后端与 Vue3 前端构建的现代化博客与内容管理系统。 + zh-Hant: 一個基於 Go 語言後端與 Vue3 前端構建的現代化部落格與內容管理系統。 + ja: Go バックエンドと Vue3 フロントエンドで構築されたモダンなブログ・コンテンツ管理システム。 + ms: Sistem blog dan pengurusan kandungan moden dibina dengan Go backend dan Vue3 frontend. + pt-br: Um sistema moderno de blog e gerenciamento de conteúdo construído com Go e Vue3. + ru: Современная система ведения блогов и управления контентом, построенная на Go и Vue3. + ko: Go 백엔드와 Vue3 프론트엔드로 구축된 현대적인 블로그 및 콘텐츠 관리 시스템. + architectures: + - amd64 + - arm64 diff --git a/anheyu-blog-pro/logo.png b/anheyu-blog-pro/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5aebd27797129afc78cc7a1df5aa50a1a4c5a2cc GIT binary patch literal 7541 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 Date: Tue, 16 Sep 2025 00:03:57 +0800 Subject: [PATCH 038/203] =?UTF-8?q?=F0=9F=A4=94=E5=88=A0=E6=8E=89=E8=8B=B1?= =?UTF-8?q?=E6=96=87=E4=B8=AD=E6=8B=AC=E5=8F=B7=EF=BC=8C=E9=98=B2=E6=AD=A2?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=97=B6=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/data.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/anheyu-blog-pro/data.yml b/anheyu-blog-pro/data.yml index 303990deb..fe296ff4d 100644 --- a/anheyu-blog-pro/data.yml +++ b/anheyu-blog-pro/data.yml @@ -1,8 +1,8 @@ name: Anheyu Blog Pro tags: - 建站 -title: [赞助版]一个基于 Go + Vue3 的现代化博客与内容管理系统 -description: [赞助版]基于 Go 语言后端与 Vue3 前端构建的高性能博客与内容管理平台 +title: 【赞助版】一个基于 Go + Vue3 的现代化博客与内容管理系统 +description: 【赞助版】基于 Go 语言后端与 Vue3 前端构建的高性能博客与内容管理平台 additionalProperties: key: anheyu-blog-pro name: Anheyu Blog Pro From 3c16dcc59bca66d51f54e3dfbabaad0742f06738 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 16:14:45 +0000 Subject: [PATCH 039/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.1.0 --- anheyu-blog-pro/1.0.27/docker-compose.yml | 2 +- anheyu-blog/1.0.27/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/anheyu-blog-pro/1.0.27/docker-compose.yml b/anheyu-blog-pro/1.0.27/docker-compose.yml index e6eb618a9..30470d0f4 100644 --- a/anheyu-blog-pro/1.0.27/docker-compose.yml +++ b/anheyu-blog-pro/1.0.27/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:v1.0.27 + image: anheyu/anheyu-backend:1.1.0 container_name: ${CONTAINER_NAME} restart: always labels: diff --git a/anheyu-blog/1.0.27/docker-compose.yml b/anheyu-blog/1.0.27/docker-compose.yml index 622b480d0..1c62b1b4a 100644 --- a/anheyu-blog/1.0.27/docker-compose.yml +++ b/anheyu-blog/1.0.27/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.0.27 + image: anheyu/anheyu-backend:1.1.0 container_name: ${CONTAINER_NAME} restart: always labels: From 92e2b36ae89dbea80906aa13622b3ec7a577821b Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Mon, 15 Sep 2025 16:14:55 +0000 Subject: [PATCH 040/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.0?= =?UTF-8?q?.27=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.0=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.0.27 => 1.1.0}/data.yml | 0 anheyu-blog-pro/{1.0.27 => 1.1.0}/docker-compose.yml | 0 anheyu-blog-pro/{1.0.27 => 1.1.0}/scripts/init.sh | 0 anheyu-blog-pro/{1.0.27 => 1.1.0}/scripts/upgrade.sh | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.0.27 => 1.1.0}/data.yml (100%) rename anheyu-blog-pro/{1.0.27 => 1.1.0}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.0.27 => 1.1.0}/scripts/init.sh (100%) rename anheyu-blog-pro/{1.0.27 => 1.1.0}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.0.27/data.yml b/anheyu-blog-pro/1.1.0/data.yml similarity index 100% rename from anheyu-blog-pro/1.0.27/data.yml rename to anheyu-blog-pro/1.1.0/data.yml diff --git a/anheyu-blog-pro/1.0.27/docker-compose.yml b/anheyu-blog-pro/1.1.0/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.0.27/docker-compose.yml rename to anheyu-blog-pro/1.1.0/docker-compose.yml diff --git a/anheyu-blog-pro/1.0.27/scripts/init.sh b/anheyu-blog-pro/1.1.0/scripts/init.sh similarity index 100% rename from anheyu-blog-pro/1.0.27/scripts/init.sh rename to anheyu-blog-pro/1.1.0/scripts/init.sh diff --git a/anheyu-blog-pro/1.0.27/scripts/upgrade.sh b/anheyu-blog-pro/1.1.0/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.0.27/scripts/upgrade.sh rename to anheyu-blog-pro/1.1.0/scripts/upgrade.sh From efe570be4bca7fe2bdc47a8f99a1ecc540ca1c6c Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Mon, 15 Sep 2025 16:14:55 +0000 Subject: [PATCH 041/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.0.27?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.0=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.0.27 => 1.1.0}/data.yml | 0 anheyu-blog/{1.0.27 => 1.1.0}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.0.27 => 1.1.0}/data.yml (100%) rename anheyu-blog/{1.0.27 => 1.1.0}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.0.27/data.yml b/anheyu-blog/1.1.0/data.yml similarity index 100% rename from anheyu-blog/1.0.27/data.yml rename to anheyu-blog/1.1.0/data.yml diff --git a/anheyu-blog/1.0.27/docker-compose.yml b/anheyu-blog/1.1.0/docker-compose.yml similarity index 100% rename from anheyu-blog/1.0.27/docker-compose.yml rename to anheyu-blog/1.1.0/docker-compose.yml From dffeedea1e4bac21c68970dcafa81c5cd40d1c32 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Tue, 16 Sep 2025 11:21:13 +0800 Subject: [PATCH 042/203] =?UTF-8?q?=F0=9F=98=8B=E6=9B=B4=E6=96=B0=E4=B8=A4?= =?UTF-8?q?=E4=B8=AA=E5=BA=94=E7=94=A8=EF=BC=8C=E5=B0=9D=E8=AF=95=E4=BB=A3?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hubproxy/README.md | 239 +++++++++++++++++++++++++ hubproxy/data.yml | 36 ++++ hubproxy/latest/data.yml | 18 ++ hubproxy/latest/docker-compose.yml | 22 +++ hubproxy/logo.png | Bin 0 -> 21511 bytes oauth2-proxy/7.12.0/data.yml | 193 ++++++++++++++++++++ oauth2-proxy/7.12.0/docker-compose.yml | 27 +++ oauth2-proxy/README.md | 106 +++++++++++ oauth2-proxy/data.yml | 32 ++++ oauth2-proxy/logo.png | Bin 0 -> 9087 bytes 10 files changed, 673 insertions(+) create mode 100644 hubproxy/README.md create mode 100644 hubproxy/data.yml create mode 100644 hubproxy/latest/data.yml create mode 100644 hubproxy/latest/docker-compose.yml create mode 100644 hubproxy/logo.png create mode 100644 oauth2-proxy/7.12.0/data.yml create mode 100644 oauth2-proxy/7.12.0/docker-compose.yml create mode 100644 oauth2-proxy/README.md create mode 100644 oauth2-proxy/data.yml create mode 100644 oauth2-proxy/logo.png diff --git a/hubproxy/README.md b/hubproxy/README.md new file mode 100644 index 000000000..ddb261ac5 --- /dev/null +++ b/hubproxy/README.md @@ -0,0 +1,239 @@ +# HubProxy + +🚀 **Docker 和 GitHub 加速代理服务器** + +一个轻量级、高性能的多功能代理服务,提供 Docker 镜像加速、GitHub 文件加速、下载离线镜像、在线搜索 Docker 镜像等功能。 + +## ✨ 特性 + +- 🐳 **Docker 镜像加速** - 支持 Docker Hub、GHCR、Quay 等多个镜像仓库加速,流式传输优化拉取速度。 +- 🐳 **离线镜像包** - 支持下载离线镜像包,流式传输加防抖设计。 +- 📁 **GitHub 文件加速** - 加速 GitHub Release、Raw 文件下载,支持`api.github.com`,脚本嵌套加速等等 +- 🤖 **AI 模型库支持** - 支持 Hugging Face 模型下载加速 +- 🛡️ **智能限流** - IP 限流保护,防止滥用 +- 🚫 **仓库审计** - 强大的自定义黑名单,白名单,同时审计镜像仓库,和GitHub仓库 +- 🔍 **镜像搜索** - 在线搜索 Docker 镜像 +- ⚡ **轻量高效** - 基于 Go 语言,单二进制文件运行,资源占用低。 +- 🔧 **统一配置** - 统一配置管理,便于维护。 +- 🛡️ **完全自托管** - 避免依赖免费第三方服务的不稳定性,例如`cloudflare`等等。 +- 🚀 **多服务统一加速** - 单个程序即可统一加速 Docker、GitHub、Hugging Face 等多种服务,简化部署与管理。 + + +## 🚀 快速开始 + +### Docker部署(推荐) +``` +docker run -d \ + --name hubproxy \ + -p 5000:5000 \ + --restart always \ + ghcr.io/sky22333/hubproxy +``` + + + +### 一键脚本安装 + +```bash +curl -fsSL https://raw.githubusercontent.com/sky22333/hubproxy/main/install.sh | sudo bash +``` + +也可以直接下载二进制文件执行`./hubproxy`使用,无需配置文件即可启动,内置默认配置,支持所有功能。 + +这个脚本会: +- 🔍 自动检测系统架构(AMD64/ARM64) +- 📥 从 GitHub Releases 下载最新版本 +- ⚙️ 自动配置系统服务 +- 🔄 保留现有配置(升级时) + + + +## 📖 使用方法 + +### Docker 镜像加速 + +```bash +# 原命令 +docker pull nginx + +# 使用加速 +docker pull yourdomain.com/nginx + +# ghcr加速 +docker pull yourdomain.com/ghcr.io/sky22333/hubproxy + +# 符合Docker Registry API v2标准的仓库都支持 +``` + +当然也支持配置为全局镜像加速,在主机上新建(或编辑)`/etc/docker/daemon.json` + +在 `"registry-mirrors"` 中加入域名: + +```json +{ + "registry-mirrors": [ + "https://yourdomain.com" + ] +} +``` + +若已设置其他加速地址,直接并列添加后保存,再执行 `sudo systemctl restart docker` 重启docker服务让配置生效。 + +### GitHub 文件加速 + +```bash +# 原链接 +https://github.com/user/repo/releases/download/v1.0.0/file.tar.gz + +# 加速链接 +https://yourdomain.com/https://github.com/user/repo/releases/download/v1.0.0/file.tar.gz + +# 加速下载仓库 +git clone https://yourdomain.com/https://github.com/sky22333/hubproxy.git +``` + +## ⚙️ 配置 + +
+ config.toml 配置说明 + +*此配置是默认配置,已经内置在程序中了* + +``` +[server] +host = "0.0.0.0" +# 监听端口 +port = 5000 +# Github文件大小限制(字节),默认2GB +fileSize = 2147483648 +# HTTP/2 多路复用,提升下载速度 +enableH2C = false + +[rateLimit] +# 每个IP每周期允许的请求数(注意Docker镜像会有多个层,会消耗多个次数) +requestLimit = 500 +# 限流周期(小时) +periodHours = 3.0 + +[security] +# IP白名单,支持单个IP或IP段 +# 白名单中的IP不受限流限制 +whiteList = [ + "127.0.0.1", + "172.17.0.0/16", + "192.168.1.0/24" +] + +# IP黑名单,支持单个IP或IP段 +# 黑名单中的IP将被直接拒绝访问 +blackList = [ + "192.168.100.1", + "192.168.100.0/24" +] + +[access] +# 代理服务白名单(支持GitHub仓库和Docker镜像,支持通配符) +# 只允许访问白名单中的仓库/镜像,为空时不限制 +whiteList = [] + +# 代理服务黑名单(支持GitHub仓库和Docker镜像,支持通配符) +# 禁止访问黑名单中的仓库/镜像 +blackList = [ + "baduser/malicious-repo", + "*/malicious-repo", + "baduser/*" +] + +# 代理配置,支持有用户名/密码认证和无认证模式 +# 无认证: socks5://127.0.0.1:1080 +# 有认证: socks5://username:password@127.0.0.1:1080 +# 留空不使用代理 +proxy = "" + +[download] +# 批量下载离线镜像数量限制 +maxImages = 10 + +# Registry映射配置,支持多种镜像仓库上游 +[registries] + +# GitHub Container Registry +[registries."ghcr.io"] +upstream = "ghcr.io" +authHost = "ghcr.io/token" +authType = "github" +enabled = true + +# Google Container Registry +[registries."gcr.io"] +upstream = "gcr.io" +authHost = "gcr.io/v2/token" +authType = "google" +enabled = true + +# Quay.io Container Registry +[registries."quay.io"] +upstream = "quay.io" +authHost = "quay.io/v2/auth" +authType = "quay" +enabled = true + +# Kubernetes Container Registry +[registries."registry.k8s.io"] +upstream = "registry.k8s.io" +authHost = "registry.k8s.io" +authType = "anonymous" +enabled = true + +[tokenCache] +# 是否启用缓存(同时控制Token和Manifest缓存)显著提升性能 +enabled = true +# 默认缓存时间(分钟) +defaultTTL = "20m" +``` + +
+ +容器内的配置文件位于 `/root/config.toml` + +脚本部署配置文件位于 `/opt/hubproxy/config.toml` + +为了IP限流能够正常运行,反向代理需要传递IP头用来获取访客真实IP,以caddy为例: +``` +example.com { + reverse_proxy { + to 127.0.0.1:5000 + header_up X-Real-IP {remote} + header_up X-Forwarded-For {remote} + header_up X-Forwarded-Proto {scheme} + } +} +``` +cloudflare CDN: +``` +example.com { + reverse_proxy 127.0.0.1:5000 { + header_up X-Forwarded-For {http.request.header.CF-Connecting-IP} + header_up X-Real-IP {http.request.header.CF-Connecting-IP} + header_up X-Forwarded-Proto https + header_up X-Forwarded-Host {host} + } +} +``` + +> 对于使用nginx反代的用户,Github加速提示`无效输入`的问题可以参见[issues/62](https://github.com/sky22333/hubproxy/issues/62#issuecomment-3219572440) + + +## ⚠️ 免责声明 + +- 本程序仅供学习交流使用,请勿用于非法用途 +- 使用本程序需遵守当地法律法规 +- 作者不对使用者的任何行为承担责任 + +--- + +
+ +**⭐ 如果这个项目对你有帮助,请给个 Star!⭐** + +
\ No newline at end of file diff --git a/hubproxy/data.yml b/hubproxy/data.yml new file mode 100644 index 000000000..7b8df473c --- /dev/null +++ b/hubproxy/data.yml @@ -0,0 +1,36 @@ +name: HubProxy +tags: + - Proxy + - Docker + - GitHub + - DevOps + - 加速 +title: 🚀 Docker 和 GitHub 加速代理服务器 +description: 一个轻量级、高性能的多功能代理服务,提供 Docker 镜像加速、GitHub 文件加速、离线镜像下载、AI 模型加速、智能限流等功能。 +additionalProperties: + key: hubproxy + name: HubProxy + tags: + - Tool + - DevOps + - Proxy + shortDescZh: Docker & GitHub 镜像加速代理服务器,支持多功能加速与离线镜像 + shortDescEn: Lightweight proxy server for accelerating Docker, GitHub, and AI model downloads + type: website + crossVersionUpdate: true + limit: 0 + website: https://github.com/sky22333/hubproxy + github: https://github.com/sky22333/hubproxy + document: https://github.com/sky22333/hubproxy + description: + en: A lightweight, high-performance proxy server for accelerating Docker images, GitHub files, Hugging Face models, and more. Supports offline image packages, intelligent rate limiting, and unified configuration. + zh: 一个轻量级、高性能的多功能代理服务,支持 Docker 镜像加速、GitHub 文件加速、Hugging Face 模型下载、离线镜像包、智能限流等功能。 + zh-Hant: 輕量級高效能多功能代理服務,支援 Docker 鏡像加速、GitHub 檔案加速、Hugging Face 模型下載、離線鏡像包、智慧限流等功能。 + ja: 軽量で高性能な多機能プロキシサーバー。Docker イメージや GitHub ファイル、Hugging Face モデルの加速、オフラインイメージパッケージ、インテリジェントレート制限などをサポート。 + ms: Pelayan proksi ringan dan berprestasi tinggi untuk mempercepat imej Docker, fail GitHub, model Hugging Face, serta menyokong pakej imej luar talian dan had kadar pintar. + pt-br: Servidor proxy leve e de alto desempenho para acelerar imagens Docker, arquivos do GitHub, modelos Hugging Face e muito mais. Suporta pacotes de imagens offline, limitação de taxa inteligente e configuração unificada. + ru: Легковесный высокопроизводительный прокси-сервер для ускорения загрузки Docker-образов, файлов GitHub, моделей Hugging Face и др. Поддерживает офлайн-пакеты, интеллектуальное ограничение скорости и унифицированную конфигурацию. + ko: 가볍고 고성능의 다기능 프록시 서버로 Docker 이미지, GitHub 파일, Hugging Face 모델 가속을 지원하며 오프라인 이미지 패키지, 지능형 속도 제한, 통합 설정을 제공합니다. + architectures: + - amd64 + - arm64 diff --git a/hubproxy/latest/data.yml b/hubproxy/latest/data.yml new file mode 100644 index 000000000..eb0cb6866 --- /dev/null +++ b/hubproxy/latest/data.yml @@ -0,0 +1,18 @@ +additionalProperties: + formFields: + - default: 13485 + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + label: + en: HTTP Port + ja: ポート + ms: Port + pt-br: Porta + ru: Порт + ko: 포트 + zh: HTTP 端口 + zh-Hant: HTTP 連接埠 + required: true + rule: paramPort + type: number \ No newline at end of file diff --git a/hubproxy/latest/docker-compose.yml b/hubproxy/latest/docker-compose.yml new file mode 100644 index 000000000..bea1a6f0a --- /dev/null +++ b/hubproxy/latest/docker-compose.yml @@ -0,0 +1,22 @@ +services: + hubproxy: + image: ghcr.io/sky22333/hubproxy:latest + container_name: ${CONTAINER_NAME} + ports: + - "${PANEL_APP_PORT_HTTP}:8888" + volumes: + - ./src/config.toml:/root/config.toml + logging: + driver: json-file + options: + max-size: "1g" + max-file: "2" + labels: + createdBy: "Apps" + networks: + - 1panel-network + restart: always + +networks: + 1panel-network: + external: true diff --git a/hubproxy/logo.png b/hubproxy/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1302df0013953eebc2fcc60fb8540cf7f434aa25 GIT binary patch literal 21511 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

tzs5PM%Jh1yl;VD}v`C84#YEK{lu?eu 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 \ + -e OAUTH2_PROXY_CLIENT_SECRET= \ + -e OAUTH2_PROXY_COOKIE_SECRET=$(openssl rand -base64 32 | head -c 32 | base64) \ + -e OAUTH2_PROXY_REDIRECT_URL=https://your.domain.com/oauth2/callback \ + -e OAUTH2_PROXY_EMAIL_DOMAINS=* \ + quay.io/oauth2-proxy/oauth2-proxy:latest +``` + +容器启动后,访问 `http://localhost:4180` 即会跳转到 OAuth2 提供商登录。 + +--- + +### 使用 Helm (Kubernetes) + +```bash +helm repo add oauth2-proxy https://oauth2-proxy.github.io/manifests +helm repo update +helm install oauth2-proxy/oauth2-proxy \ + --generate-name \ + --set config.clientID= \ + --set config.clientSecret= \ + --set config.cookieSecret=$(openssl rand -base64 32 | head -c 32 | base64) \ + --set config.provider=google +``` + +--- + +## 配置示例 + +### 基本配置文件 `oauth2-proxy.cfg` + +```ini +provider = "oidc" +client_id = "your-client-id" +client_secret = "your-client-secret" +redirect_url = "https://your.domain.com/oauth2/callback" +oidc_issuer_url = "https://accounts.example.com" +email_domains = ["*"] +cookie_secret = "random-cookie-secret" +``` + +运行: + +```bash +oauth2-proxy --config ./oauth2-proxy.cfg +``` + +--- + +## Nginx 反向代理示例 + +```nginx +server { + listen 443 ssl; + server_name app.example.com; + + location / { + proxy_pass http://127.0.0.1:4180; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } +} +``` + +--- + +## 常用环境变量 + +| 变量名 | 说明 | +| ---------------------------- | ---------------------------------- | +| `OAUTH2_PROXY_PROVIDER` | 身份提供商类型,如 `google`、`github`、`oidc` | +| `OAUTH2_PROXY_CLIENT_ID` | OAuth2 客户端 ID | +| `OAUTH2_PROXY_CLIENT_SECRET` | OAuth2 客户端密钥 | +| `OAUTH2_PROXY_COOKIE_SECRET` | 随机字符串,用于加密 Cookie | +| `OAUTH2_PROXY_REDIRECT_URL` | 回调地址 | +| `OAUTH2_PROXY_EMAIL_DOMAINS` | 允许的邮箱域,`*` 表示允许所有 | + +--- + +## 参考资料 + +* [官方文档](https://oauth2-proxy.github.io/oauth2-proxy/) +* [GitHub 仓库](https://github.com/oauth2-proxy/oauth2-proxy) diff --git a/oauth2-proxy/data.yml b/oauth2-proxy/data.yml new file mode 100644 index 000000000..1692bb03c --- /dev/null +++ b/oauth2-proxy/data.yml @@ -0,0 +1,32 @@ +name: OAuth2 Proxy +tags: + - 开发工具 + - 安全 +title: OAuth2身份认证代理,支持多种身份提供商的统一登录解决方案 +description: 一个支持多种OAuth2和OIDC身份提供商的认证代理工具,常用于在现有Web服务前添加统一登录认证。 +additionalProperties: + key: oauth2-proxy + name: OAuth2 Proxy + tags: + - DevTool + - Security + shortDescZh: OAuth2认证代理,支持多身份提供商的一站式登录认证解决方案 + shortDescEn: OAuth2 authentication proxy with multi-provider SSO support + type: website + crossVersionUpdate: true + limit: 0 + website: https://oauth2-proxy.github.io/oauth2-proxy/ + github: https://github.com/oauth2-proxy/oauth2-proxy + document: https://oauth2-proxy.github.io/oauth2-proxy/ + description: + en: A reverse proxy and authentication provider that provides login using OAuth2 and OpenID Connect providers, suitable for securing existing web services with SSO. + zh: 一个反向代理和认证中间件,支持多种OAuth2和OIDC身份提供商,为现有Web服务提供统一登录保护。 + zh-Hant: 一個反向代理與認證中介軟體,支援多種OAuth2和OIDC身份提供商,為既有Web服務提供單一登入保護。 + ja: 複数のOAuth2およびOIDCプロバイダーに対応した認証プロキシで、既存のWebサービスにSSO保護を追加可能。 + ms: Proksi pengesahan yang menyokong penyedia OAuth2 dan OIDC pelbagai, sesuai untuk melindungi perkhidmatan web sedia ada dengan SSO. + pt-br: Proxy de autenticação que suporta múltiplos provedores OAuth2 e OIDC, adequado para proteger serviços web existentes com SSO. + ru: Обратный прокси и провайдер аутентификации, поддерживающий OAuth2 и OIDC, обеспечивающий единую точку входа для существующих веб-сервисов. + ko: 다양한 OAuth2 및 OIDC 제공자를 지원하는 인증 프록시로, 기존 웹 서비스에 단일 로그인 보호를 제공합니다. + architectures: + - amd64 + - arm64 diff --git a/oauth2-proxy/logo.png b/oauth2-proxy/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f65af7b283f3eed941c248558b985814844b030a GIT binary patch literal 9087 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 literal 0 HcmV?d00001 From 0836b53ff4fed7e163bde0bae1d276f1683b5aad Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Tue, 16 Sep 2025 11:30:24 +0800 Subject: [PATCH 043/203] =?UTF-8?q?=F0=9F=98=8B=E6=B7=BB=E5=8A=A0=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hubproxy/latest/data/config.toml | 90 ++++++++++++++++++++++++++++++ hubproxy/latest/docker-compose.yml | 2 +- 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 hubproxy/latest/data/config.toml diff --git a/hubproxy/latest/data/config.toml b/hubproxy/latest/data/config.toml new file mode 100644 index 000000000..f4c2610ac --- /dev/null +++ b/hubproxy/latest/data/config.toml @@ -0,0 +1,90 @@ +[server] +host = "0.0.0.0" +# 监听端口 +port = 5000 +# Github文件大小限制(字节),默认2GB +fileSize = 2147483648 +# HTTP/2 多路复用,提升下载速度 +enableH2C = false + +[rateLimit] +# 每个IP每周期允许的请求数(注意Docker镜像会有多个层,会消耗多个次数) +requestLimit = 500 +# 限流周期(小时) +periodHours = 3.0 + +[security] +# IP白名单,支持单个IP或IP段 +# 白名单中的IP不受限流限制 +whiteList = [ + "127.0.0.1", + "172.17.0.0/16", + "192.168.1.0/24" +] + +# IP黑名单,支持单个IP或IP段 +# 黑名单中的IP将被直接拒绝访问 +blackList = [ + "192.168.100.1", + "192.168.100.0/24" +] + +[access] +# 代理服务白名单(支持GitHub仓库和Docker镜像,支持通配符) +# 只允许访问白名单中的仓库/镜像,为空时不限制 +whiteList = [] + +# 代理服务黑名单(支持GitHub仓库和Docker镜像,支持通配符) +# 禁止访问黑名单中的仓库/镜像 +blackList = [ + "baduser/malicious-repo", + "*/malicious-repo", + "baduser/*" +] + +# 代理配置,支持有用户名/密码认证和无认证模式 +# 无认证: socks5://127.0.0.1:1080 +# 有认证: socks5://username:password@127.0.0.1:1080 +# 留空不使用代理 +proxy = "" + +[download] +# 批量下载离线镜像数量限制 +maxImages = 10 + +# Registry映射配置,支持多种镜像仓库上游 +[registries] + +# GitHub Container Registry +[registries."ghcr.io"] +upstream = "ghcr.io" +authHost = "ghcr.io/token" +authType = "github" +enabled = true + +# Google Container Registry +[registries."gcr.io"] +upstream = "gcr.io" +authHost = "gcr.io/v2/token" +authType = "google" +enabled = true + +# Quay.io Container Registry +[registries."quay.io"] +upstream = "quay.io" +authHost = "quay.io/v2/auth" +authType = "quay" +enabled = true + +# Kubernetes Container Registry +[registries."registry.k8s.io"] +upstream = "registry.k8s.io" +authHost = "registry.k8s.io" +authType = "anonymous" +enabled = true + +[tokenCache] +# 是否启用缓存(同时控制Token和Manifest缓存)显著提升性能 +enabled = true +# 默认缓存时间(分钟) +defaultTTL = "20m" \ No newline at end of file diff --git a/hubproxy/latest/docker-compose.yml b/hubproxy/latest/docker-compose.yml index bea1a6f0a..19b874e21 100644 --- a/hubproxy/latest/docker-compose.yml +++ b/hubproxy/latest/docker-compose.yml @@ -5,7 +5,7 @@ services: ports: - "${PANEL_APP_PORT_HTTP}:8888" volumes: - - ./src/config.toml:/root/config.toml + - ./data/config.toml:/root/config.toml logging: driver: json-file options: From 50db91eb780180cac4525b308931ab6d4e5fb874 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Tue, 16 Sep 2025 11:38:08 +0800 Subject: [PATCH 044/203] =?UTF-8?q?=F0=9F=A4=97=E4=BF=AE=E6=94=B9=E7=AB=AF?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hubproxy/latest/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hubproxy/latest/docker-compose.yml b/hubproxy/latest/docker-compose.yml index 19b874e21..f16393a52 100644 --- a/hubproxy/latest/docker-compose.yml +++ b/hubproxy/latest/docker-compose.yml @@ -3,7 +3,7 @@ services: image: ghcr.io/sky22333/hubproxy:latest container_name: ${CONTAINER_NAME} ports: - - "${PANEL_APP_PORT_HTTP}:8888" + - "${PANEL_APP_PORT_HTTP}:5000" volumes: - ./data/config.toml:/root/config.toml logging: From 1aa6f5672165253e15c74faa62941d9cd50aff6f Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Tue, 16 Sep 2025 13:48:31 +0800 Subject: [PATCH 045/203] =?UTF-8?q?=F0=9F=A4=A3=E6=B7=BB=E5=8A=A0=E5=BA=94?= =?UTF-8?q?=E7=94=A8tinyauth?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tinyauth/3.6.2/data.yml | 210 ++++++++++++++++++++++++++++++ tinyauth/3.6.2/docker-compose.yml | 42 ++++++ tinyauth/README.md | 78 +++++++++++ tinyauth/data.yml | 32 +++++ tinyauth/logo.png | Bin 0 -> 18925 bytes 5 files changed, 362 insertions(+) create mode 100644 tinyauth/3.6.2/data.yml create mode 100644 tinyauth/3.6.2/docker-compose.yml create mode 100644 tinyauth/README.md create mode 100644 tinyauth/data.yml create mode 100644 tinyauth/logo.png diff --git a/tinyauth/3.6.2/data.yml b/tinyauth/3.6.2/data.yml new file mode 100644 index 000000000..2638871fa --- /dev/null +++ b/tinyauth/3.6.2/data.yml @@ -0,0 +1,210 @@ +additionalProperties: + formFields: + - default: 14389 + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + label: + en: HTTP Port + ja: ポート + ms: Port + pt-br: Porta + ru: Порт + ko: 포트 + zh: HTTP 端口 + zh-Hant: HTTP 連接埠 + required: true + rule: paramPort + type: number + + - default: "" + envKey: PANEL_TINYAUTH_APP_URL + labelEn: App URL + labelZh: 应用地址 + label: + en: App URL + ja: アプリURL + ms: URL Aplikasi + pt-br: URL do Aplicativo + ru: URL приложения + ko: 앱 URL + zh: 应用地址 + zh-Hant: 應用地址 + required: false + type: text + + - default: "" + envKey: PANEL_TINYAUTH_SECRET + labelEn: Secret + labelZh: 密钥 + label: + en: Secret + ja: シークレット + ms: Rahsia + pt-br: Segredo + ru: Секрет + ko: 비밀 + zh: 密钥 + zh-Hant: 密鑰 + required: false + type: password + + - default: "86400" + envKey: PANEL_TINYAUTH_SESSION_EXPIRY + labelEn: Session Expiry (seconds) + labelZh: 会话过期时间(秒) + label: + en: Session Expiry (seconds) + ja: セッション有効期限(秒) + ms: Tamat Sesi (saat) + pt-br: Expiração da Sessão (segundos) + ru: Время жизни сессии (секунды) + ko: 세션 만료 (초) + zh: 会话过期时间(秒) + zh-Hant: 會話過期時間(秒) + required: false + type: number + + - default: "TinyAuth" + envKey: PANEL_TINYAUTH_APP_TITLE + labelEn: App Title + labelZh: 应用标题 + label: + en: App Title + ja: アプリタイトル + ms: Tajuk Aplikasi + pt-br: Título do Aplicativo + ru: Заголовок приложения + ko: 앱 제목 + zh: 应用标题 + zh-Hant: 應用標題 + required: false + type: text + + - default: "" + envKey: PANEL_TINYAUTH_OAUTH_AUTO_REDIRECT + labelEn: Auto Redirect Provider + labelZh: 自动跳转提供商 + label: + en: Auto Redirect Provider + ja: 自動リダイレクトプロバイダー + ms: Penyedia Pengalihan Automatik + pt-br: Provedor de Redirecionamento Automático + ru: Автоматический редирект провайдера + ko: 자동 리디렉션 제공자 + zh: 自动跳转提供商 + zh-Hant: 自動跳轉提供商 + required: false + type: select + values: + - label: None + value: "none" + - label: GitHub + value: "github" + - label: Google + value: "google" + - label: Generic + value: "generic" + + - default: "" + envKey: PANEL_TINYAUTH_BACKGROUND_IMAGE + labelEn: Background Image + labelZh: 背景图片 + label: + en: Background Image + ja: 背景画像 + ms: Imej Latar Belakang + pt-br: Imagem de Fundo + ru: Фоновое изображение + ko: 배경 이미지 + zh: 背景图片 + zh-Hant: 背景圖片 + required: false + type: text + + # GitHub + - default: "" + envKey: PANEL_TINYAUTH_GITHUB_CLIENT_ID + labelEn: GitHub Client ID + labelZh: GitHub 客户端ID + required: false + type: text + + - default: "" + envKey: PANEL_TINYAUTH_GITHUB_CLIENT_SECRET + labelEn: GitHub Client Secret + labelZh: GitHub 客户端密钥 + required: false + type: password + + - default: "" + envKey: PANEL_TINYAUTH_GITHUB_REDIRECT_URI + labelEn: GitHub Redirect URI + labelZh: GitHub 回调地址 + required: false + type: text + + # Google + - default: "" + envKey: PANEL_TINYAUTH_GOOGLE_CLIENT_ID + labelEn: Google Client ID + labelZh: Google 客户端ID + required: false + type: text + + - default: "" + envKey: PANEL_TINYAUTH_GOOGLE_CLIENT_SECRET + labelEn: Google Client Secret + labelZh: Google 客户端密钥 + required: false + type: password + + - default: "" + envKey: PANEL_TINYAUTH_GOOGLE_REDIRECT_URI + labelEn: Google Redirect URI + labelZh: Google 回调地址 + required: false + type: text + + # Generic + - default: "" + envKey: PANEL_TINYAUTH_GENERIC_NAME + labelEn: Generic Provider Name + labelZh: 通用提供商名称 + required: false + type: text + + - default: "" + envKey: PANEL_TINYAUTH_GENERIC_CLIENT_ID + labelEn: Generic Client ID + labelZh: 通用客户端ID + required: false + type: text + + - default: "" + envKey: PANEL_TINYAUTH_GENERIC_CLIENT_SECRET + labelEn: Generic Client Secret + labelZh: 通用客户端密钥 + required: false + type: password + + - default: "" + envKey: PANEL_TINYAUTH_GENERIC_AUTH_URL + labelEn: Generic Auth URL + labelZh: 通用认证地址 + required: false + type: text + + - default: "" + envKey: PANEL_TINYAUTH_GENERIC_TOKEN_URL + labelEn: Generic Token URL + labelZh: 通用令牌地址 + required: false + type: text + + - default: "" + envKey: PANEL_TINYAUTH_GENERIC_USER_URL + labelEn: Generic User Info URL + labelZh: 通用用户信息地址 + required: false + type: text diff --git a/tinyauth/3.6.2/docker-compose.yml b/tinyauth/3.6.2/docker-compose.yml new file mode 100644 index 000000000..72e888142 --- /dev/null +++ b/tinyauth/3.6.2/docker-compose.yml @@ -0,0 +1,42 @@ +services: + tinyauth: + image: ghcr.io/tinyauth/tinyauth:v3.6.2 + container_name: ${CONTAINER_NAME} + environment: + # ---- 通用配置 ---- + - APP_URL=${PANEL_TINYAUTH_APP_URL} + - SECRET=${PANEL_TINYAUTH_SECRET} + - SESSION_EXPIRY=${PANEL_TINYAUTH_SESSION_EXPIRY} + - APP_TITLE=${PANEL_TINYAUTH_APP_TITLE} + - OAUTH_AUTO_REDIRECT=${PANEL_TINYAUTH_OAUTH_AUTO_REDIRECT} + - BACKGROUND_IMAGE=${PANEL_TINYAUTH_BACKGROUND_IMAGE} + + # ---- GitHub ---- + - GITHUB_CLIENT_ID=${PANEL_TINYAUTH_GITHUB_CLIENT_ID} + - GITHUB_CLIENT_SECRET=${PANEL_TINYAUTH_GITHUB_CLIENT_SECRET} + - GITHUB_REDIRECT_URI=${PANEL_TINYAUTH_GITHUB_REDIRECT_URI} + + # ---- Google ---- + - GOOGLE_CLIENT_ID=${PANEL_TINYAUTH_GOOGLE_CLIENT_ID} + - GOOGLE_CLIENT_SECRET=${PANEL_TINYAUTH_GOOGLE_CLIENT_SECRET} + - GOOGLE_REDIRECT_URI=${PANEL_TINYAUTH_GOOGLE_REDIRECT_URI} + + # ---- Generic (示例 Linux.Do) ---- + - GENERIC_NAME=${PANEL_TINYAUTH_GENERIC_NAME} + - GENERIC_CLIENT_ID=${PANEL_TINYAUTH_GENERIC_CLIENT_ID} + - GENERIC_CLIENT_SECRET=${PANEL_TINYAUTH_GENERIC_CLIENT_SECRET} + - GENERIC_AUTH_URL=${PANEL_TINYAUTH_GENERIC_AUTH_URL} + - GENERIC_TOKEN_URL=${PANEL_TINYAUTH_GENERIC_TOKEN_URL} + - GENERIC_USER_URL=${PANEL_TINYAUTH_GENERIC_USER_URL} + + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + labels: + createdBy: "Apps" + networks: + - 1panel-network + restart: always + +networks: + 1panel-network: + external: true diff --git a/tinyauth/README.md b/tinyauth/README.md new file mode 100644 index 000000000..abc31b5f0 --- /dev/null +++ b/tinyauth/README.md @@ -0,0 +1,78 @@ +# TinyAuth + +TinyAuth 是一个轻量级的 OAuth2 / OIDC 认证代理,适合为已有的 Web 应用、面板或服务添加登录保护。你可以将它部署在应用之前,通过标准的身份提供商(如 Casdoor、Keycloak、Auth0 等)实现单点登录(SSO)。 + +## 功能特性 + +* 支持 OAuth2 / OpenID Connect 协议 +* 支持多身份提供商配置 +* 可保护现有 Web 服务(无需修改应用本身) +* 简单的反向代理模式 +* 支持多种回调和重定向策略 + +## 快速开始 + +### 1. 部署 TinyAuth + +使用 Docker 运行: + +```bash +docker run -d \ + --name=tinyauth \ + -p 8080:8080 \ + -v $(pwd)/config.yml:/app/config.yml \ + ghcr.io/tinyauth/tinyauth:latest +``` + +### 2. 配置示例 + +在 `config.yml` 中配置认证提供商(例如 Casdoor): + +```yaml +server: + port: 8080 + +providers: + - id: casdoor + name: Casdoor + client_id: your-client-id + client_secret: your-client-secret + issuer: https://auth.example.com + redirect_url: https://tinyauth.example.com/callback +``` + +### 3. Nginx 反向代理示例 + +```nginx +server { + listen 80; + server_name app.example.com; + + location / { + proxy_pass http://127.0.0.1:8080; + } +} +``` + +### 4. 登录流程 + +1. 访问受保护的应用(如 `app.example.com`) +2. TinyAuth 会跳转到认证提供商(如 Casdoor)登录 +3. 登录成功后跳转回应用 + +## 配置参数 + +常见参数: + +| 参数 | 描述 | +| --------------- | ----------------- | +| `client_id` | OAuth2 客户端 ID | +| `client_secret` | OAuth2 客户端密钥 | +| `issuer` | 身份提供商地址(OIDC 发行者) | +| `redirect_url` | 登录成功后的回调地址 | + +## 参考链接 + +* [TinyAuth 文档](https://tinyauth.app/docs) +* [OAuth2 Proxy](https://oauth2-proxy.github.io/oauth2-proxy/)(类似工具) +* [Casdoor](https://casdoor.org/)(身份提供商示例) \ No newline at end of file diff --git a/tinyauth/data.yml b/tinyauth/data.yml new file mode 100644 index 000000000..6aff02759 --- /dev/null +++ b/tinyauth/data.yml @@ -0,0 +1,32 @@ +name: TinyAuth +tags: + - 开发工具 + - 安全 +title: 轻量级OAuth2/OIDC认证代理,支持多身份提供商的统一登录解决方案 +description: 一个轻量级的OAuth2和OIDC认证代理工具,常用于在现有Web服务前添加统一登录认证。 +additionalProperties: + key: tinyauth + name: TinyAuth + tags: + - DevTool + - Security + shortDescZh: 轻量级OAuth2/OIDC认证代理,支持多身份提供商的一站式登录认证 + shortDescEn: Lightweight OAuth2/OIDC authentication proxy with multi-provider SSO support + type: website + crossVersionUpdate: true + limit: 0 + website: https://tinyauth.app/ + github: https://github.com/tinyauth/tinyauth + document: https://tinyauth.app/docs/ + description: + en: A lightweight reverse proxy and authentication middleware supporting multiple OAuth2 and OpenID Connect providers, ideal for securing existing web services with SSO. + zh: 一个轻量级的反向代理与认证中间件,支持多种OAuth2和OIDC身份提供商,为现有Web服务提供统一登录保护。 + zh-Hant: 一個輕量級的反向代理與認證中介軟體,支援多種OAuth2和OIDC身份提供商,為既有Web服務提供單一登入保護。 + ja: 複数のOAuth2およびOIDCプロバイダーに対応した軽量認証プロキシで、既存のWebサービスにSSO保護を追加可能。 + ms: Proksi pengesahan ringan yang menyokong penyedia OAuth2 dan OIDC pelbagai, sesuai untuk melindungi perkhidmatan web sedia ada dengan SSO. + pt-br: Proxy de autenticação leve que suporta múltiplos provedores OAuth2 e OIDC, adequado para proteger serviços web existentes com SSO. + ru: Легковесный обратный прокси и провайдер аутентификации, поддерживающий OAuth2 и OIDC, обеспечивающий единую точку входа для существующих веб-сервисов. + ko: 다양한 OAuth2 및 OIDC 제공자를 지원하는 경량 인증 프록시로, 기존 웹 서비스에 단일 로그인 보호를 제공합니다. + architectures: + - amd64 + - arm64 diff --git a/tinyauth/logo.png b/tinyauth/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..32a0d2b268b264409636e785c582785e94fdca46 GIT binary patch literal 18925 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 literal 0 HcmV?d00001 From e32cd143ad3006e29139d69b4643b93078a6f934 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Tue, 16 Sep 2025 13:52:18 +0800 Subject: [PATCH 046/203] =?UTF-8?q?=F0=9F=98=98=E6=B7=BB=E5=8A=A0=E7=AB=AF?= =?UTF-8?q?=E5=8F=A3=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tinyauth/3.6.2/docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tinyauth/3.6.2/docker-compose.yml b/tinyauth/3.6.2/docker-compose.yml index 72e888142..8e6759193 100644 --- a/tinyauth/3.6.2/docker-compose.yml +++ b/tinyauth/3.6.2/docker-compose.yml @@ -36,6 +36,8 @@ services: networks: - 1panel-network restart: always + values: + - ./data:/data networks: 1panel-network: From a8e8bab67e1e209b451e55b3e8dd4adca3515ee6 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Tue, 16 Sep 2025 14:16:50 +0800 Subject: [PATCH 047/203] =?UTF-8?q?=F0=9F=99=82=E4=BF=AE=E6=94=B9=E9=95=9C?= =?UTF-8?q?=E5=83=8F=E5=90=8D=E7=A7=B0=E4=B8=BAsteveiliop56?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tinyauth/3.6.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tinyauth/3.6.2/docker-compose.yml b/tinyauth/3.6.2/docker-compose.yml index 8e6759193..4c13eee80 100644 --- a/tinyauth/3.6.2/docker-compose.yml +++ b/tinyauth/3.6.2/docker-compose.yml @@ -1,6 +1,6 @@ services: tinyauth: - image: ghcr.io/tinyauth/tinyauth:v3.6.2 + image: ghcr.io/steveiliop56/tinyauth:v3.6.2 container_name: ${CONTAINER_NAME} environment: # ---- 通用配置 ---- From 0615fdc35d2157a10c7da9493c1ce3b0f589d752 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Tue, 16 Sep 2025 14:22:59 +0800 Subject: [PATCH 048/203] =?UTF-8?q?=F0=9F=A5=B0=E6=9B=B4=E6=96=B0compose?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=BAvolumes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tinyauth/3.6.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tinyauth/3.6.2/docker-compose.yml b/tinyauth/3.6.2/docker-compose.yml index 4c13eee80..a0ad77988 100644 --- a/tinyauth/3.6.2/docker-compose.yml +++ b/tinyauth/3.6.2/docker-compose.yml @@ -36,7 +36,7 @@ services: networks: - 1panel-network restart: always - values: + volumes: - ./data:/data networks: From 765286e83633ed5b39263c873e34a2ede1aad405 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Sep 2025 16:42:04 +0000 Subject: [PATCH 049/203] chore(deps): update bestrui/bestsub docker tag to v1.5.2 --- bestsub/1.5.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bestsub/1.5.1/docker-compose.yml b/bestsub/1.5.1/docker-compose.yml index 672e742fc..b07b17271 100644 --- a/bestsub/1.5.1/docker-compose.yml +++ b/bestsub/1.5.1/docker-compose.yml @@ -1,6 +1,6 @@ services: moontv: - image: bestrui/bestsub:v1.5.1 + image: bestrui/bestsub:v1.5.2 container_name: ${CONTAINER_NAME} restart: always From c6a7dde66620124fa26ef3d7c69baacf03a37d5f Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 16 Sep 2025 16:42:40 +0000 Subject: [PATCH 050/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20bestsub=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.5.1=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=201.5.2=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/{1.5.1 => 1.5.2}/data.yml | 0 bestsub/{1.5.1 => 1.5.2}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename bestsub/{1.5.1 => 1.5.2}/data.yml (100%) rename bestsub/{1.5.1 => 1.5.2}/docker-compose.yml (100%) diff --git a/bestsub/1.5.1/data.yml b/bestsub/1.5.2/data.yml similarity index 100% rename from bestsub/1.5.1/data.yml rename to bestsub/1.5.2/data.yml diff --git a/bestsub/1.5.1/docker-compose.yml b/bestsub/1.5.2/docker-compose.yml similarity index 100% rename from bestsub/1.5.1/docker-compose.yml rename to bestsub/1.5.2/docker-compose.yml From eb7de62261013a6f8fed0e99a21d7c85588e1caa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 17 Sep 2025 08:52:53 +0000 Subject: [PATCH 051/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.1.1 --- anheyu-blog-pro/1.1.0/docker-compose.yml | 2 +- anheyu-blog/1.1.0/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/anheyu-blog-pro/1.1.0/docker-compose.yml b/anheyu-blog-pro/1.1.0/docker-compose.yml index 30470d0f4..3e2bf9a55 100644 --- a/anheyu-blog-pro/1.1.0/docker-compose.yml +++ b/anheyu-blog-pro/1.1.0/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.0 + image: anheyu/anheyu-backend:1.1.1 container_name: ${CONTAINER_NAME} restart: always labels: diff --git a/anheyu-blog/1.1.0/docker-compose.yml b/anheyu-blog/1.1.0/docker-compose.yml index 1c62b1b4a..5a7f8a6d5 100644 --- a/anheyu-blog/1.1.0/docker-compose.yml +++ b/anheyu-blog/1.1.0/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.0 + image: anheyu/anheyu-backend:1.1.1 container_name: ${CONTAINER_NAME} restart: always labels: From 46428cc0400008b58c336640fec5633be0328ddc Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 17 Sep 2025 08:53:07 +0000 Subject: [PATCH 052/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1?= =?UTF-8?q?.0=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.1=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.1.0 => 1.1.1}/data.yml | 0 anheyu-blog-pro/{1.1.0 => 1.1.1}/docker-compose.yml | 0 anheyu-blog-pro/{1.1.0 => 1.1.1}/scripts/init.sh | 0 anheyu-blog-pro/{1.1.0 => 1.1.1}/scripts/upgrade.sh | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.1.0 => 1.1.1}/data.yml (100%) rename anheyu-blog-pro/{1.1.0 => 1.1.1}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.1.0 => 1.1.1}/scripts/init.sh (100%) rename anheyu-blog-pro/{1.1.0 => 1.1.1}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.1.0/data.yml b/anheyu-blog-pro/1.1.1/data.yml similarity index 100% rename from anheyu-blog-pro/1.1.0/data.yml rename to anheyu-blog-pro/1.1.1/data.yml diff --git a/anheyu-blog-pro/1.1.0/docker-compose.yml b/anheyu-blog-pro/1.1.1/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.1.0/docker-compose.yml rename to anheyu-blog-pro/1.1.1/docker-compose.yml diff --git a/anheyu-blog-pro/1.1.0/scripts/init.sh b/anheyu-blog-pro/1.1.1/scripts/init.sh similarity index 100% rename from anheyu-blog-pro/1.1.0/scripts/init.sh rename to anheyu-blog-pro/1.1.1/scripts/init.sh diff --git a/anheyu-blog-pro/1.1.0/scripts/upgrade.sh b/anheyu-blog-pro/1.1.1/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.1.0/scripts/upgrade.sh rename to anheyu-blog-pro/1.1.1/scripts/upgrade.sh From 2fc224485a6f463b16f6a0c3fd7356791f638e78 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 17 Sep 2025 08:53:07 +0000 Subject: [PATCH 053/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1.0?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.1=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.1.0 => 1.1.1}/data.yml | 0 anheyu-blog/{1.1.0 => 1.1.1}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.1.0 => 1.1.1}/data.yml (100%) rename anheyu-blog/{1.1.0 => 1.1.1}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.1.0/data.yml b/anheyu-blog/1.1.1/data.yml similarity index 100% rename from anheyu-blog/1.1.0/data.yml rename to anheyu-blog/1.1.1/data.yml diff --git a/anheyu-blog/1.1.0/docker-compose.yml b/anheyu-blog/1.1.1/docker-compose.yml similarity index 100% rename from anheyu-blog/1.1.0/docker-compose.yml rename to anheyu-blog/1.1.1/docker-compose.yml From ed13963df947b61ae46138a2fe7f49ae2470ddec Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Wed, 17 Sep 2025 17:23:07 +0800 Subject: [PATCH 054/203] =?UTF-8?q?=F0=9F=99=82=E6=B7=BB=E5=8A=A0=E7=89=B9?= =?UTF-8?q?=E6=AE=8A=E9=80=82=E9=85=8D=E8=84=9A=E6=9C=AC=EF=BC=8C=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=9C=A8=E6=8B=89=E5=8F=96=E6=97=B6=E5=B0=B1=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/1.1.1/scripts/init.sh | 29 ------------------------ anheyu-blog-pro/1.1.1/scripts/upgrade.sh | 29 ------------------------ 2 files changed, 58 deletions(-) delete mode 100644 anheyu-blog-pro/1.1.1/scripts/init.sh delete mode 100644 anheyu-blog-pro/1.1.1/scripts/upgrade.sh diff --git a/anheyu-blog-pro/1.1.1/scripts/init.sh b/anheyu-blog-pro/1.1.1/scripts/init.sh deleted file mode 100644 index d68a2c04d..000000000 --- a/anheyu-blog-pro/1.1.1/scripts/init.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -# Script to replace anheyu/anheyu-backend with harbor.anheyu.com/anheyu/pro in docker-compose.yml -# Compatible with Ubuntu, CentOS, Debian and other Linux distributions -# Check if docker-compose.yml exists -if [ ! -f "./docker-compose.yml" ]; then - echo "Error: ./docker-compose.yml file not found!" - exit 1 -fi -# Check if backup file already exists and remove it -if [ -f "./docker-compose.yml.back" ]; then - echo "Existing backup file found, removing old backup..." - rm ./docker-compose.yml.back -fi -# Create backup of original file -cp ./docker-compose.yml ./docker-compose.yml.back -echo "Backup created: ./docker-compose.yml.back" -# Replace anheyu/anheyu-backend with harbor.anheyu.com/anheyu/pro -sed -i 's|anheyu/anheyu-backend|harbor.anheyu.com/anheyu/pro|g' ./docker-compose.yml -# Check if replacement was successful -if grep -q "harbor.anheyu.com/anheyu/pro" ./docker-compose.yml; then - echo "Successfully replaced anheyu/anheyu-backend with harbor.anheyu.com/anheyu/pro" - echo "Changes applied to ./docker-compose.yml" -else - echo "Warning: No replacements were made. Please check if 'anheyu/anheyu-backend' exists in the file." -fi -# Show the changes -echo "" -echo "Modified lines:" -grep "harbor.anheyu.com/anheyu/pro" ./docker-compose.yml || echo "No matching lines found" \ No newline at end of file diff --git a/anheyu-blog-pro/1.1.1/scripts/upgrade.sh b/anheyu-blog-pro/1.1.1/scripts/upgrade.sh deleted file mode 100644 index d68a2c04d..000000000 --- a/anheyu-blog-pro/1.1.1/scripts/upgrade.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -# Script to replace anheyu/anheyu-backend with harbor.anheyu.com/anheyu/pro in docker-compose.yml -# Compatible with Ubuntu, CentOS, Debian and other Linux distributions -# Check if docker-compose.yml exists -if [ ! -f "./docker-compose.yml" ]; then - echo "Error: ./docker-compose.yml file not found!" - exit 1 -fi -# Check if backup file already exists and remove it -if [ -f "./docker-compose.yml.back" ]; then - echo "Existing backup file found, removing old backup..." - rm ./docker-compose.yml.back -fi -# Create backup of original file -cp ./docker-compose.yml ./docker-compose.yml.back -echo "Backup created: ./docker-compose.yml.back" -# Replace anheyu/anheyu-backend with harbor.anheyu.com/anheyu/pro -sed -i 's|anheyu/anheyu-backend|harbor.anheyu.com/anheyu/pro|g' ./docker-compose.yml -# Check if replacement was successful -if grep -q "harbor.anheyu.com/anheyu/pro" ./docker-compose.yml; then - echo "Successfully replaced anheyu/anheyu-backend with harbor.anheyu.com/anheyu/pro" - echo "Changes applied to ./docker-compose.yml" -else - echo "Warning: No replacements were made. Please check if 'anheyu/anheyu-backend' exists in the file." -fi -# Show the changes -echo "" -echo "Modified lines:" -grep "harbor.anheyu.com/anheyu/pro" ./docker-compose.yml || echo "No matching lines found" \ No newline at end of file From f96581d874e60d6a9da3f6e357e864cfb5251e9b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 17 Sep 2025 13:57:06 +0000 Subject: [PATCH 055/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.1.2 --- anheyu-blog-pro/1.1.1/docker-compose.yml | 2 +- anheyu-blog/1.1.1/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/anheyu-blog-pro/1.1.1/docker-compose.yml b/anheyu-blog-pro/1.1.1/docker-compose.yml index 3e2bf9a55..b8ef63da8 100644 --- a/anheyu-blog-pro/1.1.1/docker-compose.yml +++ b/anheyu-blog-pro/1.1.1/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.1 + image: anheyu/anheyu-backend:1.1.2 container_name: ${CONTAINER_NAME} restart: always labels: diff --git a/anheyu-blog/1.1.1/docker-compose.yml b/anheyu-blog/1.1.1/docker-compose.yml index 5a7f8a6d5..ead878f07 100644 --- a/anheyu-blog/1.1.1/docker-compose.yml +++ b/anheyu-blog/1.1.1/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.1 + image: anheyu/anheyu-backend:1.1.2 container_name: ${CONTAINER_NAME} restart: always labels: From ba76663387c411eb766bd80d33c75e7c49211052 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 17 Sep 2025 13:57:20 +0000 Subject: [PATCH 056/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1?= =?UTF-8?q?.1=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.2=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.1.1 => 1.1.2}/data.yml | 0 anheyu-blog-pro/{1.1.1 => 1.1.2}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.1.1 => 1.1.2}/data.yml (100%) rename anheyu-blog-pro/{1.1.1 => 1.1.2}/docker-compose.yml (100%) diff --git a/anheyu-blog-pro/1.1.1/data.yml b/anheyu-blog-pro/1.1.2/data.yml similarity index 100% rename from anheyu-blog-pro/1.1.1/data.yml rename to anheyu-blog-pro/1.1.2/data.yml diff --git a/anheyu-blog-pro/1.1.1/docker-compose.yml b/anheyu-blog-pro/1.1.2/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.1.1/docker-compose.yml rename to anheyu-blog-pro/1.1.2/docker-compose.yml From cc74dac3c34574d0fff9ef7f7d087249b06363aa Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 17 Sep 2025 13:57:20 +0000 Subject: [PATCH 057/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1.1?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.2=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.1.1 => 1.1.2}/data.yml | 0 anheyu-blog/{1.1.1 => 1.1.2}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.1.1 => 1.1.2}/data.yml (100%) rename anheyu-blog/{1.1.1 => 1.1.2}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.1.1/data.yml b/anheyu-blog/1.1.2/data.yml similarity index 100% rename from anheyu-blog/1.1.1/data.yml rename to anheyu-blog/1.1.2/data.yml diff --git a/anheyu-blog/1.1.1/docker-compose.yml b/anheyu-blog/1.1.2/docker-compose.yml similarity index 100% rename from anheyu-blog/1.1.1/docker-compose.yml rename to anheyu-blog/1.1.2/docker-compose.yml From 767e14297774c11900ba1ca5351773b01df41817 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 21 Sep 2025 13:06:42 +0000 Subject: [PATCH 058/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.1.9 --- anheyu-blog-pro/1.1.2/docker-compose.yml | 2 +- anheyu-blog/1.1.2/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/anheyu-blog-pro/1.1.2/docker-compose.yml b/anheyu-blog-pro/1.1.2/docker-compose.yml index b8ef63da8..05cec98e7 100644 --- a/anheyu-blog-pro/1.1.2/docker-compose.yml +++ b/anheyu-blog-pro/1.1.2/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.2 + image: anheyu/anheyu-backend:1.1.9 container_name: ${CONTAINER_NAME} restart: always labels: diff --git a/anheyu-blog/1.1.2/docker-compose.yml b/anheyu-blog/1.1.2/docker-compose.yml index ead878f07..1e27ee4c9 100644 --- a/anheyu-blog/1.1.2/docker-compose.yml +++ b/anheyu-blog/1.1.2/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.2 + image: anheyu/anheyu-backend:1.1.9 container_name: ${CONTAINER_NAME} restart: always labels: From 6a22b9d210c0408541c084ff69e334da40819edc Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 21 Sep 2025 13:06:52 +0000 Subject: [PATCH 059/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1?= =?UTF-8?q?.2=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.9=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.1.2 => 1.1.9}/data.yml | 0 anheyu-blog-pro/{1.1.2 => 1.1.9}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.1.2 => 1.1.9}/data.yml (100%) rename anheyu-blog-pro/{1.1.2 => 1.1.9}/docker-compose.yml (100%) diff --git a/anheyu-blog-pro/1.1.2/data.yml b/anheyu-blog-pro/1.1.9/data.yml similarity index 100% rename from anheyu-blog-pro/1.1.2/data.yml rename to anheyu-blog-pro/1.1.9/data.yml diff --git a/anheyu-blog-pro/1.1.2/docker-compose.yml b/anheyu-blog-pro/1.1.9/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.1.2/docker-compose.yml rename to anheyu-blog-pro/1.1.9/docker-compose.yml From 84cbd8d8560388a3339a46a9de6b3dec204a425d Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 21 Sep 2025 13:06:52 +0000 Subject: [PATCH 060/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1.2?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.9=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.1.2 => 1.1.9}/data.yml | 0 anheyu-blog/{1.1.2 => 1.1.9}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.1.2 => 1.1.9}/data.yml (100%) rename anheyu-blog/{1.1.2 => 1.1.9}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.1.2/data.yml b/anheyu-blog/1.1.9/data.yml similarity index 100% rename from anheyu-blog/1.1.2/data.yml rename to anheyu-blog/1.1.9/data.yml diff --git a/anheyu-blog/1.1.2/docker-compose.yml b/anheyu-blog/1.1.9/docker-compose.yml similarity index 100% rename from anheyu-blog/1.1.2/docker-compose.yml rename to anheyu-blog/1.1.9/docker-compose.yml From 86b9bed0b35eeaec2f1ef1c12ba205c25dbd2c30 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 21 Sep 2025 17:01:46 +0000 Subject: [PATCH 061/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.1.10 --- anheyu-blog-pro/1.1.9/docker-compose.yml | 2 +- anheyu-blog/1.1.9/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/anheyu-blog-pro/1.1.9/docker-compose.yml b/anheyu-blog-pro/1.1.9/docker-compose.yml index 05cec98e7..6f6be437a 100644 --- a/anheyu-blog-pro/1.1.9/docker-compose.yml +++ b/anheyu-blog-pro/1.1.9/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.9 + image: anheyu/anheyu-backend:1.1.10 container_name: ${CONTAINER_NAME} restart: always labels: diff --git a/anheyu-blog/1.1.9/docker-compose.yml b/anheyu-blog/1.1.9/docker-compose.yml index 1e27ee4c9..0d618cc67 100644 --- a/anheyu-blog/1.1.9/docker-compose.yml +++ b/anheyu-blog/1.1.9/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.9 + image: anheyu/anheyu-backend:1.1.10 container_name: ${CONTAINER_NAME} restart: always labels: From 224647b219eb36c7be6a39f2ab8d56c3edce6669 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 21 Sep 2025 17:01:57 +0000 Subject: [PATCH 062/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1?= =?UTF-8?q?.9=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.10=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.1.9 => 1.1.10}/data.yml | 0 anheyu-blog-pro/{1.1.9 => 1.1.10}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.1.9 => 1.1.10}/data.yml (100%) rename anheyu-blog-pro/{1.1.9 => 1.1.10}/docker-compose.yml (100%) diff --git a/anheyu-blog-pro/1.1.9/data.yml b/anheyu-blog-pro/1.1.10/data.yml similarity index 100% rename from anheyu-blog-pro/1.1.9/data.yml rename to anheyu-blog-pro/1.1.10/data.yml diff --git a/anheyu-blog-pro/1.1.9/docker-compose.yml b/anheyu-blog-pro/1.1.10/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.1.9/docker-compose.yml rename to anheyu-blog-pro/1.1.10/docker-compose.yml From 89e7f14fe8f5ee51f9fadf489e604f2157239ba6 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 21 Sep 2025 17:01:57 +0000 Subject: [PATCH 063/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1.9?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.10=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.1.9 => 1.1.10}/data.yml | 0 anheyu-blog/{1.1.9 => 1.1.10}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.1.9 => 1.1.10}/data.yml (100%) rename anheyu-blog/{1.1.9 => 1.1.10}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.1.9/data.yml b/anheyu-blog/1.1.10/data.yml similarity index 100% rename from anheyu-blog/1.1.9/data.yml rename to anheyu-blog/1.1.10/data.yml diff --git a/anheyu-blog/1.1.9/docker-compose.yml b/anheyu-blog/1.1.10/docker-compose.yml similarity index 100% rename from anheyu-blog/1.1.9/docker-compose.yml rename to anheyu-blog/1.1.10/docker-compose.yml From 429c2465856fd5be224144fab4cae350b5870391 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Sep 2025 05:12:24 +0000 Subject: [PATCH 064/203] chore(deps): update bestrui/bestsub docker tag to v1.6.0 --- bestsub/1.5.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bestsub/1.5.2/docker-compose.yml b/bestsub/1.5.2/docker-compose.yml index b07b17271..bfd074089 100644 --- a/bestsub/1.5.2/docker-compose.yml +++ b/bestsub/1.5.2/docker-compose.yml @@ -1,6 +1,6 @@ services: moontv: - image: bestrui/bestsub:v1.5.2 + image: bestrui/bestsub:v1.6.0 container_name: ${CONTAINER_NAME} restart: always From 347bb2c26391a11de6904fbe2b393d0b80c1003d Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 23 Sep 2025 05:12:39 +0000 Subject: [PATCH 065/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20bestsub=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.5.2=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=201.6.0=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/{1.5.2 => 1.6.0}/data.yml | 0 bestsub/{1.5.2 => 1.6.0}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename bestsub/{1.5.2 => 1.6.0}/data.yml (100%) rename bestsub/{1.5.2 => 1.6.0}/docker-compose.yml (100%) diff --git a/bestsub/1.5.2/data.yml b/bestsub/1.6.0/data.yml similarity index 100% rename from bestsub/1.5.2/data.yml rename to bestsub/1.6.0/data.yml diff --git a/bestsub/1.5.2/docker-compose.yml b/bestsub/1.6.0/docker-compose.yml similarity index 100% rename from bestsub/1.5.2/docker-compose.yml rename to bestsub/1.6.0/docker-compose.yml From e0416d30b94ad1d91d127cfb05d43302bb6d1217 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Sep 2025 09:58:24 +0000 Subject: [PATCH 066/203] chore(deps): update bestrui/bestsub docker tag to v1.6.1 --- bestsub/1.6.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bestsub/1.6.0/docker-compose.yml b/bestsub/1.6.0/docker-compose.yml index bfd074089..4625f6f58 100644 --- a/bestsub/1.6.0/docker-compose.yml +++ b/bestsub/1.6.0/docker-compose.yml @@ -1,6 +1,6 @@ services: moontv: - image: bestrui/bestsub:v1.6.0 + image: bestrui/bestsub:v1.6.1 container_name: ${CONTAINER_NAME} restart: always From 11aa873f34ae334097653aa45013e6304dcdc890 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 23 Sep 2025 09:58:37 +0000 Subject: [PATCH 067/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20bestsub=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.6.0=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=201.6.1=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/{1.6.0 => 1.6.1}/data.yml | 0 bestsub/{1.6.0 => 1.6.1}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename bestsub/{1.6.0 => 1.6.1}/data.yml (100%) rename bestsub/{1.6.0 => 1.6.1}/docker-compose.yml (100%) diff --git a/bestsub/1.6.0/data.yml b/bestsub/1.6.1/data.yml similarity index 100% rename from bestsub/1.6.0/data.yml rename to bestsub/1.6.1/data.yml diff --git a/bestsub/1.6.0/docker-compose.yml b/bestsub/1.6.1/docker-compose.yml similarity index 100% rename from bestsub/1.6.0/docker-compose.yml rename to bestsub/1.6.1/docker-compose.yml From 1e3b140bc7ef4eec39173573572ce36777a2c618 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Sep 2025 14:40:57 +0000 Subject: [PATCH 068/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.1.15 --- anheyu-blog-pro/1.1.10/docker-compose.yml | 2 +- anheyu-blog/1.1.10/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/anheyu-blog-pro/1.1.10/docker-compose.yml b/anheyu-blog-pro/1.1.10/docker-compose.yml index 6f6be437a..7ef4a26de 100644 --- a/anheyu-blog-pro/1.1.10/docker-compose.yml +++ b/anheyu-blog-pro/1.1.10/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.10 + image: anheyu/anheyu-backend:1.1.15 container_name: ${CONTAINER_NAME} restart: always labels: diff --git a/anheyu-blog/1.1.10/docker-compose.yml b/anheyu-blog/1.1.10/docker-compose.yml index 0d618cc67..d65d7a926 100644 --- a/anheyu-blog/1.1.10/docker-compose.yml +++ b/anheyu-blog/1.1.10/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.10 + image: anheyu/anheyu-backend:1.1.15 container_name: ${CONTAINER_NAME} restart: always labels: From 93137886339c218c9e3f7b2733205cb4de6fb51f Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 23 Sep 2025 14:41:07 +0000 Subject: [PATCH 069/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1?= =?UTF-8?q?.10=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.15=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.1.10 => 1.1.15}/data.yml | 0 anheyu-blog-pro/{1.1.10 => 1.1.15}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.1.10 => 1.1.15}/data.yml (100%) rename anheyu-blog-pro/{1.1.10 => 1.1.15}/docker-compose.yml (100%) diff --git a/anheyu-blog-pro/1.1.10/data.yml b/anheyu-blog-pro/1.1.15/data.yml similarity index 100% rename from anheyu-blog-pro/1.1.10/data.yml rename to anheyu-blog-pro/1.1.15/data.yml diff --git a/anheyu-blog-pro/1.1.10/docker-compose.yml b/anheyu-blog-pro/1.1.15/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.1.10/docker-compose.yml rename to anheyu-blog-pro/1.1.15/docker-compose.yml From 43aae08749001020e42d750c907602f58af05d02 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 23 Sep 2025 14:41:07 +0000 Subject: [PATCH 070/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1.10?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.15=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.1.10 => 1.1.15}/data.yml | 0 anheyu-blog/{1.1.10 => 1.1.15}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.1.10 => 1.1.15}/data.yml (100%) rename anheyu-blog/{1.1.10 => 1.1.15}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.1.10/data.yml b/anheyu-blog/1.1.15/data.yml similarity index 100% rename from anheyu-blog/1.1.10/data.yml rename to anheyu-blog/1.1.15/data.yml diff --git a/anheyu-blog/1.1.10/docker-compose.yml b/anheyu-blog/1.1.15/docker-compose.yml similarity index 100% rename from anheyu-blog/1.1.10/docker-compose.yml rename to anheyu-blog/1.1.15/docker-compose.yml From 45e3d1583522fdbffea1077e9e6ee97c6788e0dd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 06:07:25 +0000 Subject: [PATCH 071/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.1.16 --- anheyu-blog-pro/1.1.15/docker-compose.yml | 2 +- anheyu-blog/1.1.15/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/anheyu-blog-pro/1.1.15/docker-compose.yml b/anheyu-blog-pro/1.1.15/docker-compose.yml index 7ef4a26de..acddd89c2 100644 --- a/anheyu-blog-pro/1.1.15/docker-compose.yml +++ b/anheyu-blog-pro/1.1.15/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.15 + image: anheyu/anheyu-backend:1.1.16 container_name: ${CONTAINER_NAME} restart: always labels: diff --git a/anheyu-blog/1.1.15/docker-compose.yml b/anheyu-blog/1.1.15/docker-compose.yml index d65d7a926..37734415c 100644 --- a/anheyu-blog/1.1.15/docker-compose.yml +++ b/anheyu-blog/1.1.15/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.15 + image: anheyu/anheyu-backend:1.1.16 container_name: ${CONTAINER_NAME} restart: always labels: From 1cfeb71b03c483736efdb5cc634d08e17d41d124 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 06:07:30 +0000 Subject: [PATCH 072/203] chore(deps): update bestrui/bestsub docker tag to v1.6.2 --- bestsub/1.6.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bestsub/1.6.1/docker-compose.yml b/bestsub/1.6.1/docker-compose.yml index 4625f6f58..35963b904 100644 --- a/bestsub/1.6.1/docker-compose.yml +++ b/bestsub/1.6.1/docker-compose.yml @@ -1,6 +1,6 @@ services: moontv: - image: bestrui/bestsub:v1.6.1 + image: bestrui/bestsub:v1.6.2 container_name: ${CONTAINER_NAME} restart: always From 24c39a8c19820e7b3f96d3d600c715cb8e4506b7 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 25 Sep 2025 06:07:39 +0000 Subject: [PATCH 073/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1?= =?UTF-8?q?.15=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.16=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.1.15 => 1.1.16}/data.yml | 0 anheyu-blog-pro/{1.1.15 => 1.1.16}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.1.15 => 1.1.16}/data.yml (100%) rename anheyu-blog-pro/{1.1.15 => 1.1.16}/docker-compose.yml (100%) diff --git a/anheyu-blog-pro/1.1.15/data.yml b/anheyu-blog-pro/1.1.16/data.yml similarity index 100% rename from anheyu-blog-pro/1.1.15/data.yml rename to anheyu-blog-pro/1.1.16/data.yml diff --git a/anheyu-blog-pro/1.1.15/docker-compose.yml b/anheyu-blog-pro/1.1.16/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.1.15/docker-compose.yml rename to anheyu-blog-pro/1.1.16/docker-compose.yml From 3ad7ee73f426ed9948a18254ed7ecbc55b2b1879 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 25 Sep 2025 06:07:39 +0000 Subject: [PATCH 074/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1.15?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.16=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.1.15 => 1.1.16}/data.yml | 0 anheyu-blog/{1.1.15 => 1.1.16}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.1.15 => 1.1.16}/data.yml (100%) rename anheyu-blog/{1.1.15 => 1.1.16}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.1.15/data.yml b/anheyu-blog/1.1.16/data.yml similarity index 100% rename from anheyu-blog/1.1.15/data.yml rename to anheyu-blog/1.1.16/data.yml diff --git a/anheyu-blog/1.1.15/docker-compose.yml b/anheyu-blog/1.1.16/docker-compose.yml similarity index 100% rename from anheyu-blog/1.1.15/docker-compose.yml rename to anheyu-blog/1.1.16/docker-compose.yml From 2a89f007aa6b58bc135cfad88d73a26b77613364 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 25 Sep 2025 06:07:42 +0000 Subject: [PATCH 075/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20bestsub=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.6.1=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=201.6.2=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/{1.6.1 => 1.6.2}/data.yml | 0 bestsub/{1.6.1 => 1.6.2}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename bestsub/{1.6.1 => 1.6.2}/data.yml (100%) rename bestsub/{1.6.1 => 1.6.2}/docker-compose.yml (100%) diff --git a/bestsub/1.6.1/data.yml b/bestsub/1.6.2/data.yml similarity index 100% rename from bestsub/1.6.1/data.yml rename to bestsub/1.6.2/data.yml diff --git a/bestsub/1.6.1/docker-compose.yml b/bestsub/1.6.2/docker-compose.yml similarity index 100% rename from bestsub/1.6.1/docker-compose.yml rename to bestsub/1.6.2/docker-compose.yml From 51bfd4b1c046ff9524d135a25c24d4665ee1aa8b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 14:02:35 +0000 Subject: [PATCH 076/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.1.17 --- anheyu-blog-pro/1.1.16/docker-compose.yml | 2 +- anheyu-blog/1.1.16/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/anheyu-blog-pro/1.1.16/docker-compose.yml b/anheyu-blog-pro/1.1.16/docker-compose.yml index acddd89c2..f703c6138 100644 --- a/anheyu-blog-pro/1.1.16/docker-compose.yml +++ b/anheyu-blog-pro/1.1.16/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.16 + image: anheyu/anheyu-backend:1.1.17 container_name: ${CONTAINER_NAME} restart: always labels: diff --git a/anheyu-blog/1.1.16/docker-compose.yml b/anheyu-blog/1.1.16/docker-compose.yml index 37734415c..63f50b935 100644 --- a/anheyu-blog/1.1.16/docker-compose.yml +++ b/anheyu-blog/1.1.16/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.16 + image: anheyu/anheyu-backend:1.1.17 container_name: ${CONTAINER_NAME} restart: always labels: From 0e9d8c415a95582001a461e86a0bc4b01cb2ac2d Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 25 Sep 2025 14:02:48 +0000 Subject: [PATCH 077/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1?= =?UTF-8?q?.16=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.17=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.1.16 => 1.1.17}/data.yml | 0 anheyu-blog-pro/{1.1.16 => 1.1.17}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.1.16 => 1.1.17}/data.yml (100%) rename anheyu-blog-pro/{1.1.16 => 1.1.17}/docker-compose.yml (100%) diff --git a/anheyu-blog-pro/1.1.16/data.yml b/anheyu-blog-pro/1.1.17/data.yml similarity index 100% rename from anheyu-blog-pro/1.1.16/data.yml rename to anheyu-blog-pro/1.1.17/data.yml diff --git a/anheyu-blog-pro/1.1.16/docker-compose.yml b/anheyu-blog-pro/1.1.17/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.1.16/docker-compose.yml rename to anheyu-blog-pro/1.1.17/docker-compose.yml From b77eb8be12296d95babf33af7a8aadcd22114bfc Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 25 Sep 2025 14:02:48 +0000 Subject: [PATCH 078/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1.16?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.17=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.1.16 => 1.1.17}/data.yml | 0 anheyu-blog/{1.1.16 => 1.1.17}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.1.16 => 1.1.17}/data.yml (100%) rename anheyu-blog/{1.1.16 => 1.1.17}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.1.16/data.yml b/anheyu-blog/1.1.17/data.yml similarity index 100% rename from anheyu-blog/1.1.16/data.yml rename to anheyu-blog/1.1.17/data.yml diff --git a/anheyu-blog/1.1.16/docker-compose.yml b/anheyu-blog/1.1.17/docker-compose.yml similarity index 100% rename from anheyu-blog/1.1.16/docker-compose.yml rename to anheyu-blog/1.1.17/docker-compose.yml From 87a072964654ee2b28b70bf6c9b73a44deebcfc7 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Thu, 25 Sep 2025 22:15:16 +0800 Subject: [PATCH 079/203] =?UTF-8?q?=F0=9F=98=8E=E9=80=82=E9=85=8D=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E5=95=86=E5=BA=97=EF=BC=8C=E5=AE=9E=E7=8E=B0anheyu-Pr?= =?UTF-8?q?o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/1.1.17/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.1.17/docker-compose.yml b/anheyu-blog-pro/1.1.17/docker-compose.yml index f703c6138..36cfb8b48 100644 --- a/anheyu-blog-pro/1.1.17/docker-compose.yml +++ b/anheyu-blog-pro/1.1.17/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.17 + image: anheyu/pro:1.1.17 container_name: ${CONTAINER_NAME} restart: always labels: From 6979ff8263095f58c2ecccb2a5a79ce008bc1e6b Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Thu, 25 Sep 2025 22:23:20 +0800 Subject: [PATCH 080/203] =?UTF-8?q?=F0=9F=A4=A3=E5=AE=8C=E5=96=84=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/anheyu-blog-pro/README.md b/anheyu-blog-pro/README.md index 2acdf20d6..b19911839 100644 --- a/anheyu-blog-pro/README.md +++ b/anheyu-blog-pro/README.md @@ -1,6 +1,9 @@ # 🌈 Anheyu Blog Pro -> 该版本需要密钥方可运行,如果尚未得到授权请使用社区版本 +## ❕ 注意必看 + +> 该版本需要**密钥**方可运行,如果尚未得到Pro授权请使用社区版本 +> 如果后台添加域名,密钥会变动,请跳转到目录,直接修改.env文件中的授权密钥即可! 如果能给我一个 **Star ⭐**,那将是对我莫大的鼓励。 From 7d856e637c597ecdfaf0ab683b98234e73fc2b6e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Sep 2025 09:38:26 +0000 Subject: [PATCH 081/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.1.19 --- anheyu-blog/1.1.17/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.1.17/docker-compose.yml b/anheyu-blog/1.1.17/docker-compose.yml index 63f50b935..86c90baef 100644 --- a/anheyu-blog/1.1.17/docker-compose.yml +++ b/anheyu-blog/1.1.17/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.1.17 + image: anheyu/anheyu-backend:v1.1.19 container_name: ${CONTAINER_NAME} restart: always labels: From f3985cf8511602fc10b4b0f9fb73313850293667 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 26 Sep 2025 09:38:40 +0000 Subject: [PATCH 082/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1.17?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.19=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.1.17 => 1.1.19}/data.yml | 0 anheyu-blog/{1.1.17 => 1.1.19}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.1.17 => 1.1.19}/data.yml (100%) rename anheyu-blog/{1.1.17 => 1.1.19}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.1.17/data.yml b/anheyu-blog/1.1.19/data.yml similarity index 100% rename from anheyu-blog/1.1.17/data.yml rename to anheyu-blog/1.1.19/data.yml diff --git a/anheyu-blog/1.1.17/docker-compose.yml b/anheyu-blog/1.1.19/docker-compose.yml similarity index 100% rename from anheyu-blog/1.1.17/docker-compose.yml rename to anheyu-blog/1.1.19/docker-compose.yml From 245e0b12aca64f7a8d3494d349ec12a7a573b47f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Sep 2025 14:04:56 +0000 Subject: [PATCH 083/203] chore(deps): update anheyu/pro docker tag to v1.1.19 --- anheyu-blog-pro/1.1.17/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.1.17/docker-compose.yml b/anheyu-blog-pro/1.1.17/docker-compose.yml index 36cfb8b48..5952e5cb0 100644 --- a/anheyu-blog-pro/1.1.17/docker-compose.yml +++ b/anheyu-blog-pro/1.1.17/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.1.17 + image: anheyu/pro:1.1.19 container_name: ${CONTAINER_NAME} restart: always labels: From 97746ecf439f54aef72b92a7f2a7583d7e211877 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 26 Sep 2025 14:05:09 +0000 Subject: [PATCH 084/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1?= =?UTF-8?q?.17=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.1.19=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.1.17 => 1.1.19}/data.yml | 0 anheyu-blog-pro/{1.1.17 => 1.1.19}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.1.17 => 1.1.19}/data.yml (100%) rename anheyu-blog-pro/{1.1.17 => 1.1.19}/docker-compose.yml (100%) diff --git a/anheyu-blog-pro/1.1.17/data.yml b/anheyu-blog-pro/1.1.19/data.yml similarity index 100% rename from anheyu-blog-pro/1.1.17/data.yml rename to anheyu-blog-pro/1.1.19/data.yml diff --git a/anheyu-blog-pro/1.1.17/docker-compose.yml b/anheyu-blog-pro/1.1.19/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.1.17/docker-compose.yml rename to anheyu-blog-pro/1.1.19/docker-compose.yml From c2d0b0d3161be40bd806b4f1ae40ebb89eac28c1 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Sun, 28 Sep 2025 23:08:04 +0800 Subject: [PATCH 085/203] =?UTF-8?q?=F0=9F=98=8B=E6=B7=BB=E5=8A=A0=E5=BA=94?= =?UTF-8?q?=E7=94=A8Termix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- termix/README.md | 21 +++++++++++++++ termix/data.yml | 33 ++++++++++++++++++++++++ termix/logo.png | Bin 0 -> 7614 bytes termix/release-1.5.0/data.yml | 21 +++++++++++++++ termix/release-1.5.0/docker-compose.yml | 21 +++++++++++++++ 5 files changed, 96 insertions(+) create mode 100644 termix/README.md create mode 100644 termix/data.yml create mode 100644 termix/logo.png create mode 100644 termix/release-1.5.0/data.yml create mode 100644 termix/release-1.5.0/docker-compose.yml diff --git a/termix/README.md b/termix/README.md new file mode 100644 index 000000000..9eeddbc82 --- /dev/null +++ b/termix/README.md @@ -0,0 +1,21 @@ +# Termix + +🖥️ **Termix** 是一个跨平台的多功能终端工具,支持多种终端协议和插件扩展,帮助开发者更高效地管理和使用命令行环境。 + +## 特性 + +- 支持多平台(Linux / macOS / Windows) +- 多终端协议兼容 +- 插件化扩展,满足不同场景需求 +- 界面简洁,使用方便 + +## 快速开始 + +1. 部署应用后,访问服务地址即可开始使用。 +2. 根据需要安装或启用插件,扩展更多功能。 +3. 在配置文件中自定义参数,以适配个人工作流。 + +## 项目地址 + +- GitHub: [https://github.com/LukeGus/Termix](https://github.com/LukeGus/Termix) +- 文档: [https://github.com/LukeGus/Termix#readme](https://github.com/LukeGus/Termix#readme) diff --git a/termix/data.yml b/termix/data.yml new file mode 100644 index 000000000..d026e8eaa --- /dev/null +++ b/termix/data.yml @@ -0,0 +1,33 @@ +name: Termix +tags: + - 工具 + - 终端 +title: 多功能跨平台终端工具 +description: 🖥️ Termix 是一个跨平台的终端工具,支持多种终端协议和插件扩展,帮助开发者更高效地管理和使用命令行环境。 +additionalProperties: + key: termix + name: Termix + tags: + - Tool + - Terminal + shortDescZh: 多功能跨平台终端工具 + shortDescEn: A versatile cross-platform terminal tool + type: website + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://github.com/LukeGus/Termix + github: https://github.com/LukeGus/Termix + document: https://github.com/LukeGus/Termix#readme + description: + en: 🖥️ Termix is a versatile cross-platform terminal tool that supports multiple terminal protocols, plugins, and customizations, making it easier to manage and enhance your command-line experience. + zh: 🖥️ Termix 是一个多功能的跨平台终端工具,支持多种终端协议、插件与个性化扩展,帮助开发者更高效地管理和优化命令行体验。 + zh-Hant: 🖥️ Termix 是一個多功能的跨平台終端工具,支援多種終端協議、外掛與自訂擴展,幫助開發者更高效地管理和優化命令列體驗。 + ja: 🖥️ Termix は、多くのターミナルプロトコルやプラグイン、カスタマイズに対応した多機能クロスプラットフォームターミナルツールで、コマンドライン体験を効率的に管理・向上させます。 + ms: 🖥️ Termix ialah alat terminal merentas platform yang serba boleh, menyokong pelbagai protokol terminal, pemalam dan penyesuaian untuk memudahkan pengurusan serta meningkatkan pengalaman baris perintah. + pt-br: 🖥️ Termix é uma ferramenta de terminal multiplataforma versátil, com suporte a vários protocolos, plugins e personalizações, tornando a experiência de linha de comando mais eficiente. + ru: 🖥️ Termix — это многофункциональный кроссплатформенный терминал, поддерживающий различные протоколы, плагины и кастомизации, упрощающий работу с командной строкой. + ko: 🖥️ Termix는 다양한 터미널 프로토콜, 플러그인 및 사용자 정의를 지원하는 다기능 크로스플랫폼 터미널 도구로, 명령줄 경험을 보다 효율적으로 관리하고 향상시킬 수 있습니다. + architectures: + - amd64 + - arm64 diff --git a/termix/logo.png b/termix/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5df4979f5a0fbe0cd87e2358873cecf0f0ad7613 GIT binary patch literal 7614 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 TUVDi7=8A=sQ$y6qnxp<7BR)JX literal 0 HcmV?d00001 diff --git a/termix/release-1.5.0/data.yml b/termix/release-1.5.0/data.yml new file mode 100644 index 000000000..24eded3b9 --- /dev/null +++ b/termix/release-1.5.0/data.yml @@ -0,0 +1,21 @@ +additionalProperties: + formFields: + # HTTP 端口 + - default: 28324 + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + label: + en: HTTP Port + ja: HTTPポート + ms: Port HTTP + pt-br: Porta HTTP + ru: HTTP порт + ko: HTTP 포트 + zh: HTTP 端口 + zh-Hant: HTTP 連接埠 + required: true + rule: paramPort + type: number + + \ No newline at end of file diff --git a/termix/release-1.5.0/docker-compose.yml b/termix/release-1.5.0/docker-compose.yml new file mode 100644 index 000000000..9b48a968e --- /dev/null +++ b/termix/release-1.5.0/docker-compose.yml @@ -0,0 +1,21 @@ +services: + termix: + image: ghcr.io/lukegus/termix:release-1.5.0 + container_name: ${CONTAINER_NAME} + restart: always + + labels: + createdBy: "Apps" + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + + networks: + - 1panel-network + volume: + - ./data:/app/data + environment: + PORT: "8080" + +networks: + 1panel-network: + external: true From a70b2caf0a48f22ebab0a311f10c5686f8869d27 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Sep 2025 15:08:28 +0000 Subject: [PATCH 086/203] chore(deps): update ghcr.io/lukegus/termix docker tag to v1.6.0 --- termix/release-1.5.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/termix/release-1.5.0/docker-compose.yml b/termix/release-1.5.0/docker-compose.yml index 9b48a968e..a7bf9b746 100644 --- a/termix/release-1.5.0/docker-compose.yml +++ b/termix/release-1.5.0/docker-compose.yml @@ -1,6 +1,6 @@ services: termix: - image: ghcr.io/lukegus/termix:release-1.5.0 + image: ghcr.io/lukegus/termix:release-1.6.0 container_name: ${CONTAINER_NAME} restart: always From bf7550ffc9d29d8e36fa92f773b14fa385a50330 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 28 Sep 2025 15:08:39 +0000 Subject: [PATCH 087/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20termix=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=20release-1.5.?= =?UTF-8?q?0=20=E5=8D=87=E7=BA=A7=E5=88=B0=20release-1.6.0=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- termix/{release-1.5.0 => release-1.6.0}/data.yml | 0 termix/{release-1.5.0 => release-1.6.0}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename termix/{release-1.5.0 => release-1.6.0}/data.yml (100%) rename termix/{release-1.5.0 => release-1.6.0}/docker-compose.yml (100%) diff --git a/termix/release-1.5.0/data.yml b/termix/release-1.6.0/data.yml similarity index 100% rename from termix/release-1.5.0/data.yml rename to termix/release-1.6.0/data.yml diff --git a/termix/release-1.5.0/docker-compose.yml b/termix/release-1.6.0/docker-compose.yml similarity index 100% rename from termix/release-1.5.0/docker-compose.yml rename to termix/release-1.6.0/docker-compose.yml From 3192cbbcb1b8013cc86546dc923f585a4c05e018 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Sun, 28 Sep 2025 23:13:32 +0800 Subject: [PATCH 088/203] =?UTF-8?q?=F0=9F=98=84=E4=BF=AE=E6=94=B9=E6=8C=82?= =?UTF-8?q?=E8=BD=BD=E7=9A=84=E7=9B=AE=E5=BD=95=E4=B8=BAvolumes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- termix/release-1.6.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/termix/release-1.6.0/docker-compose.yml b/termix/release-1.6.0/docker-compose.yml index a7bf9b746..8fb83c246 100644 --- a/termix/release-1.6.0/docker-compose.yml +++ b/termix/release-1.6.0/docker-compose.yml @@ -11,7 +11,7 @@ services: networks: - 1panel-network - volume: + volumes: - ./data:/app/data environment: PORT: "8080" From 6430fca6ede9347b10a9a8bc7e5968c9822cff1c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 09:03:33 +0000 Subject: [PATCH 089/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.2.1 --- anheyu-blog/1.1.19/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.1.19/docker-compose.yml b/anheyu-blog/1.1.19/docker-compose.yml index 86c90baef..e9abc5789 100644 --- a/anheyu-blog/1.1.19/docker-compose.yml +++ b/anheyu-blog/1.1.19/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:v1.1.19 + image: anheyu/anheyu-backend:1.2.1 container_name: ${CONTAINER_NAME} restart: always labels: From 0b4ffe0ed044fe3f29dcd10e72c643f643b752a3 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Mon, 29 Sep 2025 09:03:46 +0000 Subject: [PATCH 090/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1.19?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.1=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.1.19 => 1.2.1}/data.yml | 0 anheyu-blog/{1.1.19 => 1.2.1}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.1.19 => 1.2.1}/data.yml (100%) rename anheyu-blog/{1.1.19 => 1.2.1}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.1.19/data.yml b/anheyu-blog/1.2.1/data.yml similarity index 100% rename from anheyu-blog/1.1.19/data.yml rename to anheyu-blog/1.2.1/data.yml diff --git a/anheyu-blog/1.1.19/docker-compose.yml b/anheyu-blog/1.2.1/docker-compose.yml similarity index 100% rename from anheyu-blog/1.1.19/docker-compose.yml rename to anheyu-blog/1.2.1/docker-compose.yml From f9a260a500f407a2f15c32fa5e507576745a4823 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 14:09:31 +0000 Subject: [PATCH 091/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.2.2 --- anheyu-blog/1.2.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.2.1/docker-compose.yml b/anheyu-blog/1.2.1/docker-compose.yml index e9abc5789..785699677 100644 --- a/anheyu-blog/1.2.1/docker-compose.yml +++ b/anheyu-blog/1.2.1/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.2.1 + image: anheyu/anheyu-backend:1.2.2 container_name: ${CONTAINER_NAME} restart: always labels: From e19558154d773986e7ce0bad09120a7cbd247ecf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 14:09:36 +0000 Subject: [PATCH 092/203] chore(deps): update anheyu/pro docker tag to v1.2.2 --- anheyu-blog-pro/1.1.19/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.1.19/docker-compose.yml b/anheyu-blog-pro/1.1.19/docker-compose.yml index 5952e5cb0..a85f89915 100644 --- a/anheyu-blog-pro/1.1.19/docker-compose.yml +++ b/anheyu-blog-pro/1.1.19/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.1.19 + image: anheyu/pro:1.2.2 container_name: ${CONTAINER_NAME} restart: always labels: From ad673dfbdeeb6b5dedf15ea7c72c66d785efd4c9 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Mon, 29 Sep 2025 14:09:44 +0000 Subject: [PATCH 093/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2.1?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.2=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.2.1 => 1.2.2}/data.yml | 0 anheyu-blog/{1.2.1 => 1.2.2}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.2.1 => 1.2.2}/data.yml (100%) rename anheyu-blog/{1.2.1 => 1.2.2}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.2.1/data.yml b/anheyu-blog/1.2.2/data.yml similarity index 100% rename from anheyu-blog/1.2.1/data.yml rename to anheyu-blog/1.2.2/data.yml diff --git a/anheyu-blog/1.2.1/docker-compose.yml b/anheyu-blog/1.2.2/docker-compose.yml similarity index 100% rename from anheyu-blog/1.2.1/docker-compose.yml rename to anheyu-blog/1.2.2/docker-compose.yml From 81b1a48051e0f3ec1f4a7d50cde71b8ddfc4a726 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Mon, 29 Sep 2025 14:09:46 +0000 Subject: [PATCH 094/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.1?= =?UTF-8?q?.19=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.2=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.1.19 => 1.2.2}/data.yml | 0 anheyu-blog-pro/{1.1.19 => 1.2.2}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.1.19 => 1.2.2}/data.yml (100%) rename anheyu-blog-pro/{1.1.19 => 1.2.2}/docker-compose.yml (100%) diff --git a/anheyu-blog-pro/1.1.19/data.yml b/anheyu-blog-pro/1.2.2/data.yml similarity index 100% rename from anheyu-blog-pro/1.1.19/data.yml rename to anheyu-blog-pro/1.2.2/data.yml diff --git a/anheyu-blog-pro/1.1.19/docker-compose.yml b/anheyu-blog-pro/1.2.2/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.1.19/docker-compose.yml rename to anheyu-blog-pro/1.2.2/docker-compose.yml From 726c53d4a1c0d7c36aed9872358017d17c6c666b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 06:11:20 +0000 Subject: [PATCH 095/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.2.3 --- anheyu-blog/1.2.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.2.2/docker-compose.yml b/anheyu-blog/1.2.2/docker-compose.yml index 785699677..f3995cfed 100644 --- a/anheyu-blog/1.2.2/docker-compose.yml +++ b/anheyu-blog/1.2.2/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.2.2 + image: anheyu/anheyu-backend:1.2.3 container_name: ${CONTAINER_NAME} restart: always labels: From 3369f50c3ef2a3d24c5c2e08f6574337e636c298 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 30 Sep 2025 06:11:34 +0000 Subject: [PATCH 096/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2.2?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.3=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.2.2 => 1.2.3}/data.yml | 0 anheyu-blog/{1.2.2 => 1.2.3}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.2.2 => 1.2.3}/data.yml (100%) rename anheyu-blog/{1.2.2 => 1.2.3}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.2.2/data.yml b/anheyu-blog/1.2.3/data.yml similarity index 100% rename from anheyu-blog/1.2.2/data.yml rename to anheyu-blog/1.2.3/data.yml diff --git a/anheyu-blog/1.2.2/docker-compose.yml b/anheyu-blog/1.2.3/docker-compose.yml similarity index 100% rename from anheyu-blog/1.2.2/docker-compose.yml rename to anheyu-blog/1.2.3/docker-compose.yml From 3a41925fa1bcc6dcc581d6a765330696c3730101 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 08:59:25 +0000 Subject: [PATCH 097/203] chore(deps): update bestrui/bestsub docker tag to v1.6.3 --- bestsub/1.6.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bestsub/1.6.2/docker-compose.yml b/bestsub/1.6.2/docker-compose.yml index 35963b904..a0ae2347b 100644 --- a/bestsub/1.6.2/docker-compose.yml +++ b/bestsub/1.6.2/docker-compose.yml @@ -1,6 +1,6 @@ services: moontv: - image: bestrui/bestsub:v1.6.2 + image: bestrui/bestsub:v1.6.3 container_name: ${CONTAINER_NAME} restart: always From 3e38a404de49c28ad3019eda082ab2d9622e2dd5 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 30 Sep 2025 08:59:37 +0000 Subject: [PATCH 098/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20bestsub=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.6.2=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=201.6.3=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bestsub/{1.6.2 => 1.6.3}/data.yml | 0 bestsub/{1.6.2 => 1.6.3}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename bestsub/{1.6.2 => 1.6.3}/data.yml (100%) rename bestsub/{1.6.2 => 1.6.3}/docker-compose.yml (100%) diff --git a/bestsub/1.6.2/data.yml b/bestsub/1.6.3/data.yml similarity index 100% rename from bestsub/1.6.2/data.yml rename to bestsub/1.6.3/data.yml diff --git a/bestsub/1.6.2/docker-compose.yml b/bestsub/1.6.3/docker-compose.yml similarity index 100% rename from bestsub/1.6.2/docker-compose.yml rename to bestsub/1.6.3/docker-compose.yml From 10842707c26772fa81329b819be2a106ba78cf5b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 15:39:49 +0000 Subject: [PATCH 099/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.2.4 --- anheyu-blog/1.2.3/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.2.3/docker-compose.yml b/anheyu-blog/1.2.3/docker-compose.yml index f3995cfed..a92873022 100644 --- a/anheyu-blog/1.2.3/docker-compose.yml +++ b/anheyu-blog/1.2.3/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.2.3 + image: anheyu/anheyu-backend:1.2.4 container_name: ${CONTAINER_NAME} restart: always labels: From 8aa0ac7919ea0dd169408ec8bbfe1e27d1a36a84 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 30 Sep 2025 15:40:00 +0000 Subject: [PATCH 100/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2.3?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.4=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.2.3 => 1.2.4}/data.yml | 0 anheyu-blog/{1.2.3 => 1.2.4}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.2.3 => 1.2.4}/data.yml (100%) rename anheyu-blog/{1.2.3 => 1.2.4}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.2.3/data.yml b/anheyu-blog/1.2.4/data.yml similarity index 100% rename from anheyu-blog/1.2.3/data.yml rename to anheyu-blog/1.2.4/data.yml diff --git a/anheyu-blog/1.2.3/docker-compose.yml b/anheyu-blog/1.2.4/docker-compose.yml similarity index 100% rename from anheyu-blog/1.2.3/docker-compose.yml rename to anheyu-blog/1.2.4/docker-compose.yml From 9b41cf0979aa135dcab74d4f51d28f06c4c5776b Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Wed, 1 Oct 2025 01:20:26 +0800 Subject: [PATCH 101/203] =?UTF-8?q?=F0=9F=A4=A3=E6=B5=8B=E8=AF=95=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=E8=84=9A=E6=9C=AC=E6=89=A7=E8=A1=8C=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/1.2.2/docker-compose.yml | 5 ++++- anheyu-blog-pro/1.2.2/scripts/upgrade.sh | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 anheyu-blog-pro/1.2.2/scripts/upgrade.sh diff --git a/anheyu-blog-pro/1.2.2/docker-compose.yml b/anheyu-blog-pro/1.2.2/docker-compose.yml index a85f89915..2e8b6b816 100644 --- a/anheyu-blog-pro/1.2.2/docker-compose.yml +++ b/anheyu-blog-pro/1.2.2/docker-compose.yml @@ -22,7 +22,10 @@ services: networks: - 1panel-network volumes: - - ./data:/anheyu/data + - ./anheyu-data/data:/anheyu/data + - ./anheyu-data/themes:/anheyu/themes + - ./anheyu-data/static:/anheyu/static + - ./anheyu-data/backup:/anheyu/backup networks: 1panel-network: diff --git a/anheyu-blog-pro/1.2.2/scripts/upgrade.sh b/anheyu-blog-pro/1.2.2/scripts/upgrade.sh new file mode 100644 index 000000000..cd5caaa4a --- /dev/null +++ b/anheyu-blog-pro/1.2.2/scripts/upgrade.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +echo "Upgrading..." \ No newline at end of file From 3d517843b194f562d7a0ad20130f4346cef00b41 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 17:21:45 +0000 Subject: [PATCH 102/203] chore(deps): update anheyu/pro docker tag to v1.2.4 --- anheyu-blog-pro/1.2.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.2.2/docker-compose.yml b/anheyu-blog-pro/1.2.2/docker-compose.yml index 2e8b6b816..c57afbcfe 100644 --- a/anheyu-blog-pro/1.2.2/docker-compose.yml +++ b/anheyu-blog-pro/1.2.2/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.2.2 + image: anheyu/pro:1.2.4 container_name: ${CONTAINER_NAME} restart: always labels: From 81cac3d841bdd96d6aceaed9c49259b6f2f54944 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 30 Sep 2025 17:21:56 +0000 Subject: [PATCH 103/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2?= =?UTF-8?q?.2=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.4=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.2.2 => 1.2.4}/data.yml | 0 anheyu-blog-pro/{1.2.2 => 1.2.4}/docker-compose.yml | 0 anheyu-blog-pro/{1.2.2 => 1.2.4}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.2.2 => 1.2.4}/data.yml (100%) rename anheyu-blog-pro/{1.2.2 => 1.2.4}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.2.2 => 1.2.4}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.2.2/data.yml b/anheyu-blog-pro/1.2.4/data.yml similarity index 100% rename from anheyu-blog-pro/1.2.2/data.yml rename to anheyu-blog-pro/1.2.4/data.yml diff --git a/anheyu-blog-pro/1.2.2/docker-compose.yml b/anheyu-blog-pro/1.2.4/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.2.2/docker-compose.yml rename to anheyu-blog-pro/1.2.4/docker-compose.yml diff --git a/anheyu-blog-pro/1.2.2/scripts/upgrade.sh b/anheyu-blog-pro/1.2.4/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.2.2/scripts/upgrade.sh rename to anheyu-blog-pro/1.2.4/scripts/upgrade.sh From 8e57edbfaf0c4c865b8bf15a828273db1215052c Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Wed, 1 Oct 2025 01:36:08 +0800 Subject: [PATCH 104/203] =?UTF-8?q?=F0=9F=98=98=E5=AE=9E=E7=8E=B0=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E7=9A=84=E8=BF=81=E7=A7=BB=E8=84=9A=E6=9C=AC=EF=BC=8C?= =?UTF-8?q?=E9=98=B2=E6=AD=A2=E5=87=BA=E7=8E=B0=E7=9B=AE=E5=BD=95=E9=94=99?= =?UTF-8?q?=E4=B9=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/1.2.4/docker-compose.yml | 9 +++--- anheyu-blog-pro/1.2.4/scripts/upgrade.sh | 36 +++++++++++++++++++++++- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/anheyu-blog-pro/1.2.4/docker-compose.yml b/anheyu-blog-pro/1.2.4/docker-compose.yml index c57afbcfe..66fcd1b8c 100644 --- a/anheyu-blog-pro/1.2.4/docker-compose.yml +++ b/anheyu-blog-pro/1.2.4/docker-compose.yml @@ -21,11 +21,12 @@ services: ANHEYU_LICENSE_KEY: ${PANEL_LICENSE_KEY} networks: - 1panel-network + volumes: - - ./anheyu-data/data:/anheyu/data - - ./anheyu-data/themes:/anheyu/themes - - ./anheyu-data/static:/anheyu/static - - ./anheyu-data/backup:/anheyu/backup + - ./data/data:/anheyu/data + - ./data/themes:/anheyu/themes + - ./data/static:/anheyu/static + - ./data/backup:/anheyu/backup networks: 1panel-network: diff --git a/anheyu-blog-pro/1.2.4/scripts/upgrade.sh b/anheyu-blog-pro/1.2.4/scripts/upgrade.sh index cd5caaa4a..dd9450d13 100644 --- a/anheyu-blog-pro/1.2.4/scripts/upgrade.sh +++ b/anheyu-blog-pro/1.2.4/scripts/upgrade.sh @@ -1,3 +1,37 @@ #!/bin/bash +set -e -echo "Upgrading..." \ No newline at end of file +BASE_DIR="./data" +TEMP_DIR="./data_temp" +CONF_FILE_OLD="$BASE_DIR/conf.ini" +CONF_FILE_NEW="$BASE_DIR/data/conf.ini" + +# 1. 如果 data_temp 存在,直接删除 +if [ -d "$TEMP_DIR" ]; then + echo "发现 $TEMP_DIR,正在删除..." + rm -rf "$TEMP_DIR" +fi + +# 2. 判断当前结构 +if [ -f "$CONF_FILE_NEW" ]; then + echo "检测到新结构 ($CONF_FILE_NEW 存在),无需迁移。" + exit 0 +elif [ -f "$CONF_FILE_OLD" ]; then + echo "检测到旧结构 ($CONF_FILE_OLD 存在),开始迁移..." + + # 2.1 将 data 重命名为 data_temp + mv "$BASE_DIR" "$TEMP_DIR" + + # 2.2 创建新的目录结构 + mkdir -p "$BASE_DIR/data" "$BASE_DIR/themes" "$BASE_DIR/static" "$BASE_DIR/backup" + + # 2.3 把旧数据移到新的 data 目录 + mv "$TEMP_DIR"/* "$BASE_DIR/data/" 2>/dev/null || true + mv "$TEMP_DIR"/.[!.]* "$BASE_DIR/data/" 2>/dev/null || true + + echo "迁移完成!旧数据已移入 $BASE_DIR/data/ 下。" + echo "请检查无误后再次运行脚本,以彻底删除 $TEMP_DIR" +else + echo "未找到 $CONF_FILE_OLD 或 $CONF_FILE_NEW,无法确认目录结构,退出。" + exit 1 +fi From a89bd04564396780648e65a734ab9c275f93fdad Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Wed, 1 Oct 2025 01:40:25 +0800 Subject: [PATCH 105/203] =?UTF-8?q?=F0=9F=98=8E=E5=AE=8C=E5=96=84=E8=BF=81?= =?UTF-8?q?=E7=A7=BB=E8=84=9A=E6=9C=AC=EF=BC=8C=E4=BF=9D=E7=95=99=E5=8E=9F?= =?UTF-8?q?=E5=A7=8B=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/1.2.4/scripts/upgrade.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/anheyu-blog-pro/1.2.4/scripts/upgrade.sh b/anheyu-blog-pro/1.2.4/scripts/upgrade.sh index dd9450d13..5bf6dd2c4 100644 --- a/anheyu-blog-pro/1.2.4/scripts/upgrade.sh +++ b/anheyu-blog-pro/1.2.4/scripts/upgrade.sh @@ -26,8 +26,8 @@ elif [ -f "$CONF_FILE_OLD" ]; then mkdir -p "$BASE_DIR/data" "$BASE_DIR/themes" "$BASE_DIR/static" "$BASE_DIR/backup" # 2.3 把旧数据移到新的 data 目录 - mv "$TEMP_DIR"/* "$BASE_DIR/data/" 2>/dev/null || true - mv "$TEMP_DIR"/.[!.]* "$BASE_DIR/data/" 2>/dev/null || true + cp -a "$TEMP_DIR"/* "$BASE_DIR/data/" 2>/dev/null || true + cp -a "$TEMP_DIR"/.[!.]* "$BASE_DIR/data/" 2>/dev/null || true echo "迁移完成!旧数据已移入 $BASE_DIR/data/ 下。" echo "请检查无误后再次运行脚本,以彻底删除 $TEMP_DIR" From 8221cd19aee41667363a2929a66cfcb68428a6c2 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Wed, 1 Oct 2025 17:52:01 +0800 Subject: [PATCH 106/203] =?UTF-8?q?=F0=9F=98=8B=E6=9B=B4=E6=96=B0dnsmgr?= =?UTF-8?q?=E5=BA=94=E7=94=A8=EF=BC=8C=E5=B0=9D=E8=AF=95=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dnsmgr/README.md | 15 ++++++++++ dnsmgr/data.yml | 34 +++++++++++++++++++++ dnsmgr/latest/data.yml | 50 +++++++++++++++++++++++++++++++ dnsmgr/latest/docker-compose.yml | 17 +++++++++++ dnsmgr/logo.png | Bin 0 -> 30668 bytes 5 files changed, 116 insertions(+) create mode 100644 dnsmgr/README.md create mode 100644 dnsmgr/data.yml create mode 100644 dnsmgr/latest/data.yml create mode 100644 dnsmgr/latest/docker-compose.yml create mode 100644 dnsmgr/logo.png diff --git a/dnsmgr/README.md b/dnsmgr/README.md new file mode 100644 index 000000000..e48b254dc --- /dev/null +++ b/dnsmgr/README.md @@ -0,0 +1,15 @@ +# 彩虹聚合DNS管理系统 + +彩虹聚合DNS管理系统是一款基于ThinkPHP开发的网站程序,可实现在单一网站内管理多个平台的域名解析,目前已支持的域名解析平台有:阿里云、腾讯云、华为云、百度云、西部数码、火山引擎、DNSLA、CloudFlare、Namesilo、PowerDNS。 + +## ✨ 特性 +- **多平台统一管理**:在一个面板内集中管理阿里云、腾讯云、华为云等10+主流解析商 +- **多用户权限体系**:可为每个用户分配不同的域名解析权限,支持分级管理 +- **容灾智能切换**:支持ping、tcp、http(s)检测协议,故障自动暂停/修改解析并发送通知 +- **定时任务策略**:支持在指定时间/周期自动修改/开启/暂停/删除解析记录 +- **CF优选IP**:自动获取最新Cloudflare优选IP并批量更新到解析记录 +- **SSL证书全自动化**:一键从Let's Encrypt等渠道申请证书并自动部署到面板、云厂商、服务器 +- **全渠道通知**:邮件、微信公众号、Telegram、钉钉、飞书、企业微信等消息实时触达 + +## 🛠 支持的DNS服务商 +阿里云、腾讯云、华为云、百度云、西部数码、火山引擎、DNSLA、CloudFlare、Namesilo、PowerDNS \ No newline at end of file diff --git a/dnsmgr/data.yml b/dnsmgr/data.yml new file mode 100644 index 000000000..cd688a8c5 --- /dev/null +++ b/dnsmgr/data.yml @@ -0,0 +1,34 @@ +name: dnsmgr +tags: + - DNS + - 聚合 + - 管理 + - 自托管 +title: 轻量级多上游 DNS 聚合管理系统 +description: 彩虹聚合DNS管理系统是一个支持多上游 DNS 聚合、智能分流、缓存加速与可视化管理的轻量级 DNS 管理方案,支持 DoH/DoT/DoQ 等现代协议。 +additionalProperties: + key: dnsmgr + name: dnsmgr + tags: + - WebSite + - Tool + shortDescZh: 轻量级多上游 DNS 聚合管理系统 + shortDescEn: Lightweight multi-upstream DNS aggregation management system + type: website + crossVersionUpdate: true + limit: 0 + website: https://github.com/netcccyun/dnsmgr + github: https://github.com/netcccyun/dnsmgr + document: https://github.com/netcccyun/dnsmgr + description: + en: Lightweight multi-upstream DNS aggregation management system with intelligent routing, cache acceleration, and visual management, supporting DoH/DoT/DoQ. + zh: 轻量级多上游 DNS 聚合管理系统,支持智能分流、缓存加速与可视化管理,兼容 DoH/DoT/DoQ 等现代协议。 + zh-Hant: 輕量化多上游 DNS 聚合管理系統,支援智慧分流、快取加速與可視化管理,相容 DoH/DoT/DoQ 等現代協議。 + ja: 軽量なマルチアップストリームDNS集約管理システムで、インテリジェントルーティング、キャッシュ加速、ビジュアル管理をサポートし、DoH/DoT/DoQなどの最新プロトコルに対応。 + ms: Sistem pengurusan agregasi DNS multi-upstream ringan dengan penghalaan pintar, pecutan cache, dan pengurusan visual, menyokong protokol moden DoH/DoT/DoQ. + pt-br: Sistema de gerenciamento de agregação DNS multi-upstream leve com roteamento inteligente, aceleração de cache e gerenciamento visual, suportando protocolos modernos como DoH/DoT/DoQ. + ru: Лёгкая система управления агрегацией DNS с несколькими upstream-серверами, поддерживающая интеллектуальную маршрутизацию, кеширование и визуальное управление, а также современные протоколы DoH/DoT/DoQ. + ko: 다중 업스트림 DNS 집합 관리 시스템으로, 지능형 라우팅, 캐시 가속 및 시각적 관리를 지원하며 DoH/DoT/DoQ 등 최신 프로토콜을 지원합니다. + architectures: + - amd64 + - arm64 diff --git a/dnsmgr/latest/data.yml b/dnsmgr/latest/data.yml new file mode 100644 index 000000000..84e240513 --- /dev/null +++ b/dnsmgr/latest/data.yml @@ -0,0 +1,50 @@ +additionalProperties: + formFields: + - default: 13489 + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + label: + en: HTTP Port + ja: ポート + ms: Port + pt-br: Porta + ru: Порт + ko: 포트 + zh: HTTP 端口 + zh-Hant: HTTP 連接埠 + required: true + rule: paramPort + type: number + + - default: "" + envKey: SOCKS5_PROXY + labelEn: SOCKS5 Proxy + labelZh: SOCKS5 代理 + label: + en: SOCKS5 Proxy + ja: SOCKS5プロキシ + ms: Proksi SOCKS5 + pt-br: Proxy SOCKS5 + ru: SOCKS5 прокси + ko: SOCKS5 프록시 + zh: SOCKS5 代理 + zh-Hant: SOCKS5 代理 + required: false + type: text + + - default: "" + envKey: HTTP_PROXY + labelEn: HTTP Proxy + labelZh: HTTP 代理 + label: + en: HTTP Proxy + ja: HTTPプロキシ + ms: Proksi HTTP + pt-br: Proxy HTTP + ru: HTTP прокси + ko: HTTP 프록시 + zh: HTTP 代理 + zh-Hant: HTTP 代理 + required: false + type: text diff --git a/dnsmgr/latest/docker-compose.yml b/dnsmgr/latest/docker-compose.yml new file mode 100644 index 000000000..3784e0395 --- /dev/null +++ b/dnsmgr/latest/docker-compose.yml @@ -0,0 +1,17 @@ +services: + dnsmgr: + image: netcccyun/dnsmgr:latest + container_name: ${CONTAINER_NAME} + restart: always + labels: + createdBy: "Apps" + ports: + - "${PANEL_APP_PORT_HTTP}:80" + volumes: + - ./data:/app/www + networks: + - 1panel-network + +networks: + 1panel-network: + external: true diff --git a/dnsmgr/logo.png b/dnsmgr/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9cfeaeccc531db5deaf0d0c3a9a9b7eba62cb312 GIT binary patch literal 30668 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 literal 0 HcmV?d00001 From 67486f3487e478b6adb0bf11c54e42f40d1fcebf Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Wed, 1 Oct 2025 18:10:33 +0800 Subject: [PATCH 107/203] =?UTF-8?q?=F0=9F=98=8B=E6=9B=B4=E6=96=B0dnsmgr?= =?UTF-8?q?=E5=BA=94=E7=94=A8=EF=BC=8C=E5=B0=9D=E8=AF=95=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dnsmgr/latest/data.yml | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/dnsmgr/latest/data.yml b/dnsmgr/latest/data.yml index 84e240513..ef413a6d1 100644 --- a/dnsmgr/latest/data.yml +++ b/dnsmgr/latest/data.yml @@ -17,34 +17,3 @@ additionalProperties: rule: paramPort type: number - - default: "" - envKey: SOCKS5_PROXY - labelEn: SOCKS5 Proxy - labelZh: SOCKS5 代理 - label: - en: SOCKS5 Proxy - ja: SOCKS5プロキシ - ms: Proksi SOCKS5 - pt-br: Proxy SOCKS5 - ru: SOCKS5 прокси - ko: SOCKS5 프록시 - zh: SOCKS5 代理 - zh-Hant: SOCKS5 代理 - required: false - type: text - - - default: "" - envKey: HTTP_PROXY - labelEn: HTTP Proxy - labelZh: HTTP 代理 - label: - en: HTTP Proxy - ja: HTTPプロキシ - ms: Proksi HTTP - pt-br: Proxy HTTP - ru: HTTP прокси - ko: HTTP 프록시 - zh: HTTP 代理 - zh-Hant: HTTP 代理 - required: false - type: text From aa1b71510535ea6c7e0e980f6011ff20cf894095 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 2 Oct 2025 00:30:37 +0000 Subject: [PATCH 108/203] chore(deps): update ghcr.io/lukegus/termix docker tag to v1.7.0 --- termix/release-1.6.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/termix/release-1.6.0/docker-compose.yml b/termix/release-1.6.0/docker-compose.yml index 8fb83c246..36ca4280b 100644 --- a/termix/release-1.6.0/docker-compose.yml +++ b/termix/release-1.6.0/docker-compose.yml @@ -1,6 +1,6 @@ services: termix: - image: ghcr.io/lukegus/termix:release-1.6.0 + image: ghcr.io/lukegus/termix:release-1.7.0 container_name: ${CONTAINER_NAME} restart: always From 0c61ceb9d8b1ac6d50b5b65fb83764dc90f2a173 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 2 Oct 2025 00:30:59 +0000 Subject: [PATCH 109/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20termix=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=20release-1.6.?= =?UTF-8?q?0=20=E5=8D=87=E7=BA=A7=E5=88=B0=20release-1.7.0=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- termix/{release-1.6.0 => release-1.7.0}/data.yml | 0 termix/{release-1.6.0 => release-1.7.0}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename termix/{release-1.6.0 => release-1.7.0}/data.yml (100%) rename termix/{release-1.6.0 => release-1.7.0}/docker-compose.yml (100%) diff --git a/termix/release-1.6.0/data.yml b/termix/release-1.7.0/data.yml similarity index 100% rename from termix/release-1.6.0/data.yml rename to termix/release-1.7.0/data.yml diff --git a/termix/release-1.6.0/docker-compose.yml b/termix/release-1.7.0/docker-compose.yml similarity index 100% rename from termix/release-1.6.0/docker-compose.yml rename to termix/release-1.7.0/docker-compose.yml From 223dee53403023dcba3e319ceadb2ac2056b7980 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 2 Oct 2025 08:41:24 +0000 Subject: [PATCH 110/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.2.5 --- anheyu-blog/1.2.4/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.2.4/docker-compose.yml b/anheyu-blog/1.2.4/docker-compose.yml index a92873022..fbc84cac9 100644 --- a/anheyu-blog/1.2.4/docker-compose.yml +++ b/anheyu-blog/1.2.4/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.2.4 + image: anheyu/anheyu-backend:1.2.5 container_name: ${CONTAINER_NAME} restart: always labels: From a1cdcd9e2e2ef286330b5ec0dfc51b3629b1df93 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 2 Oct 2025 08:41:38 +0000 Subject: [PATCH 111/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2.4?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.5=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.2.4 => 1.2.5}/data.yml | 0 anheyu-blog/{1.2.4 => 1.2.5}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.2.4 => 1.2.5}/data.yml (100%) rename anheyu-blog/{1.2.4 => 1.2.5}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.2.4/data.yml b/anheyu-blog/1.2.5/data.yml similarity index 100% rename from anheyu-blog/1.2.4/data.yml rename to anheyu-blog/1.2.5/data.yml diff --git a/anheyu-blog/1.2.4/docker-compose.yml b/anheyu-blog/1.2.5/docker-compose.yml similarity index 100% rename from anheyu-blog/1.2.4/docker-compose.yml rename to anheyu-blog/1.2.5/docker-compose.yml From 9180a5959ef8f29833e1f9adf376fa315a0c7ad5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 2 Oct 2025 15:28:18 +0000 Subject: [PATCH 112/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.2.7 --- anheyu-blog/1.2.5/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.2.5/docker-compose.yml b/anheyu-blog/1.2.5/docker-compose.yml index fbc84cac9..6a21342fd 100644 --- a/anheyu-blog/1.2.5/docker-compose.yml +++ b/anheyu-blog/1.2.5/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.2.5 + image: anheyu/anheyu-backend:1.2.7 container_name: ${CONTAINER_NAME} restart: always labels: From df421b6761f60dacbd9f387974a9b137a6d7fc74 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 2 Oct 2025 15:28:30 +0000 Subject: [PATCH 113/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2.5?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.7=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.2.5 => 1.2.7}/data.yml | 0 anheyu-blog/{1.2.5 => 1.2.7}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.2.5 => 1.2.7}/data.yml (100%) rename anheyu-blog/{1.2.5 => 1.2.7}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.2.5/data.yml b/anheyu-blog/1.2.7/data.yml similarity index 100% rename from anheyu-blog/1.2.5/data.yml rename to anheyu-blog/1.2.7/data.yml diff --git a/anheyu-blog/1.2.5/docker-compose.yml b/anheyu-blog/1.2.7/docker-compose.yml similarity index 100% rename from anheyu-blog/1.2.5/docker-compose.yml rename to anheyu-blog/1.2.7/docker-compose.yml From 23e683b3d31245f92765a0af8645653c67e62aa8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 2 Oct 2025 18:56:40 +0000 Subject: [PATCH 114/203] chore(deps): update anheyu/pro docker tag to v1.2.7 --- anheyu-blog-pro/1.2.4/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.2.4/docker-compose.yml b/anheyu-blog-pro/1.2.4/docker-compose.yml index 66fcd1b8c..6e2d13d56 100644 --- a/anheyu-blog-pro/1.2.4/docker-compose.yml +++ b/anheyu-blog-pro/1.2.4/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.2.4 + image: anheyu/pro:1.2.7 container_name: ${CONTAINER_NAME} restart: always labels: From d324b132b83cfb3e28728a9ca0c14e1aa8082800 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 2 Oct 2025 18:56:53 +0000 Subject: [PATCH 115/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2?= =?UTF-8?q?.4=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.7=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.2.4 => 1.2.7}/data.yml | 0 anheyu-blog-pro/{1.2.4 => 1.2.7}/docker-compose.yml | 0 anheyu-blog-pro/{1.2.4 => 1.2.7}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.2.4 => 1.2.7}/data.yml (100%) rename anheyu-blog-pro/{1.2.4 => 1.2.7}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.2.4 => 1.2.7}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.2.4/data.yml b/anheyu-blog-pro/1.2.7/data.yml similarity index 100% rename from anheyu-blog-pro/1.2.4/data.yml rename to anheyu-blog-pro/1.2.7/data.yml diff --git a/anheyu-blog-pro/1.2.4/docker-compose.yml b/anheyu-blog-pro/1.2.7/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.2.4/docker-compose.yml rename to anheyu-blog-pro/1.2.7/docker-compose.yml diff --git a/anheyu-blog-pro/1.2.4/scripts/upgrade.sh b/anheyu-blog-pro/1.2.7/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.2.4/scripts/upgrade.sh rename to anheyu-blog-pro/1.2.7/scripts/upgrade.sh From ed8ea8edc8adeae2549302bfda42a26034d9cc9a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Oct 2025 08:21:51 +0000 Subject: [PATCH 116/203] chore(deps): update ghcr.io/lukegus/termix docker tag to v1.7.1 --- termix/release-1.7.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/termix/release-1.7.0/docker-compose.yml b/termix/release-1.7.0/docker-compose.yml index 36ca4280b..0b1755225 100644 --- a/termix/release-1.7.0/docker-compose.yml +++ b/termix/release-1.7.0/docker-compose.yml @@ -1,6 +1,6 @@ services: termix: - image: ghcr.io/lukegus/termix:release-1.7.0 + image: ghcr.io/lukegus/termix:release-1.7.1 container_name: ${CONTAINER_NAME} restart: always From d690d8331e27d9ec82bbdf9e4613e4179f5cea5c Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 3 Oct 2025 08:22:04 +0000 Subject: [PATCH 117/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20termix=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=20release-1.7.?= =?UTF-8?q?0=20=E5=8D=87=E7=BA=A7=E5=88=B0=20release-1.7.1=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- termix/{release-1.7.0 => release-1.7.1}/data.yml | 0 termix/{release-1.7.0 => release-1.7.1}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename termix/{release-1.7.0 => release-1.7.1}/data.yml (100%) rename termix/{release-1.7.0 => release-1.7.1}/docker-compose.yml (100%) diff --git a/termix/release-1.7.0/data.yml b/termix/release-1.7.1/data.yml similarity index 100% rename from termix/release-1.7.0/data.yml rename to termix/release-1.7.1/data.yml diff --git a/termix/release-1.7.0/docker-compose.yml b/termix/release-1.7.1/docker-compose.yml similarity index 100% rename from termix/release-1.7.0/docker-compose.yml rename to termix/release-1.7.1/docker-compose.yml From ae335f48157ddadc32457d206b3fb1cc6f34925a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 5 Oct 2025 09:10:42 +0000 Subject: [PATCH 118/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.2.8 --- anheyu-blog/1.2.7/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.2.7/docker-compose.yml b/anheyu-blog/1.2.7/docker-compose.yml index 6a21342fd..a4c23c3bf 100644 --- a/anheyu-blog/1.2.7/docker-compose.yml +++ b/anheyu-blog/1.2.7/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.2.7 + image: anheyu/anheyu-backend:1.2.8 container_name: ${CONTAINER_NAME} restart: always labels: From f89d6e6e798201ab2221442bddb55d0ebd25d2d1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 5 Oct 2025 09:10:47 +0000 Subject: [PATCH 119/203] chore(deps): update anheyu/pro docker tag to v1.2.8 --- anheyu-blog-pro/1.2.7/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.2.7/docker-compose.yml b/anheyu-blog-pro/1.2.7/docker-compose.yml index 6e2d13d56..427af28ef 100644 --- a/anheyu-blog-pro/1.2.7/docker-compose.yml +++ b/anheyu-blog-pro/1.2.7/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.2.7 + image: anheyu/pro:1.2.8 container_name: ${CONTAINER_NAME} restart: always labels: From 0fd07805a35b97e38b9e15ba92bd0097ff96f9d1 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 5 Oct 2025 09:10:54 +0000 Subject: [PATCH 120/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2.7?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.8=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.2.7 => 1.2.8}/data.yml | 0 anheyu-blog/{1.2.7 => 1.2.8}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.2.7 => 1.2.8}/data.yml (100%) rename anheyu-blog/{1.2.7 => 1.2.8}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.2.7/data.yml b/anheyu-blog/1.2.8/data.yml similarity index 100% rename from anheyu-blog/1.2.7/data.yml rename to anheyu-blog/1.2.8/data.yml diff --git a/anheyu-blog/1.2.7/docker-compose.yml b/anheyu-blog/1.2.8/docker-compose.yml similarity index 100% rename from anheyu-blog/1.2.7/docker-compose.yml rename to anheyu-blog/1.2.8/docker-compose.yml From e8462d30489ee85aa5c27e469ee0bc41cf40fbbd Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 5 Oct 2025 09:11:00 +0000 Subject: [PATCH 121/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2?= =?UTF-8?q?.7=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.8=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.2.7 => 1.2.8}/data.yml | 0 anheyu-blog-pro/{1.2.7 => 1.2.8}/docker-compose.yml | 0 anheyu-blog-pro/{1.2.7 => 1.2.8}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.2.7 => 1.2.8}/data.yml (100%) rename anheyu-blog-pro/{1.2.7 => 1.2.8}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.2.7 => 1.2.8}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.2.7/data.yml b/anheyu-blog-pro/1.2.8/data.yml similarity index 100% rename from anheyu-blog-pro/1.2.7/data.yml rename to anheyu-blog-pro/1.2.8/data.yml diff --git a/anheyu-blog-pro/1.2.7/docker-compose.yml b/anheyu-blog-pro/1.2.8/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.2.7/docker-compose.yml rename to anheyu-blog-pro/1.2.8/docker-compose.yml diff --git a/anheyu-blog-pro/1.2.7/scripts/upgrade.sh b/anheyu-blog-pro/1.2.8/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.2.7/scripts/upgrade.sh rename to anheyu-blog-pro/1.2.8/scripts/upgrade.sh From 0bc88b31921529f27f3318523455a07d2f301994 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 17:46:44 +0000 Subject: [PATCH 122/203] chore(deps): update ghcr.io/lukegus/termix docker tag to v1.7.2 --- termix/release-1.7.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/termix/release-1.7.1/docker-compose.yml b/termix/release-1.7.1/docker-compose.yml index 0b1755225..e059b680d 100644 --- a/termix/release-1.7.1/docker-compose.yml +++ b/termix/release-1.7.1/docker-compose.yml @@ -1,6 +1,6 @@ services: termix: - image: ghcr.io/lukegus/termix:release-1.7.1 + image: ghcr.io/lukegus/termix:release-1.7.2 container_name: ${CONTAINER_NAME} restart: always From 778c60fb51ff22c28e3058ef7436c6b3807821b3 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Mon, 6 Oct 2025 17:46:58 +0000 Subject: [PATCH 123/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20termix=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=20release-1.7.?= =?UTF-8?q?1=20=E5=8D=87=E7=BA=A7=E5=88=B0=20release-1.7.2=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- termix/{release-1.7.1 => release-1.7.2}/data.yml | 0 termix/{release-1.7.1 => release-1.7.2}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename termix/{release-1.7.1 => release-1.7.2}/data.yml (100%) rename termix/{release-1.7.1 => release-1.7.2}/docker-compose.yml (100%) diff --git a/termix/release-1.7.1/data.yml b/termix/release-1.7.2/data.yml similarity index 100% rename from termix/release-1.7.1/data.yml rename to termix/release-1.7.2/data.yml diff --git a/termix/release-1.7.1/docker-compose.yml b/termix/release-1.7.2/docker-compose.yml similarity index 100% rename from termix/release-1.7.1/docker-compose.yml rename to termix/release-1.7.2/docker-compose.yml From f15b8937c59a134abe4e7179ee92924c3f7aff46 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 15:09:06 +0000 Subject: [PATCH 124/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.2.9 --- anheyu-blog/1.2.8/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.2.8/docker-compose.yml b/anheyu-blog/1.2.8/docker-compose.yml index a4c23c3bf..e74beb020 100644 --- a/anheyu-blog/1.2.8/docker-compose.yml +++ b/anheyu-blog/1.2.8/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.2.8 + image: anheyu/anheyu-backend:1.2.9 container_name: ${CONTAINER_NAME} restart: always labels: From 7af584f12c5982c0f7a92efb47448baf0b66e072 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 15:09:15 +0000 Subject: [PATCH 125/203] chore(deps): update anheyu/pro docker tag to v1.2.9 --- anheyu-blog-pro/1.2.8/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.2.8/docker-compose.yml b/anheyu-blog-pro/1.2.8/docker-compose.yml index 427af28ef..9bb47aa70 100644 --- a/anheyu-blog-pro/1.2.8/docker-compose.yml +++ b/anheyu-blog-pro/1.2.8/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.2.8 + image: anheyu/pro:1.2.9 container_name: ${CONTAINER_NAME} restart: always labels: From a384abc39156f3bc7329a1767230a2e4657158f2 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 7 Oct 2025 15:09:23 +0000 Subject: [PATCH 126/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2.8?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.9=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.2.8 => 1.2.9}/data.yml | 0 anheyu-blog/{1.2.8 => 1.2.9}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.2.8 => 1.2.9}/data.yml (100%) rename anheyu-blog/{1.2.8 => 1.2.9}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.2.8/data.yml b/anheyu-blog/1.2.9/data.yml similarity index 100% rename from anheyu-blog/1.2.8/data.yml rename to anheyu-blog/1.2.9/data.yml diff --git a/anheyu-blog/1.2.8/docker-compose.yml b/anheyu-blog/1.2.9/docker-compose.yml similarity index 100% rename from anheyu-blog/1.2.8/docker-compose.yml rename to anheyu-blog/1.2.9/docker-compose.yml From f47e6ee42c987b1046d8952a0e75a8640038bf65 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 7 Oct 2025 15:10:12 +0000 Subject: [PATCH 127/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2?= =?UTF-8?q?.8=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.2.9=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.2.8 => 1.2.9}/data.yml | 0 anheyu-blog-pro/{1.2.8 => 1.2.9}/docker-compose.yml | 0 anheyu-blog-pro/{1.2.8 => 1.2.9}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.2.8 => 1.2.9}/data.yml (100%) rename anheyu-blog-pro/{1.2.8 => 1.2.9}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.2.8 => 1.2.9}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.2.8/data.yml b/anheyu-blog-pro/1.2.9/data.yml similarity index 100% rename from anheyu-blog-pro/1.2.8/data.yml rename to anheyu-blog-pro/1.2.9/data.yml diff --git a/anheyu-blog-pro/1.2.8/docker-compose.yml b/anheyu-blog-pro/1.2.9/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.2.8/docker-compose.yml rename to anheyu-blog-pro/1.2.9/docker-compose.yml diff --git a/anheyu-blog-pro/1.2.8/scripts/upgrade.sh b/anheyu-blog-pro/1.2.9/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.2.8/scripts/upgrade.sh rename to anheyu-blog-pro/1.2.9/scripts/upgrade.sh From 8b31c0a6ca733661616a59c7684db8021d3bbe2b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 18:31:41 +0000 Subject: [PATCH 128/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.3.0 --- anheyu-blog/1.2.9/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.2.9/docker-compose.yml b/anheyu-blog/1.2.9/docker-compose.yml index e74beb020..3460192e8 100644 --- a/anheyu-blog/1.2.9/docker-compose.yml +++ b/anheyu-blog/1.2.9/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.2.9 + image: anheyu/anheyu-backend:1.3.0 container_name: ${CONTAINER_NAME} restart: always labels: From 5773e3e6516949093a757e242d028477a6e02462 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 7 Oct 2025 18:31:53 +0000 Subject: [PATCH 129/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2.9?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.0=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.2.9 => 1.3.0}/data.yml | 0 anheyu-blog/{1.2.9 => 1.3.0}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.2.9 => 1.3.0}/data.yml (100%) rename anheyu-blog/{1.2.9 => 1.3.0}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.2.9/data.yml b/anheyu-blog/1.3.0/data.yml similarity index 100% rename from anheyu-blog/1.2.9/data.yml rename to anheyu-blog/1.3.0/data.yml diff --git a/anheyu-blog/1.2.9/docker-compose.yml b/anheyu-blog/1.3.0/docker-compose.yml similarity index 100% rename from anheyu-blog/1.2.9/docker-compose.yml rename to anheyu-blog/1.3.0/docker-compose.yml From 6fd7eaaa47fc9a380dd366c28d849bd511aced1e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 Oct 2025 05:04:40 +0000 Subject: [PATCH 130/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.3.1 --- anheyu-blog/1.3.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.3.0/docker-compose.yml b/anheyu-blog/1.3.0/docker-compose.yml index 3460192e8..67abed06e 100644 --- a/anheyu-blog/1.3.0/docker-compose.yml +++ b/anheyu-blog/1.3.0/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.3.0 + image: anheyu/anheyu-backend:1.3.1 container_name: ${CONTAINER_NAME} restart: always labels: From cd012cbeada7d2104d3e725a847692ea5e1ebcee Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 8 Oct 2025 05:04:51 +0000 Subject: [PATCH 131/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3.0?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.1=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.3.0 => 1.3.1}/data.yml | 0 anheyu-blog/{1.3.0 => 1.3.1}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.3.0 => 1.3.1}/data.yml (100%) rename anheyu-blog/{1.3.0 => 1.3.1}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.3.0/data.yml b/anheyu-blog/1.3.1/data.yml similarity index 100% rename from anheyu-blog/1.3.0/data.yml rename to anheyu-blog/1.3.1/data.yml diff --git a/anheyu-blog/1.3.0/docker-compose.yml b/anheyu-blog/1.3.1/docker-compose.yml similarity index 100% rename from anheyu-blog/1.3.0/docker-compose.yml rename to anheyu-blog/1.3.1/docker-compose.yml From e0de2e14ed475abf810d8a455e3cd9875cf746b9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 Oct 2025 19:12:38 +0000 Subject: [PATCH 132/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.3.3 --- anheyu-blog/1.3.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.3.1/docker-compose.yml b/anheyu-blog/1.3.1/docker-compose.yml index 67abed06e..5f2b61c35 100644 --- a/anheyu-blog/1.3.1/docker-compose.yml +++ b/anheyu-blog/1.3.1/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.3.1 + image: anheyu/anheyu-backend:1.3.3 container_name: ${CONTAINER_NAME} restart: always labels: From 60be189613dbc9616832eb6fe3136fa39ee74bd6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 Oct 2025 19:12:42 +0000 Subject: [PATCH 133/203] chore(deps): update anheyu/pro docker tag to v1.3.3 --- anheyu-blog-pro/1.2.9/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.2.9/docker-compose.yml b/anheyu-blog-pro/1.2.9/docker-compose.yml index 9bb47aa70..3d023376b 100644 --- a/anheyu-blog-pro/1.2.9/docker-compose.yml +++ b/anheyu-blog-pro/1.2.9/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.2.9 + image: anheyu/pro:1.3.3 container_name: ${CONTAINER_NAME} restart: always labels: From b2213d6d1a805736bd684a6fb62e08772ff89ad2 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 8 Oct 2025 19:12:50 +0000 Subject: [PATCH 134/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3.1?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.3=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.3.1 => 1.3.3}/data.yml | 0 anheyu-blog/{1.3.1 => 1.3.3}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.3.1 => 1.3.3}/data.yml (100%) rename anheyu-blog/{1.3.1 => 1.3.3}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.3.1/data.yml b/anheyu-blog/1.3.3/data.yml similarity index 100% rename from anheyu-blog/1.3.1/data.yml rename to anheyu-blog/1.3.3/data.yml diff --git a/anheyu-blog/1.3.1/docker-compose.yml b/anheyu-blog/1.3.3/docker-compose.yml similarity index 100% rename from anheyu-blog/1.3.1/docker-compose.yml rename to anheyu-blog/1.3.3/docker-compose.yml From bcab30cf3e834a99cbbf64280da6be6f09c66799 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 8 Oct 2025 19:12:52 +0000 Subject: [PATCH 135/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.2?= =?UTF-8?q?.9=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.3=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.2.9 => 1.3.3}/data.yml | 0 anheyu-blog-pro/{1.2.9 => 1.3.3}/docker-compose.yml | 0 anheyu-blog-pro/{1.2.9 => 1.3.3}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.2.9 => 1.3.3}/data.yml (100%) rename anheyu-blog-pro/{1.2.9 => 1.3.3}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.2.9 => 1.3.3}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.2.9/data.yml b/anheyu-blog-pro/1.3.3/data.yml similarity index 100% rename from anheyu-blog-pro/1.2.9/data.yml rename to anheyu-blog-pro/1.3.3/data.yml diff --git a/anheyu-blog-pro/1.2.9/docker-compose.yml b/anheyu-blog-pro/1.3.3/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.2.9/docker-compose.yml rename to anheyu-blog-pro/1.3.3/docker-compose.yml diff --git a/anheyu-blog-pro/1.2.9/scripts/upgrade.sh b/anheyu-blog-pro/1.3.3/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.2.9/scripts/upgrade.sh rename to anheyu-blog-pro/1.3.3/scripts/upgrade.sh From 0b635f14a02090788134ce719cfe814d27f312f8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 Oct 2025 20:41:49 +0000 Subject: [PATCH 136/203] chore(deps): update ghcr.io/steveiliop56/tinyauth docker tag to v4 --- tinyauth/3.6.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tinyauth/3.6.2/docker-compose.yml b/tinyauth/3.6.2/docker-compose.yml index a0ad77988..febbabf38 100644 --- a/tinyauth/3.6.2/docker-compose.yml +++ b/tinyauth/3.6.2/docker-compose.yml @@ -1,6 +1,6 @@ services: tinyauth: - image: ghcr.io/steveiliop56/tinyauth:v3.6.2 + image: ghcr.io/steveiliop56/tinyauth:v4.0.0 container_name: ${CONTAINER_NAME} environment: # ---- 通用配置 ---- From 18472338dd2097209d78dddcd58cece0a89dcc7f Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 8 Oct 2025 20:42:03 +0000 Subject: [PATCH 137/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20tinyauth=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=203.6.2=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=204.0.0=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tinyauth/{3.6.2 => 4.0.0}/data.yml | 0 tinyauth/{3.6.2 => 4.0.0}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename tinyauth/{3.6.2 => 4.0.0}/data.yml (100%) rename tinyauth/{3.6.2 => 4.0.0}/docker-compose.yml (100%) diff --git a/tinyauth/3.6.2/data.yml b/tinyauth/4.0.0/data.yml similarity index 100% rename from tinyauth/3.6.2/data.yml rename to tinyauth/4.0.0/data.yml diff --git a/tinyauth/3.6.2/docker-compose.yml b/tinyauth/4.0.0/docker-compose.yml similarity index 100% rename from tinyauth/3.6.2/docker-compose.yml rename to tinyauth/4.0.0/docker-compose.yml From babb775d7631472c853dd4084962c22b494df83c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 Oct 2025 11:13:32 +0000 Subject: [PATCH 138/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.3.4 --- anheyu-blog/1.3.3/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.3.3/docker-compose.yml b/anheyu-blog/1.3.3/docker-compose.yml index 5f2b61c35..eaa7cf251 100644 --- a/anheyu-blog/1.3.3/docker-compose.yml +++ b/anheyu-blog/1.3.3/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.3.3 + image: anheyu/anheyu-backend:1.3.4 container_name: ${CONTAINER_NAME} restart: always labels: From 4a0c781a7760700ededde1cb02303a8756366a80 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 9 Oct 2025 11:13:47 +0000 Subject: [PATCH 139/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3.3?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.4=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.3.3 => 1.3.4}/data.yml | 0 anheyu-blog/{1.3.3 => 1.3.4}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.3.3 => 1.3.4}/data.yml (100%) rename anheyu-blog/{1.3.3 => 1.3.4}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.3.3/data.yml b/anheyu-blog/1.3.4/data.yml similarity index 100% rename from anheyu-blog/1.3.3/data.yml rename to anheyu-blog/1.3.4/data.yml diff --git a/anheyu-blog/1.3.3/docker-compose.yml b/anheyu-blog/1.3.4/docker-compose.yml similarity index 100% rename from anheyu-blog/1.3.3/docker-compose.yml rename to anheyu-blog/1.3.4/docker-compose.yml From 2ebfddc3fa8ecf318e8810d03ed16ba8fb7045c4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 Oct 2025 13:34:58 +0000 Subject: [PATCH 140/203] chore(deps): update anheyu/pro docker tag to v1.3.4 --- anheyu-blog-pro/1.3.3/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.3.3/docker-compose.yml b/anheyu-blog-pro/1.3.3/docker-compose.yml index 3d023376b..5329359e5 100644 --- a/anheyu-blog-pro/1.3.3/docker-compose.yml +++ b/anheyu-blog-pro/1.3.3/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.3.3 + image: anheyu/pro:1.3.4 container_name: ${CONTAINER_NAME} restart: always labels: From d2604b042ff36893ea4d1ead796cc0fc74e35fdf Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 9 Oct 2025 13:35:14 +0000 Subject: [PATCH 141/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3?= =?UTF-8?q?.3=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.4=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.3.3 => 1.3.4}/data.yml | 0 anheyu-blog-pro/{1.3.3 => 1.3.4}/docker-compose.yml | 0 anheyu-blog-pro/{1.3.3 => 1.3.4}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.3.3 => 1.3.4}/data.yml (100%) rename anheyu-blog-pro/{1.3.3 => 1.3.4}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.3.3 => 1.3.4}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.3.3/data.yml b/anheyu-blog-pro/1.3.4/data.yml similarity index 100% rename from anheyu-blog-pro/1.3.3/data.yml rename to anheyu-blog-pro/1.3.4/data.yml diff --git a/anheyu-blog-pro/1.3.3/docker-compose.yml b/anheyu-blog-pro/1.3.4/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.3.3/docker-compose.yml rename to anheyu-blog-pro/1.3.4/docker-compose.yml diff --git a/anheyu-blog-pro/1.3.3/scripts/upgrade.sh b/anheyu-blog-pro/1.3.4/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.3.3/scripts/upgrade.sh rename to anheyu-blog-pro/1.3.4/scripts/upgrade.sh From de410b0e3ad6d6f6d2137b7d96993f1d231e6047 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 Oct 2025 17:12:42 +0000 Subject: [PATCH 142/203] chore(deps): update ghcr.io/lukegus/termix docker tag to v1.7.3 --- termix/release-1.7.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/termix/release-1.7.2/docker-compose.yml b/termix/release-1.7.2/docker-compose.yml index e059b680d..e1b8248e7 100644 --- a/termix/release-1.7.2/docker-compose.yml +++ b/termix/release-1.7.2/docker-compose.yml @@ -1,6 +1,6 @@ services: termix: - image: ghcr.io/lukegus/termix:release-1.7.2 + image: ghcr.io/lukegus/termix:release-1.7.3 container_name: ${CONTAINER_NAME} restart: always From d73d746cc93ca80be6fe6287ede3d1492605796e Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 9 Oct 2025 17:12:53 +0000 Subject: [PATCH 143/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20termix=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=20release-1.7.?= =?UTF-8?q?2=20=E5=8D=87=E7=BA=A7=E5=88=B0=20release-1.7.3=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- termix/{release-1.7.2 => release-1.7.3}/data.yml | 0 termix/{release-1.7.2 => release-1.7.3}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename termix/{release-1.7.2 => release-1.7.3}/data.yml (100%) rename termix/{release-1.7.2 => release-1.7.3}/docker-compose.yml (100%) diff --git a/termix/release-1.7.2/data.yml b/termix/release-1.7.3/data.yml similarity index 100% rename from termix/release-1.7.2/data.yml rename to termix/release-1.7.3/data.yml diff --git a/termix/release-1.7.2/docker-compose.yml b/termix/release-1.7.3/docker-compose.yml similarity index 100% rename from termix/release-1.7.2/docker-compose.yml rename to termix/release-1.7.3/docker-compose.yml From 505caea0ab3718dca545e28f795823107342b7a4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 Oct 2025 09:41:12 +0000 Subject: [PATCH 144/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.3.5 --- anheyu-blog/1.3.4/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.3.4/docker-compose.yml b/anheyu-blog/1.3.4/docker-compose.yml index eaa7cf251..01aeba133 100644 --- a/anheyu-blog/1.3.4/docker-compose.yml +++ b/anheyu-blog/1.3.4/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.3.4 + image: anheyu/anheyu-backend:1.3.5 container_name: ${CONTAINER_NAME} restart: always labels: From f5a5418f5c869b3bdc30f84e2e958f3ef27742a5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 Oct 2025 09:41:16 +0000 Subject: [PATCH 145/203] chore(deps): update anheyu/pro docker tag to v1.3.5 --- anheyu-blog-pro/1.3.4/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.3.4/docker-compose.yml b/anheyu-blog-pro/1.3.4/docker-compose.yml index 5329359e5..92c87c00c 100644 --- a/anheyu-blog-pro/1.3.4/docker-compose.yml +++ b/anheyu-blog-pro/1.3.4/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.3.4 + image: anheyu/pro:1.3.5 container_name: ${CONTAINER_NAME} restart: always labels: From 03d065854972fa0404441057e380e36bcad600f5 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 10 Oct 2025 09:41:25 +0000 Subject: [PATCH 146/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3.4?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.5=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.3.4 => 1.3.5}/data.yml | 0 anheyu-blog/{1.3.4 => 1.3.5}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.3.4 => 1.3.5}/data.yml (100%) rename anheyu-blog/{1.3.4 => 1.3.5}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.3.4/data.yml b/anheyu-blog/1.3.5/data.yml similarity index 100% rename from anheyu-blog/1.3.4/data.yml rename to anheyu-blog/1.3.5/data.yml diff --git a/anheyu-blog/1.3.4/docker-compose.yml b/anheyu-blog/1.3.5/docker-compose.yml similarity index 100% rename from anheyu-blog/1.3.4/docker-compose.yml rename to anheyu-blog/1.3.5/docker-compose.yml From e3c6e3b1099a02fb2ee9e97f6b9ccbb39f9d823f Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 10 Oct 2025 09:41:31 +0000 Subject: [PATCH 147/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3?= =?UTF-8?q?.4=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.5=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.3.4 => 1.3.5}/data.yml | 0 anheyu-blog-pro/{1.3.4 => 1.3.5}/docker-compose.yml | 0 anheyu-blog-pro/{1.3.4 => 1.3.5}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.3.4 => 1.3.5}/data.yml (100%) rename anheyu-blog-pro/{1.3.4 => 1.3.5}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.3.4 => 1.3.5}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.3.4/data.yml b/anheyu-blog-pro/1.3.5/data.yml similarity index 100% rename from anheyu-blog-pro/1.3.4/data.yml rename to anheyu-blog-pro/1.3.5/data.yml diff --git a/anheyu-blog-pro/1.3.4/docker-compose.yml b/anheyu-blog-pro/1.3.5/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.3.4/docker-compose.yml rename to anheyu-blog-pro/1.3.5/docker-compose.yml diff --git a/anheyu-blog-pro/1.3.4/scripts/upgrade.sh b/anheyu-blog-pro/1.3.5/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.3.4/scripts/upgrade.sh rename to anheyu-blog-pro/1.3.5/scripts/upgrade.sh From 1c42b9b49ac883ae9b3904a8ff3ff710c2e77326 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 11 Oct 2025 13:41:11 +0000 Subject: [PATCH 148/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.3.7 --- anheyu-blog/1.3.5/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.3.5/docker-compose.yml b/anheyu-blog/1.3.5/docker-compose.yml index 01aeba133..8a066009e 100644 --- a/anheyu-blog/1.3.5/docker-compose.yml +++ b/anheyu-blog/1.3.5/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.3.5 + image: anheyu/anheyu-backend:1.3.7 container_name: ${CONTAINER_NAME} restart: always labels: From 5e610e3cacc18f0d10f1c6abd82a36af833e4de6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 11 Oct 2025 13:41:15 +0000 Subject: [PATCH 149/203] chore(deps): update anheyu/pro docker tag to v1.3.6 --- anheyu-blog-pro/1.3.5/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.3.5/docker-compose.yml b/anheyu-blog-pro/1.3.5/docker-compose.yml index 92c87c00c..df8603173 100644 --- a/anheyu-blog-pro/1.3.5/docker-compose.yml +++ b/anheyu-blog-pro/1.3.5/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.3.5 + image: anheyu/pro:1.3.6 container_name: ${CONTAINER_NAME} restart: always labels: From 9c02d48f3c7acc4785c011d42fe711cbd36b621b Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 11 Oct 2025 13:41:25 +0000 Subject: [PATCH 150/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3.5?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.7=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.3.5 => 1.3.7}/data.yml | 0 anheyu-blog/{1.3.5 => 1.3.7}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.3.5 => 1.3.7}/data.yml (100%) rename anheyu-blog/{1.3.5 => 1.3.7}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.3.5/data.yml b/anheyu-blog/1.3.7/data.yml similarity index 100% rename from anheyu-blog/1.3.5/data.yml rename to anheyu-blog/1.3.7/data.yml diff --git a/anheyu-blog/1.3.5/docker-compose.yml b/anheyu-blog/1.3.7/docker-compose.yml similarity index 100% rename from anheyu-blog/1.3.5/docker-compose.yml rename to anheyu-blog/1.3.7/docker-compose.yml From f0438a257c5e9c2ebe9fff0b63d1eb3c1bce4edf Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 11 Oct 2025 13:41:27 +0000 Subject: [PATCH 151/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3?= =?UTF-8?q?.5=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.6=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.3.5 => 1.3.6}/data.yml | 0 anheyu-blog-pro/{1.3.5 => 1.3.6}/docker-compose.yml | 0 anheyu-blog-pro/{1.3.5 => 1.3.6}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.3.5 => 1.3.6}/data.yml (100%) rename anheyu-blog-pro/{1.3.5 => 1.3.6}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.3.5 => 1.3.6}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.3.5/data.yml b/anheyu-blog-pro/1.3.6/data.yml similarity index 100% rename from anheyu-blog-pro/1.3.5/data.yml rename to anheyu-blog-pro/1.3.6/data.yml diff --git a/anheyu-blog-pro/1.3.5/docker-compose.yml b/anheyu-blog-pro/1.3.6/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.3.5/docker-compose.yml rename to anheyu-blog-pro/1.3.6/docker-compose.yml diff --git a/anheyu-blog-pro/1.3.5/scripts/upgrade.sh b/anheyu-blog-pro/1.3.6/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.3.5/scripts/upgrade.sh rename to anheyu-blog-pro/1.3.6/scripts/upgrade.sh From 0f4e9141f292f4f1b09a13c2aff55f386fd58035 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Sun, 12 Oct 2025 18:19:24 +0800 Subject: [PATCH 152/203] =?UTF-8?q?=F0=9F=A4=A3=E4=BF=AE=E6=94=B9=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E4=B8=BA=E6=96=B0=E7=89=88=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tinyauth/4.0.0/data.yml | 21 +++++++-------------- tinyauth/4.0.0/docker-compose.yml | 25 +++++++++++++------------ 2 files changed, 20 insertions(+), 26 deletions(-) diff --git a/tinyauth/4.0.0/data.yml b/tinyauth/4.0.0/data.yml index 2638871fa..8079423e8 100644 --- a/tinyauth/4.0.0/data.yml +++ b/tinyauth/4.0.0/data.yml @@ -137,13 +137,6 @@ additionalProperties: required: false type: password - - default: "" - envKey: PANEL_TINYAUTH_GITHUB_REDIRECT_URI - labelEn: GitHub Redirect URI - labelZh: GitHub 回调地址 - required: false - type: text - # Google - default: "" envKey: PANEL_TINYAUTH_GOOGLE_CLIENT_ID @@ -159,13 +152,6 @@ additionalProperties: required: false type: password - - default: "" - envKey: PANEL_TINYAUTH_GOOGLE_REDIRECT_URI - labelEn: Google Redirect URI - labelZh: Google 回调地址 - required: false - type: text - # Generic - default: "" envKey: PANEL_TINYAUTH_GENERIC_NAME @@ -208,3 +194,10 @@ additionalProperties: labelZh: 通用用户信息地址 required: false type: text + + - default: "" + envKey: PANEL_TINYAUTH_GENERIC_SCOPES + labelEn: Generic Scopes + labelZh: 通用范围 + required: false + type: text diff --git a/tinyauth/4.0.0/docker-compose.yml b/tinyauth/4.0.0/docker-compose.yml index febbabf38..e4f52e2f1 100644 --- a/tinyauth/4.0.0/docker-compose.yml +++ b/tinyauth/4.0.0/docker-compose.yml @@ -12,22 +12,23 @@ services: - BACKGROUND_IMAGE=${PANEL_TINYAUTH_BACKGROUND_IMAGE} # ---- GitHub ---- - - GITHUB_CLIENT_ID=${PANEL_TINYAUTH_GITHUB_CLIENT_ID} - - GITHUB_CLIENT_SECRET=${PANEL_TINYAUTH_GITHUB_CLIENT_SECRET} - - GITHUB_REDIRECT_URI=${PANEL_TINYAUTH_GITHUB_REDIRECT_URI} + - PROVIDERS_GITHUB_CLIENT_ID=${PANEL_TINYAUTH_GITHUB_CLIENT_ID} + - PROVIDERS_GITHUB_CLIENT_SECRET=${PANEL_TINYAUTH_GITHUB_CLIENT_SECRET} + # - PROVIDERS_GITHUB_REDIRECT_URI=${PANEL_TINYAUTH_GITHUB_REDIRECT_URI} # ---- Google ---- - - GOOGLE_CLIENT_ID=${PANEL_TINYAUTH_GOOGLE_CLIENT_ID} - - GOOGLE_CLIENT_SECRET=${PANEL_TINYAUTH_GOOGLE_CLIENT_SECRET} - - GOOGLE_REDIRECT_URI=${PANEL_TINYAUTH_GOOGLE_REDIRECT_URI} + - PROVIDERS_GOOGLE_CLIENT_ID=${PANEL_TINYAUTH_GOOGLE_CLIENT_ID} + - PROVIDERS_GOOGLE_CLIENT_SECRET=${PANEL_TINYAUTH_GOOGLE_CLIENT_SECRET} + # - PROVIDERS_GOOGLE_REDIRECT_URI=${PANEL_TINYAUTH_GOOGLE_REDIRECT_URI} # ---- Generic (示例 Linux.Do) ---- - - GENERIC_NAME=${PANEL_TINYAUTH_GENERIC_NAME} - - GENERIC_CLIENT_ID=${PANEL_TINYAUTH_GENERIC_CLIENT_ID} - - GENERIC_CLIENT_SECRET=${PANEL_TINYAUTH_GENERIC_CLIENT_SECRET} - - GENERIC_AUTH_URL=${PANEL_TINYAUTH_GENERIC_AUTH_URL} - - GENERIC_TOKEN_URL=${PANEL_TINYAUTH_GENERIC_TOKEN_URL} - - GENERIC_USER_URL=${PANEL_TINYAUTH_GENERIC_USER_URL} + - PROVIDERS_GENERIC_NAME=${PANEL_TINYAUTH_GENERIC_NAME} + - PROVIDERS_GENERIC_CLIENT_ID=${PANEL_TINYAUTH_GENERIC_CLIENT_ID} + - PROVIDERS_GENERIC_CLIENT_SECRET=${PANEL_TINYAUTH_GENERIC_CLIENT_SECRET} + - PROVIDERS_GENERIC_AUTH_URL=${PANEL_TINYAUTH_GENERIC_AUTH_URL} + - PROVIDERS_GENERIC_TOKEN_URL=${PANEL_TINYAUTH_GENERIC_TOKEN_URL} + - PROVIDERS_GENERIC_USER_INFO_URL=${PANEL_TINYAUTH_GENERIC_USER_URL} + - PROVIDERS_GENERIC_SCOPES=${PANEL_TINYAUTH_GENERIC_SCOPES} ports: - "${PANEL_APP_PORT_HTTP}:3000" From 2cf1ede9434808d8511cf5e3b06942ac5c453232 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Sun, 12 Oct 2025 20:34:17 +0800 Subject: [PATCH 153/203] =?UTF-8?q?=F0=9F=A4=97=E5=B0=9D=E8=AF=95=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E6=9B=B4=E4=B8=BA=E5=A4=8D=E6=9D=82=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BD=BF=E9=83=A8=E7=BD=B2=E5=8F=98=E5=BE=97=E6=9B=B4?= =?UTF-8?q?=E5=8A=A0=E6=98=93=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tinyauth/4.0.0/data.yml | 86 ++++++++++++------------------- tinyauth/4.0.0/docker-compose.yml | 25 +++------ tinyauth/4.0.0/scripts/init.sh | 35 +++++++++++++ tinyauth/4.0.0/scripts/upgrade.sh | 31 +++++++++++ 4 files changed, 108 insertions(+), 69 deletions(-) create mode 100644 tinyauth/4.0.0/scripts/init.sh create mode 100644 tinyauth/4.0.0/scripts/upgrade.sh diff --git a/tinyauth/4.0.0/data.yml b/tinyauth/4.0.0/data.yml index 8079423e8..370ccb2b5 100644 --- a/tinyauth/4.0.0/data.yml +++ b/tinyauth/4.0.0/data.yml @@ -17,10 +17,10 @@ additionalProperties: rule: paramPort type: number - - default: "" + - default: "https://sso.example.com" envKey: PANEL_TINYAUTH_APP_URL labelEn: App URL - labelZh: 应用地址 + labelZh: 应用地址(结尾不要添加斜杠) label: en: App URL ja: アプリURL @@ -28,7 +28,7 @@ additionalProperties: pt-br: URL do Aplicativo ru: URL приложения ko: 앱 URL - zh: 应用地址 + zh: 应用地址(结尾不要添加斜杠) zh-Hant: 應用地址 required: false type: text @@ -84,7 +84,7 @@ additionalProperties: - default: "" envKey: PANEL_TINYAUTH_OAUTH_AUTO_REDIRECT labelEn: Auto Redirect Provider - labelZh: 自动跳转提供商 + labelZh: 自动跳转到登录页面 label: en: Auto Redirect Provider ja: 自動リダイレクトプロバイダー @@ -92,19 +92,15 @@ additionalProperties: pt-br: Provedor de Redirecionamento Automático ru: Автоматический редирект провайдера ko: 자동 리디렉션 제공자 - zh: 自动跳转提供商 - zh-Hant: 自動跳轉提供商 + zh: 自动跳转到登录页面 + zh-Hant: 自動跳轉到登錄頁面 required: false type: select values: - - label: None + - label: False value: "none" - - label: GitHub - value: "github" - - label: Google - value: "google" - - label: Generic - value: "generic" + - label: True + value: "PROVIDER_ID_PLACEHOLDER" # 后面会替换掉为对应的提供商 - default: "" envKey: PANEL_TINYAUTH_BACKGROUND_IMAGE @@ -121,59 +117,45 @@ additionalProperties: zh-Hant: 背景圖片 required: false type: text - - # GitHub - - default: "" - envKey: PANEL_TINYAUTH_GITHUB_CLIENT_ID - labelEn: GitHub Client ID - labelZh: GitHub 客户端ID - required: false + + - default: "github" + envKey: PANEL_TINYAUTH_PROVIDER_ID + labelEn: Provider ID + labelZh: 提供商ID(仅填写一个,名称任意,如果为github或google,后面参数仅需要填写client_id和client_secret) + label: + en: Provider ID + ja: プロバイダーID + ms: ID Penyedia + pt-br: ID do Provedor + ru: ID провайдера + ko: 자동 리디렉션 제공자 + zh: 提供商ID(仅填写一个,名称任意,如果为github或google,后面参数仅需要填写client_id和client_secret) + zh-Hant: 供應商ID(僅填寫一個,名稱任意,如果為github或google,後面參數僅需要填寫client_id和client_secret) + required: True type: text - - default: "" - envKey: PANEL_TINYAUTH_GITHUB_CLIENT_SECRET - labelEn: GitHub Client Secret - labelZh: GitHub 客户端密钥 - required: false - type: password - - # Google - - default: "" - envKey: PANEL_TINYAUTH_GOOGLE_CLIENT_ID - labelEn: Google Client ID - labelZh: Google 客户端ID - required: false - type: text - - - default: "" - envKey: PANEL_TINYAUTH_GOOGLE_CLIENT_SECRET - labelEn: Google Client Secret - labelZh: Google 客户端密钥 - required: false - type: password - # Generic - - default: "" - envKey: PANEL_TINYAUTH_GENERIC_NAME - labelEn: Generic Provider Name - labelZh: 通用提供商名称 - required: false - type: text - - default: "" envKey: PANEL_TINYAUTH_GENERIC_CLIENT_ID labelEn: Generic Client ID labelZh: 通用客户端ID - required: false + required: true type: text - default: "" envKey: PANEL_TINYAUTH_GENERIC_CLIENT_SECRET labelEn: Generic Client Secret labelZh: 通用客户端密钥 - required: false + required: true type: password + - default: "" + envKey: PANEL_TINYAUTH_GENERIC_NAME + labelEn: Generic Provider Name + labelZh: 通用提供商名称 + required: false + type: text + - default: "" envKey: PANEL_TINYAUTH_GENERIC_AUTH_URL labelEn: Generic Auth URL @@ -189,7 +171,7 @@ additionalProperties: type: text - default: "" - envKey: PANEL_TINYAUTH_GENERIC_USER_URL + envKey: PANEL_TINYAUTH_GENERIC_USER_INFO_URL labelEn: Generic User Info URL labelZh: 通用用户信息地址 required: false diff --git a/tinyauth/4.0.0/docker-compose.yml b/tinyauth/4.0.0/docker-compose.yml index e4f52e2f1..1ff0e8ed9 100644 --- a/tinyauth/4.0.0/docker-compose.yml +++ b/tinyauth/4.0.0/docker-compose.yml @@ -11,24 +11,15 @@ services: - OAUTH_AUTO_REDIRECT=${PANEL_TINYAUTH_OAUTH_AUTO_REDIRECT} - BACKGROUND_IMAGE=${PANEL_TINYAUTH_BACKGROUND_IMAGE} - # ---- GitHub ---- - - PROVIDERS_GITHUB_CLIENT_ID=${PANEL_TINYAUTH_GITHUB_CLIENT_ID} - - PROVIDERS_GITHUB_CLIENT_SECRET=${PANEL_TINYAUTH_GITHUB_CLIENT_SECRET} - # - PROVIDERS_GITHUB_REDIRECT_URI=${PANEL_TINYAUTH_GITHUB_REDIRECT_URI} - - # ---- Google ---- - - PROVIDERS_GOOGLE_CLIENT_ID=${PANEL_TINYAUTH_GOOGLE_CLIENT_ID} - - PROVIDERS_GOOGLE_CLIENT_SECRET=${PANEL_TINYAUTH_GOOGLE_CLIENT_SECRET} - # - PROVIDERS_GOOGLE_REDIRECT_URI=${PANEL_TINYAUTH_GOOGLE_REDIRECT_URI} - # ---- Generic (示例 Linux.Do) ---- - - PROVIDERS_GENERIC_NAME=${PANEL_TINYAUTH_GENERIC_NAME} - - PROVIDERS_GENERIC_CLIENT_ID=${PANEL_TINYAUTH_GENERIC_CLIENT_ID} - - PROVIDERS_GENERIC_CLIENT_SECRET=${PANEL_TINYAUTH_GENERIC_CLIENT_SECRET} - - PROVIDERS_GENERIC_AUTH_URL=${PANEL_TINYAUTH_GENERIC_AUTH_URL} - - PROVIDERS_GENERIC_TOKEN_URL=${PANEL_TINYAUTH_GENERIC_TOKEN_URL} - - PROVIDERS_GENERIC_USER_INFO_URL=${PANEL_TINYAUTH_GENERIC_USER_URL} - - PROVIDERS_GENERIC_SCOPES=${PANEL_TINYAUTH_GENERIC_SCOPES} + - PROVIDERS_PLACEHOLDER_CLIENT_ID=${PANEL_TINYAUTH_GENERIC_CLIENT_ID} + - PROVIDERS_PLACEHOLDER_CLIENT_SECRET=${PANEL_TINYAUTH_GENERIC_CLIENT_SECRET} + - PROVIDERS_PLACEHOLDER_NAME=${PANEL_TINYAUTH_GENERIC_NAME} + - PROVIDERS_PLACEHOLDER_AUTH_URL=${PANEL_TINYAUTH_GENERIC_AUTH_URL} + - PROVIDERS_PLACEHOLDER_TOKEN_URL=${PANEL_TINYAUTH_GENERIC_TOKEN_URL} + - PROVIDERS_PLACEHOLDER_USER_INFO_URL=${PANEL_TINYAUTH_GENERIC_USER_INFO_URL} + - PROVIDERS_PLACEHOLDER_REDIRECT_URL=${PANEL_TINYAUTH_APP_URL}/api/oauth/callback/${PANEL_TINYAUTH_PROVIDER_ID} + - PROVIDERS_PLACEHOLDER_SCOPES=${PANEL_TINYAUTH_GENERIC_SCOPES} ports: - "${PANEL_APP_PORT_HTTP}:3000" diff --git a/tinyauth/4.0.0/scripts/init.sh b/tinyauth/4.0.0/scripts/init.sh new file mode 100644 index 000000000..bcf315d0f --- /dev/null +++ b/tinyauth/4.0.0/scripts/init.sh @@ -0,0 +1,35 @@ +#!/bin/bash +set -e + +# 1️⃣ 确保.env存在 +if [ ! -f ".env" ]; then + echo "❌ 未找到 .env 文件" + exit 1 +fi + +# 2️⃣ 读取 PANEL_TINYAUTH_PROVIDER_ID 变量 +PANEL_TINYAUTH_PROVIDER_ID=$(grep '^PANEL_TINYAUTH_PROVIDER_ID=' .env | cut -d '=' -f2- | tr -d '"') + +if [ -z "$PANEL_TINYAUTH_PROVIDER_ID" ]; then + echo "❌ 未在 .env 中找到 PANEL_TINYAUTH_PROVIDER_ID" + exit 1 +fi + +# 3️⃣ 生成大写版本 +UPPER_ID=$(echo "$PANEL_TINYAUTH_PROVIDER_ID" | tr '[:lower:]' '[:upper:]') + +# 4️⃣ 替换 .env 中的 PROVIDER_ID_PLACEHOLDER +echo "🧩 替换 .env 文件中的 PROVIDER_ID_PLACEHOLDER → $PANEL_TINYAUTH_PROVIDER_ID" +sed -i "s/PROVIDER_ID_PLACEHOLDER/${PANEL_TINYAUTH_PROVIDER_ID}/g" .env + +# 5️⃣ 替换 docker-compose.yml 中的 PROVIDERS_PLACEHOLDER +if [ ! -f "docker-compose.yml" ]; then + echo "❌ 未找到 docker-compose.yml 文件" + exit 1 +fi + +echo "🧩 替换 docker-compose.yml 文件中的 PROVIDERS_PLACEHOLDER → PROVIDERS_${UPPER_ID}" +sed -i "s/PROVIDERS_PLACEHOLDER/PROVIDERS_${UPPER_ID}/g" docker-compose.yml + +# 6️⃣ 提示完成 +echo "✅ 替换完成!" diff --git a/tinyauth/4.0.0/scripts/upgrade.sh b/tinyauth/4.0.0/scripts/upgrade.sh new file mode 100644 index 000000000..91629b444 --- /dev/null +++ b/tinyauth/4.0.0/scripts/upgrade.sh @@ -0,0 +1,31 @@ +#!/bin/bash +set -e + +# 1️⃣ 确保.env存在 +if [ ! -f ".env" ]; then + echo "❌ 未找到 .env 文件" + exit 1 +fi + +# 2️⃣ 读取 PANEL_TINYAUTH_PROVIDER_ID 变量 +PANEL_TINYAUTH_PROVIDER_ID=$(grep '^PANEL_TINYAUTH_PROVIDER_ID=' .env | cut -d '=' -f2- | tr -d '"') + +if [ -z "$PANEL_TINYAUTH_PROVIDER_ID" ]; then + echo "❌ 未在 .env 中找到 PANEL_TINYAUTH_PROVIDER_ID" + exit 1 +fi + +# 3️⃣ 生成大写版本 +UPPER_ID=$(echo "$PANEL_TINYAUTH_PROVIDER_ID" | tr '[:lower:]' '[:upper:]') + +# 5️⃣ 替换 docker-compose.yml 中的 PROVIDERS_PLACEHOLDER +if [ ! -f "docker-compose.yml" ]; then + echo "❌ 未找到 docker-compose.yml 文件" + exit 1 +fi + +echo "🧩 替换 docker-compose.yml 文件中的 PROVIDERS_PLACEHOLDER → PROVIDERS_${UPPER_ID}" +sed -i "s/PROVIDERS_PLACEHOLDER/PROVIDERS_${UPPER_ID}/g" docker-compose.yml + +# 6️⃣ 提示完成 +echo "✅ 替换完成!" From 75e3a082345ead1061631f1efff97033d6f3837a Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Sun, 12 Oct 2025 20:36:47 +0800 Subject: [PATCH 154/203] =?UTF-8?q?=F0=9F=98=8B=E4=BF=AE=E6=94=B9label?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E4=B8=BA=E6=96=87=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tinyauth/4.0.0/data.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tinyauth/4.0.0/data.yml b/tinyauth/4.0.0/data.yml index 370ccb2b5..735a7fcae 100644 --- a/tinyauth/4.0.0/data.yml +++ b/tinyauth/4.0.0/data.yml @@ -97,9 +97,9 @@ additionalProperties: required: false type: select values: - - label: False + - label: "关闭" value: "none" - - label: True + - label: "开启" value: "PROVIDER_ID_PLACEHOLDER" # 后面会替换掉为对应的提供商 - default: "" From 464c2d5b20dae4f390a27310c53a9bcec976f94b Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Sun, 12 Oct 2025 20:53:37 +0800 Subject: [PATCH 155/203] =?UTF-8?q?=F0=9F=A4=A3=E5=AE=8C=E5=96=84=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=8C=E5=AE=8C=E5=96=84=E8=84=9A=E6=9C=AC=EF=BC=8C?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=9B=B4=E5=A5=BD=E7=9A=84=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tinyauth/4.0.0/scripts/init.sh | 12 +++++++----- tinyauth/4.0.0/scripts/upgrade.sh | 12 +++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/tinyauth/4.0.0/scripts/init.sh b/tinyauth/4.0.0/scripts/init.sh index bcf315d0f..d461fe105 100644 --- a/tinyauth/4.0.0/scripts/init.sh +++ b/tinyauth/4.0.0/scripts/init.sh @@ -1,28 +1,30 @@ #!/bin/bash set -e -# 1️⃣ 确保.env存在 +# 确保.env存在 if [ ! -f ".env" ]; then echo "❌ 未找到 .env 文件" exit 1 fi -# 2️⃣ 读取 PANEL_TINYAUTH_PROVIDER_ID 变量 +# 读取 PANEL_TINYAUTH_PROVIDER_ID 变量 PANEL_TINYAUTH_PROVIDER_ID=$(grep '^PANEL_TINYAUTH_PROVIDER_ID=' .env | cut -d '=' -f2- | tr -d '"') +# 去掉 PANEL_TINYAUTH_PROVIDER_ID 中存在的单引号或者双引号 +PANEL_TINYAUTH_PROVIDER_ID=$(echo "$PANEL_TINYAUTH_PROVIDER_ID" | tr -d '"' | tr -d "'") if [ -z "$PANEL_TINYAUTH_PROVIDER_ID" ]; then echo "❌ 未在 .env 中找到 PANEL_TINYAUTH_PROVIDER_ID" exit 1 fi -# 3️⃣ 生成大写版本 +# 生成大写版本 UPPER_ID=$(echo "$PANEL_TINYAUTH_PROVIDER_ID" | tr '[:lower:]' '[:upper:]') -# 4️⃣ 替换 .env 中的 PROVIDER_ID_PLACEHOLDER +# 替换 .env 中的 PROVIDER_ID_PLACEHOLDER echo "🧩 替换 .env 文件中的 PROVIDER_ID_PLACEHOLDER → $PANEL_TINYAUTH_PROVIDER_ID" sed -i "s/PROVIDER_ID_PLACEHOLDER/${PANEL_TINYAUTH_PROVIDER_ID}/g" .env -# 5️⃣ 替换 docker-compose.yml 中的 PROVIDERS_PLACEHOLDER +# 替换 docker-compose.yml 中的 PROVIDERS_PLACEHOLDER if [ ! -f "docker-compose.yml" ]; then echo "❌ 未找到 docker-compose.yml 文件" exit 1 diff --git a/tinyauth/4.0.0/scripts/upgrade.sh b/tinyauth/4.0.0/scripts/upgrade.sh index 91629b444..0b276ff44 100644 --- a/tinyauth/4.0.0/scripts/upgrade.sh +++ b/tinyauth/4.0.0/scripts/upgrade.sh @@ -1,24 +1,26 @@ #!/bin/bash set -e -# 1️⃣ 确保.env存在 +# 确保.env存在 if [ ! -f ".env" ]; then echo "❌ 未找到 .env 文件" exit 1 fi -# 2️⃣ 读取 PANEL_TINYAUTH_PROVIDER_ID 变量 +# 读取 PANEL_TINYAUTH_PROVIDER_ID 变量 PANEL_TINYAUTH_PROVIDER_ID=$(grep '^PANEL_TINYAUTH_PROVIDER_ID=' .env | cut -d '=' -f2- | tr -d '"') +# 去掉 PANEL_TINYAUTH_PROVIDER_ID 中存在的单引号或者双引号 +PANEL_TINYAUTH_PROVIDER_ID=$(echo "$PANEL_TINYAUTH_PROVIDER_ID" | tr -d '"' | tr -d "'") if [ -z "$PANEL_TINYAUTH_PROVIDER_ID" ]; then echo "❌ 未在 .env 中找到 PANEL_TINYAUTH_PROVIDER_ID" exit 1 fi -# 3️⃣ 生成大写版本 +# 生成大写版本 UPPER_ID=$(echo "$PANEL_TINYAUTH_PROVIDER_ID" | tr '[:lower:]' '[:upper:]') -# 5️⃣ 替换 docker-compose.yml 中的 PROVIDERS_PLACEHOLDER +# 替换 docker-compose.yml 中的 PROVIDERS_PLACEHOLDER if [ ! -f "docker-compose.yml" ]; then echo "❌ 未找到 docker-compose.yml 文件" exit 1 @@ -27,5 +29,5 @@ fi echo "🧩 替换 docker-compose.yml 文件中的 PROVIDERS_PLACEHOLDER → PROVIDERS_${UPPER_ID}" sed -i "s/PROVIDERS_PLACEHOLDER/PROVIDERS_${UPPER_ID}/g" docker-compose.yml -# 6️⃣ 提示完成 +# 提示完成 echo "✅ 替换完成!" From 3fc9b4d9f0b3d01816a032ddc694cea8a5f98b9a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 12 Oct 2025 16:37:12 +0000 Subject: [PATCH 156/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.3.8 --- anheyu-blog/1.3.7/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.3.7/docker-compose.yml b/anheyu-blog/1.3.7/docker-compose.yml index 8a066009e..e2b183dad 100644 --- a/anheyu-blog/1.3.7/docker-compose.yml +++ b/anheyu-blog/1.3.7/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.3.7 + image: anheyu/anheyu-backend:1.3.8 container_name: ${CONTAINER_NAME} restart: always labels: From bc0447c7e67e9958667719dab3466de97538f7da Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 12 Oct 2025 16:37:16 +0000 Subject: [PATCH 157/203] chore(deps): update anheyu/pro docker tag to v1.3.8 --- anheyu-blog-pro/1.3.6/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.3.6/docker-compose.yml b/anheyu-blog-pro/1.3.6/docker-compose.yml index df8603173..d1de51191 100644 --- a/anheyu-blog-pro/1.3.6/docker-compose.yml +++ b/anheyu-blog-pro/1.3.6/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.3.6 + image: anheyu/pro:1.3.8 container_name: ${CONTAINER_NAME} restart: always labels: From 0f70f787827006670ce2490a033b729061643d2a Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 12 Oct 2025 16:37:22 +0000 Subject: [PATCH 158/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3.7?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.8=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.3.7 => 1.3.8}/data.yml | 0 anheyu-blog/{1.3.7 => 1.3.8}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.3.7 => 1.3.8}/data.yml (100%) rename anheyu-blog/{1.3.7 => 1.3.8}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.3.7/data.yml b/anheyu-blog/1.3.8/data.yml similarity index 100% rename from anheyu-blog/1.3.7/data.yml rename to anheyu-blog/1.3.8/data.yml diff --git a/anheyu-blog/1.3.7/docker-compose.yml b/anheyu-blog/1.3.8/docker-compose.yml similarity index 100% rename from anheyu-blog/1.3.7/docker-compose.yml rename to anheyu-blog/1.3.8/docker-compose.yml From cc73c76419035cb518e44efc74344b934bc4e832 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 12 Oct 2025 16:37:27 +0000 Subject: [PATCH 159/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3?= =?UTF-8?q?.6=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.8=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.3.6 => 1.3.8}/data.yml | 0 anheyu-blog-pro/{1.3.6 => 1.3.8}/docker-compose.yml | 0 anheyu-blog-pro/{1.3.6 => 1.3.8}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.3.6 => 1.3.8}/data.yml (100%) rename anheyu-blog-pro/{1.3.6 => 1.3.8}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.3.6 => 1.3.8}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.3.6/data.yml b/anheyu-blog-pro/1.3.8/data.yml similarity index 100% rename from anheyu-blog-pro/1.3.6/data.yml rename to anheyu-blog-pro/1.3.8/data.yml diff --git a/anheyu-blog-pro/1.3.6/docker-compose.yml b/anheyu-blog-pro/1.3.8/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.3.6/docker-compose.yml rename to anheyu-blog-pro/1.3.8/docker-compose.yml diff --git a/anheyu-blog-pro/1.3.6/scripts/upgrade.sh b/anheyu-blog-pro/1.3.8/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.3.6/scripts/upgrade.sh rename to anheyu-blog-pro/1.3.8/scripts/upgrade.sh From dea2ec87168b90bd738cf52622a61ab3ae96e588 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 10:46:28 +0000 Subject: [PATCH 160/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.3.9 --- anheyu-blog/1.3.8/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.3.8/docker-compose.yml b/anheyu-blog/1.3.8/docker-compose.yml index e2b183dad..4f74e17d7 100644 --- a/anheyu-blog/1.3.8/docker-compose.yml +++ b/anheyu-blog/1.3.8/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.3.8 + image: anheyu/anheyu-backend:1.3.9 container_name: ${CONTAINER_NAME} restart: always labels: From 38164d2901d2cdd3bfc57d601211dc8e7353b348 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Mon, 13 Oct 2025 10:46:41 +0000 Subject: [PATCH 161/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3.8?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.3.9=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.3.8 => 1.3.9}/data.yml | 0 anheyu-blog/{1.3.8 => 1.3.9}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.3.8 => 1.3.9}/data.yml (100%) rename anheyu-blog/{1.3.8 => 1.3.9}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.3.8/data.yml b/anheyu-blog/1.3.9/data.yml similarity index 100% rename from anheyu-blog/1.3.8/data.yml rename to anheyu-blog/1.3.9/data.yml diff --git a/anheyu-blog/1.3.8/docker-compose.yml b/anheyu-blog/1.3.9/docker-compose.yml similarity index 100% rename from anheyu-blog/1.3.8/docker-compose.yml rename to anheyu-blog/1.3.9/docker-compose.yml From 30736b32d2d0d928ed03965d0a1f054f6208f397 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 12:37:04 +0000 Subject: [PATCH 162/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.4.0 --- anheyu-blog/1.3.9/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.3.9/docker-compose.yml b/anheyu-blog/1.3.9/docker-compose.yml index 4f74e17d7..a28ea7bd3 100644 --- a/anheyu-blog/1.3.9/docker-compose.yml +++ b/anheyu-blog/1.3.9/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.3.9 + image: anheyu/anheyu-backend:1.4.0 container_name: ${CONTAINER_NAME} restart: always labels: From 8c8374cc9736f550061df10ca273866263e6f8ef Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Mon, 13 Oct 2025 12:37:16 +0000 Subject: [PATCH 163/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3.9?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.0=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.3.9 => 1.4.0}/data.yml | 0 anheyu-blog/{1.3.9 => 1.4.0}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.3.9 => 1.4.0}/data.yml (100%) rename anheyu-blog/{1.3.9 => 1.4.0}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.3.9/data.yml b/anheyu-blog/1.4.0/data.yml similarity index 100% rename from anheyu-blog/1.3.9/data.yml rename to anheyu-blog/1.4.0/data.yml diff --git a/anheyu-blog/1.3.9/docker-compose.yml b/anheyu-blog/1.4.0/docker-compose.yml similarity index 100% rename from anheyu-blog/1.3.9/docker-compose.yml rename to anheyu-blog/1.4.0/docker-compose.yml From 994f191fed09b2b26baacd0609003cebbe435781 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 05:33:58 +0000 Subject: [PATCH 164/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.4.1 --- anheyu-blog/1.4.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.4.0/docker-compose.yml b/anheyu-blog/1.4.0/docker-compose.yml index a28ea7bd3..fa6df4627 100644 --- a/anheyu-blog/1.4.0/docker-compose.yml +++ b/anheyu-blog/1.4.0/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.4.0 + image: anheyu/anheyu-backend:1.4.1 container_name: ${CONTAINER_NAME} restart: always labels: From 92411dc6453221a0cdaabefc745c83e957e88459 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 14 Oct 2025 05:34:09 +0000 Subject: [PATCH 165/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4.0?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.1=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.4.0 => 1.4.1}/data.yml | 0 anheyu-blog/{1.4.0 => 1.4.1}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.4.0 => 1.4.1}/data.yml (100%) rename anheyu-blog/{1.4.0 => 1.4.1}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.4.0/data.yml b/anheyu-blog/1.4.1/data.yml similarity index 100% rename from anheyu-blog/1.4.0/data.yml rename to anheyu-blog/1.4.1/data.yml diff --git a/anheyu-blog/1.4.0/docker-compose.yml b/anheyu-blog/1.4.1/docker-compose.yml similarity index 100% rename from anheyu-blog/1.4.0/docker-compose.yml rename to anheyu-blog/1.4.1/docker-compose.yml From d9ff319a8ada3d18e754ee8599d26c0095107069 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 11:00:40 +0000 Subject: [PATCH 166/203] chore(deps): update anheyu/pro docker tag to v1.4.1 --- anheyu-blog-pro/1.3.8/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.3.8/docker-compose.yml b/anheyu-blog-pro/1.3.8/docker-compose.yml index d1de51191..7f17f53a3 100644 --- a/anheyu-blog-pro/1.3.8/docker-compose.yml +++ b/anheyu-blog-pro/1.3.8/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.3.8 + image: anheyu/pro:1.4.1 container_name: ${CONTAINER_NAME} restart: always labels: From c7fd3e5dfc962d3ecceb2438f6b6c851a8bbc1e6 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 14 Oct 2025 11:00:50 +0000 Subject: [PATCH 167/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.3?= =?UTF-8?q?.8=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.1=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.3.8 => 1.4.1}/data.yml | 0 anheyu-blog-pro/{1.3.8 => 1.4.1}/docker-compose.yml | 0 anheyu-blog-pro/{1.3.8 => 1.4.1}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.3.8 => 1.4.1}/data.yml (100%) rename anheyu-blog-pro/{1.3.8 => 1.4.1}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.3.8 => 1.4.1}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.3.8/data.yml b/anheyu-blog-pro/1.4.1/data.yml similarity index 100% rename from anheyu-blog-pro/1.3.8/data.yml rename to anheyu-blog-pro/1.4.1/data.yml diff --git a/anheyu-blog-pro/1.3.8/docker-compose.yml b/anheyu-blog-pro/1.4.1/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.3.8/docker-compose.yml rename to anheyu-blog-pro/1.4.1/docker-compose.yml diff --git a/anheyu-blog-pro/1.3.8/scripts/upgrade.sh b/anheyu-blog-pro/1.4.1/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.3.8/scripts/upgrade.sh rename to anheyu-blog-pro/1.4.1/scripts/upgrade.sh From e745c200623fd868db7516f045a3c84971227753 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 10:03:22 +0000 Subject: [PATCH 168/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.4.2 --- anheyu-blog/1.4.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.4.1/docker-compose.yml b/anheyu-blog/1.4.1/docker-compose.yml index fa6df4627..98a1bcde9 100644 --- a/anheyu-blog/1.4.1/docker-compose.yml +++ b/anheyu-blog/1.4.1/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.4.1 + image: anheyu/anheyu-backend:1.4.2 container_name: ${CONTAINER_NAME} restart: always labels: From c0ddfd645dc4dc793260c3efb5a1f54cf8762212 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 10:03:26 +0000 Subject: [PATCH 169/203] chore(deps): update anheyu/pro docker tag to v1.4.2 --- anheyu-blog-pro/1.4.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.4.1/docker-compose.yml b/anheyu-blog-pro/1.4.1/docker-compose.yml index 7f17f53a3..3041e8870 100644 --- a/anheyu-blog-pro/1.4.1/docker-compose.yml +++ b/anheyu-blog-pro/1.4.1/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.4.1 + image: anheyu/pro:1.4.2 container_name: ${CONTAINER_NAME} restart: always labels: From 01eee8682878665eca31ae40732abb5f072dd273 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 15 Oct 2025 10:03:35 +0000 Subject: [PATCH 170/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4.1?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.2=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.4.1 => 1.4.2}/data.yml | 0 anheyu-blog/{1.4.1 => 1.4.2}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.4.1 => 1.4.2}/data.yml (100%) rename anheyu-blog/{1.4.1 => 1.4.2}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.4.1/data.yml b/anheyu-blog/1.4.2/data.yml similarity index 100% rename from anheyu-blog/1.4.1/data.yml rename to anheyu-blog/1.4.2/data.yml diff --git a/anheyu-blog/1.4.1/docker-compose.yml b/anheyu-blog/1.4.2/docker-compose.yml similarity index 100% rename from anheyu-blog/1.4.1/docker-compose.yml rename to anheyu-blog/1.4.2/docker-compose.yml From c75a0591abbcdd7f5d6b2c63f90955ec11549080 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 15 Oct 2025 10:03:40 +0000 Subject: [PATCH 171/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4?= =?UTF-8?q?.1=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.2=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.4.1 => 1.4.2}/data.yml | 0 anheyu-blog-pro/{1.4.1 => 1.4.2}/docker-compose.yml | 0 anheyu-blog-pro/{1.4.1 => 1.4.2}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.4.1 => 1.4.2}/data.yml (100%) rename anheyu-blog-pro/{1.4.1 => 1.4.2}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.4.1 => 1.4.2}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.4.1/data.yml b/anheyu-blog-pro/1.4.2/data.yml similarity index 100% rename from anheyu-blog-pro/1.4.1/data.yml rename to anheyu-blog-pro/1.4.2/data.yml diff --git a/anheyu-blog-pro/1.4.1/docker-compose.yml b/anheyu-blog-pro/1.4.2/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.4.1/docker-compose.yml rename to anheyu-blog-pro/1.4.2/docker-compose.yml diff --git a/anheyu-blog-pro/1.4.1/scripts/upgrade.sh b/anheyu-blog-pro/1.4.2/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.4.1/scripts/upgrade.sh rename to anheyu-blog-pro/1.4.2/scripts/upgrade.sh From 92e3175ce0daf0d7569215c8266a96bed5976c62 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 14:50:06 +0000 Subject: [PATCH 172/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.4.3 --- anheyu-blog/1.4.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.4.2/docker-compose.yml b/anheyu-blog/1.4.2/docker-compose.yml index 98a1bcde9..e5f0c097c 100644 --- a/anheyu-blog/1.4.2/docker-compose.yml +++ b/anheyu-blog/1.4.2/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.4.2 + image: anheyu/anheyu-backend:1.4.3 container_name: ${CONTAINER_NAME} restart: always labels: From 4abf4289ec24511e9dcfaff1464717f9e24ccea1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 14:50:11 +0000 Subject: [PATCH 173/203] chore(deps): update anheyu/pro docker tag to v1.4.3 --- anheyu-blog-pro/1.4.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.4.2/docker-compose.yml b/anheyu-blog-pro/1.4.2/docker-compose.yml index 3041e8870..3fcda3e85 100644 --- a/anheyu-blog-pro/1.4.2/docker-compose.yml +++ b/anheyu-blog-pro/1.4.2/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.4.2 + image: anheyu/pro:1.4.3 container_name: ${CONTAINER_NAME} restart: always labels: From 954ecaf09c36959bc89014e378412342d465ffb5 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 15 Oct 2025 14:50:19 +0000 Subject: [PATCH 174/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4.2?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.3=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.4.2 => 1.4.3}/data.yml | 0 anheyu-blog/{1.4.2 => 1.4.3}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.4.2 => 1.4.3}/data.yml (100%) rename anheyu-blog/{1.4.2 => 1.4.3}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.4.2/data.yml b/anheyu-blog/1.4.3/data.yml similarity index 100% rename from anheyu-blog/1.4.2/data.yml rename to anheyu-blog/1.4.3/data.yml diff --git a/anheyu-blog/1.4.2/docker-compose.yml b/anheyu-blog/1.4.3/docker-compose.yml similarity index 100% rename from anheyu-blog/1.4.2/docker-compose.yml rename to anheyu-blog/1.4.3/docker-compose.yml From 9410fd0dbc5072abef9ff16518c3ffba0ad69f80 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 15 Oct 2025 14:50:23 +0000 Subject: [PATCH 175/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4?= =?UTF-8?q?.2=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.3=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.4.2 => 1.4.3}/data.yml | 0 anheyu-blog-pro/{1.4.2 => 1.4.3}/docker-compose.yml | 0 anheyu-blog-pro/{1.4.2 => 1.4.3}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.4.2 => 1.4.3}/data.yml (100%) rename anheyu-blog-pro/{1.4.2 => 1.4.3}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.4.2 => 1.4.3}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.4.2/data.yml b/anheyu-blog-pro/1.4.3/data.yml similarity index 100% rename from anheyu-blog-pro/1.4.2/data.yml rename to anheyu-blog-pro/1.4.3/data.yml diff --git a/anheyu-blog-pro/1.4.2/docker-compose.yml b/anheyu-blog-pro/1.4.3/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.4.2/docker-compose.yml rename to anheyu-blog-pro/1.4.3/docker-compose.yml diff --git a/anheyu-blog-pro/1.4.2/scripts/upgrade.sh b/anheyu-blog-pro/1.4.3/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.4.2/scripts/upgrade.sh rename to anheyu-blog-pro/1.4.3/scripts/upgrade.sh From 4a6a7da48d8f76749d7681b1703da6e4b87e2fc8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 18:43:36 +0000 Subject: [PATCH 176/203] chore(deps): update ghcr.io/steveiliop56/tinyauth docker tag to v4.0.1 --- tinyauth/4.0.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tinyauth/4.0.0/docker-compose.yml b/tinyauth/4.0.0/docker-compose.yml index 1ff0e8ed9..37ed4200e 100644 --- a/tinyauth/4.0.0/docker-compose.yml +++ b/tinyauth/4.0.0/docker-compose.yml @@ -1,6 +1,6 @@ services: tinyauth: - image: ghcr.io/steveiliop56/tinyauth:v4.0.0 + image: ghcr.io/steveiliop56/tinyauth:v4.0.1 container_name: ${CONTAINER_NAME} environment: # ---- 通用配置 ---- From 830256ad09192169a479fb03959149908e558e4a Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 15 Oct 2025 18:43:49 +0000 Subject: [PATCH 177/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20tinyauth=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=204.0.0=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=204.0.1=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tinyauth/{4.0.0 => 4.0.1}/data.yml | 0 tinyauth/{4.0.0 => 4.0.1}/docker-compose.yml | 0 tinyauth/{4.0.0 => 4.0.1}/scripts/init.sh | 0 tinyauth/{4.0.0 => 4.0.1}/scripts/upgrade.sh | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename tinyauth/{4.0.0 => 4.0.1}/data.yml (100%) rename tinyauth/{4.0.0 => 4.0.1}/docker-compose.yml (100%) rename tinyauth/{4.0.0 => 4.0.1}/scripts/init.sh (100%) rename tinyauth/{4.0.0 => 4.0.1}/scripts/upgrade.sh (100%) diff --git a/tinyauth/4.0.0/data.yml b/tinyauth/4.0.1/data.yml similarity index 100% rename from tinyauth/4.0.0/data.yml rename to tinyauth/4.0.1/data.yml diff --git a/tinyauth/4.0.0/docker-compose.yml b/tinyauth/4.0.1/docker-compose.yml similarity index 100% rename from tinyauth/4.0.0/docker-compose.yml rename to tinyauth/4.0.1/docker-compose.yml diff --git a/tinyauth/4.0.0/scripts/init.sh b/tinyauth/4.0.1/scripts/init.sh similarity index 100% rename from tinyauth/4.0.0/scripts/init.sh rename to tinyauth/4.0.1/scripts/init.sh diff --git a/tinyauth/4.0.0/scripts/upgrade.sh b/tinyauth/4.0.1/scripts/upgrade.sh similarity index 100% rename from tinyauth/4.0.0/scripts/upgrade.sh rename to tinyauth/4.0.1/scripts/upgrade.sh From 532f5b4f3758363a1f969fe3817d1a01bb5c07b9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 09:08:23 +0000 Subject: [PATCH 178/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.4.4 --- anheyu-blog/1.4.3/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.4.3/docker-compose.yml b/anheyu-blog/1.4.3/docker-compose.yml index e5f0c097c..dddbae2d0 100644 --- a/anheyu-blog/1.4.3/docker-compose.yml +++ b/anheyu-blog/1.4.3/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.4.3 + image: anheyu/anheyu-backend:1.4.4 container_name: ${CONTAINER_NAME} restart: always labels: From aecc389279fb94894b128eeeccdc26448f00aab4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 09:08:28 +0000 Subject: [PATCH 179/203] chore(deps): update anheyu/pro docker tag to v1.4.4 --- anheyu-blog-pro/1.4.3/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.4.3/docker-compose.yml b/anheyu-blog-pro/1.4.3/docker-compose.yml index 3fcda3e85..587946a00 100644 --- a/anheyu-blog-pro/1.4.3/docker-compose.yml +++ b/anheyu-blog-pro/1.4.3/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.4.3 + image: anheyu/pro:1.4.4 container_name: ${CONTAINER_NAME} restart: always labels: From daf806ffc01b8bb6507ee8c0557b15efc8669058 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 17 Oct 2025 09:08:36 +0000 Subject: [PATCH 180/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4.3?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.4=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.4.3 => 1.4.4}/data.yml | 0 anheyu-blog/{1.4.3 => 1.4.4}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.4.3 => 1.4.4}/data.yml (100%) rename anheyu-blog/{1.4.3 => 1.4.4}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.4.3/data.yml b/anheyu-blog/1.4.4/data.yml similarity index 100% rename from anheyu-blog/1.4.3/data.yml rename to anheyu-blog/1.4.4/data.yml diff --git a/anheyu-blog/1.4.3/docker-compose.yml b/anheyu-blog/1.4.4/docker-compose.yml similarity index 100% rename from anheyu-blog/1.4.3/docker-compose.yml rename to anheyu-blog/1.4.4/docker-compose.yml From 14118eae174bb647d1d595ea020a92b42c7332a5 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 17 Oct 2025 09:08:41 +0000 Subject: [PATCH 181/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4?= =?UTF-8?q?.3=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.4=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.4.3 => 1.4.4}/data.yml | 0 anheyu-blog-pro/{1.4.3 => 1.4.4}/docker-compose.yml | 0 anheyu-blog-pro/{1.4.3 => 1.4.4}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.4.3 => 1.4.4}/data.yml (100%) rename anheyu-blog-pro/{1.4.3 => 1.4.4}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.4.3 => 1.4.4}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.4.3/data.yml b/anheyu-blog-pro/1.4.4/data.yml similarity index 100% rename from anheyu-blog-pro/1.4.3/data.yml rename to anheyu-blog-pro/1.4.4/data.yml diff --git a/anheyu-blog-pro/1.4.3/docker-compose.yml b/anheyu-blog-pro/1.4.4/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.4.3/docker-compose.yml rename to anheyu-blog-pro/1.4.4/docker-compose.yml diff --git a/anheyu-blog-pro/1.4.3/scripts/upgrade.sh b/anheyu-blog-pro/1.4.4/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.4.3/scripts/upgrade.sh rename to anheyu-blog-pro/1.4.4/scripts/upgrade.sh From c5a7781f09e320c20333481adf9b5ca914faa1c2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 18 Oct 2025 14:02:04 +0000 Subject: [PATCH 182/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.4.5 --- anheyu-blog/1.4.4/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.4.4/docker-compose.yml b/anheyu-blog/1.4.4/docker-compose.yml index dddbae2d0..e03dc563c 100644 --- a/anheyu-blog/1.4.4/docker-compose.yml +++ b/anheyu-blog/1.4.4/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.4.4 + image: anheyu/anheyu-backend:1.4.5 container_name: ${CONTAINER_NAME} restart: always labels: From f01329e29e8695283aa5c03f4c52ee2e7e773940 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 18 Oct 2025 14:02:08 +0000 Subject: [PATCH 183/203] chore(deps): update anheyu/pro docker tag to v1.4.5 --- anheyu-blog-pro/1.4.4/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.4.4/docker-compose.yml b/anheyu-blog-pro/1.4.4/docker-compose.yml index 587946a00..fd84a3b8f 100644 --- a/anheyu-blog-pro/1.4.4/docker-compose.yml +++ b/anheyu-blog-pro/1.4.4/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.4.4 + image: anheyu/pro:1.4.5 container_name: ${CONTAINER_NAME} restart: always labels: From b5bcc8c02aacdb0974c4808272179bcc9f2ae985 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 18 Oct 2025 14:02:15 +0000 Subject: [PATCH 184/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4.4?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.5=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.4.4 => 1.4.5}/data.yml | 0 anheyu-blog/{1.4.4 => 1.4.5}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.4.4 => 1.4.5}/data.yml (100%) rename anheyu-blog/{1.4.4 => 1.4.5}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.4.4/data.yml b/anheyu-blog/1.4.5/data.yml similarity index 100% rename from anheyu-blog/1.4.4/data.yml rename to anheyu-blog/1.4.5/data.yml diff --git a/anheyu-blog/1.4.4/docker-compose.yml b/anheyu-blog/1.4.5/docker-compose.yml similarity index 100% rename from anheyu-blog/1.4.4/docker-compose.yml rename to anheyu-blog/1.4.5/docker-compose.yml From 7d94a5152a32975af137838851faf4818c44f731 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 18 Oct 2025 14:02:18 +0000 Subject: [PATCH 185/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4?= =?UTF-8?q?.4=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.5=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.4.4 => 1.4.5}/data.yml | 0 anheyu-blog-pro/{1.4.4 => 1.4.5}/docker-compose.yml | 0 anheyu-blog-pro/{1.4.4 => 1.4.5}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.4.4 => 1.4.5}/data.yml (100%) rename anheyu-blog-pro/{1.4.4 => 1.4.5}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.4.4 => 1.4.5}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.4.4/data.yml b/anheyu-blog-pro/1.4.5/data.yml similarity index 100% rename from anheyu-blog-pro/1.4.4/data.yml rename to anheyu-blog-pro/1.4.5/data.yml diff --git a/anheyu-blog-pro/1.4.4/docker-compose.yml b/anheyu-blog-pro/1.4.5/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.4.4/docker-compose.yml rename to anheyu-blog-pro/1.4.5/docker-compose.yml diff --git a/anheyu-blog-pro/1.4.4/scripts/upgrade.sh b/anheyu-blog-pro/1.4.5/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.4.4/scripts/upgrade.sh rename to anheyu-blog-pro/1.4.5/scripts/upgrade.sh From 9b1833fb9c44cdcee72fa269e0a2deeb874c5df4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 19 Oct 2025 15:37:18 +0000 Subject: [PATCH 186/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.4.6 --- anheyu-blog/1.4.5/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.4.5/docker-compose.yml b/anheyu-blog/1.4.5/docker-compose.yml index e03dc563c..1dd71b74f 100644 --- a/anheyu-blog/1.4.5/docker-compose.yml +++ b/anheyu-blog/1.4.5/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.4.5 + image: anheyu/anheyu-backend:1.4.6 container_name: ${CONTAINER_NAME} restart: always labels: From 237df15ce6dfe163dcd1bed092f63f4fef72cd09 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 19 Oct 2025 15:37:21 +0000 Subject: [PATCH 187/203] chore(deps): update anheyu/pro docker tag to v1.4.6 --- anheyu-blog-pro/1.4.5/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.4.5/docker-compose.yml b/anheyu-blog-pro/1.4.5/docker-compose.yml index fd84a3b8f..a3d0d9374 100644 --- a/anheyu-blog-pro/1.4.5/docker-compose.yml +++ b/anheyu-blog-pro/1.4.5/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.4.5 + image: anheyu/pro:1.4.6 container_name: ${CONTAINER_NAME} restart: always labels: From 06d10a48e58d8a3f66c71fdc4560208ecd78f8bb Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 19 Oct 2025 15:37:29 +0000 Subject: [PATCH 188/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4.5?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.6=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.4.5 => 1.4.6}/data.yml | 0 anheyu-blog/{1.4.5 => 1.4.6}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.4.5 => 1.4.6}/data.yml (100%) rename anheyu-blog/{1.4.5 => 1.4.6}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.4.5/data.yml b/anheyu-blog/1.4.6/data.yml similarity index 100% rename from anheyu-blog/1.4.5/data.yml rename to anheyu-blog/1.4.6/data.yml diff --git a/anheyu-blog/1.4.5/docker-compose.yml b/anheyu-blog/1.4.6/docker-compose.yml similarity index 100% rename from anheyu-blog/1.4.5/docker-compose.yml rename to anheyu-blog/1.4.6/docker-compose.yml From dbcde5eb3721843a3a862f7fa5edb566f17a571e Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 19 Oct 2025 15:37:31 +0000 Subject: [PATCH 189/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4?= =?UTF-8?q?.5=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.6=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.4.5 => 1.4.6}/data.yml | 0 anheyu-blog-pro/{1.4.5 => 1.4.6}/docker-compose.yml | 0 anheyu-blog-pro/{1.4.5 => 1.4.6}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.4.5 => 1.4.6}/data.yml (100%) rename anheyu-blog-pro/{1.4.5 => 1.4.6}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.4.5 => 1.4.6}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.4.5/data.yml b/anheyu-blog-pro/1.4.6/data.yml similarity index 100% rename from anheyu-blog-pro/1.4.5/data.yml rename to anheyu-blog-pro/1.4.6/data.yml diff --git a/anheyu-blog-pro/1.4.5/docker-compose.yml b/anheyu-blog-pro/1.4.6/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.4.5/docker-compose.yml rename to anheyu-blog-pro/1.4.6/docker-compose.yml diff --git a/anheyu-blog-pro/1.4.5/scripts/upgrade.sh b/anheyu-blog-pro/1.4.6/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.4.5/scripts/upgrade.sh rename to anheyu-blog-pro/1.4.6/scripts/upgrade.sh From 6b2c871f4834ddd8be3d5b9e70ea901a0db01af6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 20 Oct 2025 14:53:32 +0000 Subject: [PATCH 190/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.4.7 --- anheyu-blog/1.4.6/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.4.6/docker-compose.yml b/anheyu-blog/1.4.6/docker-compose.yml index 1dd71b74f..318933694 100644 --- a/anheyu-blog/1.4.6/docker-compose.yml +++ b/anheyu-blog/1.4.6/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.4.6 + image: anheyu/anheyu-backend:1.4.7 container_name: ${CONTAINER_NAME} restart: always labels: From cc9faa9b2ca71782824ecbc191ec8bcd69427b22 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 20 Oct 2025 14:53:37 +0000 Subject: [PATCH 191/203] chore(deps): update anheyu/pro docker tag to v1.4.7 --- anheyu-blog-pro/1.4.6/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.4.6/docker-compose.yml b/anheyu-blog-pro/1.4.6/docker-compose.yml index a3d0d9374..439bc1579 100644 --- a/anheyu-blog-pro/1.4.6/docker-compose.yml +++ b/anheyu-blog-pro/1.4.6/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.4.6 + image: anheyu/pro:1.4.7 container_name: ${CONTAINER_NAME} restart: always labels: From 4ba6501703220ec0ad3f10d02aaf91fc50d640e5 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Mon, 20 Oct 2025 14:53:43 +0000 Subject: [PATCH 192/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4.6?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.7=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.4.6 => 1.4.7}/data.yml | 0 anheyu-blog/{1.4.6 => 1.4.7}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.4.6 => 1.4.7}/data.yml (100%) rename anheyu-blog/{1.4.6 => 1.4.7}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.4.6/data.yml b/anheyu-blog/1.4.7/data.yml similarity index 100% rename from anheyu-blog/1.4.6/data.yml rename to anheyu-blog/1.4.7/data.yml diff --git a/anheyu-blog/1.4.6/docker-compose.yml b/anheyu-blog/1.4.7/docker-compose.yml similarity index 100% rename from anheyu-blog/1.4.6/docker-compose.yml rename to anheyu-blog/1.4.7/docker-compose.yml From 80412cb06a89ef44d9f9411f51a37824825ca5ac Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Mon, 20 Oct 2025 14:53:51 +0000 Subject: [PATCH 193/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4?= =?UTF-8?q?.6=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.7=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.4.6 => 1.4.7}/data.yml | 0 anheyu-blog-pro/{1.4.6 => 1.4.7}/docker-compose.yml | 0 anheyu-blog-pro/{1.4.6 => 1.4.7}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.4.6 => 1.4.7}/data.yml (100%) rename anheyu-blog-pro/{1.4.6 => 1.4.7}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.4.6 => 1.4.7}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.4.6/data.yml b/anheyu-blog-pro/1.4.7/data.yml similarity index 100% rename from anheyu-blog-pro/1.4.6/data.yml rename to anheyu-blog-pro/1.4.7/data.yml diff --git a/anheyu-blog-pro/1.4.6/docker-compose.yml b/anheyu-blog-pro/1.4.7/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.4.6/docker-compose.yml rename to anheyu-blog-pro/1.4.7/docker-compose.yml diff --git a/anheyu-blog-pro/1.4.6/scripts/upgrade.sh b/anheyu-blog-pro/1.4.7/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.4.6/scripts/upgrade.sh rename to anheyu-blog-pro/1.4.7/scripts/upgrade.sh From 48f430bb1db26cc678b448f5a4d98978d38009c5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 21 Oct 2025 16:46:13 +0000 Subject: [PATCH 194/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.4.8 --- anheyu-blog/1.4.7/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.4.7/docker-compose.yml b/anheyu-blog/1.4.7/docker-compose.yml index 318933694..ad87e291c 100644 --- a/anheyu-blog/1.4.7/docker-compose.yml +++ b/anheyu-blog/1.4.7/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.4.7 + image: anheyu/anheyu-backend:1.4.8 container_name: ${CONTAINER_NAME} restart: always labels: From 88b6ee162f127716e904bc27531cceef7f8aa571 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 21 Oct 2025 16:46:20 +0000 Subject: [PATCH 195/203] chore(deps): update anheyu/pro docker tag to v1.4.8 --- anheyu-blog-pro/1.4.7/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.4.7/docker-compose.yml b/anheyu-blog-pro/1.4.7/docker-compose.yml index 439bc1579..ffec93d93 100644 --- a/anheyu-blog-pro/1.4.7/docker-compose.yml +++ b/anheyu-blog-pro/1.4.7/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.4.7 + image: anheyu/pro:1.4.8 container_name: ${CONTAINER_NAME} restart: always labels: From cc1c9a5cb21aae00c03d3131f21674e79f025d6d Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 21 Oct 2025 16:46:30 +0000 Subject: [PATCH 196/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4.7?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.8=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.4.7 => 1.4.8}/data.yml | 0 anheyu-blog/{1.4.7 => 1.4.8}/docker-compose.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.4.7 => 1.4.8}/data.yml (100%) rename anheyu-blog/{1.4.7 => 1.4.8}/docker-compose.yml (100%) diff --git a/anheyu-blog/1.4.7/data.yml b/anheyu-blog/1.4.8/data.yml similarity index 100% rename from anheyu-blog/1.4.7/data.yml rename to anheyu-blog/1.4.8/data.yml diff --git a/anheyu-blog/1.4.7/docker-compose.yml b/anheyu-blog/1.4.8/docker-compose.yml similarity index 100% rename from anheyu-blog/1.4.7/docker-compose.yml rename to anheyu-blog/1.4.8/docker-compose.yml From 2ff32b18e7c6dee68a9a340cbf7cbbebd592e509 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Tue, 21 Oct 2025 16:46:42 +0000 Subject: [PATCH 197/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4?= =?UTF-8?q?.7=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.4.8=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.4.7 => 1.4.8}/data.yml | 0 anheyu-blog-pro/{1.4.7 => 1.4.8}/docker-compose.yml | 0 anheyu-blog-pro/{1.4.7 => 1.4.8}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.4.7 => 1.4.8}/data.yml (100%) rename anheyu-blog-pro/{1.4.7 => 1.4.8}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.4.7 => 1.4.8}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.4.7/data.yml b/anheyu-blog-pro/1.4.8/data.yml similarity index 100% rename from anheyu-blog-pro/1.4.7/data.yml rename to anheyu-blog-pro/1.4.8/data.yml diff --git a/anheyu-blog-pro/1.4.7/docker-compose.yml b/anheyu-blog-pro/1.4.8/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.4.7/docker-compose.yml rename to anheyu-blog-pro/1.4.8/docker-compose.yml diff --git a/anheyu-blog-pro/1.4.7/scripts/upgrade.sh b/anheyu-blog-pro/1.4.8/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.4.7/scripts/upgrade.sh rename to anheyu-blog-pro/1.4.8/scripts/upgrade.sh From 3dd9511723c0616ec7b5498c09f5c5c307b6afc5 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Wed, 22 Oct 2025 21:37:37 +0800 Subject: [PATCH 198/203] =?UTF-8?q?=F0=9F=A4=A3=E5=AE=8C=E5=96=84ech0?= =?UTF-8?q?=E7=9A=84=E5=A4=87=E4=BB=BD=E7=9B=AE=E5=BD=95=EF=BC=8C=E9=98=B2?= =?UTF-8?q?=E6=AD=A2=E5=A4=87=E4=BB=BD=E7=9B=AE=E5=BD=95=E4=B8=8D=E6=8C=82?= =?UTF-8?q?=E8=BD=BD=E5=AF=BC=E8=87=B4=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/1.4.8/docker-compose.yml | 5 +++- anheyu-blog/1.4.8/scripts/upgrade.sh | 37 ++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 anheyu-blog/1.4.8/scripts/upgrade.sh diff --git a/anheyu-blog/1.4.8/docker-compose.yml b/anheyu-blog/1.4.8/docker-compose.yml index ad87e291c..11db07554 100644 --- a/anheyu-blog/1.4.8/docker-compose.yml +++ b/anheyu-blog/1.4.8/docker-compose.yml @@ -21,7 +21,10 @@ services: networks: - 1panel-network volumes: - - ./data:/anheyu/data + - ./data/data:/anheyu/data + - ./data/themes:/anheyu/themes + - ./data/static:/anheyu/static + - ./data/backup:/anheyu/backup networks: 1panel-network: diff --git a/anheyu-blog/1.4.8/scripts/upgrade.sh b/anheyu-blog/1.4.8/scripts/upgrade.sh new file mode 100644 index 000000000..5bf6dd2c4 --- /dev/null +++ b/anheyu-blog/1.4.8/scripts/upgrade.sh @@ -0,0 +1,37 @@ +#!/bin/bash +set -e + +BASE_DIR="./data" +TEMP_DIR="./data_temp" +CONF_FILE_OLD="$BASE_DIR/conf.ini" +CONF_FILE_NEW="$BASE_DIR/data/conf.ini" + +# 1. 如果 data_temp 存在,直接删除 +if [ -d "$TEMP_DIR" ]; then + echo "发现 $TEMP_DIR,正在删除..." + rm -rf "$TEMP_DIR" +fi + +# 2. 判断当前结构 +if [ -f "$CONF_FILE_NEW" ]; then + echo "检测到新结构 ($CONF_FILE_NEW 存在),无需迁移。" + exit 0 +elif [ -f "$CONF_FILE_OLD" ]; then + echo "检测到旧结构 ($CONF_FILE_OLD 存在),开始迁移..." + + # 2.1 将 data 重命名为 data_temp + mv "$BASE_DIR" "$TEMP_DIR" + + # 2.2 创建新的目录结构 + mkdir -p "$BASE_DIR/data" "$BASE_DIR/themes" "$BASE_DIR/static" "$BASE_DIR/backup" + + # 2.3 把旧数据移到新的 data 目录 + cp -a "$TEMP_DIR"/* "$BASE_DIR/data/" 2>/dev/null || true + cp -a "$TEMP_DIR"/.[!.]* "$BASE_DIR/data/" 2>/dev/null || true + + echo "迁移完成!旧数据已移入 $BASE_DIR/data/ 下。" + echo "请检查无误后再次运行脚本,以彻底删除 $TEMP_DIR" +else + echo "未找到 $CONF_FILE_OLD 或 $CONF_FILE_NEW,无法确认目录结构,退出。" + exit 1 +fi From e8d0f83244ee205bce241113ba15cd685f052304 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 25 Oct 2025 13:45:37 +0000 Subject: [PATCH 199/203] chore(deps): update anheyu/anheyu-backend docker tag to v1.5.2 --- anheyu-blog/1.4.8/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog/1.4.8/docker-compose.yml b/anheyu-blog/1.4.8/docker-compose.yml index 11db07554..d861c6949 100644 --- a/anheyu-blog/1.4.8/docker-compose.yml +++ b/anheyu-blog/1.4.8/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/anheyu-backend:1.4.8 + image: anheyu/anheyu-backend:1.5.2 container_name: ${CONTAINER_NAME} restart: always labels: From e93a05eff5926fa749ed848a9b1d27d62923ea57 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 25 Oct 2025 13:45:54 +0000 Subject: [PATCH 200/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4.8?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.5.2=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog/{1.4.8 => 1.5.2}/data.yml | 0 anheyu-blog/{1.4.8 => 1.5.2}/docker-compose.yml | 0 anheyu-blog/{1.4.8 => 1.5.2}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog/{1.4.8 => 1.5.2}/data.yml (100%) rename anheyu-blog/{1.4.8 => 1.5.2}/docker-compose.yml (100%) rename anheyu-blog/{1.4.8 => 1.5.2}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog/1.4.8/data.yml b/anheyu-blog/1.5.2/data.yml similarity index 100% rename from anheyu-blog/1.4.8/data.yml rename to anheyu-blog/1.5.2/data.yml diff --git a/anheyu-blog/1.4.8/docker-compose.yml b/anheyu-blog/1.5.2/docker-compose.yml similarity index 100% rename from anheyu-blog/1.4.8/docker-compose.yml rename to anheyu-blog/1.5.2/docker-compose.yml diff --git a/anheyu-blog/1.4.8/scripts/upgrade.sh b/anheyu-blog/1.5.2/scripts/upgrade.sh similarity index 100% rename from anheyu-blog/1.4.8/scripts/upgrade.sh rename to anheyu-blog/1.5.2/scripts/upgrade.sh From 405a7a77b58326f2eb81a7f8c5e741677361b72f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 25 Oct 2025 16:36:13 +0000 Subject: [PATCH 201/203] chore(deps): update anheyu/pro docker tag to v1.5.2 --- anheyu-blog-pro/1.4.8/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anheyu-blog-pro/1.4.8/docker-compose.yml b/anheyu-blog-pro/1.4.8/docker-compose.yml index ffec93d93..56f7e719d 100644 --- a/anheyu-blog-pro/1.4.8/docker-compose.yml +++ b/anheyu-blog-pro/1.4.8/docker-compose.yml @@ -1,7 +1,7 @@ services: anheyu: # build: . - image: anheyu/pro:1.4.8 + image: anheyu/pro:1.5.2 container_name: ${CONTAINER_NAME} restart: always labels: From 925dc203f1425cc337ab7bfa8af21c68ee705662 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 25 Oct 2025 16:36:28 +0000 Subject: [PATCH 202/203] =?UTF-8?q?=F0=9F=93=88=E5=B0=86=E5=BA=94=E7=94=A8?= =?UTF-8?q?=20anheyu-blog-pro=20=E7=9A=84=E7=89=88=E6=9C=AC=E4=BB=8E=201.4?= =?UTF-8?q?.8=20=E5=8D=87=E7=BA=A7=E5=88=B0=201.5.2=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anheyu-blog-pro/{1.4.8 => 1.5.2}/data.yml | 0 anheyu-blog-pro/{1.4.8 => 1.5.2}/docker-compose.yml | 0 anheyu-blog-pro/{1.4.8 => 1.5.2}/scripts/upgrade.sh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename anheyu-blog-pro/{1.4.8 => 1.5.2}/data.yml (100%) rename anheyu-blog-pro/{1.4.8 => 1.5.2}/docker-compose.yml (100%) rename anheyu-blog-pro/{1.4.8 => 1.5.2}/scripts/upgrade.sh (100%) diff --git a/anheyu-blog-pro/1.4.8/data.yml b/anheyu-blog-pro/1.5.2/data.yml similarity index 100% rename from anheyu-blog-pro/1.4.8/data.yml rename to anheyu-blog-pro/1.5.2/data.yml diff --git a/anheyu-blog-pro/1.4.8/docker-compose.yml b/anheyu-blog-pro/1.5.2/docker-compose.yml similarity index 100% rename from anheyu-blog-pro/1.4.8/docker-compose.yml rename to anheyu-blog-pro/1.5.2/docker-compose.yml diff --git a/anheyu-blog-pro/1.4.8/scripts/upgrade.sh b/anheyu-blog-pro/1.5.2/scripts/upgrade.sh similarity index 100% rename from anheyu-blog-pro/1.4.8/scripts/upgrade.sh rename to anheyu-blog-pro/1.5.2/scripts/upgrade.sh From c0bf6dc650b2c9ae800b7774a0ff4ca7ed90e863 Mon Sep 17 00:00:00 2001 From: pooneyy <85266337+pooneyy@users.noreply.github.com> Date: Sun, 26 Oct 2025 18:29:08 +0800 Subject: [PATCH 203/203] =?UTF-8?q?=F0=9F=93=9D=20docs(apps):=20update=20d?= =?UTF-8?q?ocumentation=20links=20and=20configuration=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - update documentation links for anheyu-blog-pro, anheyu-blog, bestsub, and termix - remove commented build lines from docker-compose.yml files for anheyu-blog-pro and anheyu-blog - add arm/v7 architecture support for bestsub application - remove arm64 architecture support from dnsmgr application - add ppc64le, arm/v7, and s390x architecture support for oauth2-proxy application - removing unnecessary whitespace --- anheyu-blog-pro/1.5.2/docker-compose.yml | 1 - anheyu-blog-pro/data.yml | 2 +- anheyu-blog/1.5.2/docker-compose.yml | 1 - anheyu-blog/data.yml | 2 +- bestsub/1.6.3/docker-compose.yml | 3 --- bestsub/data.yml | 3 ++- dnsmgr/data.yml | 1 - oauth2-proxy/data.yml | 3 +++ termix/data.yml | 2 +- 9 files changed, 8 insertions(+), 10 deletions(-) diff --git a/anheyu-blog-pro/1.5.2/docker-compose.yml b/anheyu-blog-pro/1.5.2/docker-compose.yml index 56f7e719d..b83dd12cf 100644 --- a/anheyu-blog-pro/1.5.2/docker-compose.yml +++ b/anheyu-blog-pro/1.5.2/docker-compose.yml @@ -1,6 +1,5 @@ services: anheyu: - # build: . image: anheyu/pro:1.5.2 container_name: ${CONTAINER_NAME} restart: always diff --git a/anheyu-blog-pro/data.yml b/anheyu-blog-pro/data.yml index fe296ff4d..a86588830 100644 --- a/anheyu-blog-pro/data.yml +++ b/anheyu-blog-pro/data.yml @@ -15,7 +15,7 @@ additionalProperties: limit: 0 website: https://anheyu.com/ github: https://github.com/anzhiyu-c/anheyu-app - document: https://anheyu.com/posts/Z3MC + document: https://dev.anheyu.com/docs/getting-started/ description: en: A modern blog and content management system built with Go backend and Vue3 frontend. zh: 一个基于 Go 语言后端与 Vue3 前端构建的现代化博客与内容管理系统。 diff --git a/anheyu-blog/1.5.2/docker-compose.yml b/anheyu-blog/1.5.2/docker-compose.yml index d861c6949..c3ee4d7bf 100644 --- a/anheyu-blog/1.5.2/docker-compose.yml +++ b/anheyu-blog/1.5.2/docker-compose.yml @@ -1,6 +1,5 @@ services: anheyu: - # build: . image: anheyu/anheyu-backend:1.5.2 container_name: ${CONTAINER_NAME} restart: always diff --git a/anheyu-blog/data.yml b/anheyu-blog/data.yml index cfbf5fff1..cbaa9dc49 100644 --- a/anheyu-blog/data.yml +++ b/anheyu-blog/data.yml @@ -15,7 +15,7 @@ additionalProperties: limit: 0 website: https://anheyu.com/ github: https://github.com/anzhiyu-c/anheyu-app - document: https://anheyu.com/posts/Z3MC + document: https://dev.anheyu.com/docs/getting-started/ description: en: A modern blog and content management system built with Go backend and Vue3 frontend. zh: 一个基于 Go 语言后端与 Vue3 前端构建的现代化博客与内容管理系统。 diff --git a/bestsub/1.6.3/docker-compose.yml b/bestsub/1.6.3/docker-compose.yml index a0ae2347b..4cf7401d9 100644 --- a/bestsub/1.6.3/docker-compose.yml +++ b/bestsub/1.6.3/docker-compose.yml @@ -3,15 +3,12 @@ services: image: bestrui/bestsub:v1.6.3 container_name: ${CONTAINER_NAME} restart: always - labels: createdBy: "Apps" ports: - ${PANEL_APP_PORT_HTTP}:8080 - volumes: - ./data:/app/data - networks: - 1panel-network diff --git a/bestsub/data.yml b/bestsub/data.yml index 91017a3bf..540712b6e 100644 --- a/bestsub/data.yml +++ b/bestsub/data.yml @@ -16,7 +16,7 @@ additionalProperties: recommend: 0 website: https://github.com/bestruirui/BestSub github: https://github.com/bestruirui/BestSub - document: https://github.com/bestruirui/BestSub#readme + document: https://github.com/bestruirui/BestSub description: en: ⚡ BestSub is a high-performance node detection and subscription conversion service built with Go. It provides a modern Web UI and complete API, supports multiple detection methods, subscription format conversions, persistent node pools, extensible modules, and flexible notification and storage options. zh: ⚡ BestSub 是一个高性能的节点检测与订阅转换服务,基于 Go 语言开发。它提供现代化的 Web 管理界面与完整的 API,支持多种检测方式、订阅格式转换、节点池持久化、模块化扩展,以及灵活的通知与存储方案。 @@ -29,3 +29,4 @@ additionalProperties: architectures: - amd64 - arm64 + - arm/v7 diff --git a/dnsmgr/data.yml b/dnsmgr/data.yml index cd688a8c5..fa4d05276 100644 --- a/dnsmgr/data.yml +++ b/dnsmgr/data.yml @@ -31,4 +31,3 @@ additionalProperties: ko: 다중 업스트림 DNS 집합 관리 시스템으로, 지능형 라우팅, 캐시 가속 및 시각적 관리를 지원하며 DoH/DoT/DoQ 등 최신 프로토콜을 지원합니다. architectures: - amd64 - - arm64 diff --git a/oauth2-proxy/data.yml b/oauth2-proxy/data.yml index 1692bb03c..9088cfc51 100644 --- a/oauth2-proxy/data.yml +++ b/oauth2-proxy/data.yml @@ -30,3 +30,6 @@ additionalProperties: architectures: - amd64 - arm64 + - ppc64le + - arm/v7 + - s390x diff --git a/termix/data.yml b/termix/data.yml index d026e8eaa..11d9e73ef 100644 --- a/termix/data.yml +++ b/termix/data.yml @@ -18,7 +18,7 @@ additionalProperties: recommend: 0 website: https://github.com/LukeGus/Termix github: https://github.com/LukeGus/Termix - document: https://github.com/LukeGus/Termix#readme + document: https://github.com/LukeGus/Termix description: en: 🖥️ Termix is a versatile cross-platform terminal tool that supports multiple terminal protocols, plugins, and customizations, making it easier to manage and enhance your command-line experience. zh: 🖥️ Termix 是一个多功能的跨平台终端工具,支持多种终端协议、插件与个性化扩展,帮助开发者更高效地管理和优化命令行体验。