diff --git a/apps/habridge-linuxserver/5.4.1/.env.sample b/apps/habridge-linuxserver/5.4.1/.env.sample
new file mode 100644
index 000000000..0dd27ff8e
--- /dev/null
+++ b/apps/habridge-linuxserver/5.4.1/.env.sample
@@ -0,0 +1,5 @@
+CONTAINER_NAME=
+PANEL_APP_PORT_HTTP=8080
+PANEL_APP_PORT_COMM=50000
+CONFIG_PATH=./data/config
+TIME_ZONE=Asia/Shanghai
diff --git a/apps/habridge-linuxserver/5.4.1/data.yml b/apps/habridge-linuxserver/5.4.1/data.yml
new file mode 100644
index 000000000..c4bd9b513
--- /dev/null
+++ b/apps/habridge-linuxserver/5.4.1/data.yml
@@ -0,0 +1,68 @@
+additionalProperties:
+ formFields:
+ - default: 8080
+ edit: true
+ envKey: PANEL_APP_PORT_HTTP
+ labelEn: HTTP Port
+ labelZh: HTTP 端口
+ label:
+ en: HTTP Port
+ zh: HTTP 端口
+ zh-Hant: HTTP 連接埠
+ ja: HTTP ポート
+ ko: HTTP 포트
+ ru: HTTP-порт
+ ms: Port HTTP
+ pt-br: Porta HTTP
+ required: true
+ type: number
+ rule: paramPort
+ - default: 50000
+ edit: true
+ envKey: PANEL_APP_PORT_COMM
+ labelEn: Communication Port
+ labelZh: 通信端口
+ label:
+ en: Communication Port
+ zh: 通信端口
+ zh-Hant: 通訊連接埠
+ ja: 通信ポート
+ ko: 통신 포트
+ ru: Порт связи
+ ms: Port komunikasi
+ pt-br: Porta de comunicacao
+ required: true
+ type: number
+ rule: paramPort
+ - default: ./data/config
+ edit: true
+ envKey: CONFIG_PATH
+ labelEn: Config folder path
+ labelZh: 配置文件路径
+ label:
+ en: Config folder path
+ zh: 配置文件路径
+ zh-Hant: 設定檔資料夾路徑
+ ja: 設定フォルダーのパス
+ ko: 설정 폴더 경로
+ ru: Путь к папке конфигурации
+ ms: Laluan folder konfigurasi
+ pt-br: Caminho da pasta de configuração
+ required: true
+ type: text
+ - default: Asia/Shanghai
+ edit: true
+ envKey: TIME_ZONE
+ labelEn: Time zone
+ labelZh: 时区
+ label:
+ en: Time zone
+ zh: 时区
+ zh-Hant: 時區
+ ja: タイムゾーン
+ ko: 시간대
+ ru: Часовой пояс
+ ms: Zon waktu
+ pt-br: Fuso horário
+ required: true
+ type: text
diff --git a/apps/habridge-linuxserver/5.4.1/data/.gitkeep b/apps/habridge-linuxserver/5.4.1/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/habridge-linuxserver/5.4.1/docker-compose.yml b/apps/habridge-linuxserver/5.4.1/docker-compose.yml
new file mode 100644
index 000000000..0e2032670
--- /dev/null
+++ b/apps/habridge-linuxserver/5.4.1/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ habridge:
+ image: "linuxserver/habridge:5.4.1"
+ container_name: ${CONTAINER_NAME}
+ restart: always
+ networks:
+ - 1panel-network
+ ports:
+ - "${PANEL_APP_PORT_HTTP}:8080"
+ - "${PANEL_APP_PORT_COMM}:50000"
+ volumes:
+ - "${CONFIG_PATH}:/config"
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=${TIME_ZONE}
+ labels:
+ createdBy: "Apps"
diff --git a/apps/habridge-linuxserver/5.4.1/scripts/init.sh b/apps/habridge-linuxserver/5.4.1/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/habridge-linuxserver/5.4.1/scripts/init.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+set -euo pipefail
+mkdir -p ./data/config
+chown -R 1000:1000 ./data 2>/dev/null || true
diff --git a/apps/habridge-linuxserver/5.4.1/scripts/uninstall.sh b/apps/habridge-linuxserver/5.4.1/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/habridge-linuxserver/5.4.1/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/habridge-linuxserver/5.4.1/scripts/upgrade.sh b/apps/habridge-linuxserver/5.4.1/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/habridge-linuxserver/5.4.1/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/habridge-linuxserver/README.md b/apps/habridge-linuxserver/README.md
new file mode 100644
index 000000000..3729c86ba
--- /dev/null
+++ b/apps/habridge-linuxserver/README.md
@@ -0,0 +1,36 @@
+# HABridge LinuxServer
+
+## 产品介绍
+
+HABridge LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/habridge` 镜像,提供 HABridge 智能家居桥接 能力。
+
+## 主要功能
+
+- 提供 智能家居桥接 能力
+- 持久化保存配置和业务数据
+- 使用安装表单配置服务端口
+- 支持自定义时区
+
+## 访问说明
+
+安装完成后,通过 1Panel 应用入口或 HTTP 端口访问 HABridge Web 界面;如需设备发现可按需开放通信端口。
+
+## Introduction
+
+HABridge LinuxServer uses the LinuxServer.io maintained `linuxserver/habridge` image for home automation bridging.
+
+## Features
+
+- Provide home automation bridging
+- Persist configuration and application data
+- Configure service ports from the install form when the image exposes ports
+- Configure the container time zone
+
+## Access
+
+After installation, open the HABridge web interface from the 1Panel app entry or the HTTP port; expose the communication port when device discovery needs it.
+
+## Links
+
+- LinuxServer image documentation:
+- Project website:
diff --git a/apps/habridge-linuxserver/data.yml b/apps/habridge-linuxserver/data.yml
new file mode 100644
index 000000000..7399c5525
--- /dev/null
+++ b/apps/habridge-linuxserver/data.yml
@@ -0,0 +1,30 @@
+name: HABridge LinuxServer
+tags:
+- Tool
+title: HABridge 智能家居桥接
+description: HABridge 智能家居桥接
+additionalProperties:
+ key: habridge-linuxserver
+ name: HABridge LinuxServer
+ tags:
+ - Tool
+ shortDescZh: HABridge 智能家居桥接
+ shortDescEn: Home automation bridge maintained by LinuxServer.io
+ description:
+ en: Home automation bridge maintained by LinuxServer.io
+ zh: HABridge 智能家居桥接
+ zh-Hant: HABridge 智慧家庭橋接
+ ja: LinuxServer.io が保守するホームオートメーションブリッジ
+ ko: LinuxServer.io에서 유지 관리하는 홈 자동화 브리지
+ ru: Мост домашней автоматизации, поддерживаемый LinuxServer.io
+ ms: Jambatan automasi rumah yang diselenggara oleh LinuxServer.io
+ pt-br: Ponte de automacao residencial mantida pela LinuxServer.io
+ type: tool
+ crossVersionUpdate: true
+ limit: 0
+ website: https://github.com/bwssytems/ha-bridge
+ github: https://github.com/linuxserver/docker-habridge
+ document: https://docs.linuxserver.io/images/docker-habridge/
+ architectures:
+ - amd64
+ - arm64
diff --git a/apps/habridge-linuxserver/latest/.env.sample b/apps/habridge-linuxserver/latest/.env.sample
new file mode 100644
index 000000000..0dd27ff8e
--- /dev/null
+++ b/apps/habridge-linuxserver/latest/.env.sample
@@ -0,0 +1,5 @@
+CONTAINER_NAME=
+PANEL_APP_PORT_HTTP=8080
+PANEL_APP_PORT_COMM=50000
+CONFIG_PATH=./data/config
+TIME_ZONE=Asia/Shanghai
diff --git a/apps/habridge-linuxserver/latest/data.yml b/apps/habridge-linuxserver/latest/data.yml
new file mode 100644
index 000000000..c4bd9b513
--- /dev/null
+++ b/apps/habridge-linuxserver/latest/data.yml
@@ -0,0 +1,68 @@
+additionalProperties:
+ formFields:
+ - default: 8080
+ edit: true
+ envKey: PANEL_APP_PORT_HTTP
+ labelEn: HTTP Port
+ labelZh: HTTP 端口
+ label:
+ en: HTTP Port
+ zh: HTTP 端口
+ zh-Hant: HTTP 連接埠
+ ja: HTTP ポート
+ ko: HTTP 포트
+ ru: HTTP-порт
+ ms: Port HTTP
+ pt-br: Porta HTTP
+ required: true
+ type: number
+ rule: paramPort
+ - default: 50000
+ edit: true
+ envKey: PANEL_APP_PORT_COMM
+ labelEn: Communication Port
+ labelZh: 通信端口
+ label:
+ en: Communication Port
+ zh: 通信端口
+ zh-Hant: 通訊連接埠
+ ja: 通信ポート
+ ko: 통신 포트
+ ru: Порт связи
+ ms: Port komunikasi
+ pt-br: Porta de comunicacao
+ required: true
+ type: number
+ rule: paramPort
+ - default: ./data/config
+ edit: true
+ envKey: CONFIG_PATH
+ labelEn: Config folder path
+ labelZh: 配置文件路径
+ label:
+ en: Config folder path
+ zh: 配置文件路径
+ zh-Hant: 設定檔資料夾路徑
+ ja: 設定フォルダーのパス
+ ko: 설정 폴더 경로
+ ru: Путь к папке конфигурации
+ ms: Laluan folder konfigurasi
+ pt-br: Caminho da pasta de configuração
+ required: true
+ type: text
+ - default: Asia/Shanghai
+ edit: true
+ envKey: TIME_ZONE
+ labelEn: Time zone
+ labelZh: 时区
+ label:
+ en: Time zone
+ zh: 时区
+ zh-Hant: 時區
+ ja: タイムゾーン
+ ko: 시간대
+ ru: Часовой пояс
+ ms: Zon waktu
+ pt-br: Fuso horário
+ required: true
+ type: text
diff --git a/apps/habridge-linuxserver/latest/data/.gitkeep b/apps/habridge-linuxserver/latest/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/habridge-linuxserver/latest/docker-compose.yml b/apps/habridge-linuxserver/latest/docker-compose.yml
new file mode 100644
index 000000000..54ae0adb0
--- /dev/null
+++ b/apps/habridge-linuxserver/latest/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ habridge:
+ image: "linuxserver/habridge:latest"
+ container_name: ${CONTAINER_NAME}
+ restart: always
+ networks:
+ - 1panel-network
+ ports:
+ - "${PANEL_APP_PORT_HTTP}:8080"
+ - "${PANEL_APP_PORT_COMM}:50000"
+ volumes:
+ - "${CONFIG_PATH}:/config"
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=${TIME_ZONE}
+ labels:
+ createdBy: "Apps"
diff --git a/apps/habridge-linuxserver/latest/scripts/init.sh b/apps/habridge-linuxserver/latest/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/habridge-linuxserver/latest/scripts/init.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+set -euo pipefail
+mkdir -p ./data/config
+chown -R 1000:1000 ./data 2>/dev/null || true
diff --git a/apps/habridge-linuxserver/latest/scripts/uninstall.sh b/apps/habridge-linuxserver/latest/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/habridge-linuxserver/latest/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/habridge-linuxserver/latest/scripts/upgrade.sh b/apps/habridge-linuxserver/latest/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/habridge-linuxserver/latest/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/habridge-linuxserver/logo.png b/apps/habridge-linuxserver/logo.png
new file mode 100644
index 000000000..efc4e9cf7
Binary files /dev/null and b/apps/habridge-linuxserver/logo.png differ
diff --git a/apps/pwndrop-linuxserver/1.0.1/.env.sample b/apps/pwndrop-linuxserver/1.0.1/.env.sample
new file mode 100644
index 000000000..d8e8811a9
--- /dev/null
+++ b/apps/pwndrop-linuxserver/1.0.1/.env.sample
@@ -0,0 +1,4 @@
+CONTAINER_NAME=
+PANEL_APP_PORT_HTTP=8080
+CONFIG_PATH=./data/config
+TIME_ZONE=Asia/Shanghai
diff --git a/apps/pwndrop-linuxserver/1.0.1/data.yml b/apps/pwndrop-linuxserver/1.0.1/data.yml
new file mode 100644
index 000000000..9613c9d6e
--- /dev/null
+++ b/apps/pwndrop-linuxserver/1.0.1/data.yml
@@ -0,0 +1,51 @@
+additionalProperties:
+ formFields:
+ - default: 8080
+ edit: true
+ envKey: PANEL_APP_PORT_HTTP
+ labelEn: HTTP Port
+ labelZh: HTTP 端口
+ label:
+ en: HTTP Port
+ zh: HTTP 端口
+ zh-Hant: HTTP 連接埠
+ ja: HTTP ポート
+ ko: HTTP 포트
+ ru: HTTP-порт
+ ms: Port HTTP
+ pt-br: Porta HTTP
+ required: true
+ type: number
+ rule: paramPort
+ - default: ./data/config
+ edit: true
+ envKey: CONFIG_PATH
+ labelEn: Config folder path
+ labelZh: 配置文件路径
+ label:
+ en: Config folder path
+ zh: 配置文件路径
+ zh-Hant: 設定檔資料夾路徑
+ ja: 設定フォルダーのパス
+ ko: 설정 폴더 경로
+ ru: Путь к папке конфигурации
+ ms: Laluan folder konfigurasi
+ pt-br: Caminho da pasta de configuração
+ required: true
+ type: text
+ - default: Asia/Shanghai
+ edit: true
+ envKey: TIME_ZONE
+ labelEn: Time zone
+ labelZh: 时区
+ label:
+ en: Time zone
+ zh: 时区
+ zh-Hant: 時區
+ ja: タイムゾーン
+ ko: 시간대
+ ru: Часовой пояс
+ ms: Zon waktu
+ pt-br: Fuso horário
+ required: true
+ type: text
diff --git a/apps/pwndrop-linuxserver/1.0.1/data/.gitkeep b/apps/pwndrop-linuxserver/1.0.1/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/pwndrop-linuxserver/1.0.1/docker-compose.yml b/apps/pwndrop-linuxserver/1.0.1/docker-compose.yml
new file mode 100644
index 000000000..ff9026f3a
--- /dev/null
+++ b/apps/pwndrop-linuxserver/1.0.1/docker-compose.yml
@@ -0,0 +1,20 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ pwndrop:
+ image: "linuxserver/pwndrop:1.0.1"
+ container_name: ${CONTAINER_NAME}
+ restart: always
+ networks:
+ - 1panel-network
+ ports:
+ - "${PANEL_APP_PORT_HTTP}:8080"
+ volumes:
+ - "${CONFIG_PATH}:/config"
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=${TIME_ZONE}
+ labels:
+ createdBy: "Apps"
diff --git a/apps/pwndrop-linuxserver/1.0.1/scripts/init.sh b/apps/pwndrop-linuxserver/1.0.1/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/pwndrop-linuxserver/1.0.1/scripts/init.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+set -euo pipefail
+mkdir -p ./data/config
+chown -R 1000:1000 ./data 2>/dev/null || true
diff --git a/apps/pwndrop-linuxserver/1.0.1/scripts/uninstall.sh b/apps/pwndrop-linuxserver/1.0.1/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/pwndrop-linuxserver/1.0.1/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/pwndrop-linuxserver/1.0.1/scripts/upgrade.sh b/apps/pwndrop-linuxserver/1.0.1/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/pwndrop-linuxserver/1.0.1/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/pwndrop-linuxserver/README.md b/apps/pwndrop-linuxserver/README.md
new file mode 100644
index 000000000..05027bc6b
--- /dev/null
+++ b/apps/pwndrop-linuxserver/README.md
@@ -0,0 +1,36 @@
+# Pwndrop LinuxServer
+
+## 产品介绍
+
+Pwndrop LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/pwndrop` 镜像,提供 Pwndrop 文件投递服务 能力。
+
+## 主要功能
+
+- 提供 文件投递与分享 能力
+- 持久化保存配置和业务数据
+- 使用安装表单配置服务端口
+- 支持自定义时区
+
+## 访问说明
+
+安装完成后,通过 1Panel 应用入口或 HTTP 端口访问 Pwndrop Web 界面。
+
+## Introduction
+
+Pwndrop LinuxServer uses the LinuxServer.io maintained `linuxserver/pwndrop` image for file delivery and sharing.
+
+## Features
+
+- Provide file delivery and sharing
+- Persist configuration and application data
+- Configure service ports from the install form when the image exposes ports
+- Configure the container time zone
+
+## Access
+
+After installation, open the Pwndrop web interface from the 1Panel app entry or the HTTP port.
+
+## Links
+
+- LinuxServer image documentation:
+- Project website:
diff --git a/apps/pwndrop-linuxserver/data.yml b/apps/pwndrop-linuxserver/data.yml
new file mode 100644
index 000000000..9c2182e32
--- /dev/null
+++ b/apps/pwndrop-linuxserver/data.yml
@@ -0,0 +1,30 @@
+name: Pwndrop LinuxServer
+tags:
+- Storage
+title: Pwndrop 文件投递服务
+description: Pwndrop 文件投递服务
+additionalProperties:
+ key: pwndrop-linuxserver
+ name: Pwndrop LinuxServer
+ tags:
+ - Storage
+ shortDescZh: Pwndrop 文件投递服务
+ shortDescEn: File delivery service maintained by LinuxServer.io
+ description:
+ en: File delivery service maintained by LinuxServer.io
+ zh: Pwndrop 文件投递服务
+ zh-Hant: Pwndrop 檔案投遞服務
+ ja: LinuxServer.io が保守するファイル配信サービス
+ ko: LinuxServer.io에서 유지 관리하는 파일 전달 서비스
+ ru: Сервис доставки файлов, поддерживаемый LinuxServer.io
+ ms: Perkhidmatan penghantaran fail yang diselenggara oleh LinuxServer.io
+ pt-br: Servico de entrega de arquivos mantido pela LinuxServer.io
+ type: tool
+ crossVersionUpdate: true
+ limit: 0
+ website: https://github.com/kgretzky/pwndrop
+ github: https://github.com/linuxserver/docker-pwndrop
+ document: https://docs.linuxserver.io/images/docker-pwndrop/
+ architectures:
+ - amd64
+ - arm64
diff --git a/apps/pwndrop-linuxserver/latest/.env.sample b/apps/pwndrop-linuxserver/latest/.env.sample
new file mode 100644
index 000000000..d8e8811a9
--- /dev/null
+++ b/apps/pwndrop-linuxserver/latest/.env.sample
@@ -0,0 +1,4 @@
+CONTAINER_NAME=
+PANEL_APP_PORT_HTTP=8080
+CONFIG_PATH=./data/config
+TIME_ZONE=Asia/Shanghai
diff --git a/apps/pwndrop-linuxserver/latest/data.yml b/apps/pwndrop-linuxserver/latest/data.yml
new file mode 100644
index 000000000..9613c9d6e
--- /dev/null
+++ b/apps/pwndrop-linuxserver/latest/data.yml
@@ -0,0 +1,51 @@
+additionalProperties:
+ formFields:
+ - default: 8080
+ edit: true
+ envKey: PANEL_APP_PORT_HTTP
+ labelEn: HTTP Port
+ labelZh: HTTP 端口
+ label:
+ en: HTTP Port
+ zh: HTTP 端口
+ zh-Hant: HTTP 連接埠
+ ja: HTTP ポート
+ ko: HTTP 포트
+ ru: HTTP-порт
+ ms: Port HTTP
+ pt-br: Porta HTTP
+ required: true
+ type: number
+ rule: paramPort
+ - default: ./data/config
+ edit: true
+ envKey: CONFIG_PATH
+ labelEn: Config folder path
+ labelZh: 配置文件路径
+ label:
+ en: Config folder path
+ zh: 配置文件路径
+ zh-Hant: 設定檔資料夾路徑
+ ja: 設定フォルダーのパス
+ ko: 설정 폴더 경로
+ ru: Путь к папке конфигурации
+ ms: Laluan folder konfigurasi
+ pt-br: Caminho da pasta de configuração
+ required: true
+ type: text
+ - default: Asia/Shanghai
+ edit: true
+ envKey: TIME_ZONE
+ labelEn: Time zone
+ labelZh: 时区
+ label:
+ en: Time zone
+ zh: 时区
+ zh-Hant: 時區
+ ja: タイムゾーン
+ ko: 시간대
+ ru: Часовой пояс
+ ms: Zon waktu
+ pt-br: Fuso horário
+ required: true
+ type: text
diff --git a/apps/pwndrop-linuxserver/latest/data/.gitkeep b/apps/pwndrop-linuxserver/latest/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/pwndrop-linuxserver/latest/docker-compose.yml b/apps/pwndrop-linuxserver/latest/docker-compose.yml
new file mode 100644
index 000000000..b6ca03f13
--- /dev/null
+++ b/apps/pwndrop-linuxserver/latest/docker-compose.yml
@@ -0,0 +1,20 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ pwndrop:
+ image: "linuxserver/pwndrop:latest"
+ container_name: ${CONTAINER_NAME}
+ restart: always
+ networks:
+ - 1panel-network
+ ports:
+ - "${PANEL_APP_PORT_HTTP}:8080"
+ volumes:
+ - "${CONFIG_PATH}:/config"
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=${TIME_ZONE}
+ labels:
+ createdBy: "Apps"
diff --git a/apps/pwndrop-linuxserver/latest/scripts/init.sh b/apps/pwndrop-linuxserver/latest/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/pwndrop-linuxserver/latest/scripts/init.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+set -euo pipefail
+mkdir -p ./data/config
+chown -R 1000:1000 ./data 2>/dev/null || true
diff --git a/apps/pwndrop-linuxserver/latest/scripts/uninstall.sh b/apps/pwndrop-linuxserver/latest/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/pwndrop-linuxserver/latest/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/pwndrop-linuxserver/latest/scripts/upgrade.sh b/apps/pwndrop-linuxserver/latest/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/pwndrop-linuxserver/latest/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/pwndrop-linuxserver/logo.png b/apps/pwndrop-linuxserver/logo.png
new file mode 100644
index 000000000..fa77dbb85
Binary files /dev/null and b/apps/pwndrop-linuxserver/logo.png differ
diff --git a/apps/syslog-ng-linuxserver/4.10.2/.env.sample b/apps/syslog-ng-linuxserver/4.10.2/.env.sample
new file mode 100644
index 000000000..c8ec8c3df
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/4.10.2/.env.sample
@@ -0,0 +1,8 @@
+CONTAINER_NAME=
+PANEL_APP_PORT_SYSLOG_UDP=514
+PANEL_APP_PORT_SYSLOG_TCP=601
+PANEL_APP_PORT_SYSLOG_TLS=6514
+CONFIG_PATH=./data/config
+LOG_PATH=./data/log
+LOG_PATH=./data/log
+TIME_ZONE=Asia/Shanghai
diff --git a/apps/syslog-ng-linuxserver/4.10.2/data.yml b/apps/syslog-ng-linuxserver/4.10.2/data.yml
new file mode 100644
index 000000000..002a35e48
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/4.10.2/data.yml
@@ -0,0 +1,101 @@
+additionalProperties:
+ formFields:
+ - default: 514
+ edit: true
+ envKey: PANEL_APP_PORT_SYSLOG_UDP
+ labelEn: Syslog UDP Port
+ labelZh: Syslog UDP 端口
+ label:
+ en: Syslog UDP Port
+ zh: Syslog UDP 端口
+ zh-Hant: Syslog UDP 連接埠
+ ja: Syslog UDP ポート
+ ko: Syslog UDP 포트
+ ru: UDP-порт Syslog
+ ms: Port UDP Syslog
+ pt-br: Porta UDP do Syslog
+ required: true
+ type: number
+ rule: paramPort
+ - default: 601
+ edit: true
+ envKey: PANEL_APP_PORT_SYSLOG_TCP
+ labelEn: Syslog TCP Port
+ labelZh: Syslog TCP 端口
+ label:
+ en: Syslog TCP Port
+ zh: Syslog TCP 端口
+ zh-Hant: Syslog TCP 連接埠
+ ja: Syslog TCP ポート
+ ko: Syslog TCP 포트
+ ru: TCP-порт Syslog
+ ms: Port TCP Syslog
+ pt-br: Porta TCP do Syslog
+ required: true
+ type: number
+ rule: paramPort
+ - default: 6514
+ edit: true
+ envKey: PANEL_APP_PORT_SYSLOG_TLS
+ labelEn: Syslog TLS Port
+ labelZh: Syslog TLS 端口
+ label:
+ en: Syslog TLS Port
+ zh: Syslog TLS 端口
+ zh-Hant: Syslog TLS 連接埠
+ ja: Syslog TLS ポート
+ ko: Syslog TLS 포트
+ ru: TLS-порт Syslog
+ ms: Port TLS Syslog
+ pt-br: Porta TLS do Syslog
+ required: true
+ type: number
+ rule: paramPort
+ - default: ./data/config
+ edit: true
+ envKey: CONFIG_PATH
+ labelEn: Config folder path
+ labelZh: 配置文件路径
+ label:
+ en: Config folder path
+ zh: 配置文件路径
+ zh-Hant: 設定檔資料夾路徑
+ ja: 設定フォルダーのパス
+ ko: 설정 폴더 경로
+ ru: Путь к папке конфигурации
+ ms: Laluan folder konfigurasi
+ pt-br: Caminho da pasta de configuração
+ required: true
+ type: text
+ - default: ./data/log
+ edit: true
+ envKey: LOG_PATH
+ labelEn: Log folder path
+ labelZh: 日志目录
+ label:
+ en: Log folder path
+ zh: 日志目录
+ zh-Hant: 日誌目錄
+ ja: ログディレクトリ
+ ko: 로그 디렉터리
+ ru: Каталог журналов
+ ms: Laluan log
+ pt-br: Caminho de logs
+ required: true
+ type: text
+ - default: Asia/Shanghai
+ edit: true
+ envKey: TIME_ZONE
+ labelEn: Time zone
+ labelZh: 时区
+ label:
+ en: Time zone
+ zh: 时区
+ zh-Hant: 時區
+ ja: タイムゾーン
+ ko: 시간대
+ ru: Часовой пояс
+ ms: Zon waktu
+ pt-br: Fuso horário
+ required: true
+ type: text
diff --git a/apps/syslog-ng-linuxserver/4.10.2/data/.gitkeep b/apps/syslog-ng-linuxserver/4.10.2/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/syslog-ng-linuxserver/4.10.2/docker-compose.yml b/apps/syslog-ng-linuxserver/4.10.2/docker-compose.yml
new file mode 100644
index 000000000..1d8ffcb61
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/4.10.2/docker-compose.yml
@@ -0,0 +1,23 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ syslog-ng:
+ image: "linuxserver/syslog-ng:4.10.2"
+ container_name: ${CONTAINER_NAME}
+ restart: always
+ networks:
+ - 1panel-network
+ ports:
+ - "${PANEL_APP_PORT_SYSLOG_UDP}:5514/udp"
+ - "${PANEL_APP_PORT_SYSLOG_TCP}:6601/tcp"
+ - "${PANEL_APP_PORT_SYSLOG_TLS}:6514/tcp"
+ volumes:
+ - "${CONFIG_PATH}:/config"
+ - "${LOG_PATH}:/var/log"
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=${TIME_ZONE}
+ labels:
+ createdBy: "Apps"
diff --git a/apps/syslog-ng-linuxserver/4.10.2/scripts/init.sh b/apps/syslog-ng-linuxserver/4.10.2/scripts/init.sh
new file mode 100755
index 000000000..e563e2c00
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/4.10.2/scripts/init.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+set -euo pipefail
+mkdir -p ./data/config ./data/log
+chown -R 1000:1000 ./data 2>/dev/null || true
diff --git a/apps/syslog-ng-linuxserver/4.10.2/scripts/uninstall.sh b/apps/syslog-ng-linuxserver/4.10.2/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/4.10.2/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/syslog-ng-linuxserver/4.10.2/scripts/upgrade.sh b/apps/syslog-ng-linuxserver/4.10.2/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/4.10.2/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/syslog-ng-linuxserver/README.md b/apps/syslog-ng-linuxserver/README.md
new file mode 100644
index 000000000..fd9bdf1e5
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/README.md
@@ -0,0 +1,36 @@
+# syslog-ng LinuxServer
+
+## 产品介绍
+
+syslog-ng LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/syslog-ng` 镜像,提供 syslog-ng 日志收集服务 能力。
+
+## 主要功能
+
+- 提供 Syslog 日志收集 能力
+- 持久化保存配置和业务数据
+- 使用安装表单配置服务端口
+- 支持自定义时区
+
+## 访问说明
+
+安装完成后,将客户端日志发送到配置的 Syslog UDP/TCP/TLS 端口;该应用没有 Web 界面。
+
+## Introduction
+
+syslog-ng LinuxServer uses the LinuxServer.io maintained `linuxserver/syslog-ng` image for Syslog collection.
+
+## Features
+
+- Provide Syslog collection
+- Persist configuration and application data
+- Configure service ports from the install form when the image exposes ports
+- Configure the container time zone
+
+## Access
+
+After installation, send client logs to the configured Syslog UDP/TCP/TLS ports; this app does not provide a web interface.
+
+## Links
+
+- LinuxServer image documentation:
+- Project website:
diff --git a/apps/syslog-ng-linuxserver/data.yml b/apps/syslog-ng-linuxserver/data.yml
new file mode 100644
index 000000000..9100fcc74
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/data.yml
@@ -0,0 +1,30 @@
+name: syslog-ng LinuxServer
+tags:
+- DevOps
+title: syslog-ng 日志收集服务
+description: syslog-ng 日志收集服务
+additionalProperties:
+ key: syslog-ng-linuxserver
+ name: syslog-ng LinuxServer
+ tags:
+ - DevOps
+ shortDescZh: syslog-ng 日志收集服务
+ shortDescEn: Syslog collection service maintained by LinuxServer.io
+ description:
+ en: Syslog collection service maintained by LinuxServer.io
+ zh: syslog-ng 日志收集服务
+ zh-Hant: syslog-ng 日誌收集服務
+ ja: LinuxServer.io が保守する Syslog 収集サービス
+ ko: LinuxServer.io에서 유지 관리하는 Syslog 수집 서비스
+ ru: Сервис сбора Syslog, поддерживаемый LinuxServer.io
+ ms: Perkhidmatan pengumpulan Syslog yang diselenggara oleh LinuxServer.io
+ pt-br: Servico de coleta Syslog mantido pela LinuxServer.io
+ type: tool
+ crossVersionUpdate: true
+ limit: 0
+ website: https://www.syslog-ng.com/
+ github: https://github.com/linuxserver/docker-syslog-ng
+ document: https://docs.linuxserver.io/images/docker-syslog-ng/
+ architectures:
+ - amd64
+ - arm64
diff --git a/apps/syslog-ng-linuxserver/latest/.env.sample b/apps/syslog-ng-linuxserver/latest/.env.sample
new file mode 100644
index 000000000..c8ec8c3df
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/latest/.env.sample
@@ -0,0 +1,8 @@
+CONTAINER_NAME=
+PANEL_APP_PORT_SYSLOG_UDP=514
+PANEL_APP_PORT_SYSLOG_TCP=601
+PANEL_APP_PORT_SYSLOG_TLS=6514
+CONFIG_PATH=./data/config
+LOG_PATH=./data/log
+LOG_PATH=./data/log
+TIME_ZONE=Asia/Shanghai
diff --git a/apps/syslog-ng-linuxserver/latest/data.yml b/apps/syslog-ng-linuxserver/latest/data.yml
new file mode 100644
index 000000000..002a35e48
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/latest/data.yml
@@ -0,0 +1,101 @@
+additionalProperties:
+ formFields:
+ - default: 514
+ edit: true
+ envKey: PANEL_APP_PORT_SYSLOG_UDP
+ labelEn: Syslog UDP Port
+ labelZh: Syslog UDP 端口
+ label:
+ en: Syslog UDP Port
+ zh: Syslog UDP 端口
+ zh-Hant: Syslog UDP 連接埠
+ ja: Syslog UDP ポート
+ ko: Syslog UDP 포트
+ ru: UDP-порт Syslog
+ ms: Port UDP Syslog
+ pt-br: Porta UDP do Syslog
+ required: true
+ type: number
+ rule: paramPort
+ - default: 601
+ edit: true
+ envKey: PANEL_APP_PORT_SYSLOG_TCP
+ labelEn: Syslog TCP Port
+ labelZh: Syslog TCP 端口
+ label:
+ en: Syslog TCP Port
+ zh: Syslog TCP 端口
+ zh-Hant: Syslog TCP 連接埠
+ ja: Syslog TCP ポート
+ ko: Syslog TCP 포트
+ ru: TCP-порт Syslog
+ ms: Port TCP Syslog
+ pt-br: Porta TCP do Syslog
+ required: true
+ type: number
+ rule: paramPort
+ - default: 6514
+ edit: true
+ envKey: PANEL_APP_PORT_SYSLOG_TLS
+ labelEn: Syslog TLS Port
+ labelZh: Syslog TLS 端口
+ label:
+ en: Syslog TLS Port
+ zh: Syslog TLS 端口
+ zh-Hant: Syslog TLS 連接埠
+ ja: Syslog TLS ポート
+ ko: Syslog TLS 포트
+ ru: TLS-порт Syslog
+ ms: Port TLS Syslog
+ pt-br: Porta TLS do Syslog
+ required: true
+ type: number
+ rule: paramPort
+ - default: ./data/config
+ edit: true
+ envKey: CONFIG_PATH
+ labelEn: Config folder path
+ labelZh: 配置文件路径
+ label:
+ en: Config folder path
+ zh: 配置文件路径
+ zh-Hant: 設定檔資料夾路徑
+ ja: 設定フォルダーのパス
+ ko: 설정 폴더 경로
+ ru: Путь к папке конфигурации
+ ms: Laluan folder konfigurasi
+ pt-br: Caminho da pasta de configuração
+ required: true
+ type: text
+ - default: ./data/log
+ edit: true
+ envKey: LOG_PATH
+ labelEn: Log folder path
+ labelZh: 日志目录
+ label:
+ en: Log folder path
+ zh: 日志目录
+ zh-Hant: 日誌目錄
+ ja: ログディレクトリ
+ ko: 로그 디렉터리
+ ru: Каталог журналов
+ ms: Laluan log
+ pt-br: Caminho de logs
+ required: true
+ type: text
+ - default: Asia/Shanghai
+ edit: true
+ envKey: TIME_ZONE
+ labelEn: Time zone
+ labelZh: 时区
+ label:
+ en: Time zone
+ zh: 时区
+ zh-Hant: 時區
+ ja: タイムゾーン
+ ko: 시간대
+ ru: Часовой пояс
+ ms: Zon waktu
+ pt-br: Fuso horário
+ required: true
+ type: text
diff --git a/apps/syslog-ng-linuxserver/latest/data/.gitkeep b/apps/syslog-ng-linuxserver/latest/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/syslog-ng-linuxserver/latest/docker-compose.yml b/apps/syslog-ng-linuxserver/latest/docker-compose.yml
new file mode 100644
index 000000000..c36c45862
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/latest/docker-compose.yml
@@ -0,0 +1,23 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ syslog-ng:
+ image: "linuxserver/syslog-ng:latest"
+ container_name: ${CONTAINER_NAME}
+ restart: always
+ networks:
+ - 1panel-network
+ ports:
+ - "${PANEL_APP_PORT_SYSLOG_UDP}:5514/udp"
+ - "${PANEL_APP_PORT_SYSLOG_TCP}:6601/tcp"
+ - "${PANEL_APP_PORT_SYSLOG_TLS}:6514/tcp"
+ volumes:
+ - "${CONFIG_PATH}:/config"
+ - "${LOG_PATH}:/var/log"
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=${TIME_ZONE}
+ labels:
+ createdBy: "Apps"
diff --git a/apps/syslog-ng-linuxserver/latest/scripts/init.sh b/apps/syslog-ng-linuxserver/latest/scripts/init.sh
new file mode 100755
index 000000000..e563e2c00
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/latest/scripts/init.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+set -euo pipefail
+mkdir -p ./data/config ./data/log
+chown -R 1000:1000 ./data 2>/dev/null || true
diff --git a/apps/syslog-ng-linuxserver/latest/scripts/uninstall.sh b/apps/syslog-ng-linuxserver/latest/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/latest/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/syslog-ng-linuxserver/latest/scripts/upgrade.sh b/apps/syslog-ng-linuxserver/latest/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/syslog-ng-linuxserver/latest/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/syslog-ng-linuxserver/logo.png b/apps/syslog-ng-linuxserver/logo.png
new file mode 100644
index 000000000..f3d720d8d
Binary files /dev/null and b/apps/syslog-ng-linuxserver/logo.png differ
diff --git a/apps/webgrabplus-linuxserver/5.6.0/.env.sample b/apps/webgrabplus-linuxserver/5.6.0/.env.sample
new file mode 100644
index 000000000..c9831095e
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/5.6.0/.env.sample
@@ -0,0 +1,5 @@
+CONTAINER_NAME=
+CONFIG_PATH=./data/config
+DATA_PATH=./data/output
+DATA_PATH=./data/output
+TIME_ZONE=Asia/Shanghai
diff --git a/apps/webgrabplus-linuxserver/5.6.0/data.yml b/apps/webgrabplus-linuxserver/5.6.0/data.yml
new file mode 100644
index 000000000..948788604
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/5.6.0/data.yml
@@ -0,0 +1,50 @@
+additionalProperties:
+ formFields:
+ - default: ./data/config
+ edit: true
+ envKey: CONFIG_PATH
+ labelEn: Config folder path
+ labelZh: 配置文件路径
+ label:
+ en: Config folder path
+ zh: 配置文件路径
+ zh-Hant: 設定檔資料夾路徑
+ ja: 設定フォルダーのパス
+ ko: 설정 폴더 경로
+ ru: Путь к папке конфигурации
+ ms: Laluan folder konfigurasi
+ pt-br: Caminho da pasta de configuração
+ required: true
+ type: text
+ - default: ./data/output
+ edit: true
+ envKey: DATA_PATH
+ labelEn: Output folder path
+ labelZh: 输出目录
+ label:
+ en: Output folder path
+ zh: 输出目录
+ zh-Hant: 輸出目錄
+ ja: 出力ディレクトリ
+ ko: 출력 디렉터리
+ ru: Каталог вывода
+ ms: Laluan output
+ pt-br: Caminho de saida
+ required: true
+ type: text
+ - default: Asia/Shanghai
+ edit: true
+ envKey: TIME_ZONE
+ labelEn: Time zone
+ labelZh: 时区
+ label:
+ en: Time zone
+ zh: 时区
+ zh-Hant: 時區
+ ja: タイムゾーン
+ ko: 시간대
+ ru: Часовой пояс
+ ms: Zon waktu
+ pt-br: Fuso horário
+ required: true
+ type: text
diff --git a/apps/webgrabplus-linuxserver/5.6.0/data/.gitkeep b/apps/webgrabplus-linuxserver/5.6.0/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/webgrabplus-linuxserver/5.6.0/docker-compose.yml b/apps/webgrabplus-linuxserver/5.6.0/docker-compose.yml
new file mode 100644
index 000000000..66cb552c5
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/5.6.0/docker-compose.yml
@@ -0,0 +1,19 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ webgrabplus:
+ image: "linuxserver/webgrabplus:5.6.0"
+ container_name: ${CONTAINER_NAME}
+ restart: always
+ networks:
+ - 1panel-network
+ volumes:
+ - "${CONFIG_PATH}:/config"
+ - "${DATA_PATH}:/data"
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=${TIME_ZONE}
+ labels:
+ createdBy: "Apps"
diff --git a/apps/webgrabplus-linuxserver/5.6.0/scripts/init.sh b/apps/webgrabplus-linuxserver/5.6.0/scripts/init.sh
new file mode 100755
index 000000000..eabd583bb
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/5.6.0/scripts/init.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+set -euo pipefail
+mkdir -p ./data/config ./data/output
+chown -R 1000:1000 ./data 2>/dev/null || true
diff --git a/apps/webgrabplus-linuxserver/5.6.0/scripts/uninstall.sh b/apps/webgrabplus-linuxserver/5.6.0/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/5.6.0/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/webgrabplus-linuxserver/5.6.0/scripts/upgrade.sh b/apps/webgrabplus-linuxserver/5.6.0/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/5.6.0/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/webgrabplus-linuxserver/README.md b/apps/webgrabplus-linuxserver/README.md
new file mode 100644
index 000000000..64d3c1d67
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/README.md
@@ -0,0 +1,36 @@
+# WebGrabPlus LinuxServer
+
+## 产品介绍
+
+WebGrabPlus LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/webgrabplus` 镜像,提供 WebGrabPlus 电视节目抓取服务 能力。
+
+## 主要功能
+
+- 提供 电视节目表抓取 能力
+- 持久化保存配置和业务数据
+- 使用安装表单配置服务端口
+- 支持自定义时区
+
+## 访问说明
+
+安装完成后,在配置目录中维护 WebGrabPlus 配置,输出文件保存在数据目录;该应用没有 Web 界面。
+
+## Introduction
+
+WebGrabPlus LinuxServer uses the LinuxServer.io maintained `linuxserver/webgrabplus` image for TV guide grabbing.
+
+## Features
+
+- Provide TV guide grabbing
+- Persist configuration and application data
+- Configure service ports from the install form when the image exposes ports
+- Configure the container time zone
+
+## Access
+
+After installation, maintain WebGrabPlus configuration in the config directory and read generated output from the data directory; this app does not provide a web interface.
+
+## Links
+
+- LinuxServer image documentation:
+- Project website:
diff --git a/apps/webgrabplus-linuxserver/data.yml b/apps/webgrabplus-linuxserver/data.yml
new file mode 100644
index 000000000..c310c9aa2
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/data.yml
@@ -0,0 +1,30 @@
+name: WebGrabPlus LinuxServer
+tags:
+- Media
+title: WebGrabPlus 电视节目抓取服务
+description: WebGrabPlus 电视节目抓取服务
+additionalProperties:
+ key: webgrabplus-linuxserver
+ name: WebGrabPlus LinuxServer
+ tags:
+ - Media
+ shortDescZh: WebGrabPlus 电视节目抓取服务
+ shortDescEn: TV guide grabber maintained by LinuxServer.io
+ description:
+ en: TV guide grabber maintained by LinuxServer.io
+ zh: WebGrabPlus 电视节目抓取服务
+ zh-Hant: WebGrabPlus 電視節目擷取服務
+ ja: LinuxServer.io が保守するテレビ番組表取得サービス
+ ko: LinuxServer.io에서 유지 관리하는 TV 가이드 수집 서비스
+ ru: Сервис получения телепрограммы, поддерживаемый LinuxServer.io
+ ms: Perkhidmatan pengambil panduan TV yang diselenggara oleh LinuxServer.io
+ pt-br: Servico de captura de guia de TV mantido pela LinuxServer.io
+ type: tool
+ crossVersionUpdate: true
+ limit: 0
+ website: http://www.webgrabplus.com/
+ github: https://github.com/linuxserver/docker-webgrabplus
+ document: https://docs.linuxserver.io/images/docker-webgrabplus/
+ architectures:
+ - amd64
+ - arm64
diff --git a/apps/webgrabplus-linuxserver/latest/.env.sample b/apps/webgrabplus-linuxserver/latest/.env.sample
new file mode 100644
index 000000000..c9831095e
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/latest/.env.sample
@@ -0,0 +1,5 @@
+CONTAINER_NAME=
+CONFIG_PATH=./data/config
+DATA_PATH=./data/output
+DATA_PATH=./data/output
+TIME_ZONE=Asia/Shanghai
diff --git a/apps/webgrabplus-linuxserver/latest/data.yml b/apps/webgrabplus-linuxserver/latest/data.yml
new file mode 100644
index 000000000..948788604
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/latest/data.yml
@@ -0,0 +1,50 @@
+additionalProperties:
+ formFields:
+ - default: ./data/config
+ edit: true
+ envKey: CONFIG_PATH
+ labelEn: Config folder path
+ labelZh: 配置文件路径
+ label:
+ en: Config folder path
+ zh: 配置文件路径
+ zh-Hant: 設定檔資料夾路徑
+ ja: 設定フォルダーのパス
+ ko: 설정 폴더 경로
+ ru: Путь к папке конфигурации
+ ms: Laluan folder konfigurasi
+ pt-br: Caminho da pasta de configuração
+ required: true
+ type: text
+ - default: ./data/output
+ edit: true
+ envKey: DATA_PATH
+ labelEn: Output folder path
+ labelZh: 输出目录
+ label:
+ en: Output folder path
+ zh: 输出目录
+ zh-Hant: 輸出目錄
+ ja: 出力ディレクトリ
+ ko: 출력 디렉터리
+ ru: Каталог вывода
+ ms: Laluan output
+ pt-br: Caminho de saida
+ required: true
+ type: text
+ - default: Asia/Shanghai
+ edit: true
+ envKey: TIME_ZONE
+ labelEn: Time zone
+ labelZh: 时区
+ label:
+ en: Time zone
+ zh: 时区
+ zh-Hant: 時區
+ ja: タイムゾーン
+ ko: 시간대
+ ru: Часовой пояс
+ ms: Zon waktu
+ pt-br: Fuso horário
+ required: true
+ type: text
diff --git a/apps/webgrabplus-linuxserver/latest/data/.gitkeep b/apps/webgrabplus-linuxserver/latest/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/webgrabplus-linuxserver/latest/docker-compose.yml b/apps/webgrabplus-linuxserver/latest/docker-compose.yml
new file mode 100644
index 000000000..95566a5fc
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/latest/docker-compose.yml
@@ -0,0 +1,19 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ webgrabplus:
+ image: "linuxserver/webgrabplus:latest"
+ container_name: ${CONTAINER_NAME}
+ restart: always
+ networks:
+ - 1panel-network
+ volumes:
+ - "${CONFIG_PATH}:/config"
+ - "${DATA_PATH}:/data"
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=${TIME_ZONE}
+ labels:
+ createdBy: "Apps"
diff --git a/apps/webgrabplus-linuxserver/latest/scripts/init.sh b/apps/webgrabplus-linuxserver/latest/scripts/init.sh
new file mode 100755
index 000000000..eabd583bb
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/latest/scripts/init.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+set -euo pipefail
+mkdir -p ./data/config ./data/output
+chown -R 1000:1000 ./data 2>/dev/null || true
diff --git a/apps/webgrabplus-linuxserver/latest/scripts/uninstall.sh b/apps/webgrabplus-linuxserver/latest/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/latest/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/webgrabplus-linuxserver/latest/scripts/upgrade.sh b/apps/webgrabplus-linuxserver/latest/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/webgrabplus-linuxserver/latest/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/webgrabplus-linuxserver/logo.png b/apps/webgrabplus-linuxserver/logo.png
new file mode 100644
index 000000000..25dcfa657
Binary files /dev/null and b/apps/webgrabplus-linuxserver/logo.png differ