diff --git a/README.md b/README.md index e683d6c4..360759de 100644 --- a/README.md +++ b/README.md @@ -818,6 +818,13 @@ an FTP server can be started using `--ftp 3921`, and/or `--ftps` for explicit T * some older software (filezilla on debian-stable) cannot passive-mode with TLS * login with any username + your password, or put your password in the username field +some recommended FTP / FTPS clients; `wark` = example password: +* https://winscp.net/eng/download.php +* https://filezilla-project.org/ struggles a bit with ftps in active-mode, but is fine otherwise +* https://rclone.org/ does FTPS with `tls=false explicit_tls=true` +* `lftp -u k,wark -p 3921 127.0.0.1 -e ls` +* `lftp -u k,wark -p 3990 127.0.0.1 -e 'set ssl:verify-certificate no; ls'` + ## webdav server diff --git a/copyparty/__version__.py b/copyparty/__version__.py index 7421bbcf..27497759 100644 --- a/copyparty/__version__.py +++ b/copyparty/__version__.py @@ -1,8 +1,8 @@ # coding: utf-8 -VERSION = (1, 6, 12) +VERSION = (1, 6, 13) CODENAME = "cors k" -BUILD_DT = (2023, 4, 20) +BUILD_DT = (2023, 4, 23) S_VERSION = ".".join(map(str, VERSION)) S_BUILD_DT = "{0:04d}-{1:02d}-{2:02d}".format(*BUILD_DT) diff --git a/copyparty/web/svcs.html b/copyparty/web/svcs.html index cad6095c..576b6050 100644 --- a/copyparty/web/svcs.html +++ b/copyparty/web/svcs.html @@ -110,10 +110,21 @@
if you can, install winfsp+rclone and then paste this in cmd:
+ {% if args.ftp %} +connect with plaintext FTP:
- rclone config create {{ aname }}-ftp ftp host={{ rip }} port={{ args.ftp or args.ftps }} pass=k user={% if accs %}{{ pw }}{% else %}anonymous{% endif %} tls={{ "false" if args.ftp else "true" }} + rclone config create {{ aname }}-ftp ftp host={{ rip }} port={{ args.ftp }} pass=k user={% if accs %}{{ pw }}{% else %}anonymous{% endif %} tls=false rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-ftp:{{ rvp }} W:+ {% endif %} + {% if args.ftps %} +
connect with TLS-encrypted FTPS:
++ rclone config create {{ aname }}-ftps ftp host={{ rip }} port={{ args.ftps }} pass=k user={% if accs %}{{ pw }}{% else %}anonymous{% endif %} tls=false explicit_tls=true + rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-ftps:{{ rvp }} W: ++
note: if you are on LAN (or just dont have valid certificates), add no_check_certificate=true
to the config command
---
if you want to use the native FTP client in windows instead (please dont), press win+R
and run this command:
explorer {{ "ftp" if args.ftp else "ftps" }}://{% if accs %}{{ pw }}:k@{% endif %}{{ host }}:{{ args.ftp or args.ftps }}/{{ rvp }} @@ -121,10 +132,21 @@
connect with plaintext FTP:
- rclone config create {{ aname }}-ftp ftp host={{ rip }} port={{ args.ftp or args.ftps }} pass=k user={% if accs %}{{ pw }}{% else %}anonymous{% endif %} tls={{ "false" if args.ftp else "true" }} + rclone config create {{ aname }}-ftp ftp host={{ rip }} port={{ args.ftp }} pass=k user={% if accs %}{{ pw }}{% else %}anonymous{% endif %} tls=false rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-ftp:{{ rvp }} mp+ {% endif %} + {% if args.ftps %} +
connect with TLS-encrypted FTPS:
++ rclone config create {{ aname }}-ftps ftp host={{ rip }} port={{ args.ftps }} pass=k user={% if accs %}{{ pw }}{% else %}anonymous{% endif %} tls=false explicit_tls=true + rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-ftps:{{ rvp }} mp ++
note: if you are on LAN (or just dont have valid certificates), add no_check_certificate=true
to the config command
---
emergency alternative (gnome/gui-only):
diff --git a/docs/changelog.md b/docs/changelog.md index 91e693b2..cc9fdfef 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,3 +1,33 @@ +▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ +# 2023-0420-2141 `v1.6.12` as seen on nixos + +## new features +* @chinponya [made](https://github.com/9001/copyparty/pull/22) a copyparty [Nix package](https://github.com/9001/copyparty#nix-package) and a [NixOS module](https://github.com/9001/copyparty#nixos-module)! nice 🎉 + * with [systemd-based hardening](https://github.com/9001/copyparty/blob/hovudstraum/contrib/nixos/modules/copyparty.nix#L230-L270) instead of [prisonparty](https://github.com/9001/copyparty/blob/hovudstraum/bin/prisonparty.sh) + * complements the [arch package](https://github.com/9001/copyparty/tree/hovudstraum/contrib/package/arch) very well w + +## bugfixes +* fix an sqlite fd leak + * with enough simultaneous traffic, copyparty could run out of file descriptors since it relied on the gc to close sqlite cursors + * now there's a pool of cursors shared between the tcp connections instead, limited to the number of CPU cores + * performance mostly unaffected (or slightly improved) compared to before, except for a 20% reduction only during max server load caused by directory-listings or searches + * ~~somehow explicitly closing the cursors didn't always work... maybe this was actually a python bug :\\/~~ + * yes, it does incomplete cleanup if opening a WAL database fails +* multirange requests would fail with an error; now they get a 200 as expected (since they're kinda useless and not worth the overhead) + * [the only software i've ever seen do that](https://apps.kde.org/discover/) now works as intended +* expand `~/` filesystem paths in all remaining args: `-c`, `-lo`, `--hist`, `--ssl-log`, and the `hist` volflag +* never use IPv6-format IPv4 (`::ffff:127.0.0.1`) in responses +* [u2cli](https://github.com/9001/copyparty/blob/hovudstraum/bin/up2k.py): don't enter delete stage if some of the uploads failed +* audio player in safari on touchbar macbooks + * songs would play backwards because the touchbar keeps spamming play/pause + * playback would stop when the preloader kicks in because safari sees the new audio object and freaks out + +## other changes +* added [windows quickstart / service example](https://github.com/9001/copyparty/blob/hovudstraum/docs/examples/windows.md) +* updated pyinstaller (it makes smaller exe files now) + + + ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ # 2023-0401-2112 `v1.6.11` not joke diff --git a/docs/examples/windows.md b/docs/examples/windows.md index 58a6add9..4c3f4039 100644 --- a/docs/examples/windows.md +++ b/docs/examples/windows.md @@ -15,7 +15,7 @@ open up notepad and save the following as `c:\users\you\documents\party.conf` (f ```yaml [global] - lo: c:\users\you\logs\cpp-%Y-%m%d.xz # log to file + lo: ~/logs/cpp-%Y-%m%d.xz # log to c:\users\you\logs\ e2dsa, e2ts, no-dedup, z # sets 4 flags; see expl. p: 80, 443 # listen on ports 80 and 443, not 3923 theme: 2 # default theme: protonmail-monokai @@ -47,8 +47,7 @@ open up notepad and save the following as `c:\users\you\documents\party.conf` (f ### config explained: [global] the `[global]` section accepts any config parameters you can see when running copyparty (either the exe or the sfx.py) with `--help`, so this is the same as running copyparty with arguments `--lo c:\users\you\logs\copyparty-%Y-%m%d.xz -e2dsa -e2ts --no-dedup -z -p 80,443 --theme 2 --lang nor` -* `lo: c:\users\you\logs\cpp-%Y-%m%d.xz` writes compressed logs (the compression will make them delayed) - * sorry that `~/logs/` doesn't work currently, good oversight +* `lo: ~/logs/cpp-%Y-%m%d.xz` writes compressed logs (the compression will make them delayed) * `e2dsa` enables the upload deduplicator and file indexer, which enables searching * `e2ts` enables music metadata indexing, making albums / titles etc. searchable too * `no-dedup` writes full dupes to disk instead of symlinking, since lots of windows software doesn't handle symlinks well