diff --git a/README.md b/README.md index 613d2d65..d903659b 100644 --- a/README.md +++ b/README.md @@ -351,7 +351,7 @@ permissions: * `d` (delete): delete files/folders * `g` (get): only download files, cannot see folder contents or zip/tar * `G` (upget): same as `g` except uploaders get to see their own filekeys (see `fk` in examples below) -* `g` (get): same as `g` except folders return their index.html, and filekeys are not necessary for index.html +* `h` (html): same as `g` except folders return their index.html, and filekeys are not necessary for index.html * `a` (admin): can see uploader IPs, config-reload examples: @@ -1642,6 +1642,8 @@ other misc notes: * combine this with volflag `c,fk` to generate filekeys (per-file accesskeys); users which have full read-access will then see URLs with `?k=...` appended to the end, and `g` users must provide that URL including the correct key to avoid a 404 * the default filekey entropy is fairly small so give `--fk-salt` around 30 characters if you want filekeys longer than 16 chars * permissions `wG` lets users upload files and receive their own filekeys, still without being able to see other uploads + * permission `h` instead of `r` makes copyparty behave like a traditional webserver with directory listing/index disabled, returning index.html instead + * compatibility with filekeys: index.html itself can be retrieved without the correct filekey, but all other files are protected ## gotchas diff --git a/copyparty/web/browser.css b/copyparty/web/browser.css index 0b11a7e4..9383b1d9 100644 --- a/copyparty/web/browser.css +++ b/copyparty/web/browser.css @@ -493,6 +493,7 @@ html.dz { --err-ts: #500; text-shadow: none; + font-family: 'scp', monospace, monospace; } html.dy { --fg: #000; @@ -1397,6 +1398,9 @@ input[type="checkbox"]:checked+label { color: #0e0; color: var(--a); } +html.dz input { + font-family: 'scp', monospace, monospace; +} .opwide div>span>input+label { padding: .3em 0 .3em .3em; margin: 0 0 0 -.3em; @@ -1577,6 +1581,7 @@ html.cz .btn { border-bottom: .2em solid #709; } html.dz .btn { + font-size: 1em; box-shadow: 0 0 0 .1em #080 inset; } html.dz .tgl.btn.on { @@ -2766,6 +2771,9 @@ html.c .opbox, html.a .opbox { margin: 1.5em 0 0 0; } +html.dz .opview input.i { + width: calc(100% - 17em); +} html.c #tree, html.c #treeh, html.a #tree, @@ -2818,6 +2826,9 @@ html.a #u2btn { html.ay #u2btn { box-shadow: .4em .4em 0 #ccc; } +html.dz #u2btn { + letter-spacing: -.033em; +} html.c #u2conf.ww #u2btn, html.a #u2conf.ww #u2btn { margin: -2em .5em -3em 0; diff --git a/docs/versus.md b/docs/versus.md index 5868044c..50e802a5 100644 --- a/docs/versus.md +++ b/docs/versus.md @@ -255,7 +255,7 @@ symbol legend, | per-file permissions | | | | █ | █ | | █ | | █ | | | | | per-file passwords | █ | | | █ | █ | | █ | | █ | | | | | unmap subfolders | █ | | | | | | █ | | | █ | ╱ | • | -| index.html blocks list | | | | | | | █ | | | • | | | +| index.html blocks list | ╱ | | | | | | █ | | | • | | | | write-only folders | █ | | | | | | | | | | █ | █ | | files stored as-is | █ | █ | █ | █ | | █ | █ | | | █ | █ | █ | | file versioning | | | | █ | █ | | | | | | | | @@ -291,6 +291,7 @@ symbol legend, * one-way folder sync from local to server can be done efficiently with [u2c.py](https://github.com/9001/copyparty/tree/hovudstraum/bin#u2cpy), or with webdav and conventional rsync * can hot-reload config files (with just a few exceptions) * can set per-folder permissions if that folder is made into a separate volume, so there is configuration overhead + * `index.html` on its own does not prevent directory listing, but permission `h` (instead of `r`) enforces index.html to be returned instead of folder contents * [event hooks](https://github.com/9001/copyparty/tree/hovudstraum/bin/hooks) ([discord](https://user-images.githubusercontent.com/241032/215304439-1c1cb3c8-ec6f-4c17-9f27-81f969b1811a.png), [desktop](https://user-images.githubusercontent.com/241032/215335767-9c91ed24-d36e-4b6b-9766-fb95d12d163f.png)) inspired by filebrowser, as well as the more complex [media parser](https://github.com/9001/copyparty/tree/hovudstraum/bin/mtag) alternative * upload history can be visualized using [partyjournal](https://github.com/9001/copyparty/blob/hovudstraum/bin/partyjournal.py) * `k`/filegator remarks: