Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/svtslv/webdav-cli
A simple zero-configuration command-line webdav server
https://github.com/svtslv/webdav-cli
cli server webdav
Last synced: 3 days ago
JSON representation
A simple zero-configuration command-line webdav server
- Host: GitHub
- URL: https://github.com/svtslv/webdav-cli
- Owner: svtslv
- Created: 2020-03-03T03:20:19.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-30T11:03:00.000Z (5 months ago)
- Last Synced: 2025-01-12T12:04:39.216Z (10 days ago)
- Topics: cli, server, webdav
- Language: TypeScript
- Size: 2.85 MB
- Stars: 263
- Watchers: 6
- Forks: 12
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# WebDAV CLI
## Table of Contents
- [Description](#description)
- [Installation](#installation)
- [Examples](#examples)
- [TLS/SSL](#tlsssl)
- [License](#license)## Description
A simple zero-configuration command-line webdav server## Installation
#### Globally via `npm`
```bash
npm install --global webdav-cli
```#### Running on-demand:
```bash
npx webdav-cli [options]
```## Examples
```bash
npx webdav-cli --help
``````bash
'usage: webdav-cli [options]',
'',
'options:',
' --path Path to folder [process.cwd()]',
' --host Host to use [127.0.0.1]',
' --port Port to use [1900]',
' --digest Enable digest authentication [basic]',
' --username Username for basic/digest authentication [random]',
' --password Password for basic/digest authentication [random]',
' --directory Show directory listings [false]',
' --autoIndex Display autoIndex [false]',
' --ssl Enable https [false]',
' --sslKey Path to ssl key file [self-signed]',
' --sslCert Path to ssl cert file [self-signed]',
' --help Print this list and exit',
' --version Print the version and exit.',
' --rights Comma separated values without spaces [all]', `
'all', 'canCreate', 'canDelete', 'canMove', 'canRename',
'canAppend', 'canWrite', 'canRead', 'canSource',
'canGetMimeType', 'canGetSize', 'canListLocks',
'canSetLock', 'canRemoveLock', 'canGetAvailableLocks',
'canGetLock', 'canAddChild', 'canRemoveChild',
'canGetChildren', 'canSetProperty', 'canGetProperty',
'canGetProperties', 'canRemoveProperty', 'canGetCreationDate',
'canGetLastModifiedDate', 'canGetWebName', 'canGetType'`,
'env:',
' WEBDAV_CLI_PATH, WEBDAV_CLI_HOST, WEBDAV_CLI_PORT,',
' WEBDAV_CLI_USERNAME, WEBDAV_CLI_PASSWORD, WEBDAV_CLI_DIGEST,',
' WEBDAV_CLI_SSL, WEBDAV_CLI_SSL_KEY, WEBDAV_CLI_SSL_CERT,',
' WEBDAV_CLI_DIRECTORY, WEBDAV_CLI_AUTO_INDEX, WEBDAV_CLI_RIGHTS',
' WEBDAV_CLI_DISABLE_AUTHENTICATION',
```## TLS/SSL
First, you need to make sure that openssl is installed correctly, and you have `key.pem` and `cert.pem` files. You can generate them using this command:
```bash
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
```
Use `127.0.0.1` as value for `Common name` if you want to be able to install the certificate in your OS's root certificate store or browser so that it is trusted.Then you need to run the server with `--ssl` for enabling SSL and `--sslKey=key.pem --sslCert=cert.pem` for your certificate files.
## License
MIT