GitHub - sigoden/duf: Duf is a simple file server. Support static serve, search,...
source link: https://github.com/sigoden/duf
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Duf is a simple file server. Support static serve, search, upload, webdav...
Features
- Serve static files
- Download folder as zip file
- Upload files and folders (Drag & Drop)
- Search files
- Partial responses (Parallel/Resume download)
- Authentication
- Support https
- Support webdav
- Easy to use with curl
Install
With cargo
cargo install duf
With docker
docker run -v /tmp:/tmp -p 5000:5000 --rm -it docker.io/sigoden/duf /tmp
Binaries on macOS, Linux, Windows
Download from Github Releases, unzip and add duf to your $PATH.
Duf is a simple file server.
USAGE:
duf [OPTIONS] [path]
ARGS:
<path> Path to a root directory for serving files [default: .]
OPTIONS:
-a, --auth <user:pass> Use HTTP authentication
--no-auth-access Not required auth when access static files
-A, --allow-all Allow all operations
--allow-delete Allow delete files/folders
--allow-symlink Allow symlink to files/folders outside root directory
--allow-upload Allow upload files/folders
-b, --bind <address> Specify bind address [default: 0.0.0.0]
--cors Enable CORS, sets `Access-Control-Allow-Origin: *`
-h, --help Print help information
-p, --port <port> Specify port to listen on [default: 5000]
--path-prefix <path> Specify an url path prefix
--render-index Render index.html when requesting a directory
--render-spa Render for single-page application
--tls-cert <path> Path to an SSL/TLS certificate to serve with HTTPS
--tls-key <path> Path to the SSL/TLS certificate's private key
-V, --version Print version information
Examples
You can run this command to start serving your current working directory on 127.0.0.1:5000 by default.
duf
...or specify which folder you want to serve.
duf folder_name
Allow all operations such as upload, delete
duf --allow-all
Only allow upload operation
duf --allow-upload
Serve a single page application (SPA)
duf --render-spa
Use https
duf --tls-cert my.crt --tls-key my.key
Download a file
curl http://127.0.0.1:5000/some-file
Download a folder as zip file
curl -o some-folder.zip http://127.0.0.1:5000/some-folder?zip
Upload a file
curl --upload-file some-file http://127.0.0.1:5000/some-file
Delete a file/folder
curl -X DELETE http://127.0.0.1:5000/some-file
License
Copyright (c) 2022 duf-developers.
duf is made available under the terms of either the MIT License or the Apache License 2.0, at your option.
See the LICENSE-APACHE and LICENSE-MIT files for license details.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK