From 4a77d29130ec7185eca0f95478217e5df8a787a3 Mon Sep 17 00:00:00 2001 From: okxlin Date: Wed, 7 Aug 2024 00:31:28 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0iyuuplus=E5=88=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/iyuuplus/README.md | 7 +++ apps/iyuuplus/data.yml | 19 +++++++ apps/iyuuplus/latest/.env.sample | 10 ++++ apps/iyuuplus/latest/data.yml | 66 ++++++++++++++++++++++++ apps/iyuuplus/latest/docker-compose.yml | 23 +++++++++ apps/iyuuplus/logo.png | Bin 0 -> 9556 bytes 6 files changed, 125 insertions(+) create mode 100644 apps/iyuuplus/README.md create mode 100644 apps/iyuuplus/data.yml create mode 100644 apps/iyuuplus/latest/.env.sample create mode 100644 apps/iyuuplus/latest/data.yml create mode 100644 apps/iyuuplus/latest/docker-compose.yml create mode 100644 apps/iyuuplus/logo.png diff --git a/apps/iyuuplus/README.md b/apps/iyuuplus/README.md new file mode 100644 index 00000000..8fc5d063 --- /dev/null +++ b/apps/iyuuplus/README.md @@ -0,0 +1,7 @@ +# IYUUPlus + +IYUUPlus 项目运行在 php-cli 模式,常驻内存运行;集成 webui 界面、辅种、转移、下载、定时访问 URL、动态域名 ddns 等常用功能,提供完善的插件机制。 + +IYUUPlus 客户端完全开源,行为透明,安全可靠;根据源码可以自由定制。 + +IYUU 自动辅种工具,目前能对国内大部分的 PT 站点自动辅种,支持下载器集群,支持多盘位,支持多下载目录,支持连接远程下载器等。 diff --git a/apps/iyuuplus/data.yml b/apps/iyuuplus/data.yml new file mode 100644 index 00000000..e2145c03 --- /dev/null +++ b/apps/iyuuplus/data.yml @@ -0,0 +1,19 @@ +name: IYUUPlus +tags: + - 多媒体 +title: 自动辅种工具 +description: 自动辅种工具 +additionalProperties: + key: iyuuplus + name: IYUUPlus + tags: + - Media + shortDescZh: 自动辅种工具 + shortDescEn: Automatic seeding tools + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: http://doc.iyuu.cn + github: https://github.com/ledccn/iyuuplus-dev + document: http://doc.iyuu.cn diff --git a/apps/iyuuplus/latest/.env.sample b/apps/iyuuplus/latest/.env.sample new file mode 100644 index 00000000..d57d7e67 --- /dev/null +++ b/apps/iyuuplus/latest/.env.sample @@ -0,0 +1,10 @@ +CONTAINER_NAME="iyuuplus" +DATA_PATH="./data/data" +EXTERNAL_MOUNT_PATH="./data/mnt" +INTERNAL_MOUNT_PATH="/mnt" +INTERNAL_QBITTORRENT_PATH="/qbittorrent" +INTERNAL_TRANSMISSION_PATH="/transmission" +IYUU_PATH="./data/iyuu" +PANEL_APP_PORT_HTTP=40279 +QBITTORRENT_PATH="./data/qbittorrent" +TRANSMISSION_PATH="./data/transmission" diff --git a/apps/iyuuplus/latest/data.yml b/apps/iyuuplus/latest/data.yml new file mode 100644 index 00000000..0f0c9d96 --- /dev/null +++ b/apps/iyuuplus/latest/data.yml @@ -0,0 +1,66 @@ +additionalProperties: + formFields: + - default: "40279" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "./data/iyuu" + edit: true + envKey: IYUU_PATH + labelEn: IYUU Path + labelZh: IYUU 路径 + required: true + type: text + - default: "./data/data" + edit: true + envKey: DATA_PATH + labelEn: Data Path + labelZh: 数据路径 + required: true + type: text + - default: "./data/qbittorrent" + edit: true + envKey: QBITTORRENT_PATH + labelEn: QBittorrent Path + labelZh: QBittorrent 路径 + required: true + type: text + - default: "/qbittorrent" + edit: true + envKey: INTERNAL_QBITTORRENT_PATH + labelEn: Internal QBittorrent Path + labelZh: 内部 QBittorrent 路径 + required: true + type: text + - default: "./data/transmission" + edit: true + envKey: TRANSMISSION_PATH + labelEn: Transmission Path + labelZh: Transmission 路径 + required: true + type: text + - default: "/transmission" + edit: true + envKey: INTERNAL_TRANSMISSION_PATH + labelEn: Internal Transmission Path + labelZh: 内部 Transmission 路径 + required: true + type: text + - default: "./data/mnt" + edit: true + envKey: EXTERNAL_MOUNT_PATH + labelEn: External Mount Path + labelZh: 外部挂载路径 + required: true + type: text + - default: "/mnt" + edit: true + envKey: INTERNAL_MOUNT_PATH + labelEn: Internal Mount Path + labelZh: 内部挂载路径 + required: true + type: text \ No newline at end of file diff --git a/apps/iyuuplus/latest/docker-compose.yml b/apps/iyuuplus/latest/docker-compose.yml new file mode 100644 index 00000000..8ebdd81f --- /dev/null +++ b/apps/iyuuplus/latest/docker-compose.yml @@ -0,0 +1,23 @@ +services: + iyuuplus: + image: "iyuucn/iyuuplus:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8780" + volumes: + - ${IYUU_PATH}:/iyuu + - ${DATA_PATH}:/data + - ${QBITTORRENT_PATH}:${INTERNAL_QBITTORRENT_PATH} + - ${TRANSMISSION_PATH}:${INTERNAL_TRANSMISSION_PATH} + - ${EXTERNAL_MOUNT_PATH}:${INTERNAL_MOUNT_PATH} + stdin_open: true + tty: true + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/iyuuplus/logo.png b/apps/iyuuplus/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e8bce5dcf581474aaa45e1643ef5362ecc72cc93 GIT binary patch literal 9556 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