diff --git a/README.md b/README.md index 41fcde00..f48978c1 100644 --- a/README.md +++ b/README.md @@ -482,6 +482,7 @@ it does static images with Pillow / pyvips / FFmpeg, and uses FFmpeg for video f audio files are covnerted into spectrograms using FFmpeg unless you `--no-athumb` (and some FFmpeg builds may need `--th-ff-swr`) images with the following names (see `--th-covers`) become the thumbnail of the folder they're in: `folder.png`, `folder.jpg`, `cover.png`, `cover.jpg` +* and, if you enable [file indexing](#file-indexing), all remaining folders will also get thumbnails (as long as they contain any pics at all) in the grid/thumbnail view, if the audio player panel is open, songs will start playing when clicked * indicated by the audio files having the โ–ถ icon instead of ๐Ÿ’พ @@ -930,14 +931,13 @@ through arguments: * `--xlink` enables deduplication across volumes the same arguments can be set as volflags, in addition to `d2d`, `d2ds`, `d2t`, `d2ts`, `d2v` for disabling: -* `-v ~/music::r:c,e2dsa,e2tsr` does a full reindex of everything on startup +* `-v ~/music::r:c,e2ds,e2tsr` does a full reindex of everything on startup * `-v ~/music::r:c,d2d` disables **all** indexing, even if any `-e2*` are on * `-v ~/music::r:c,d2t` disables all `-e2t*` (tags), does not affect `-e2d*` * `-v ~/music::r:c,d2ds` disables on-boot scans; only index new uploads * `-v ~/music::r:c,d2ts` same except only affecting tags note: -* the parser can finally handle `c,e2dsa,e2tsr` so you no longer have to `c,e2dsa:c,e2tsr` * `e2tsr` is probably always overkill, since `e2ds`/`e2dsa` would pick up any file modifications and `e2ts` would then reindex those, unless there is a new copyparty version with new parsers and the release note says otherwise * the rescan button in the admin panel has no effect unless the volume has `-e2ds` or higher * deduplication is possible on windows if you run copyparty as administrator (not saying you should!) diff --git a/contrib/systemd/copyparty.service b/contrib/systemd/copyparty.service index b8447760..84bddeb7 100644 --- a/contrib/systemd/copyparty.service +++ b/contrib/systemd/copyparty.service @@ -22,6 +22,7 @@ # add '-i 127.0.0.1' to only allow local connections # add '-e2dsa' to enable filesystem scanning + indexing # add '-e2ts' to enable metadata indexing +# remove '--ansi' to disable colored logs # # with `Type=notify`, copyparty will signal systemd when it is ready to # accept connections; correctly delaying units depending on copyparty. @@ -59,7 +60,7 @@ ExecStartPre=+nft add rule ip nat prerouting tcp dport 443 redirect to :3923 ExecStartPre=+/bin/bash -c 'mkdir -p /run/tmpfiles.d/ && echo "x /tmp/pe-copyparty*" > /run/tmpfiles.d/copyparty.conf' # copyparty settings -ExecStart=/usr/bin/python3 /usr/local/bin/copyparty-sfx.py -e2d -v /mnt::rw +ExecStart=/usr/bin/python3 /usr/local/bin/copyparty-sfx.py --ansi -e2d -v /mnt::rw [Install] WantedBy=multi-user.target diff --git a/copyparty/__main__.py b/copyparty/__main__.py index 6e83bb63..02c2d0ff 100755 --- a/copyparty/__main__.py +++ b/copyparty/__main__.py @@ -922,7 +922,7 @@ def add_thumbnail(ap): ap2.add_argument("--th-poke", metavar="SEC", type=int, default=300, help="activity labeling cooldown -- avoids doing keepalive pokes (updating the mtime) on thumbnail folders more often than SEC seconds") ap2.add_argument("--th-clean", metavar="SEC", type=int, default=43200, help="cleanup interval; 0=disabled") ap2.add_argument("--th-maxage", metavar="SEC", type=int, default=604800, help="max folder age -- folders which haven't been poked for longer than --th-poke seconds will get deleted every --th-clean seconds") - ap2.add_argument("--th-covers", metavar="N,N", type=u, default="folder.png,folder.jpg,cover.png,cover.jpg", help="folder thumbnails to stat/look for; case-insensitive if -e2d") + ap2.add_argument("--th-covers", metavar="N,N", type=u, default="folder.png,folder.jpg,cover.png,cover.jpg", help="folder thumbnails to stat/look for; enabling -e2d will make these case-insensitive, and also automatically select thumbnails for all folders that contain pics, even if none match this pattern") # https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html # https://github.com/libvips/libvips # ffmpeg -hide_banner -demuxers | awk '/^ D /{print$2}' | while IFS= read -r x; do ffmpeg -hide_banner -h demuxer=$x; done | grep -E '^Demuxer |extensions:' diff --git a/copyparty/web/browser.css b/copyparty/web/browser.css index 0e83430c..12da0d58 100644 --- a/copyparty/web/browser.css +++ b/copyparty/web/browser.css @@ -1751,6 +1751,7 @@ html.y #tree.nowrap .ntree a+a:hover { display: none; } .ghead { + background: var(--bg-u2); border-radius: .3em; padding: .2em .5em; line-height: 2.3em; @@ -2947,6 +2948,7 @@ html.b #treepar { html.b #wrap { margin-top: 2em; } +html.by .ghead, html.bz .ghead { background: var(--bg); padding: .2em 0; diff --git a/docs/changelog.md b/docs/changelog.md index a7373aba..1847235f 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,3 +1,20 @@ +โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€ +# 2023-0513-0000 `v1.7.2` hard resolve + +## new features +* print a warning if `c:\`, `c:\windows*`, or all of `/` are shared +* upgraded the docker image to v3.18 which enables the [chiptune player](https://a.ocv.me/pub/demo/music/chiptunes/#af-f6fb2e5f) +* in config files, allow trailing `:` in section headers + +## bugfixes +* when `--hardlink` (or the volflag) is set, resolve symlinks before hardlinking + * uploads could fail due to relative symlinks +* really minor ux fixes + * left-align `GET` in access logs + * the upload panel didn't always shrink back down after uploads completed + + + โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€ # 2023-0507-1834 `v1.7.1` CrรคzY;PWDs diff --git a/scripts/make-sfx.sh b/scripts/make-sfx.sh index 04fe5f7f..f4e6c111 100755 --- a/scripts/make-sfx.sh +++ b/scripts/make-sfx.sh @@ -478,7 +478,7 @@ while IFS= read -r f; do done # up2k goes from 28k to 22k laff -awk 'BEGIN{gensub(//,"",1)}' /dev/null && echo entabbening && find | grep -E '\.css$' | while IFS= read -r f; do awk '{ @@ -492,7 +492,9 @@ find | grep -E '\.css$' | while IFS= read -r f; do 1 ' <$f | sed -r 's/;\}$/}/; /\{\}$/d' >t tmv "$f" -done +done || + echo "WARNING: your awk does not have gensub, so the sfx will not have optimal compression" + unexpand -h 2>/dev/null && find | grep -E '\.(js|html)$' | while IFS= read -r f; do unexpand -t 4 --first-only <"$f" >t @@ -586,7 +588,7 @@ sed -r 's/([^ ]*) (.*)/\2.\1/' | grep -vE '/list1?$' > list1 for n in {1..50}; do (grep -vE '\.(gz|br)$' list1; grep -E '\.(gz|br)$' list1 | (shuf||gshuf) ) >list || true s=$( (sha1sum||shasum) < list | cut -c-16) - grep -q $s "$zdir/h" && continue + grep -q $s "$zdir/h" 2>/dev/null && continue echo $s >> "$zdir/h" break done