https://github.com/tale/daview
Proxy a WebDAV instance with a nicer UI and custom authentication
https://github.com/tale/daview
fileserver ftp webdav
Last synced: 5 months ago
JSON representation
Proxy a WebDAV instance with a nicer UI and custom authentication
- Host: GitHub
- URL: https://github.com/tale/daview
- Owner: tale
- License: mit
- Created: 2023-05-02T11:14:53.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-07T20:01:19.000Z (over 2 years ago)
- Last Synced: 2025-04-07T07:36:10.743Z (about 1 year ago)
- Topics: fileserver, ftp, webdav
- Language: TypeScript
- Homepage:
- Size: 335 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# daview
> A WebDAV client for the web
This is a very simple implementation of a WebDAV client for the web. It is based on the [webdav](https://npmjs.org/package/webdav) package.
It only supports connecting to a WebDAV backend and viewing the files. Additionally, you may configure auth to allow file downloads.
View a [Live Demo](https://files.tale.me) here.
## Configuration
This project can be run using the `us-east4-docker.pkg.dev/aarnavtale/library/daview` docker image.
Be sure to forward the appropriate ports for the container based on your configuration.
When running the container, you may use the following environment variables:
```
HOST=0.0.0.0
PORT=3000
PROXY_ENDPOINT="https://my-webdav.acme.com"
PROXY_LOGIN="dav_user:dav_password"
PROXY_USERS="user1:pass1,user2:pass2"
PROXY_SECRET="my_secret_cookie_encryption_value"
```
Please keep in mind that `PROXY_LOGIN` is the credentials for the WebDAV interface that you want to connect to and proxy with **daview**.
`PROXY_USERS` is the usernames and passwords that can be used to authenticate and download on the proxy.
*They do not need to be actual users on your WebDAV instance.*
*All authentication to the WebDAV instance is done through the `PROXY_LOGIN` credentials!*
### Kubernetes
If you plan to deploy this on Kubernetes like I've done, then reference the files in the `k8s/` directory.
You'll need to create your own secret with all the values so that they can be mounted as environment variables.
```yaml
apiVersion: v1
kind: Secret
metadata:
name: daview-env
type: Opaque
stringData:
PROXY_ENDPOINT: 'https://my-webdav.acme.com'
PROXY_LOGIN: 'dav_user:dav_password'
PROXY_USERS: 'user1:pass1,user2:pass2'
PROXY_SECRET: 'my_secret_cookie_encryption_value'
```
> Copyright (c) 2023 Aarnav Tale