Commit graph

95 commits

Author SHA1 Message Date
sigoden
8b4727c3a4
fix: panic on PROPFIND // (#144) 2022-11-10 19:28:01 +08:00
Aneesh Agrawal
604ccc6556
fix: status code for MKCOL on existing resource (#142)
* Fix status code for MKCOL on existing resource

Per https://datatracker.ietf.org/doc/html/rfc4918#section-9.3.1,
MKCOL should return a 405 if the resource already exists.

Impetus for this change:
I am using dufs as a webdav server for [Joplin](https://joplinapp.org/)
which interpreted the previous behavior of returning a 403 as an error,
preventing syncing from working.

* add test

Co-authored-by: sigoden <sigoden@gmail.com>
2022-11-10 18:41:10 +08:00
David Politis
1a9990f04e
fix: don't search on empty query string (#140)
* fix: don't search on empty query string

* refactor

Co-authored-by: sigoden <sigoden@gmail.com>
2022-11-10 18:02:55 +08:00
sigoden
bd07783cde chore: cargo clippy 2022-11-10 15:38:35 +08:00
sigoden
a74e40aee5
feat: add --assets options to override assets (#134)
* feat: add --assets options to override assets

* update readme
2022-09-05 10:30:45 +08:00
sigoden
31c832a742
feat: support sort by name, mtime, size (#128) 2022-08-23 14:24:42 +08:00
sigoden
ae2f878e62
feat: support customize http log format (#116) 2022-07-31 08:27:09 +08:00
sigoden
b791549ec7
feat: improve hidden to support glob (#108) 2022-07-19 20:37:14 +08:00
sigoden
4e823e8bba
feat: make --path-prefix works on serving single file (#102) 2022-07-08 19:30:05 +08:00
sigoden
4e84e6c532
fix: cors headers (#100) 2022-07-08 16:18:10 +08:00
sigoden
604cbb7412
feat: check permission on move/copy destination (#93) 2022-07-04 23:25:05 +08:00
sigoden
2ffdcdf106
feat: allow search with --render-try-index (#88) 2022-07-02 23:25:57 +08:00
sigoden
1e0cdafbcf
fix: unexpect stack overflow when searching a lot (#87) 2022-07-02 22:55:22 +08:00
sigoden
2e6af671ca
fix: permissions of unzipped files (#84) 2022-06-30 19:29:47 +08:00
sigoden
eb7a536a3f
feat: support hiding folders with --hidden (#73) 2022-06-25 08:15:16 +08:00
sigoden
e29cf4c752
refactor: split css/js from index.html (#68) 2022-06-21 23:01:00 +08:00
sigoden
ea8b9e9cce
fix: escape name contains html escape code (#65) 2022-06-21 19:23:34 +08:00
sigoden
4058a2db72
feat: add option --allow-search (#62) 2022-06-21 07:23:20 +08:00
sigoden
069cb64889
fix: decodeURI searching string (#61) 2022-06-20 21:51:41 +08:00
Joe Koop
deb6365a28
feat: added basic auth (#60)
* some small css fixes and changes

* added basic auth
https://stackoverflow.com/a/9534652/3642588

* most tests are passing

* fixed all the tests

* maybe now CI will pass

* implemented sigoden's suggestions

* test basic auth

* fixed some little things
2022-06-20 11:25:09 +08:00
sigoden
a67da8bdd3
feat: rename to dufs (#59)
close #50

BREAKING CHANGE: rename duf to dufs
2022-06-19 22:53:51 +08:00
sigoden
db71f75236
feat: ui hidden root dirname (#58)
close #56
2022-06-19 21:23:19 +08:00
sigoden
e66951fd11
refactor: rename --cors to --enable-cors (#57)
BREAKING CHANGE: `--cors` rename to `--enable-cors`
2022-06-19 17:27:09 +08:00
sigoden
c3ac2a21c9
feat: serve single file (#54)
close #53
2022-06-19 14:23:10 +08:00
sigoden
9c2e9d1503
feat: path level access control (#52)
BREAKING CHANGE: `--auth` is changed, `--no-auth-access` is removed
2022-06-19 11:26:03 +08:00
sigoden
df48021757 chore: send not found text when 404 2022-06-18 08:03:48 +08:00
sigoden
af866aaaf4 chore: optimize --render-try-index 2022-06-17 19:05:25 +08:00
sigoden
5b11bb75dd
feat: add option --render-try-index (#47)
close #46
2022-06-17 08:41:01 +08:00
sigoden
d8f7335053
fix: range request (#44)
close #43
2022-06-16 10:24:32 +08:00
sigoden
c7d42a3f1c
fix: webdav propfind dir with slash (#42) 2022-06-15 20:24:53 +08:00
sigoden
3c4bb77023
refactor: trival changes (#41)
- refactor status code
- log remote addr and time in miliseconds
2022-06-15 19:57:28 +08:00
sigoden
12aafa00d8
feat: listen both ipv4 and ipv6 by default (#40) 2022-06-15 19:33:51 +08:00
sigoden
dd8b21f3a6 feat: options method return status 200 2022-06-12 09:33:01 +08:00
sigoden
471bca86c6
test: add integration tests (#36) 2022-06-12 08:43:50 +08:00
sigoden
99f0de6ca0
feat: implement head method (#33) 2022-06-11 10:18:07 +08:00
sigoden
8258dabe4a fix: query dir param 2022-06-10 08:00:27 +08:00
Joe Koop
0e236b61f6
feat: add empty state placeholder to page(#30)
* added "Empty folder" text to the page

* added text for nonexistent directory and no search results
2022-06-10 07:41:09 +08:00
sigoden
e01f2030e1 chore: optimize code 2022-06-09 21:35:52 +08:00
Joe Koop
8d03ec151a
fix: encode webdav href as uri (#28)
* Revert "fix: filename xml escaping"

This reverts commit ce154d9ebc.

* webdav filenames are fixed
2022-06-09 21:28:35 +08:00
sigoden
261c8b6ee5
feat: add favicon (#27)
Return favicon only if requested, avoid 404 errors

close #16
2022-06-07 08:59:44 +08:00
sigoden
5ce7bde05c
fix: send index page with content-type (#26) 2022-06-06 11:20:42 +08:00
sigoden
63a7b530bb
feat: support ipv6 (#25) 2022-06-06 10:52:12 +08:00
sigoden
b0cc901416 fix: escape path-prefix/url-prefix different 2022-06-06 08:00:26 +08:00
Joe Koop
ce154d9ebc
fix: filename xml escaping 2022-06-06 07:54:12 +08:00
sigoden
c1e0c6bb2f
refactor: use logger (#22) 2022-06-06 07:13:22 +08:00
sigoden
f138915f20
fix: escape filename (#21)
close #19
2022-06-06 06:51:35 +08:00
sigoden
882a9ae716 fix: ctrl+c not exit sometimes 2022-06-05 09:22:24 +08:00
sigoden
5578ee9190
feat: add webdav proppatch handler (#18) 2022-06-05 07:35:05 +08:00
Ryan Russell
916602ae2d
chore: fix typos (#17)
* chore(server.rs): fix `retrieve_listening_addrs`

Signed-off-by: Ryan Russell <git@ryanrussell.org>

* docs(index.js): Fix `breadcrumb`

Signed-off-by: Ryan Russell <git@ryanrussell.org>
2022-06-05 06:12:37 +08:00
sigoden
2f40313a54
feat: use digest auth (#14)
* feat: switch to digest auth

* implement digest auth

* cargo fmt

* no lock
2022-06-05 00:09:21 +08:00