Skip to content

Commit c4cbc32

Browse files
committed
v1.16.9
1 parent 1231ce1 commit c4cbc32

File tree

5 files changed

+58
-3
lines changed

5 files changed

+58
-3
lines changed

copyparty/__main__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -740,6 +740,10 @@ def get_sects():
740740
the \033[33m,,\033[35m stops copyparty from reading the rest as flags and
741741
the \033[33m--\033[35m stops notify-send from reading the message as args
742742
and the alert will be "hey" followed by the messagetext
743+
744+
\033[36m--xau zmq:pub:tcp://*:5556\033[35m announces uploads on zeromq;
745+
\033[36m--xau t3,zmq:push:tcp://*:5557\033[35m also works, and you can
746+
\033[36m--xau t3,j,zmq:req:tcp://localhost:5555\033[35m too for example
743747
\033[0m
744748
each hook is executed once for each event, except for \033[36mxiu\033[0m
745749
which builds up a backlog of uploads, running the hook just once

copyparty/__version__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# coding: utf-8
22

3-
VERSION = (1, 16, 8)
3+
VERSION = (1, 16, 9)
44
CODENAME = "COPYparty"
5-
BUILD_DT = (2025, 1, 11)
5+
BUILD_DT = (2025, 1, 22)
66

77
S_VERSION = ".".join(map(str, VERSION))
88
S_BUILD_DT = "{0:04d}-{1:02d}-{2:02d}".format(*BUILD_DT)

copyparty/up2k.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -795,7 +795,7 @@ def _run_xiu(self, vol: VFS, cd: int):
795795
continue
796796

797797
self.log("xiu: %d# %r" % (len(wrfs), cmd))
798-
runihook(self.log, cmd, vol, ups)
798+
runihook(self.log, self.args.hook_v, cmd, vol, ups)
799799

800800
def _vis_job_progress(self, job: dict[str, Any]) -> str:
801801
perc = 100 - (len(job["need"]) * 100.0 / (len(job["hash"]) or 1))

copyparty/util.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3406,6 +3406,7 @@ def _parsehook(
34063406

34073407
def runihook(
34083408
log: Optional["NamedLogger"],
3409+
verbose: bool,
34093410
cmd: str,
34103411
vol: "VFS",
34113412
ups: list[tuple[str, int, int, str, str, str, int]],
@@ -3435,6 +3436,17 @@ def runihook(
34353436
else:
34363437
sp_ka["sin"] = b"\n".join(fsenc(x) for x in aps)
34373438

3439+
if acmd[0].startswith("zmq:"):
3440+
try:
3441+
msg = sp_ka["sin"].decode("utf-8", "replace")
3442+
_zmq_hook(log, verbose, "xiu", acmd[0][4:].lower(), msg, wait, sp_ka)
3443+
if verbose and log:
3444+
log("hook(xiu) %r OK" % (cmd,), 6)
3445+
except Exception as ex:
3446+
if log:
3447+
log("zeromq failed: %r" % (ex,))
3448+
return True
3449+
34383450
t0 = time.time()
34393451
if fork:
34403452
Daemon(runcmd, cmd, bcmd, ka=sp_ka)

docs/changelog.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,42 @@
1+
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2+
# 2025-0111-1611 `v1.16.8` android boost
3+
4+
## 🧪 new features
5+
6+
* 10x faster file hashing in android-chrome ec507889
7+
* on a recent pixel, speed went from 13 to 139 MiB/s
8+
* android's sandboxing makes small reads expensive, so do bigger reads instead
9+
* so the browser-tab will use more RAM on android now, maybe around 200 MiB
10+
* this only affects chrome-based browsers on android, not firefox
11+
* PUT/multipart uploads: request-header `Accept: json` makes it return json instead of html, just like `?j` ce0e5be4
12+
* add config examples for [ishare](https://isharemac.app/), a MacOS screenshot utility inspired by ShareX 0c0d6b2b
13+
* also includes a bug-workaround for [ishare#107](https://github.com/castdrian/ishare/issues/107) - copyparty will now include a toplevel json property `fileurl` in the response if exactly one file was uploaded
14+
* the [connect-page](https://a.ocv.me/?hc) generates an appropriate `copyparty.iscu` for ishare; [it looks like this](https://github.com/user-attachments/assets/820730ad-2319-4912-8eb2-733755a4cf54)
15+
16+
## 🩹 bugfixes
17+
18+
* fix a potential upload deadlock when...
19+
* ...the database (`-e2d`) is **not** enabled for any volume, and...
20+
* ...either the shares feature, or user-changeable passwords, is enabled 9e542cf8
21+
* when loading the partial-uploads registry on startup, a cosmetic desync could occur 467acb47
22+
23+
## 🔧 other changes
24+
25+
* remove some deprecated properties in partial-upload metadata aa2a8fa2
26+
* v1.15.7 is now the oldest version which still has any chance of reading a modern up2k.snap
27+
* #129 added howto: [using webdav when copyparty is behind IdP](https://github.com/9001/copyparty/blob/hovudstraum/docs/idp.md#connecting-webdav-clients) -- thanks @wuast94 !
28+
* added howto: [install copyparty on a synology nas](https://github.com/9001/copyparty/blob/hovudstraum/docs/synology-dsm.md) 21f93042
29+
* more examples in the connect-page: 278258ee fb139697
30+
* config-file for sharex on windows
31+
* config-file for ishare on macos
32+
* script for flameshot on linux
33+
* #75 add recommendation to use the [kamelåså project](https://github.com/steinuil/kameloso) instead of copyparty's [very-bad-idea.py](https://github.com/9001/copyparty/tree/hovudstraum/bin/mtag#dangerous-plugins) 9f84dc42
34+
* more reverse-proxy examples (haproxy, lighttpd, traefik, caddy) and improved nginx performance ac0a2da3
35+
* readme has a [performance comparison](https://github.com/9001/copyparty?tab=readme-ov-file#reverse-proxy-performance) -- `haproxy > caddy > traefik > nginx > apache > lighttpd`
36+
* copyparty.exe: updated pillow 244e952f
37+
38+
39+
140
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
241
# 2024-1223-0005 `v1.16.7` an idp fix for xmas
342

0 commit comments

Comments
 (0)