Commit graph

177 commits

Author SHA1 Message Date
sigoden
47883376c1
chore: fix cargo clippy (#174) 2023-02-19 12:24:42 +08:00
MuXiu1997
fea9bf988a
feat: use env var for args (#170)
closed #160
2023-02-19 11:40:14 +08:00
sigoden
628d863d2e chore: improve code quanity 2022-12-11 15:18:44 +08:00
sigoden
8d9705caa4
feat: add option --allow-archive (#152)
BREAKING CHANGE: explicitly allow download folder as zip file
2022-12-10 11:09:42 +08:00
Kian-Meng Ang
7eef4407fc
docs: fix typos (#147)
Found via `codespell -S target -L crate,nd`
2022-12-10 09:18:54 +08:00
sigoden
1329e42b9a
chore: upgrade clap to v4 (#146) 2022-11-11 21:46:07 +08:00
sigoden
6ebf619430
feat: support unix sockets (#145) 2022-11-11 08:57:44 +08:00
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
dbf2de9cb9
fix: auth not works with --path-prefix (#138)
close #137
2022-10-08 09:14:42 +08:00
sigoden
7eaa6f2484 chore: undo hidden arg changes 2022-09-09 21:30:27 +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
bde06fef94
chore: refactor clap multiple_occurrences and multiple_values (#130) 2022-08-27 10:30:08 +08:00
sigoden
31c832a742
feat: support sort by name, mtime, size (#128) 2022-08-23 14:24:42 +08:00
sigoden
3ae75d3558
fix: hide path by ext name (#126) 2022-08-06 07:48:34 +08:00
sigoden
64e397d18a chore: update --hidden help message 2022-08-03 08:58:52 +08:00
sigoden
cc0014c183 chore: fix typo 2022-08-03 08:51:12 +08:00
sigoden
0918fb3fe4
feat: support ecdsa tls cert (#119) 2022-08-02 09:32:11 +08:00
sigoden
ae2f878e62
feat: support customize http log format (#116) 2022-07-31 08:27:09 +08:00
sigoden
9cfd66dab9
feat: adjust digest auth timeout to 1day (#110) 2022-07-21 11:47:47 +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
f49b590a56 chore: update description of --path-prefix 2022-07-07 15:44:25 +08:00
sigoden
76e967fa59
feat: add completions (#97) 2022-07-06 12:11:00 +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
fd02a53823
chore: replace old get-if-addrs with new if-addrs (#78) 2022-06-29 10:01:01 +08:00
sigoden
6554c1c308
feat: use feature to conditional support tls (#77) 2022-06-29 09:19:09 +08:00
sigoden
9cfeee0df0 chore: update args help message and readme 2022-06-25 09:58:39 +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
7f062b6705
feat: use custom logger with timestamp in rfc3339 (#67) 2022-06-21 21:19:51 +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
sigoden
c85ea06785 chore: update cli help message and reamde 2022-06-20 19:40:09 +08:00
sigoden
68139c6263 chore: little improves 2022-06-20 15:11:39 +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
6b01c143d9
feat: support tls-key in pkcs#8 format (#35) 2022-06-11 15:26:08 +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
sigoden
05155aa532
feat: implement more webdav methods (#13)
Now you can mount the server as webdav driver on windows.
2022-06-04 19:08:18 +08:00
sigoden
0616602659
feat: remove unzip uploaded feature (#11)
Use drag&drop/webdav to upload folders
2022-06-04 13:01:17 +08:00
sigoden
0a64762df4
feat: support webdav (#10) 2022-06-04 12:51:56 +08:00
sigoden
9dda55b7c8 feat: listen 0.0.0.0 by default 2022-06-03 11:19:16 +08:00
sigoden
c3dd0f0ec5 feat: support gracefully shutdown server 2022-06-03 11:00:12 +08:00
sigoden
34bc8d411a fix: panic when bind already used port 2022-06-03 07:15:41 +08:00
sigoden
7c2449cb1a fix: rename --no-auth-read to --no-auth-access 2022-06-03 06:51:03 +08:00
sigoden
07f4e7d0f2 fix: remove unzip file even failed to unzip 2022-06-02 19:43:43 +08:00
sigoden
c50f97925c feat: change auth logic/options 2022-06-02 19:36:04 +08:00
sigoden
24f885164a refactor: small improvement 2022-06-02 17:06:22 +08:00
sigoden
e2d7f996c7 feat: support tls 2022-06-02 12:15:06 +08:00
sigoden
97978719b3 feat: list all ifaces when listening 0.0.0.0 2022-06-02 09:44:40 +08:00
sigoden
d208b5cb6b feat: support path prefix 2022-06-02 08:32:31 +08:00
sigoden
830d3343f4 feat: support render-index/render-spa
closes #5
2022-06-01 22:49:55 +08:00
sigoden
1fe391f9d9 chore: move src/assets out of src 2022-06-01 20:26:03 +08:00
sigoden
b88381167b feat: add some headers to res 2022-06-01 20:02:35 +08:00
sigoden
35ed4394df fix: caught 500 if no permission to access dir
releated #4
2022-06-01 19:59:35 +08:00
sigoden
f43d0b646d fix: some typos
close #6
2022-05-31 22:38:00 +08:00
sigoden
a9294f602c feat: cli add allow-symlink option 2022-05-31 21:22:44 +08:00
sigoden
fc090b6930 fix: not found dir when allow_upload is false 2022-05-31 16:55:52 +08:00
sigoden
19d7b36462 feat: drag and drop uploads, upload folder
close #3
2022-05-31 16:47:06 +08:00
sigoden
755554d3f2 fix: miss file 500 2022-05-31 16:32:50 +08:00
sigoden
6a097e0496 fix: unzip override existed file in uploadonly mode 2022-05-31 15:20:47 +08:00
sigoden
412d42e338 fix: downloaded zip file has no.zip ext in firefox
close #2
2022-05-31 14:39:07 +08:00
sigoden
ed7f5e425a feat: support range requests 2022-05-31 10:58:32 +08:00
sigoden
3032052923 feat: distinct upload and delete operation 2022-05-31 09:23:35 +08:00