diff --git a/apps/aliyundrive-webdav/README.md b/apps/aliyundrive-webdav/README.md new file mode 100644 index 00000000..8ba46a86 --- /dev/null +++ b/apps/aliyundrive-webdav/README.md @@ -0,0 +1,17 @@ +# aliyundrive-webdav + +[![GitHub Actions](https://github.com/messense/aliyundrive-webdav/workflows/CI/badge.svg)](https://github.com/messense/aliyundrive-webdav/actions?query=workflow%3ACI) +[![PyPI](https://img.shields.io/pypi/v/aliyundrive-webdav.svg)](https://pypi.org/project/aliyundrive-webdav) +[![Docker Image](https://img.shields.io/docker/pulls/messense/aliyundrive-webdav.svg?maxAge=2592000)](https://hub.docker.com/r/messense/aliyundrive-webdav/) +[![aliyundrive-webdav](https://snapcraft.io/aliyundrive-webdav/badge.svg)](https://snapcraft.io/aliyundrive-webdav) +[![Crates.io](https://img.shields.io/crates/v/aliyundrive-webdav.svg)](https://crates.io/crates/aliyundrive-webdav) + +> 🚀 Help me to become a full-time open-source developer by [sponsoring me on GitHub](https://github.com/sponsors/messense) + +阿里云盘 WebDAV 服务,主要使用场景为配合支持 WebDAV 协议的客户端 App 如 [Infuse](https://firecore.com/infuse)、[nPlayer](https://nplayer.com) +等实现在电视上直接观看云盘视频内容, 支持客户端 App 直接从阿里云盘获取文件播放而不经过运行本应用的服务器中转, 支持上传文件,但受限于 WebDAV 协议不支持文件秒传。 + +## 获取 refresh token + +* [通过在线工具获取 refresh token](https://messense-aliyundrive-webdav-backendrefresh-token-ucs0wn.streamlit.app/) +* 命令行运行 `aliyundrive-webdav qr login` 扫码授权后会输出 refresh token diff --git a/apps/aliyundrive-webdav/data.yml b/apps/aliyundrive-webdav/data.yml new file mode 100644 index 00000000..a548d50e --- /dev/null +++ b/apps/aliyundrive-webdav/data.yml @@ -0,0 +1,19 @@ +name: AliyunDrive WebDAV +tags: + - 云存储 +title: 阿里云盘 WebDAV 服务 +description: 阿里云盘 WebDAV 服务 +additionalProperties: + key: aliyundrive-webdav + name: AliyunDrive WebDAV + tags: + - Storage + shortDescZh: 阿里云盘 WebDAV 服务 + shortDescEn: AliyunDrive WebDAV Service + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://github.com/messense/aliyundrive-webdav + github: https://github.com/messense/aliyundrive-webdav + document: https://github.com/messense/aliyundrive-webdav diff --git a/apps/aliyundrive-webdav/logo.png b/apps/aliyundrive-webdav/logo.png new file mode 100644 index 00000000..9cec3e62 Binary files /dev/null and b/apps/aliyundrive-webdav/logo.png differ diff --git a/apps/aliyundrive-webdav/main/.env.sample b/apps/aliyundrive-webdav/main/.env.sample new file mode 100644 index 00000000..d3add210 --- /dev/null +++ b/apps/aliyundrive-webdav/main/.env.sample @@ -0,0 +1,6 @@ +CONTAINER_NAME="aliyundrive-webdav" +DATA_PATH="./data" +PANEL_APP_PORT_HTTP="40257" +REFRESH_TOKEN="your-refresh-token" +WEBDAV_AUTH_PASSWORD="password_123" +WEBDAV_AUTH_USER="admin_123" diff --git a/apps/aliyundrive-webdav/main/data.yml b/apps/aliyundrive-webdav/main/data.yml new file mode 100644 index 00000000..6cffec68 --- /dev/null +++ b/apps/aliyundrive-webdav/main/data.yml @@ -0,0 +1,42 @@ +additionalProperties: + formFields: + - default: 40257 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "./data" + edit: true + envKey: DATA_PATH + labelEn: Config Path + labelZh: 配置路径 + required: true + type: text + - default: "your-refresh-token" + edit: true + envKey: REFRESH_TOKEN + labelEn: Refresh Token + labelZh: 刷新令牌 + required: true + type: text + - default: "admin" + edit: true + envKey: WEBDAV_AUTH_USER + labelEn: WebDAV Username + labelZh: WebDAV 用户名 + random: true + required: true + rule: paramCommon + type: text + - default: "password" + edit: true + envKey: WEBDAV_AUTH_PASSWORD + labelEn: WebDAV Password + labelZh: WebDAV 密码 + random: true + required: true + rule: paramComplexity + type: password diff --git a/apps/aliyundrive-webdav/main/docker-compose.yml b/apps/aliyundrive-webdav/main/docker-compose.yml new file mode 100644 index 00000000..a82753fa --- /dev/null +++ b/apps/aliyundrive-webdav/main/docker-compose.yml @@ -0,0 +1,21 @@ +services: + aliyundrive-webdav: + image: "messense/aliyundrive-webdav:main" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8080" + volumes: + - ${DATA_PATH}:/etc/aliyundrive-webdav/ + environment: + - REFRESH_TOKEN=${REFRESH_TOKEN} + - WEBDAV_AUTH_USER=${WEBDAV_AUTH_USER} + - WEBDAV_AUTH_PASSWORD=${WEBDAV_AUTH_PASSWORD} + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true \ No newline at end of file