diff --git a/copyparty/__main__.py b/copyparty/__main__.py index 5c2771fe..2468afe6 100644 --- a/copyparty/__main__.py +++ b/copyparty/__main__.py @@ -1391,7 +1391,7 @@ def add_shutdown(ap): def add_logging(ap): ap2 = ap.add_argument_group("logging options") ap2.add_argument("-q", action="store_true", help="quiet; disable most STDOUT messages") - ap2.add_argument("-lo", metavar="PATH", type=u, default="", help="logfile, example: \033[32mcpp-%%Y-%%m%%d-%%H%%M%%S.txt.xz\033[0m (NB: some errors may appear on STDOUT only)") + ap2.add_argument("-lo", metavar="PATH", type=u, default="", help="logfile; use .txt for plaintext or .xz for compressed. Example: \033[32mcpp-%%Y-%%m%%d-%%H%%M%%S.txt.xz\033[0m (NB: some errors may appear on STDOUT only)") ap2.add_argument("--no-ansi", action="store_true", default=not VT100, help="disable colors; same as environment-variable NO_COLOR") ap2.add_argument("--ansi", action="store_true", help="force colors; overrides environment-variable NO_COLOR") ap2.add_argument("--no-logflush", action="store_true", help="don't flush the logfile after each write; tiny bit faster") @@ -1494,8 +1494,8 @@ def add_db_general(ap, hcores): ap2.add_argument("-e2vp", action="store_true", help="on hash mismatch: panic and quit copyparty") ap2.add_argument("--hist", metavar="PATH", type=u, default="", help="where to store volume data (db, thumbs); default is a folder named \".hist\" inside each volume (volflag=hist)") ap2.add_argument("--dbpath", metavar="PATH", type=u, default="", help="override where the volume databases are to be placed; default is the same as \033[33m--hist\033[0m (volflag=dbpath)") - ap2.add_argument("--no-hash", metavar="PTN", type=u, default="", help="regex: disable hashing of matching absolute-filesystem-paths during e2ds folder scans (volflag=nohash)") - ap2.add_argument("--no-idx", metavar="PTN", type=u, default=noidx, help="regex: disable indexing of matching absolute-filesystem-paths during e2ds folder scans (volflag=noidx)") + ap2.add_argument("--no-hash", metavar="PTN", type=u, default="", help="regex: disable hashing of matching absolute-filesystem-paths during e2ds folder scans (must be specified as one big regex, not multiple times) (volflag=nohash)") + ap2.add_argument("--no-idx", metavar="PTN", type=u, default=noidx, help="regex: disable indexing of matching absolute-filesystem-paths during e2ds folder scan (must be specified as one big regex, not multiple times) (volflag=noidx)") ap2.add_argument("--no-dirsz", action="store_true", help="do not show total recursive size of folders in listings, show inode size instead; slightly faster (volflag=nodirsz)") ap2.add_argument("--re-dirsz", action="store_true", help="if the directory-sizes in the UI are bonkers, use this along with \033[33m-e2dsa\033[0m to rebuild the index from scratch") ap2.add_argument("--no-dhash", action="store_true", help="disable rescan acceleration; do full database integrity check -- makes the db ~5%% smaller and bootup/rescans 3~10x slower") diff --git a/copyparty/__version__.py b/copyparty/__version__.py index 3350f413..1cea26c5 100644 --- a/copyparty/__version__.py +++ b/copyparty/__version__.py @@ -1,8 +1,8 @@ # coding: utf-8 -VERSION = (1, 19, 0) +VERSION = (1, 19, 1) CODENAME = "usernames" -BUILD_DT = (2025, 8, 7) +BUILD_DT = (2025, 8, 10) S_VERSION = ".".join(map(str, VERSION)) S_BUILD_DT = "{0:04d}-{1:02d}-{2:02d}".format(*BUILD_DT) diff --git a/docs/changelog.md b/docs/changelog.md index a3c0aaae..91fd1b84 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,3 +1,49 @@ +▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ +# 2025-0807-2213 `v1.19.0` usernames + +## 🧪 new features + +* #511 login with username and password (not just password) can now optionally be enabled with `--usernames` 346515cc + * if you have enabled password hashing (`ah-alg: argon2` or similar) then you will need to hash your passwords again after enabling usernames, hashing them as `username:password:` +* #468 add Greek translation (thx @chamdim!) 50f46187 392abd06 +* #471 add Czech translation (thx @kubakubakuba!) c9556583 +* #515 support systemd socket acivation (thx @mati1210!) 9b9d2a92 +* #523 add QR-code to the connectpage bcc3b156 +* #513 optional EOL-conversion for texteditor 8b31ed88 +* controlpanel refresh-button now toggles automatic refresh 7ae84dea + +## 🩹 bugfixes + +* fix stuck uploads when the up2k database (`e2d`) is not enabled 4a043568 + * if more than 60'000 files were uploaded and there were several dupes of some files, they could get stuck and never upload + * upload performance is improved remarkably by enabling `e2d` so such huge uploads non-e2d had not been tested in a long time +* #467 #470 fix ui-crash when exporting links of all uploaded files to clipboard (thx @geekalaa!) 0df1901f +* #487 fix ui-crash when the location url-part is `//` 0f55a1ae +* fix viewing `.MD` files (8a0746c6) + +## 🔧 other changes + +* when a reverse-proxy is detected, force explicit configuration of `--rproxy` to obtain correct client IP 3f8cb7e8 + * a bit inconvenient, but helps prevent potentially-dangerous misconfiguration + * the necessary configuration changes are explained in the serverlog (you can't miss it) + * thanks to @person4268 for pointing out that there was room for improvements! +* failed login attempts now only log a sha512 hash of the provided password + * to see login-attempts with incorrect passwords as plaintext like before, `log-badpwd: 1` +* #502 add systemd user services and templated services (thx @icxes!) 34d98e99 +* #475 improve helptext for multivalue global-options c2ac57a2 +* #475 add [chungus.conf](https://github.com/9001/copyparty/blob/hovudstraum/docs/chungus.conf), massive extensive nonsensical demo config b664ebb0 +* try to detect proxies with incorrect caching behavior 9e980bb5 +* recent-uploads now support ie9 a57f7cc2 +* languages and themes are now dropdowns a9ee4f24 +* copyparty.exe: upgrade python to 3.13.6 a98360f2 +* introduce [copyparty-en.py](https://github.com/9001/copyparty/releases/latest/download/copyparty-en.py), english-only edition of copyparty-sfx.py to save space 33497e6b + +## 🗿 known issues + +* the `copyparty.pyz` in this release is english-only, and does not include the translations -- they got lost in transit while adjusting the buildscripts to make `copyparty-en.py` + + + ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ # 2025-0804-0013 `v1.18.10` idp speedboost diff --git a/scripts/rls.sh b/scripts/rls.sh index 767ca2de..d18f12f2 100755 --- a/scripts/rls.sh +++ b/scripts/rls.sh @@ -43,6 +43,8 @@ while [ "$1" ]; do shift done +./make-pyz.sh + ./make-sfx.sh re lang eng "$@" mv ../dist/copyparty-{sfx,en}.py mv ../dist/copyparty-{int,sfx}.py diff --git a/scripts/tl.js b/scripts/tl.js index 97bf061d..4d4fcaba 100644 --- a/scripts/tl.js +++ b/scripts/tl.js @@ -81,6 +81,7 @@ var tl_cpanel = { "ad1": "enabling no304 will disable all caching; try this if k304 wasn't enough. This will waste a huge amount of network traffic!", "ae1": "active downloads:", "af1": "show recent uploads", + "ag1": "view idp cache", }, };