447 Commits

Author SHA1 Message Date
sigoden fe7fd564f8 chore: add third-party customize UI projects to README
CI / All (macos-latest) (push) Has been cancelled
CI / All (ubuntu-latest) (push) Has been cancelled
CI / All (windows-latest) (push) Has been cancelled
2026-06-29 20:01:17 +08:00
sigoden fd73f144aa fix: require path separator boundary when stripping --path-prefix (#725)
The resolve_path function used str::strip_prefix which accepted
same-component prefix matches (e.g. prefix "pfx" matched both
"/pfx/file" and "/pfxfile"). Now requires the prefix to be
followed by "/" or be an exact match to serve the root.
2026-06-29 19:55:36 +08:00
sigoden b22ad6d5f9 refactor: upgrade async-deflate-zip to v0.2.0 (#723) 2026-06-14 14:38:36 +08:00
sigoden 2d1dda9d06 fix: return response after forbid status (#722) 2026-06-12 20:32:19 +08:00
sigoden 234fa9ae9a feat: conditionally include default IPv6 addr (#721) 2026-06-12 19:59:45 +08:00
Ernest Hysa 418902e29c fix: guard_root_contained walks up to existing ancestor for non-existent paths (#716)
* fix: fill LICENSE placeholders ([yyyy] → 2026, [name of copyright owner] → sigoden)

Fixes #713

* fix: guard_root_contained walks up to existing ancestor for non-existent paths

Fix regression in v0.46.0 where directory upload via drag-and-drop returns
404 because guard_root_contained() only checked one level of parent.

When uploading a file to a non-existent subdirectory (e.g.,
PUT /subdir/file.txt where subdir/ doesn't exist), the old code would
check if the parent exists and if not, try to canonicalize a non-existent
path, causing is_root_contained to return false and trigger a 404.

The fix walks up the directory tree until an existing ancestor is found,
then canonicalizes that path instead. This ensures that uploading files
to new subdirectories works correctly.

Fixes #714

* test: add test

---------

Co-authored-by: sigoden <sigoden@gmail.com>
2026-06-12 16:56:57 +08:00
sigoden bd85ffed79 refactor: replace async-zip with async-deflate-zip (#720)
It is because async-zip does not support setting the compress level when streaming, or the setting does not take effect.
2026-06-12 16:26:57 +08:00
Ernest Hysa 30587cedfa chore: fill LICENSE placeholders (#715)
Fixes #713
2026-05-31 20:03:26 +08:00
Cam F 5df9265de0 refactor: webui add css color variables (#710)
* refactor: webui add css color variables

* refactor: removed redundant css

* fix: correct colors to match original

* fix: update bg-tertiary variable

---------

Co-authored-by: sigoden <sigoden@gmail.com>
2026-05-26 08:47:10 +08:00
sigoden 3ac409ca58 fix: liblzma dynamic linking issues on MacOS (#712) 2026-05-26 08:18:53 +08:00
sigoden f97a47f625 refactor: handle unspecified ip addrs in check_addrs (#708) 2026-05-20 09:28:00 +08:00
sigoden b69946df23 chore: release v0.46.0 (#675)
Release / Publish to Github Releases (, macos-latest, aarch64-apple-darwin, true) (push) Has been cancelled
Release / Publish to Github Releases (, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, aarch64-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, arm-unknown-linux-musleabihf, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, armv7-unknown-linux-musleabihf, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, x86_64-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, aarch64-pc-windows-msvc, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
Release / Publish to Docker Hub (push) Has been cancelled
Release / Publish to crates.io (push) Has been cancelled
v0.46.0
2026-05-07 09:44:15 +08:00
sigoden 82a8865b9f feat: skip directory walking in HEAD requests (#701) 2026-04-30 19:55:57 +08:00
sigoden 8e90ffa9c8 refactor: webui file size format (#698) 2026-04-27 08:12:35 +08:00
florinm03 4f2dee3916 fix: webui safari bug uploadspeed (#695) 2026-04-27 07:09:14 +08:00
florinm03 b87f87646a feat: webui confirm on exit while uploading (#693) 2026-04-25 21:59:23 +08:00
sigoden 30b2979d0a chore: update deps (#694) 2026-04-25 21:31:44 +08:00
sigoden 53ea692dd1 feat: enhence log format (#692) 2026-04-25 20:38:39 +08:00
sigoden 1af66d6744 fix: escape control chars in logged URI and headers (#691) 2026-04-25 18:51:21 +08:00
sigoden 19dc2c205a fix: http range underflow (#690) 2026-04-25 17:59:44 +08:00
sigoden 43c778182b fix: tweak auth logic (#689) 2026-04-25 17:28:28 +08:00
sigoden 0ccc2cf1e7 feat: support customizable 404 page (#688) 2026-04-24 08:20:19 +08:00
sigoden a88a4ee630 feat: support ?json on file path (#686) 2026-04-23 18:39:26 +08:00
sigoden a118c1348e fix: ensure symlink inside serve root (#670) 2026-02-05 22:08:04 +08:00
sigoden db7a0530a2 fix: escape filename in ?simple output (#669) 2026-02-05 19:13:10 +08:00
sigoden bc27c8c479 fix: some search results missing due to broken symlinks (#665) 2026-01-21 12:00:57 +08:00
sigoden 2b2c7bd5f7 feat: add option --allow-hash to allow/disallow file hashing (#657) 2026-01-09 16:43:18 +08:00
sigoden ca18df1a36 refactor: improve UI botton titles (#656) 2026-01-09 16:21:40 +08:00
sigoden 7cfb97dfdf refactor: update deps (#655) 2026-01-08 12:02:41 +08:00
sigoden 23619033ae chore: release v0.45.0 (#626)
Release / Publish to Github Releases (, macos-latest, aarch64-apple-darwin, true) (push) Has been cancelled
Release / Publish to Github Releases (, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, aarch64-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, arm-unknown-linux-musleabihf, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, armv7-unknown-linux-musleabihf, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, i686-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, x86_64-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, aarch64-pc-windows-msvc, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, i686-pc-windows-msvc, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
Release / Publish to Docker Hub (push) Has been cancelled
Release / Publish to crates.io (push) Has been cancelled
v0.45.0
2025-09-04 18:10:54 +08:00
sigoden db75ba4357 fix: verify token length (#627) 2025-09-02 18:48:17 +08:00
sigoden 4016715187 fix: login btn does not work for readonly annoymous (#620) 2025-08-19 08:58:59 +08:00
sigoden f8a7873582 fix: perms on dufs -A -a @/:ro (#619) 2025-08-19 07:51:52 +08:00
sigoden 7f8269881d feat: log decoded uri (#615) 2025-08-18 09:00:18 +08:00
sigoden b2f244a4cf feat: make dir urls inherit ?noscript params (#614) 2025-08-16 07:36:19 +08:00
sigoden 6cc8a18a3d chore: release v0.44.0 (#606)
Release / Publish to Github Releases (, macos-latest, aarch64-apple-darwin, true) (push) Has been cancelled
Release / Publish to Github Releases (, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, aarch64-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, arm-unknown-linux-musleabihf, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, armv7-unknown-linux-musleabihf, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, i686-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, x86_64-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, aarch64-pc-windows-msvc, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, i686-pc-windows-msvc, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
Release / Publish to Docker Hub (push) Has been cancelled
Release / Publish to crates.io (push) Has been cancelled
v0.44.0
2025-08-14 09:05:35 +08:00
Matthias Möller a387d727b2 chore: removes clippy warning with rust 1.89 (#609) 2025-08-08 06:50:30 +08:00
sigoden 19d65a5aa4 refactor: fix typos (#605) 2025-08-02 17:04:20 +08:00
sigoden d37762d2b9 refactor: update deps (#604) 2025-08-02 16:56:07 +08:00
sigoden 9c9fca75d3 feat: support downloading via token auth (#603) 2025-08-02 14:37:49 +08:00
sigoden 089d30c5a5 feat: support noscript fallback (#602) 2025-08-02 09:50:00 +08:00
Matthias Möller 459a4d4f4a refactor: removes clippy warnings (#601) 2025-07-30 18:33:00 +08:00
sigoden f8b69f4df8 fix: unexpected public auth asking for login info (#583) 2025-05-12 08:03:23 +08:00
Matthias Möller 53f064c73b fix: incorrect seperator for zip archives under windows (#577) 2025-04-25 08:14:21 +08:00
Falko Galperin 8a92a0cf1a fix: follow symlinks when searching/archiving (#572)
Specifically, this will always follow symlinks when they lead to a path
below the dufs root, and will follow other symlinks when
`--allow-symlink` is set.

I refactored some common functionality out of `zip_dir` and
`handle_search_dir` as well.
2025-04-12 09:49:19 +08:00
sigoden 59685da06e fix: webui formatDirSize (#568) 2025-04-07 07:36:49 +08:00
sigoden 09200860b4 chore: update deps and clippy (#569) 2025-04-07 07:27:43 +08:00
sigoden 4fbdec2878 feat: tolerate the absence of mtime (#559) 2025-03-20 08:46:26 +08:00
sigoden d0453b7591 feat: limit sub directory item counting (#556) 2025-03-14 08:53:11 +08:00
45gfg9 eda9769b2a feat: support multipart ranges (#535) 2025-02-01 08:28:34 +08:00