Browse Source

feat: rename to dufs (#59)

close #50

BREAKING CHANGE: rename duf to dufs
pull/61/head
sigoden 3 years ago committed by GitHub
parent
commit
a67da8bdd3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      Cargo.lock
  2. 8
      Cargo.toml
  3. 4
      Dockerfile
  4. 38
      README.md
  5. 2
      src/auth.rs
  6. 2
      src/server.rs
  7. 2
      tests/args.rs
  8. 4
      tests/bind.rs
  9. 6
      tests/fixtures.rs
  10. 4
      tests/tls.rs

2
Cargo.lock generated

@ -570,7 +570,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" @@ -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",

8
Cargo.toml

@ -1,12 +1,12 @@ @@ -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"]

4
Dockerfile

@ -6,5 +6,5 @@ COPY . . @@ -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

@ -1,11 +1,11 @@ @@ -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... @@ -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: @@ -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: @@ -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>] @@ -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 @@ -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.

2
src/auth.rs

@ -11,7 +11,7 @@ use uuid::Uuid; @@ -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 = {

2
src/server.rs

@ -698,7 +698,7 @@ impl Server { @@ -698,7 +698,7 @@ impl Server {
"__SLOT__",
&format!(
r#"
<title>Index of {} - Duf</title>
<title>Index of {} - Dufs</title>
<style>{}</style>
<script>
const DATA =

2
tests/args.rs

@ -35,7 +35,7 @@ fn path_prefix_propfind( @@ -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")

4
tests/bind.rs

@ -12,7 +12,7 @@ use std::process::{Command, Stdio}; @@ -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( @@ -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")

6
tests/fixtures.rs

@ -83,7 +83,7 @@ pub fn port() -> u16 { @@ -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 @@ -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 @@ -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())

4
tests/tls.rs

@ -29,7 +29,7 @@ fn tls_works(#[case] server: TestServer) -> Result<(), Error> { @@ -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> { @@ -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…
Cancel
Save