Commit graph

108 commits

Author SHA1 Message Date
sigoden
fb5b50f059
fix: URL-encoded filename when downloading in safari (#203)
* fix: URL-encoded filename when downloading in safari

* add test
2023-03-31 22:52:07 +08:00
sigoden
45f4f5fc58
feat: guess plain text encoding then set content-type charset (#186) 2023-03-01 09:36:59 +08:00
horizon
6dcb4dcd76
fix: cors allow-request-header add content-type (#184)
* fix: cors allow-request-header add content-type

* add content-type test
2023-02-27 07:28:33 +08:00
sigoden
8f4cbb4826 chore: use anyhow to handle error 2023-02-21 17:23:24 +08:00
sigoden
2064d7803a chore: bump deps 2023-02-21 16:39:57 +08:00
sigoden
ad0be71557 chore: optimize for test auth 2023-02-21 16:16:49 +08:00
sigoden
6d9758c71d
feat: ui improves the login experience (#182)
close #157 #158
2023-02-21 12:42:40 +08:00
sigoden
dd6973468c
feat: support edit files (#179)
close #172
2023-02-20 22:50:24 +08:00
sigoden
7d6d7d49ca
feat: API to search and list directories (#177)
use `?simple` to output path name only.
use `?json` to output paths in json format.
By default, output html page.

close #166
2023-02-20 11:05:53 +08:00
sigoden
b7c5119c2e
feat: hiding only directories instead of files (#175)
A `--hidden` pattern with `/` suffix means hiding only directories not files.
A `--hidden` pattern without `/` will hide matching files and directories.
2023-02-19 22:03:59 +08:00
sigoden
47883376c1
chore: fix cargo clippy (#174) 2023-02-19 12:24:42 +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
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
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