mirror of
https://github.com/okxlin/appstore.git
synced 2025-07-14 05:12:19 +08:00
feat:添加gowebdav到列表
This commit is contained in:
parent
21be3ab620
commit
4d2300c44a
52
apps/gowebdav/README.md
Normal file
52
apps/gowebdav/README.md
Normal file
@ -0,0 +1,52 @@
|
||||
# GoWebDAV
|
||||
|
||||
> 使用 WebDAV 分享本地文件,轻量、易于使用
|
||||
|
||||
[English](https://github.com/117503445/GoWebDAV/blob/master/README.md) | 简体中文
|
||||
|
||||
## 特性
|
||||
|
||||
- 基于 Golang 实现,性能高。
|
||||
|
||||
- 最终编译为单二进制文件,不需要 Apache 等环境,依赖少。
|
||||
|
||||
- 支持浏览器访问。
|
||||
|
||||
- 可以在同个端口下启用多个 WebDAV 服务,各自有不同的挂载目录、用户名密码。
|
||||
|
||||
- 良好的 Docker 支持。
|
||||
|
||||
## 安全
|
||||
|
||||
GoWebDAV 使用 HTTP Basic Auth 进行验证,账号密码未经加密,毫无安全性可言。如果涉及重要文件、重要密码,请务必用 Nginx 或 Traefik 等代理服务器套一层 HTTPS。
|
||||
|
||||
GoWebDAV 目前没有直接支持 HTTPS 的计划,因为我认为 HTTPS 涉及域名、证书定期申请,这些工作都应当在上层代理服务器中完成。
|
||||
|
||||
## 使用
|
||||
|
||||
```sh
|
||||
./gowebdav --help # 查看帮助
|
||||
|
||||
./gowebdav --addr 127.0.0.1 # 在 127.0.0.1 监听,默认监听 0.0.0.0
|
||||
./gowebdav --port 8080 # 在 8080 端口监听,默认监听 80 端口
|
||||
|
||||
./gowebdav --dav "/dir1,/data/dir1,user1,pass1,true" # 配置文件夹路径及属性
|
||||
```
|
||||
|
||||
`dav` 参数可以指定 WebDAV 服务的本地路径、用户验证、是否只读等属性。
|
||||
|
||||
每个本地路径都可以配置一个 WebDAV 服务,使用分号分隔。例子:
|
||||
|
||||
- `"/dir1,/data/dir1,user1,pass1,true;/dir2,/data/dir2,null,null,false"` 描述了 2 个服务,分别是将文件夹 `/data/dir1` 映射至 WebDAV 服务 `/dir1`,将文件夹 `/data/dir2` 映射至 WebDAV 服务 `/dir2`。
|
||||
|
||||
对于每个服务,需要使用逗号分隔 5 个参数,分别是 `服务路径,本地路径,用户名,密码,是否只读`。其中用户名和密码都为 `null` 时表示不需要验证。例子:
|
||||
|
||||
- `"/dir1,/data/dir1,user1,pass1,true"` 描述了将 `/data/dir1` 映射至 `/dir1` 服务,访问需要的用户名和密码分别为 `user1` 和 `pass1`,只读(禁止上传、更新、删除)。
|
||||
- `"/dir2,/data/dir2,null,null,false"` 描述了将 `/data/dir2` 映射至 `/dir2` 服务,访问不需要验证,可读写。
|
||||
- `"/dir3,/data/dir3,null,null,true"` 描述了将 `/data/dir3` 映射至 `/dir3` 服务,访问不需要验证,只读。
|
||||
|
||||
特别的,如果只有 1 个服务且名为 `/`,则可以直接访问 <http://localhost:80> 而不需要指定服务名。例子:
|
||||
|
||||
- `"/,/data/dir1,user1,pass1,true"` 描述了将 `/data/dir1` 映射至 `/` 服务,访问需要的用户名和密码分别为 `user1` 和 `pass1`,只读。
|
||||
|
||||
当 `dav` 未指定时,GoWebDAV 默认使用的 `dav` 参数为 `/public-writable,./data/public-writable,null,null,false;/public-readonly,./data/public-readonly,null,null,true;/private-writable,./data/private-writable,user1,pass1,false`。
|
21
apps/gowebdav/data.yml
Normal file
21
apps/gowebdav/data.yml
Normal file
@ -0,0 +1,21 @@
|
||||
name: GoWebDAV
|
||||
tags:
|
||||
- 实用工具
|
||||
- 云存储
|
||||
title: 轻量易用的 WebDAV 服务器
|
||||
description: 轻量易用的 WebDAV 服务器
|
||||
additionalProperties:
|
||||
key: gowebdav
|
||||
name: GoWebDAV
|
||||
tags:
|
||||
- Storage
|
||||
- Tool
|
||||
shortDescZh: 轻量易用的 WebDAV 服务器
|
||||
shortDescEn: Lightweight and easy-to-use WebDAV server
|
||||
type: tool
|
||||
crossVersionUpdate: true
|
||||
limit: 0
|
||||
recommend: 0
|
||||
website: https://github.com/117503445/GoWebDAV
|
||||
github: https://github.com/117503445/GoWebDAV
|
||||
document: https://github.com/117503445/GoWebDAV
|
7
apps/gowebdav/latest/.env.sample
Normal file
7
apps/gowebdav/latest/.env.sample
Normal file
@ -0,0 +1,7 @@
|
||||
CONTAINER_NAME="gowebdav"
|
||||
PANEL_APP_PORT_HTTP="40252"
|
||||
DAV="/dir1,/data/dir1,user1,pass1,true;/dir2,/data/dir2,null,null,false"
|
||||
DATA_PATH="./data/data"
|
||||
INNER_DATA_PATH="/data"
|
||||
DATA_PATH2="./data/data2"
|
||||
INNER_DATA_PATH2="/data2"
|
45
apps/gowebdav/latest/data.yml
Normal file
45
apps/gowebdav/latest/data.yml
Normal file
@ -0,0 +1,45 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: 40252
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: "/dir1,/data/dir1,user1,pass1,true;/dir2,/data/dir2,null,null,false"
|
||||
edit: true
|
||||
envKey: DAV
|
||||
labelEn: WebDAV Configuration (referring to the path inside the container)
|
||||
labelZh: WebDAV 配置 (指的容器内部的路径)
|
||||
required: true
|
||||
type: text
|
||||
- default: ./data/data
|
||||
edit: true
|
||||
envKey: DATA_PATH
|
||||
labelEn: Data folder path
|
||||
labelZh: 外部数据文件夹路径
|
||||
required: true
|
||||
type: text
|
||||
- default: /data
|
||||
edit: true
|
||||
envKey: INNER_DATA_PATH
|
||||
labelEn: Path to the internal data folder corresponding to the external data
|
||||
labelZh: 外部数据对应的内部数据文件夹路径
|
||||
required: true
|
||||
type: text
|
||||
- default: ./data/data2
|
||||
edit: true
|
||||
envKey: DATA_PATH2
|
||||
labelEn: Data folder path 2
|
||||
labelZh: 外部数据文件夹路径2
|
||||
required: true
|
||||
type: text
|
||||
- default: /data2
|
||||
edit: true
|
||||
envKey: INNER_DATA_PATH2
|
||||
labelEn: Path to internal data folder corresponding to external data2
|
||||
labelZh: 外部数据对应的内部数据文件夹路径2
|
||||
required: true
|
||||
type: text
|
21
apps/gowebdav/latest/docker-compose.yml
Normal file
21
apps/gowebdav/latest/docker-compose.yml
Normal file
@ -0,0 +1,21 @@
|
||||
version: '3.8'
|
||||
services:
|
||||
gowebdav:
|
||||
image: 117503445/go_webdav:latest
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:80"
|
||||
environment:
|
||||
- "dav=${DAV}"
|
||||
volumes:
|
||||
- ${DATA_PATH}:${INNER_DATA_PATH}
|
||||
- ${DATA_PATH2}:${INNER_DATA_PATH2}
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
BIN
apps/gowebdav/logo.png
Normal file
BIN
apps/gowebdav/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.7 KiB |
Loading…
Reference in New Issue
Block a user