diff --git a/apps/alist-encrypt/README.md b/apps/alist-encrypt/README.md new file mode 100644 index 00000000..ae37a1a3 --- /dev/null +++ b/apps/alist-encrypt/README.md @@ -0,0 +1,23 @@ +# Alist-encrypt + +这个项目主要是对 alist 的服务进行代理,提供 webdav 的加解密功能。支持 alist 网页在线播放加密的视频,查看加密的图片等功能,同时在 webdav 下的操作透明,自动实现文件资源的加解密。 + + +## 使用说明 + +启动后就打开代理服务器地址 `http://ip:端口/public/index.html` 即可进入配置页面,`账号 admin,密码默认 123456`。 + +配置后之后,打开`http://ip:端口` 即可访问到 alist 的服务了。 + +对于路径的设置,目前是支持正则表达式的,推荐表达式例如: movie_encrypt/\* ,这样的话所有的 movie_encrypt 目录的文件都会被加密传输。 + + +## 需求背景 + +AList 是一个支持多种存储、云网盘,支持网页浏览和提供 WebDAV 服务的应用程序。最近的阿里云盘很火,因为不限速,所以不少人使用阿里云盘配合 alist 当做个人的影院,随时在线观看视频。 + +国内的云盘有很多,除了阿里云盘还有天翼云盘也是不限速的,但是几乎都存在一个问题,敏感资源会被删除,相信很多人经历文件被删除掉的噩梦。那么有没有什么办法可以避免这样的问题呢,最简单的方案就是加密后上传。那么就有大局限性,不能实时在线播放视频,当然也有一些方案可以做到。加密后的文件分享也存在一定的不方便(密码不方便对外提供,本项目会有密码替身可以提供外部使用)。 + +Alist-encrypt 就是为了解决这个问题,它可以在网页中上传文件,也可以结合 webdav 服务器进行使用。在文件上传的时候进行加密,文件下载的时候进行解密,由于使用的是流加密方案,所以可以很轻松实现在线播放已加密的视频,浏览图片、文件等。目前主流的方案都是使用 alist 来实现网盘 webdav 的服务,所以 Alist-encrypt 支持 alist 服务,并且优先支持它的适配,支持网页版在线播放视频等功能。 + +关于这个项目的使用场景,对文件安全隐私有一定的需求,防止云盘扫描删除,有实时播放视频和下载的需求。 \ No newline at end of file diff --git a/apps/alist-encrypt/beta/.env.sample b/apps/alist-encrypt/beta/.env.sample new file mode 100644 index 00000000..8ea18954 --- /dev/null +++ b/apps/alist-encrypt/beta/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME="alist-encrypt" +PANEL_APP_PORT_HTTP="40218" +DATA_PATH="./data" +ALIST_HOST="192.168.31.254:5254" +TIME_ZONE="Asia/Shanghai" diff --git a/apps/alist-encrypt/beta/data.yml b/apps/alist-encrypt/beta/data.yml new file mode 100644 index 00000000..99e03327 --- /dev/null +++ b/apps/alist-encrypt/beta/data.yml @@ -0,0 +1,31 @@ +additionalProperties: + formFields: + - default: 40218 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: ./data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text + - default: '192.168.31.254:5254' + edit: true + envKey: ALIST_HOST + labelEn: Alist Service Address + labelZh: Alist 服务地址 + required: true + type: text + - default: Asia/Shanghai + edit: true + envKey: TIME_ZONE + labelEn: Time zone + labelZh: 时区 + required: true + type: text diff --git a/apps/alist-encrypt/beta/docker-compose.yml b/apps/alist-encrypt/beta/docker-compose.yml new file mode 100644 index 00000000..a46f939c --- /dev/null +++ b/apps/alist-encrypt/beta/docker-compose.yml @@ -0,0 +1,21 @@ +version: '3' +services: + alist-encrypt: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:5344" + volumes: + - "${DATA_PATH}:/node-proxy/conf" + environment: + - TZ=${TIME_ZONE} + - ALIST_HOST=${ALIST_HOST} + image: prophet310/alist-encrypt:beta + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/alist-encrypt/data.yml b/apps/alist-encrypt/data.yml new file mode 100644 index 00000000..b5546136 --- /dev/null +++ b/apps/alist-encrypt/data.yml @@ -0,0 +1,19 @@ +name: Alist-encrypt +tags: + - 工具 +title: 对 Alist 的服务提供 webdav 的加解密功能 +description: 对 Alist 的服务提供 webdav 的加解密功能 +additionalProperties: + key: alist-encrypt + name: Alist-encrypt + tags: + - Tool + shortDescZh: 对 Alist 的服务提供 webdav 的加解密功能 + shortDescEn: Provides webdav encryption and decryption for Alist's services + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://github.com/traceless/alist-encrypt + github: https://github.com/traceless/alist-encrypt + document: https://github.com/traceless/alist-encrypt diff --git a/apps/alist-encrypt/logo.png b/apps/alist-encrypt/logo.png new file mode 100644 index 00000000..7330612a Binary files /dev/null and b/apps/alist-encrypt/logo.png differ