diff --git a/appstore/outline/0.85.0/.env b/appstore/outline/0.85.1/.env similarity index 100% rename from appstore/outline/0.85.0/.env rename to appstore/outline/0.85.1/.env diff --git a/appstore/outline/0.85.0/data.yml b/appstore/outline/0.85.1/data.yml similarity index 100% rename from appstore/outline/0.85.0/data.yml rename to appstore/outline/0.85.1/data.yml diff --git a/appstore/outline/0.85.0/docker-compose.yml b/appstore/outline/0.85.1/docker-compose.yml similarity index 92% rename from appstore/outline/0.85.0/docker-compose.yml rename to appstore/outline/0.85.1/docker-compose.yml index a7e545dda..4c6a9ad5b 100644 --- a/appstore/outline/0.85.0/docker-compose.yml +++ b/appstore/outline/0.85.1/docker-compose.yml @@ -10,7 +10,7 @@ services: - .env environment: - DATABASE_URL=postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: outlinewiki/outline:0.85.0 + image: outlinewiki/outline:0.85.1 labels: createdBy: Apps networks: diff --git a/appstore/outline/0.85.0/envs/default.env b/appstore/outline/0.85.1/envs/default.env similarity index 100% rename from appstore/outline/0.85.0/envs/default.env rename to appstore/outline/0.85.1/envs/default.env diff --git a/appstore/outline/0.85.0/envs/global.env b/appstore/outline/0.85.1/envs/global.env similarity index 100% rename from appstore/outline/0.85.0/envs/global.env rename to appstore/outline/0.85.1/envs/global.env diff --git a/appstore/outline/0.85.0/envs/outline.env b/appstore/outline/0.85.1/envs/outline.env similarity index 100% rename from appstore/outline/0.85.0/envs/outline.env rename to appstore/outline/0.85.1/envs/outline.env diff --git a/appstore/outline/0.85.0/scripts/init.sh b/appstore/outline/0.85.1/scripts/init.sh similarity index 100% rename from appstore/outline/0.85.0/scripts/init.sh rename to appstore/outline/0.85.1/scripts/init.sh diff --git a/appstore/outline/0.85.0/scripts/uninstall.sh b/appstore/outline/0.85.1/scripts/uninstall.sh similarity index 100% rename from appstore/outline/0.85.0/scripts/uninstall.sh rename to appstore/outline/0.85.1/scripts/uninstall.sh diff --git a/appstore/outline/0.85.0/scripts/upgrade.sh b/appstore/outline/0.85.1/scripts/upgrade.sh similarity index 100% rename from appstore/outline/0.85.0/scripts/upgrade.sh rename to appstore/outline/0.85.1/scripts/upgrade.sh diff --git a/appstore/peer-ban-helper/7.4.15/.env b/appstore/peer-ban-helper/7.4.15/.env new file mode 100644 index 000000000..27fe51e2e --- /dev/null +++ b/appstore/peer-ban-helper/7.4.15/.env @@ -0,0 +1,9 @@ +# 网络模式 [必填] +NETWORK_MODE=1panel-network + +# 数据持久化路径 [必填] +PEERBANHELPER_ROOT_PATH=/home/peerbanhelper + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=9898 + diff --git a/appstore/peer-ban-helper/7.4.15/data.yml b/appstore/peer-ban-helper/7.4.15/data.yml new file mode 100644 index 000000000..b13f18729 --- /dev/null +++ b/appstore/peer-ban-helper/7.4.15/data.yml @@ -0,0 +1,33 @@ +additionalProperties: + formFields: + - default: "1panel-network" + edit: true + envKey: NETWORK_MODE + labelZh: 网络模式 + labelEn: Network mode + required: true + type: select + values: + - label: 主机网络模式 + value: "host" + - label: 桥接网络模式 + value: "bridge" + - label: 无网络模式 + value: "none" + - label: 1panel-network + value: "1panel-network" + - default: "/home/peerbanhelper" + edit: true + envKey: PEERBANHELPER_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 9898 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number diff --git a/appstore/peer-ban-helper/7.4.15/docker-compose.yml b/appstore/peer-ban-helper/7.4.15/docker-compose.yml new file mode 100644 index 000000000..f8f449132 --- /dev/null +++ b/appstore/peer-ban-helper/7.4.15/docker-compose.yml @@ -0,0 +1,22 @@ +networks: + 1panel-network: + external: true +services: + peerbanhelper: + container_name: peer-ban-helper + env_file: + - ./envs/global.env + - .env + environment: + - PUID=0 + - PGID=0 + - TZ=Asia/Shanghai + image: ghostchu/peerbanhelper:v7.4.15 + labels: + createdBy: Apps + network_mode: ${NETWORK_MODE:-host} + ports: + - ${PANEL_APP_PORT_HTTP}:9898 + restart: always + volumes: + - ${PEERBANHELPER_ROOT_PATH}/app:/app/data diff --git a/appstore/peer-ban-helper/7.4.15/envs/default.env b/appstore/peer-ban-helper/7.4.15/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/peer-ban-helper/7.4.15/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/peer-ban-helper/7.4.15/envs/global.env b/appstore/peer-ban-helper/7.4.15/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/peer-ban-helper/7.4.15/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/peer-ban-helper/7.4.15/scripts/init.sh b/appstore/peer-ban-helper/7.4.15/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/peer-ban-helper/7.4.15/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/peer-ban-helper/7.4.15/scripts/uninstall.sh b/appstore/peer-ban-helper/7.4.15/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/peer-ban-helper/7.4.15/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/peer-ban-helper/7.4.15/scripts/upgrade.sh b/appstore/peer-ban-helper/7.4.15/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/peer-ban-helper/7.4.15/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/peer-ban-helper/README.md b/appstore/peer-ban-helper/README.md new file mode 100644 index 000000000..82a9b6794 --- /dev/null +++ b/appstore/peer-ban-helper/README.md @@ -0,0 +1,41 @@ +# PeerBanHelper + +PeerBanHelper 是一个开放源代码的个人网络防火墙安全软件 + +![PeerBanHelper](https://file.lifebus.top/imgs/peerbanhelper_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 安装说明 + +所有安装在 Docker 中的下载器,必须使用 host 网络驱动程序。PBH 需要下载器能获得 Peer 的真实 IP,不能使用 bridge 桥接模式! + ++ qBittorrent/qBitorrent,4.5.0 或更高版本,不支持 XDown ++ BiglyBT(需要安装插件) ++ Deluge(需要安装插件) ++ Transmission (4.1.0-beta2 或更高版本) ++ BitComet v2.10 Beta6 [20240928] 或更高版本 (不支持 P2SP LTSeed 长效种子反吸血,因为 BitComet 暂时无法封禁长效连接) + +PeerBanHelper 仅支持对传统 IPv4 或 IPv6 地址的反吸血,如遇 I2P 或者 Tor 连接将主动忽略。 + +## 简介 + +PeerBanHelper 是一个开放源代码的个人网络防火墙安全软件。通过连接支持的应用程序(如:BitTorrent 客户端软件)的 Web API +接口获取受保护应用的连接信息,识别其中可能包含潜在安全威胁的连接并通知对应的应用程序主动断开其连接。 + +## 特性 + ++ PeerID 黑名单 ++ Client Name 黑名单 ++ IP/GeoIP/IP 类型 黑名单 ++ 虚假进度检查器(提供启发式客户端检测功能) ++ 自动连锁封禁 ++ 多拨追猎 ++ Peer ID/Client Name 伪装检查;通过 AviatorScript 引擎 实现 ++ 主动监测(提供本地数据分析功能) ++ 网络 IP 集规则订阅 ++ WebUI (目前支持:活跃封禁名单查看,历史封禁查询,封禁最频繁的 Top 50 IP,规则订阅管理,图表查看,Peer 列表查看) + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/peer-ban-helper/data.yml b/appstore/peer-ban-helper/data.yml new file mode 100644 index 000000000..d0fe79d7a --- /dev/null +++ b/appstore/peer-ban-helper/data.yml @@ -0,0 +1,15 @@ +additionalProperties: + key: peer-ban-helper + name: PeerBanHelper + tags: + - WebSite + - Tool + - Local + shortDescZh: BT 反吸血工具 + shortDescEn: BT Anti-Siphon Tool + type: website + crossVersionUpdate: true + limit: 0 + website: https://github.com/PBH-BTN/PeerBanHelper/ + github: https://github.com/PBH-BTN/PeerBanHelper/ + document: https://github.com/PBH-BTN/PeerBanHelper/ diff --git a/appstore/peer-ban-helper/logo.png b/appstore/peer-ban-helper/logo.png new file mode 100644 index 000000000..b6bdcc08e Binary files /dev/null and b/appstore/peer-ban-helper/logo.png differ diff --git a/appstore/peer-ban-helper/logo.svg b/appstore/peer-ban-helper/logo.svg new file mode 100644 index 000000000..96a19a383 --- /dev/null +++ b/appstore/peer-ban-helper/logo.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + diff --git a/appstore/rustdesk-api/2.6.25/.env b/appstore/rustdesk-api/2.6.25/.env index 5e9e80c58..96a0fb5a5 100644 --- a/appstore/rustdesk-api/2.6.25/.env +++ b/appstore/rustdesk-api/2.6.25/.env @@ -1,11 +1,11 @@ # 数据持久化路径 [必填] RUSTDESK_API_ROOT_PATH=/home/rustdesk-api -# WebUI 端口 [必填] +# WebUI API 端口 [必填] PANEL_APP_PORT_HTTP=21114 -# 服务端口 21115 [必填] -PANEL_APP_PORT_SERVER_1=21115 +# NAT 服务端口 [必填] +PANEL_APP_PORT_NAT=21115 # ID 服务端口 [必填] PANEL_APP_PORT_ID=21116 @@ -13,11 +13,11 @@ PANEL_APP_PORT_ID=21116 # 中继服务端口 [必填] PANEL_APP_PORT_SERVER=21117 -# 服务端口 21118 [必填] -PANEL_APP_PORT_SERVER_2=21118 +# WebSocket API 服务端口 [必填] +PANEL_APP_PORT_API_WS=21118 -# 服务端口 21119 [必填] -PANEL_APP_PORT_SERVER_3=21119 +# WebSocket Server 服务端口 [必填] +PANEL_APP_PORT_SERVER_WS=21119 # RustDesk 中级服务地址 [必填] RUSTDESK_SERVER_URL=http://127.0.0.1:21117 @@ -37,6 +37,9 @@ RUSTDESK_API_RUSTDESK_KEY= # 登录有效期 [必填] RUSTDESK_API_APP_TOKEN_EXPIRE=168h +# 启用个人版API [必填] +RUSTDESK_API_RUSTDESK_PERSONAL=1 + # 启用 Web Client [必填] RUSTDESK_API_APP_WEB_CLIENT=1 diff --git a/appstore/rustdesk-api/2.6.25/conf/hbbr/run b/appstore/rustdesk-api/2.6.25/conf/hbbr/run index 7d6025653..55a0c25db 100644 --- a/appstore/rustdesk-api/2.6.25/conf/hbbr/run +++ b/appstore/rustdesk-api/2.6.25/conf/hbbr/run @@ -1,5 +1,5 @@ #!/command/with-contenv sh cd /data || exit PARAMS= -[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${KEY}" +[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${RUSTDESK_API_RUSTDESK_KEY}" /usr/bin/hbbr $PARAMS diff --git a/appstore/rustdesk-api/2.6.25/conf/hbbs/run b/appstore/rustdesk-api/2.6.25/conf/hbbs/run index 44cdd5261..d56d24690 100644 --- a/appstore/rustdesk-api/2.6.25/conf/hbbs/run +++ b/appstore/rustdesk-api/2.6.25/conf/hbbs/run @@ -2,5 +2,5 @@ sleep 2 cd /data PARAMS= -[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${KEY}" +[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${RUSTDESK_API_RUSTDESK_KEY}" /usr/bin/hbbs -r $RELAY $PARAMS diff --git a/appstore/rustdesk-api/2.6.25/data.yml b/appstore/rustdesk-api/2.6.25/data.yml index 85393a6bd..70944138b 100644 --- a/appstore/rustdesk-api/2.6.25/data.yml +++ b/appstore/rustdesk-api/2.6.25/data.yml @@ -10,16 +10,16 @@ additionalProperties: - default: 21114 edit: true envKey: PANEL_APP_PORT_HTTP - labelZh: WebUI 端口 - labelEn: WebUI port + labelZh: WebUI API 端口 + labelEn: WebUI API port required: true rule: paramPort type: number - default: 21115 edit: true - envKey: PANEL_APP_PORT_SERVER_1 - labelZh: 服务端口 21115 - labelEn: 服务端口 21115 + envKey: PANEL_APP_PORT_NAT + labelZh: NAT 服务端口 + labelEn: NAT Server Port required: true rule: paramPort type: number @@ -41,17 +41,17 @@ additionalProperties: type: number - default: 21118 edit: true - envKey: PANEL_APP_PORT_SERVER_2 - labelZh: 服务端口 21118 - labelEn: Server Port 21118 + envKey: PANEL_APP_PORT_API_WS + labelZh: WebSocket API 服务端口 + labelEn: WebSocket API Service Port required: true rule: paramPort type: number - default: 21119 edit: true - envKey: PANEL_APP_PORT_SERVER_3 - labelZh: 服务端口 21119 - labelEn: Server Port 21119 + envKey: PANEL_APP_PORT_SERVER_WS + labelZh: WebSocket Server 服务端口 + labelEn: WebSocket Server Service Port required: true rule: paramPort type: number @@ -97,6 +97,18 @@ additionalProperties: labelEn: Login validity period required: true type: text + - default: "1" + edit: true + envKey: RUSTDESK_API_RUSTDESK_PERSONAL + labelZh: 启用个人版API + labelEn: Enable personal API + required: true + type: select + values: + - label: 启用 + value: "1" + - label: 禁用 + value: "0" - default: "1" edit: true envKey: RUSTDESK_API_APP_WEB_CLIENT diff --git a/appstore/rustdesk-api/2.6.25/docker-compose.yml b/appstore/rustdesk-api/2.6.25/docker-compose.yml index 490a9d74c..726b7634e 100644 --- a/appstore/rustdesk-api/2.6.25/docker-compose.yml +++ b/appstore/rustdesk-api/2.6.25/docker-compose.yml @@ -36,12 +36,12 @@ services: networks: - 1panel-network ports: - - ${PANEL_APP_PORT_SERVER_1}:21115 + - ${PANEL_APP_PORT_NAT}:21115 - ${PANEL_APP_PORT_ID}:21116 - ${PANEL_APP_PORT_ID}:21116/udp - ${PANEL_APP_PORT_SERVER}:21117 - - ${PANEL_APP_PORT_SERVER_2}:21118 - - ${PANEL_APP_PORT_SERVER_3}:21119 + - ${PANEL_APP_PORT_API_WS}:21118 + - ${PANEL_APP_PORT_SERVER_WS}:21119 restart: always volumes: - ${RUSTDESK_API_ROOT_PATH}/server-data:/data diff --git a/appstore/rustdesk-api/s6-latest/.env b/appstore/rustdesk-api/s6-latest/.env new file mode 100644 index 000000000..057e9b006 --- /dev/null +++ b/appstore/rustdesk-api/s6-latest/.env @@ -0,0 +1,75 @@ +# 数据持久化路径 [必填] +RUSTDESK_API_ROOT_PATH=/home/rustdesk-api + +# WebUI API 端口 [必填] +PANEL_APP_PORT_HTTP=21114 + +# NAT 测试服务端口 [必填] +PANEL_APP_PORT_NAT=21115 + +# ID 服务端口 [必填] +PANEL_APP_PORT_ID=21116 + +# 中继服务端口 [必填] +PANEL_APP_PORT_SERVER=21117 + +# WebSocket API 服务端口 [必填] +PANEL_APP_PORT_API_WS=21118 + +# WebSocket Server 服务端口 [必填] +PANEL_APP_PORT_SERVER_WS=21119 + +# RustDesk 中级服务地址 [必填] +RUSTDESK_SERVER_URL=http://127.0.0.1:21117 + +# RustDesk ID 服务地址 [必填] +RUSTDESK_API_RUSTDESK_ID_SERVER=http://127.0.0.1:21116 + +# RustDesk API 服务地址 [必填] +RUSTDESK_API_RUSTDESK_API_SERVER=http://127.0.0.1:21114 + +# 后台页面标题 [必填] +RUSTDESK_API_ADMIN_TITLE=RustDesk API Admin + +# RustDesk API 密钥 [必填] +RUSTDESK_API_RUSTDESK_KEY= + +# 登录有效期 [必填] +RUSTDESK_API_APP_TOKEN_EXPIRE=168h + +# 启用个人版API [必填] +RUSTDESK_API_RUSTDESK_PERSONAL=1 + +# 启用 Web Client [必填] +RUSTDESK_API_APP_WEB_CLIENT=1 + +# 开启 Swagger 文档 [必填] +RUSTDESK_API_APP_SHOW_SWAGGER=1 + +# 启用注册 [必填] +RUSTDESK_API_APP_REGISTER=false + +# 登录策略 [必填] +RUSTDESK_API_APP_DISABLE_PWD_LOGIN=false + +# 启用代理 [必填] +RUSTDESK_API_PROXY_ENABLE=false + +# 代理地址 +RUSTDESK_API_PROXY_HOST= + +# 数据库类型 [必填] +RUSTDESK_API_GORM_TYPE=sqlite + +# 数据库地址 +RUSTDESK_API_MYSQL_ADDR=127.0.0.1:3306 + +# 数据库 名称 +RUSTDESK_API_MYSQL_DBNAME=rustdesk + +# 数据库 用户名 +RUSTDESK_API_MYSQL_USERNAME=rustdesk + +# 数据库 密码 +RUSTDESK_API_MYSQL_PASSWORD= + diff --git a/appstore/rustdesk-api/s6-latest/conf/hbbr/run b/appstore/rustdesk-api/s6-latest/conf/hbbr/run new file mode 100644 index 000000000..55a0c25db --- /dev/null +++ b/appstore/rustdesk-api/s6-latest/conf/hbbr/run @@ -0,0 +1,5 @@ +#!/command/with-contenv sh +cd /data || exit +PARAMS= +[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${RUSTDESK_API_RUSTDESK_KEY}" +/usr/bin/hbbr $PARAMS diff --git a/appstore/rustdesk-api/s6-latest/conf/hbbs/run b/appstore/rustdesk-api/s6-latest/conf/hbbs/run new file mode 100644 index 000000000..d56d24690 --- /dev/null +++ b/appstore/rustdesk-api/s6-latest/conf/hbbs/run @@ -0,0 +1,6 @@ +#!/command/with-contenv sh +sleep 2 +cd /data +PARAMS= +[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${RUSTDESK_API_RUSTDESK_KEY}" +/usr/bin/hbbs -r $RELAY $PARAMS diff --git a/appstore/rustdesk-api/s6-latest/data.yml b/appstore/rustdesk-api/s6-latest/data.yml new file mode 100644 index 000000000..2dfdced5b --- /dev/null +++ b/appstore/rustdesk-api/s6-latest/data.yml @@ -0,0 +1,220 @@ +additionalProperties: + formFields: + - default: "/home/rustdesk-api" + edit: true + envKey: RUSTDESK_API_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 21114 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI API 端口 + labelEn: WebUI API port + required: true + rule: paramPort + type: number + - default: 21115 + edit: true + envKey: PANEL_APP_PORT_NAT + labelZh: NAT 测试服务端口 + labelEn: NAT Test Server Port + required: true + rule: paramPort + type: number + - default: 21116 + edit: true + envKey: PANEL_APP_PORT_ID + labelZh: ID 服务端口 + labelEn: ID Server Port + required: true + rule: paramPort + type: number + - default: 21117 + edit: true + envKey: PANEL_APP_PORT_SERVER + labelZh: 中继服务端口 + labelEn: Intermediate Service Port + required: true + rule: paramPort + type: number + - default: 21118 + edit: true + envKey: PANEL_APP_PORT_API_WS + labelZh: WebSocket API 服务端口 + labelEn: WebSocket API Service Port + required: true + rule: paramPort + type: number + - default: 21119 + edit: true + envKey: PANEL_APP_PORT_SERVER_WS + labelZh: WebSocket Server 服务端口 + labelEn: WebSocket Server Service Port + required: true + rule: paramPort + type: number + - default: "http://127.0.0.1:21117" + edit: true + envKey: RUSTDESK_SERVER_URL + labelZh: RustDesk 中级服务地址 + labelEn: RustDesk Intermediate service address + required: true + type: text + - default: "http://127.0.0.1:21116" + edit: true + envKey: RUSTDESK_API_RUSTDESK_ID_SERVER + labelZh: RustDesk ID 服务地址 + labelEn: RustDesk ID server address + required: true + type: text + - default: "http://127.0.0.1:21114" + edit: true + envKey: RUSTDESK_API_RUSTDESK_API_SERVER + labelZh: RustDesk API 服务地址 + labelEn: RustDesk API server address + required: true + type: text + - default: "RustDesk API Admin" + edit: true + envKey: RUSTDESK_API_ADMIN_TITLE + labelZh: 后台页面标题 + labelEn: Admin page title + required: true + type: text + - default: "" + edit: true + envKey: RUSTDESK_API_RUSTDESK_KEY + labelZh: RustDesk API 密钥 + labelEn: RustDesk API key + required: true + type: password + - default: "168h" + edit: true + envKey: RUSTDESK_API_APP_TOKEN_EXPIRE + labelZh: 登录有效期 + labelEn: Login validity period + required: true + type: text + - default: "1" + edit: true + envKey: RUSTDESK_API_RUSTDESK_PERSONAL + labelZh: 启用个人版API + labelEn: Enable personal API + required: true + type: select + values: + - label: 启用 + value: "1" + - label: 禁用 + value: "0" + - default: "1" + edit: true + envKey: RUSTDESK_API_APP_WEB_CLIENT + labelZh: 启用 Web Client + labelEn: Enable Web Client + required: true + type: select + values: + - label: 启用 + value: "1" + - label: 禁用 + value: "0" + - default: "1" + edit: true + envKey: RUSTDESK_API_APP_SHOW_SWAGGER + labelZh: 开启 Swagger 文档 + labelEn: Enable Swagger docs + required: true + type: select + values: + - label: 启用 + value: "1" + - label: 禁用 + value: "0" + - default: "false" + edit: true + envKey: RUSTDESK_API_APP_REGISTER + labelZh: 启用注册 + labelEn: Enable register + required: true + type: select + values: + - label: 启用 + value: "true" + - label: 禁用 + value: "false" + - default: "false" + edit: true + envKey: RUSTDESK_API_APP_DISABLE_PWD_LOGIN + labelZh: 登录策略 + labelEn: Login strategy + required: true + type: select + values: + - label: 禁用密码登录 + value: "true" + - label: 允许密码登录 + value: "false" + - default: "false" + edit: true + envKey: RUSTDESK_API_PROXY_ENABLE + labelZh: 启用代理 + labelEn: Enable proxy + required: true + type: select + values: + - label: 启用 + value: "true" + - label: 禁用 + value: "false" + - default: "" + edit: true + envKey: RUSTDESK_API_PROXY_HOST + labelZh: 代理地址 + labelEn: Proxy address + required: false + type: text + - default: "sqlite" + edit: true + envKey: RUSTDESK_API_GORM_TYPE + labelZh: 数据库类型 + labelEn: Database type + required: true + type: select + values: + - label: sqlite + value: "sqlite" + - label: MySQL + value: "mysql" + - default: "127.0.0.1:3306" + edit: true + envKey: RUSTDESK_API_MYSQL_ADDR + labelZh: 数据库地址 + labelEn: Database Host + required: false + type: text + - default: "rustdesk" + edit: true + envKey: RUSTDESK_API_MYSQL_DBNAME + labelZh: 数据库 名称 + labelEn: Database Name + required: false + rule: paramCommon + type: text + - default: "rustdesk" + edit: true + envKey: RUSTDESK_API_MYSQL_USERNAME + labelZh: 数据库 用户名 + labelEn: Database Username + required: false + type: text + - default: "" + edit: true + envKey: RUSTDESK_API_MYSQL_PASSWORD + labelZh: 数据库 密码 + labelEn: Database Password + required: false + rule: paramComplexity + type: password diff --git a/appstore/rustdesk-api/s6-latest/docker-compose.yml b/appstore/rustdesk-api/s6-latest/docker-compose.yml new file mode 100644 index 000000000..3bc084b58 --- /dev/null +++ b/appstore/rustdesk-api/s6-latest/docker-compose.yml @@ -0,0 +1,40 @@ +networks: + 1panel-network: + external: true +services: + rustdesk: + container_name: rustdesk-api + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - RUSTDESK_API_LANG=zh-CN + image: lejianwen/rustdesk-server-s6:latest + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:21114 + - ${PANEL_APP_PORT_NAT}:21115 + - ${PANEL_APP_PORT_ID}:21116 + - ${PANEL_APP_PORT_ID}:21116/udp + - ${PANEL_APP_PORT_SERVER}:21117 + - ${PANEL_APP_PORT_API_WS}:21118 + - ${PANEL_APP_PORT_SERVER_WS}:21119 + restart: always + volumes: + - ${RUSTDESK_API_ROOT_PATH}/api-data:/app/data + rustdesk-server-s6: + environment: + - TZ=Asia/Shanghai + - MUST_LOGIN=N + - ENCRYPTED_ONLY=1 + - RUSTDESK_API_LANG=zh-CN + - RELAY=${RUSTDESK_SERVER_URL} + volumes: + - ${RUSTDESK_API_ROOT_PATH}/server-data:/data + - ${RUSTDESK_API_ROOT_PATH}/api-data:/app/data + - ${HBBR_RUN_FILE:-./conf/hbbr/run}:/etc/s6-overlay/s6-rc.d/hbbr/run + - ${HBBS_RUN_FILE:-./conf/hbbs/run}:/etc/s6-overlay/s6-rc.d/hbbs/run diff --git a/appstore/rustdesk-api/s6-latest/envs/default.env b/appstore/rustdesk-api/s6-latest/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/rustdesk-api/s6-latest/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/rustdesk-api/s6-latest/envs/global.env b/appstore/rustdesk-api/s6-latest/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/rustdesk-api/s6-latest/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/rustdesk-api/s6-latest/scripts/init.sh b/appstore/rustdesk-api/s6-latest/scripts/init.sh new file mode 100644 index 000000000..b7348b2f5 --- /dev/null +++ b/appstore/rustdesk-api/s6-latest/scripts/init.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + echo "HBBR_RUN_FILE=${CURRENT_DIR}/conf/hbbr/run" >> .env + echo "HBBS_RUN_FILE=${CURRENT_DIR}/conf/hbbs/run" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/rustdesk-api/s6-latest/scripts/uninstall.sh b/appstore/rustdesk-api/s6-latest/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/rustdesk-api/s6-latest/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/rustdesk-api/s6-latest/scripts/upgrade.sh b/appstore/rustdesk-api/s6-latest/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/rustdesk-api/s6-latest/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/dockge/outline/docker-compose.yml b/dockge/outline/docker-compose.yml index a7e545dda..4c6a9ad5b 100644 --- a/dockge/outline/docker-compose.yml +++ b/dockge/outline/docker-compose.yml @@ -10,7 +10,7 @@ services: - .env environment: - DATABASE_URL=postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: outlinewiki/outline:0.85.0 + image: outlinewiki/outline:0.85.1 labels: createdBy: Apps networks: diff --git a/dockge/peer-ban-helper/.env b/dockge/peer-ban-helper/.env new file mode 100644 index 000000000..27fe51e2e --- /dev/null +++ b/dockge/peer-ban-helper/.env @@ -0,0 +1,9 @@ +# 网络模式 [必填] +NETWORK_MODE=1panel-network + +# 数据持久化路径 [必填] +PEERBANHELPER_ROOT_PATH=/home/peerbanhelper + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=9898 + diff --git a/dockge/peer-ban-helper/docker-compose.yml b/dockge/peer-ban-helper/docker-compose.yml new file mode 100644 index 000000000..f8f449132 --- /dev/null +++ b/dockge/peer-ban-helper/docker-compose.yml @@ -0,0 +1,22 @@ +networks: + 1panel-network: + external: true +services: + peerbanhelper: + container_name: peer-ban-helper + env_file: + - ./envs/global.env + - .env + environment: + - PUID=0 + - PGID=0 + - TZ=Asia/Shanghai + image: ghostchu/peerbanhelper:v7.4.15 + labels: + createdBy: Apps + network_mode: ${NETWORK_MODE:-host} + ports: + - ${PANEL_APP_PORT_HTTP}:9898 + restart: always + volumes: + - ${PEERBANHELPER_ROOT_PATH}/app:/app/data diff --git a/dockge/peer-ban-helper/envs/default.env b/dockge/peer-ban-helper/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/peer-ban-helper/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/peer-ban-helper/envs/global.env b/dockge/peer-ban-helper/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/peer-ban-helper/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/rustdesk-api/.env b/dockge/rustdesk-api/.env index 5e9e80c58..96a0fb5a5 100644 --- a/dockge/rustdesk-api/.env +++ b/dockge/rustdesk-api/.env @@ -1,11 +1,11 @@ # 数据持久化路径 [必填] RUSTDESK_API_ROOT_PATH=/home/rustdesk-api -# WebUI 端口 [必填] +# WebUI API 端口 [必填] PANEL_APP_PORT_HTTP=21114 -# 服务端口 21115 [必填] -PANEL_APP_PORT_SERVER_1=21115 +# NAT 服务端口 [必填] +PANEL_APP_PORT_NAT=21115 # ID 服务端口 [必填] PANEL_APP_PORT_ID=21116 @@ -13,11 +13,11 @@ PANEL_APP_PORT_ID=21116 # 中继服务端口 [必填] PANEL_APP_PORT_SERVER=21117 -# 服务端口 21118 [必填] -PANEL_APP_PORT_SERVER_2=21118 +# WebSocket API 服务端口 [必填] +PANEL_APP_PORT_API_WS=21118 -# 服务端口 21119 [必填] -PANEL_APP_PORT_SERVER_3=21119 +# WebSocket Server 服务端口 [必填] +PANEL_APP_PORT_SERVER_WS=21119 # RustDesk 中级服务地址 [必填] RUSTDESK_SERVER_URL=http://127.0.0.1:21117 @@ -37,6 +37,9 @@ RUSTDESK_API_RUSTDESK_KEY= # 登录有效期 [必填] RUSTDESK_API_APP_TOKEN_EXPIRE=168h +# 启用个人版API [必填] +RUSTDESK_API_RUSTDESK_PERSONAL=1 + # 启用 Web Client [必填] RUSTDESK_API_APP_WEB_CLIENT=1 diff --git a/dockge/rustdesk-api/conf/hbbr/run b/dockge/rustdesk-api/conf/hbbr/run index 7d6025653..55a0c25db 100644 --- a/dockge/rustdesk-api/conf/hbbr/run +++ b/dockge/rustdesk-api/conf/hbbr/run @@ -1,5 +1,5 @@ #!/command/with-contenv sh cd /data || exit PARAMS= -[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${KEY}" +[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${RUSTDESK_API_RUSTDESK_KEY}" /usr/bin/hbbr $PARAMS diff --git a/dockge/rustdesk-api/conf/hbbs/run b/dockge/rustdesk-api/conf/hbbs/run index 44cdd5261..d56d24690 100644 --- a/dockge/rustdesk-api/conf/hbbs/run +++ b/dockge/rustdesk-api/conf/hbbs/run @@ -2,5 +2,5 @@ sleep 2 cd /data PARAMS= -[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${KEY}" +[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${RUSTDESK_API_RUSTDESK_KEY}" /usr/bin/hbbs -r $RELAY $PARAMS diff --git a/dockge/rustdesk-api/docker-compose.yml b/dockge/rustdesk-api/docker-compose.yml index 490a9d74c..726b7634e 100644 --- a/dockge/rustdesk-api/docker-compose.yml +++ b/dockge/rustdesk-api/docker-compose.yml @@ -36,12 +36,12 @@ services: networks: - 1panel-network ports: - - ${PANEL_APP_PORT_SERVER_1}:21115 + - ${PANEL_APP_PORT_NAT}:21115 - ${PANEL_APP_PORT_ID}:21116 - ${PANEL_APP_PORT_ID}:21116/udp - ${PANEL_APP_PORT_SERVER}:21117 - - ${PANEL_APP_PORT_SERVER_2}:21118 - - ${PANEL_APP_PORT_SERVER_3}:21119 + - ${PANEL_APP_PORT_API_WS}:21118 + - ${PANEL_APP_PORT_SERVER_WS}:21119 restart: always volumes: - ${RUSTDESK_API_ROOT_PATH}/server-data:/data diff --git a/dockge/rustdesk-api_s6-latest/.env b/dockge/rustdesk-api_s6-latest/.env new file mode 100644 index 000000000..057e9b006 --- /dev/null +++ b/dockge/rustdesk-api_s6-latest/.env @@ -0,0 +1,75 @@ +# 数据持久化路径 [必填] +RUSTDESK_API_ROOT_PATH=/home/rustdesk-api + +# WebUI API 端口 [必填] +PANEL_APP_PORT_HTTP=21114 + +# NAT 测试服务端口 [必填] +PANEL_APP_PORT_NAT=21115 + +# ID 服务端口 [必填] +PANEL_APP_PORT_ID=21116 + +# 中继服务端口 [必填] +PANEL_APP_PORT_SERVER=21117 + +# WebSocket API 服务端口 [必填] +PANEL_APP_PORT_API_WS=21118 + +# WebSocket Server 服务端口 [必填] +PANEL_APP_PORT_SERVER_WS=21119 + +# RustDesk 中级服务地址 [必填] +RUSTDESK_SERVER_URL=http://127.0.0.1:21117 + +# RustDesk ID 服务地址 [必填] +RUSTDESK_API_RUSTDESK_ID_SERVER=http://127.0.0.1:21116 + +# RustDesk API 服务地址 [必填] +RUSTDESK_API_RUSTDESK_API_SERVER=http://127.0.0.1:21114 + +# 后台页面标题 [必填] +RUSTDESK_API_ADMIN_TITLE=RustDesk API Admin + +# RustDesk API 密钥 [必填] +RUSTDESK_API_RUSTDESK_KEY= + +# 登录有效期 [必填] +RUSTDESK_API_APP_TOKEN_EXPIRE=168h + +# 启用个人版API [必填] +RUSTDESK_API_RUSTDESK_PERSONAL=1 + +# 启用 Web Client [必填] +RUSTDESK_API_APP_WEB_CLIENT=1 + +# 开启 Swagger 文档 [必填] +RUSTDESK_API_APP_SHOW_SWAGGER=1 + +# 启用注册 [必填] +RUSTDESK_API_APP_REGISTER=false + +# 登录策略 [必填] +RUSTDESK_API_APP_DISABLE_PWD_LOGIN=false + +# 启用代理 [必填] +RUSTDESK_API_PROXY_ENABLE=false + +# 代理地址 +RUSTDESK_API_PROXY_HOST= + +# 数据库类型 [必填] +RUSTDESK_API_GORM_TYPE=sqlite + +# 数据库地址 +RUSTDESK_API_MYSQL_ADDR=127.0.0.1:3306 + +# 数据库 名称 +RUSTDESK_API_MYSQL_DBNAME=rustdesk + +# 数据库 用户名 +RUSTDESK_API_MYSQL_USERNAME=rustdesk + +# 数据库 密码 +RUSTDESK_API_MYSQL_PASSWORD= + diff --git a/dockge/rustdesk-api_s6-latest/conf/hbbr/run b/dockge/rustdesk-api_s6-latest/conf/hbbr/run new file mode 100644 index 000000000..55a0c25db --- /dev/null +++ b/dockge/rustdesk-api_s6-latest/conf/hbbr/run @@ -0,0 +1,5 @@ +#!/command/with-contenv sh +cd /data || exit +PARAMS= +[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${RUSTDESK_API_RUSTDESK_KEY}" +/usr/bin/hbbr $PARAMS diff --git a/dockge/rustdesk-api_s6-latest/conf/hbbs/run b/dockge/rustdesk-api_s6-latest/conf/hbbs/run new file mode 100644 index 000000000..d56d24690 --- /dev/null +++ b/dockge/rustdesk-api_s6-latest/conf/hbbs/run @@ -0,0 +1,6 @@ +#!/command/with-contenv sh +sleep 2 +cd /data +PARAMS= +[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${RUSTDESK_API_RUSTDESK_KEY}" +/usr/bin/hbbs -r $RELAY $PARAMS diff --git a/dockge/rustdesk-api_s6-latest/docker-compose.yml b/dockge/rustdesk-api_s6-latest/docker-compose.yml new file mode 100644 index 000000000..3bc084b58 --- /dev/null +++ b/dockge/rustdesk-api_s6-latest/docker-compose.yml @@ -0,0 +1,40 @@ +networks: + 1panel-network: + external: true +services: + rustdesk: + container_name: rustdesk-api + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - RUSTDESK_API_LANG=zh-CN + image: lejianwen/rustdesk-server-s6:latest + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:21114 + - ${PANEL_APP_PORT_NAT}:21115 + - ${PANEL_APP_PORT_ID}:21116 + - ${PANEL_APP_PORT_ID}:21116/udp + - ${PANEL_APP_PORT_SERVER}:21117 + - ${PANEL_APP_PORT_API_WS}:21118 + - ${PANEL_APP_PORT_SERVER_WS}:21119 + restart: always + volumes: + - ${RUSTDESK_API_ROOT_PATH}/api-data:/app/data + rustdesk-server-s6: + environment: + - TZ=Asia/Shanghai + - MUST_LOGIN=N + - ENCRYPTED_ONLY=1 + - RUSTDESK_API_LANG=zh-CN + - RELAY=${RUSTDESK_SERVER_URL} + volumes: + - ${RUSTDESK_API_ROOT_PATH}/server-data:/data + - ${RUSTDESK_API_ROOT_PATH}/api-data:/app/data + - ${HBBR_RUN_FILE:-./conf/hbbr/run}:/etc/s6-overlay/s6-rc.d/hbbr/run + - ${HBBS_RUN_FILE:-./conf/hbbs/run}:/etc/s6-overlay/s6-rc.d/hbbs/run diff --git a/dockge/rustdesk-api_s6-latest/envs/default.env b/dockge/rustdesk-api_s6-latest/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/rustdesk-api_s6-latest/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/rustdesk-api_s6-latest/envs/global.env b/dockge/rustdesk-api_s6-latest/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/rustdesk-api_s6-latest/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai