feat: rename to dufs (#59)
close #50 BREAKING CHANGE: rename duf to dufs
This commit is contained in:
parent
3260b52c47
commit
a67da8bdd3
10 changed files with 36 additions and 36 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -570,7 +570,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
|
||||
|
||||
[[package]]
|
||||
name = "duf"
|
||||
name = "dufs"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"assert_cmd",
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
[package]
|
||||
name = "duf"
|
||||
name = "dufs"
|
||||
version = "0.18.0"
|
||||
edition = "2021"
|
||||
authors = ["sigoden <sigoden@gmail.com>"]
|
||||
description = "Duf is a simple file server."
|
||||
description = "Dufs is a simple file server."
|
||||
license = "MIT OR Apache-2.0"
|
||||
homepage = "https://github.com/sigoden/duf"
|
||||
repository = "https://github.com/sigoden/duf"
|
||||
homepage = "https://github.com/sigoden/dufs"
|
||||
repository = "https://github.com/sigoden/dufs"
|
||||
categories = ["command-line-utilities", "web-programming::http-server"]
|
||||
keywords = ["static", "file", "server", "webdav", "cli"]
|
||||
|
||||
|
|
|
@ -6,5 +6,5 @@ COPY . .
|
|||
RUN cargo build --target x86_64-unknown-linux-musl --release
|
||||
|
||||
FROM scratch
|
||||
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/duf /bin/
|
||||
ENTRYPOINT ["/bin/duf"]
|
||||
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/dufs /bin/
|
||||
ENTRYPOINT ["/bin/dufs"]
|
38
README.md
38
README.md
|
@ -1,11 +1,11 @@
|
|||
# Duf
|
||||
# Dufs (Old Name: Duf)
|
||||
|
||||
[![CI](https://github.com/sigoden/duf/actions/workflows/ci.yaml/badge.svg)](https://github.com/sigoden/duf/actions/workflows/ci.yaml)
|
||||
[![Crates](https://img.shields.io/crates/v/duf.svg)](https://crates.io/crates/duf)
|
||||
[![CI](https://github.com/sigoden/dufs/actions/workflows/ci.yaml/badge.svg)](https://github.com/sigoden/dufs/actions/workflows/ci.yaml)
|
||||
[![Crates](https://img.shields.io/crates/v/dufs.svg)](https://crates.io/crates/dufs)
|
||||
|
||||
Duf is a simple file server. Support static serve, search, upload, webdav...
|
||||
Dufs is a simple file server. Support static serve, search, upload, webdav...
|
||||
|
||||
![demo](https://user-images.githubusercontent.com/4012553/171526189-09afc2de-793f-4216-b3d5-31ea408d3610.png)
|
||||
![demo](https://user-images.githubusercontent.com/4012553/174486522-7af350e6-0195-4f4a-8480-d9464fc6452f.png)
|
||||
|
||||
## Features
|
||||
|
||||
|
@ -24,26 +24,26 @@ Duf is a simple file server. Support static serve, search, upload, webdav...
|
|||
### With cargo
|
||||
|
||||
```
|
||||
cargo install duf
|
||||
cargo install dufs
|
||||
```
|
||||
|
||||
### With docker
|
||||
|
||||
```
|
||||
docker run -v `pwd`:/data -p 5000:5000 --rm -it sigoden/duf /data
|
||||
docker run -v `pwd`:/data -p 5000:5000 --rm -it sigoden/dufs /data
|
||||
```
|
||||
|
||||
### Binaries on macOS, Linux, Windows
|
||||
|
||||
Download from [Github Releases](https://github.com/sigoden/duf/releases), unzip and add duf to your $PATH.
|
||||
Download from [Github Releases](https://github.com/sigoden/dufs/releases), unzip and add dufs to your $PATH.
|
||||
|
||||
## CLI
|
||||
|
||||
```
|
||||
Duf is a simple file server. - https://github.com/sigoden/duf
|
||||
Dufs is a simple file server. - https://github.com/sigoden/dufs
|
||||
|
||||
USAGE:
|
||||
duf [OPTIONS] [--] [path]
|
||||
dufs [OPTIONS] [--] [path]
|
||||
|
||||
ARGS:
|
||||
<path> Path to a root directory for serving files [default: .]
|
||||
|
@ -72,31 +72,31 @@ OPTIONS:
|
|||
Serve current working directory, no upload/delete
|
||||
|
||||
```
|
||||
duf
|
||||
dufs
|
||||
```
|
||||
|
||||
Allow upload/delete
|
||||
|
||||
```
|
||||
duf -A
|
||||
dufs -A
|
||||
```
|
||||
|
||||
Listen on a specific port
|
||||
|
||||
```
|
||||
duf -p 80
|
||||
dufs -p 80
|
||||
```
|
||||
|
||||
For a single page application (SPA)
|
||||
|
||||
```
|
||||
duf --render-spa
|
||||
dufs --render-spa
|
||||
```
|
||||
|
||||
Use https
|
||||
|
||||
```
|
||||
duf --tls-cert my.crt --tls-key my.key
|
||||
dufs --tls-cert my.crt --tls-key my.key
|
||||
```
|
||||
|
||||
## API
|
||||
|
@ -156,7 +156,7 @@ The `--render-*` options change the render logic:
|
|||
</summary>
|
||||
|
||||
```
|
||||
duf -a <path>@<readwrite>[@<readonly>]
|
||||
dufs -a <path>@<readwrite>[@<readonly>]
|
||||
```
|
||||
|
||||
- `<path>`: Path to protected
|
||||
|
@ -168,7 +168,7 @@ duf -a <path>@<readwrite>[@<readonly>]
|
|||
For example:
|
||||
|
||||
```
|
||||
duf -a /@admin:pass@* -a /ui@designer:pass1 -A
|
||||
dufs -a /@admin:pass@* -a /ui@designer:pass1 -A
|
||||
```
|
||||
- All files/folders are public to access/download.
|
||||
- Account `admin:pass` can upload/delete/download any files/folders.
|
||||
|
@ -184,8 +184,8 @@ curl --digest -u designer:pass1 http://127.0.0.1:5000/ui/path-to-file
|
|||
|
||||
## License
|
||||
|
||||
Copyright (c) 2022 duf-developers.
|
||||
Copyright (c) 2022 dufs-developers.
|
||||
|
||||
duf is made available under the terms of either the MIT License or the Apache License 2.0, at your option.
|
||||
dufs 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.
|
|
@ -11,7 +11,7 @@ use uuid::Uuid;
|
|||
use crate::utils::encode_uri;
|
||||
use crate::BoxResult;
|
||||
|
||||
const REALM: &str = "DUF";
|
||||
const REALM: &str = "DUFS";
|
||||
|
||||
lazy_static! {
|
||||
static ref NONCESTARTHASH: Context = {
|
||||
|
|
|
@ -698,7 +698,7 @@ impl Server {
|
|||
"__SLOT__",
|
||||
&format!(
|
||||
r#"
|
||||
<title>Index of {} - Duf</title>
|
||||
<title>Index of {} - Dufs</title>
|
||||
<style>{}</style>
|
||||
<script>
|
||||
const DATA =
|
||||
|
|
|
@ -35,7 +35,7 @@ fn path_prefix_propfind(
|
|||
#[rstest]
|
||||
#[case("index.html")]
|
||||
fn serve_single_file(tmpdir: TempDir, port: u16, #[case] file: &str) -> Result<(), Error> {
|
||||
let mut child = Command::cargo_bin("duf")?
|
||||
let mut child = Command::cargo_bin("dufs")?
|
||||
.env("RUST_LOG", "false")
|
||||
.arg(tmpdir.path().join(file))
|
||||
.arg("-p")
|
||||
|
|
|
@ -12,7 +12,7 @@ use std::process::{Command, Stdio};
|
|||
#[rstest]
|
||||
#[case(&["-b", "20.205.243.166"])]
|
||||
fn bind_fails(tmpdir: TempDir, port: u16, #[case] args: &[&str]) -> Result<(), Error> {
|
||||
Command::cargo_bin("duf")?
|
||||
Command::cargo_bin("dufs")?
|
||||
.env("RUST_LOG", "false")
|
||||
.arg(tmpdir.path())
|
||||
.arg("-p")
|
||||
|
@ -50,7 +50,7 @@ fn bind_ipv4_ipv6(
|
|||
#[case(&[] as &[&str])]
|
||||
#[case(&["--path-prefix", "/prefix"])]
|
||||
fn validate_printed_urls(tmpdir: TempDir, port: u16, #[case] args: &[&str]) -> Result<(), Error> {
|
||||
let mut child = Command::cargo_bin("duf")?
|
||||
let mut child = Command::cargo_bin("dufs")?
|
||||
.env("RUST_LOG", "false")
|
||||
.arg(tmpdir.path())
|
||||
.arg("-p")
|
||||
|
|
|
@ -83,7 +83,7 @@ pub fn port() -> u16 {
|
|||
free_local_port().expect("Couldn't find a free local port")
|
||||
}
|
||||
|
||||
/// Run duf as a server; Start with a temporary directory, a free port and some
|
||||
/// Run dufs as a server; Start with a temporary directory, a free port and some
|
||||
/// optional arguments then wait for a while for the server setup to complete.
|
||||
#[fixture]
|
||||
#[allow(dead_code)]
|
||||
|
@ -94,7 +94,7 @@ where
|
|||
{
|
||||
let port = port();
|
||||
let tmpdir = tmpdir();
|
||||
let child = Command::cargo_bin("duf")
|
||||
let child = Command::cargo_bin("dufs")
|
||||
.expect("Couldn't find test binary")
|
||||
.env("RUST_LOG", "false")
|
||||
.arg(tmpdir.path())
|
||||
|
@ -122,7 +122,7 @@ where
|
|||
{
|
||||
let port = port();
|
||||
let tmpdir = tmpdir();
|
||||
let child = Command::cargo_bin("duf")
|
||||
let child = Command::cargo_bin("dufs")
|
||||
.expect("Couldn't find test binary")
|
||||
.env("RUST_LOG", "false")
|
||||
.arg(tmpdir.path())
|
||||
|
|
|
@ -29,7 +29,7 @@ fn tls_works(#[case] server: TestServer) -> Result<(), Error> {
|
|||
/// Wrong path for cert throws error.
|
||||
#[rstest]
|
||||
fn wrong_path_cert() -> Result<(), Error> {
|
||||
Command::cargo_bin("duf")?
|
||||
Command::cargo_bin("dufs")?
|
||||
.args(&["--tls-cert", "wrong", "--tls-key", "tests/data/key.pem"])
|
||||
.assert()
|
||||
.failure()
|
||||
|
@ -41,7 +41,7 @@ fn wrong_path_cert() -> Result<(), Error> {
|
|||
/// Wrong paths for key throws errors.
|
||||
#[rstest]
|
||||
fn wrong_path_key() -> Result<(), Error> {
|
||||
Command::cargo_bin("duf")?
|
||||
Command::cargo_bin("dufs")?
|
||||
.args(&["--tls-cert", "tests/data/cert.pem", "--tls-key", "wrong"])
|
||||
.assert()
|
||||
.failure()
|
||||
|
|
Loading…
Reference in a new issue