Commit graph

341 commits

Author SHA1 Message Date
ed 23ca00bba8 support jython and graalpy 2023-09-13 23:24:56 +00:00
ed 6420c4bd03 up to 2.6x faster download-as-zip
when there's lots of files, and especially small ones
and also reduces cpu load by at least 15%
2023-09-05 22:57:03 +00:00
ed 50e01d6904 add more autoban triggers:
* --ban-url: URLs which 404 and also match --sus-urls (bot-scan)
* --ban-403: trying to access volumes that dont exist or require auth
* --ban-422: invalid POST messages, fuzzing and such
* --nonsus-urls: regex of 404s which  shouldn't trigger --ban-404

in may situations it makes sense to handle this logic inside copyparty,
since stuff like cloudflare and running copyparty on another physical
box than the nginx frontend is on becomes fairly clunky
2023-08-26 13:52:24 +00:00
ed 474d5a155b android's got hella strict filename rules 2023-08-15 06:46:57 +02:00
ed 007d948cb9 fix GHSA-f54q-j679-p9hh: reflected-XSS in cookie-setters;
it was possible to set cookie values which contained newlines,
thus terminating the http header and bleeding into the body.

We now disallow control-characters in queries,
but still allow them in paths, as copyparty supports
filenames containing newlines and other mojibake.

The changes in `set_k304` are not necessary in fixing the vulnerability,
but makes the behavior more correct.
2023-07-23 10:55:08 +00:00
ed b54b7213a7 more thumbnailer configs available as volflags:
--th-convt = convt
--th-no-crop = nocrop
--th-size = thsize
2023-07-11 22:15:37 +00:00
ed 5d8cb34885 404/403 can be handled with plugins 2023-07-07 21:33:40 +00:00
ed 8b0cf2c982 volflags to limit volume size / num files; closes #40 2023-06-19 00:42:45 +00:00
ed 60a1ff0fc0 macos: mute select() noise on wake from suspend 2023-05-19 16:37:52 +02:00
ed b1359f039f linter cleanup 2023-05-07 14:38:30 +00:00
ed 4ee81af8f6 support ';' in passwords 2023-05-06 18:54:55 +00:00
ed 83178d0836 preserve empty folders (closes #23):
* when deleting files, do not cascade upwards through empty folders
* when moving folders, also move any empty folders inside

the only remaining action which autoremoves empty folders is
files getting deleted as they expire volume lifetimes

also prevents accidentally moving parent folders into subfolders
(even though that actually worked surprisingly well)
2023-04-29 11:30:43 +00:00
ed d3ccd3f174 v1.6.15 2023-04-26 23:00:55 +00:00
ed cb6de0387d a bit faster 2023-04-26 19:56:27 +00:00
ed 03193de6d0 socket read/write timeout 2023-04-24 20:04:22 +00:00
ed c98fff1647 fix chunkpost-handshake race (affects --no-dedup only);
a handshake arriving in the middle of the final chunk could cause
dupes to become empty -- worst case leading to loss of data
2023-03-05 19:45:50 +00:00
ed 1e3b7eee3b dont rmdir volume top on cleanup 2023-02-26 18:28:37 +00:00
ed 05e0c2ec9e add xiu (batching hook; runs on idle after uploads) +
bunch of tweaks/fixes for hooks
2023-02-26 18:23:32 +00:00
ed 8adfcf5950 win10-based copyparty64.exe 2023-02-14 21:50:14 +00:00
ed 641929191e fix reading smb shares on windows 2023-02-12 13:59:34 +00:00
ed 8f61e1568c transcode chiptunes to opus;
* new audio/MPT formats: apac bonk dfpwm ilbc it itgz itr itz mo3 mod mptm mt2 okt s3gz s3m s3r s3z xm xmgz xmr xmz xpk
* new image/PIL formats: blp dcx emf eps fits flc fli fpx im j2k j2p psd spi wmf
2023-02-11 11:17:37 +00:00
ed a4b56c74c7 support long filepaths on win7 + misc windows fixes 2023-02-10 18:37:37 +00:00
ed 1e20eafbe0 volflag to randomize all upload filenames 2023-02-01 21:58:01 +00:00
ed 8b62aa7cc7 unlink files before replacing them
to avoid hardlink-related surprises
2023-01-31 17:17:18 +00:00
ed 37a690a4c3 fix cookie + rproxy oversights 2023-01-29 18:34:48 +00:00
ed a083dc36ba dont get confused by dangling symlinks at target 2023-01-27 20:27:00 +00:00
ed 4310580cd4 separate http/https logins (breaks ie4 / win3.11 login) 2023-01-24 21:23:57 +00:00
ed f8e3e87a52 add event hooks 2023-01-22 23:35:31 +00:00
ed f4f362b7a4 add --freebind 2023-01-18 21:55:36 +00:00
ed 577d23f460 zeroconf: detect network change and reannounce 2023-01-18 21:27:27 +00:00
ed 17c91e7014 override bogus mimetypes 2023-01-14 15:10:32 +00:00
ed 8b81e58205 mdns fixes 2022-12-30 07:47:53 +00:00
ed b070d44de7 libvips logging + raise codec errors 2022-12-15 22:22:04 +00:00
ed bc7af1d1c8 u2cli: add basic folder sync 2022-12-11 17:41:10 +00:00
ed 7704b9c8a2 sqlite durability profiles 2022-12-10 10:01:33 +00:00
ed 06fa78f54a windows: set .hist folder hidden 2022-12-07 22:56:30 +00:00
ed fbed322d3b option to skip database syncs entirely 2022-12-07 21:35:04 +00:00
ed 9b0f519e4e switch to wal for ~2x faster uploads 2022-12-07 20:52:17 +00:00
ed 9a28afcb48 custom mediaplayer-toggle cursor 2022-12-05 19:46:48 +00:00
ed 99efc290df fix mdns on windows 2022-12-03 13:31:00 +00:00
ed 7c76d08958 drop one of the slowloris detectors 2022-12-02 17:53:23 +00:00
ed 0cef062084 misc cleanup 2022-12-01 21:44:31 +00:00
ed d3fe19c5aa misc fixes 2022-11-28 20:25:32 +00:00
ed f0e78a6826 add landing page with mounting instructions 2022-11-26 19:47:27 +00:00
ed 5cd9d11329 add ssdp responder 2022-11-22 21:40:12 +00:00
ed 5a3e504ec4 uninvent a square wheel 2022-11-22 19:12:41 +00:00
ed d326ba9723 ftp: ban password-bruteforcing IPs 2022-11-20 11:06:07 +00:00
ed 8709d4dba0 macos smb: avoid hang on shutdown 2022-11-17 21:17:54 +00:00
ed 0cedaf4fa9 isort 2022-11-15 22:41:35 +00:00
ed cd2513ec16 logging fixes 2022-11-15 21:28:27 +00:00
ed b3eb117e87 add mdns zeroconf announcer 2022-11-13 20:05:16 +00:00
ed e442cb677a improve ftp/smb logging 2022-11-06 13:30:16 +00:00
ed 357e7333cc cleanup 2022-11-04 20:27:16 +00:00
ed 89d1f52235 cursory slowloris / buggy-webdav-client detector 2022-11-01 22:18:20 +00:00
ed 3312c6f5bd autoclose connection-flooding clients 2022-10-31 22:42:47 +00:00
ed edad3246e0 make pylance happier 2022-10-29 20:40:25 +00:00
ed 4b2b4ed52d smb: fix file rename 2022-10-24 16:08:02 +02:00
ed f14369e038 webdav: mkdir semantics 2022-10-24 14:09:09 +02:00
ed 835f8a20e6 default-enable webdav 2022-10-23 23:37:32 +02:00
ed f3a501db30 add SMB/CIFS server 2022-10-23 23:08:00 +02:00
ed 4bcd30da6b cleaner daemon instancing 2022-10-23 12:05:44 +02:00
ed 32e826efbc catch and discard macos metadata files 2022-10-22 01:15:54 +02:00
ed 20eeacaac3 add webdav write support + fix http 200/201 2022-10-21 18:47:48 +02:00
ed c003dfab03 unbold ansi grays 2022-10-19 15:30:17 +02:00
ed 20c6b82bec replace magic numbers with errno.* 2022-10-19 15:21:48 +02:00
ed 8510804e57 initial webdav support 2022-10-18 19:36:52 +02:00
ed 12219c1bea more fun with symlinks 2022-10-08 21:08:51 +02:00
ed 4f811eb9e9 hmac cache limit + android ux:
onscroll doesnt trigger so files dont load in
2022-10-08 17:46:04 +02:00
ed ae28dfd020 tweaks 2022-10-08 02:05:15 +02:00
ed abb3224cc5 option to save a copy of corrupted uploads 2022-09-26 22:01:49 +02:00
ed 1c66d06702 cleanup versionchecks 2022-09-25 21:31:47 +02:00
ed 53bb1c719b fix huge-filename trunc on ubuntu-20.04 zfs 2022-09-25 14:00:11 +02:00
ed ae5c4a0109 update webdeps + isort + readme 2022-09-23 22:32:04 +02:00
ed 1d367a0da0 cleanup 2022-09-23 20:37:37 +02:00
ed 32e71a43b8 reinvent fail2ban 2022-09-21 22:27:20 +02:00
ed f5520f45ef add pyinstaller 2022-09-19 00:59:54 +02:00
ed 9401b5ae13 add filetype detection for nameless uploads 2022-09-18 17:30:57 +02:00
ed df64a62a03 patch popen on windows-python <3.8 2022-09-18 15:09:41 +02:00
ed 868103a9c5 more flexible --stackmon 2022-09-14 02:06:34 +02:00
ed 0006f933a2 hmac uploader-ip when avoiding filename collisions 2022-09-11 08:27:45 +02:00
ed d2ae822e15 more socket cleanup fiddling 2022-09-07 23:06:12 +02:00
ed 995cd10df8 bump timeouts for zfs / bursty filesystems 2022-09-04 21:21:54 +02:00
ed 788db47b95 option to let mtp's keep stdout/stderr 2022-09-04 01:42:28 +02:00
ed 558bfa4e1e siocoutq-based shutdown 2022-08-31 01:16:09 +02:00
ed 9ccd327298 add directory hashing (boots ~3x faster) 2022-08-12 23:17:18 +02:00
ed c00b80ca29 v1.3.11 2022-08-10 23:35:21 +02:00
ed 92ed4ba3f8 parallelize python hashing too 2022-08-10 23:12:01 +02:00
ed 51c152ff4a indicate sqlite thread-safety + some cleanup 2022-08-05 01:20:16 +02:00
ed 4aaa111925 v1.3.9 2022-08-04 00:39:37 +02:00
ed e31248f018 include version info on startup and in crash dumps 2022-08-04 00:11:52 +02:00
ed 1c3894743a fix filekeys inside symlinked volumes 2022-08-02 20:26:51 +02:00
ed b3e35bb494 async lsof w/ timeout 2022-07-26 22:38:13 +02:00
ed 5dc75ebb67 async e2ts / e2v + forget deleted shadowed 2022-07-26 12:47:40 +02:00
ed d686ce12b6 lsof db on stuck transaction 2022-07-25 02:07:59 +02:00
ed 10430b347f fix dumb prisonparty bug 2022-07-22 20:49:35 +02:00
ed 4a76663fb2 ensure free disk space 2022-07-17 22:33:08 +02:00
ed 48b957f1d5 add -e2v (file integrity checker) 2022-07-13 00:48:39 +02:00
ed c6c31702c2 cheaper file deletion 2022-07-11 01:50:18 +02:00
ed c5b04f6fef mtp daisychaining 2022-07-08 22:29:05 +02:00
ed 622358b172 flag to control mtp timeout kill behavior 2022-07-05 23:38:49 +02:00
ed 6e445487b1 satisfy cloudflare DDoS protection 2022-07-03 16:04:28 +02:00
ed 40ce4e2275 cleanup 2022-07-03 13:55:48 +02:00
ed 8fef9e363e recursive kill mtp on timeout 2022-07-03 04:57:15 +02:00
ed a9591db734 cleanup 2022-06-27 22:56:29 +02:00
ed 9ebf148cbe support android9 sdcardfs on sdcard 2022-06-27 22:15:35 +02:00
ed 190e11f7ea update deps + misc 2022-06-16 21:43:40 +02:00
ed ad7413a5ff add .PARTIAL suffix to bup uploads too +
aggressive limits checking
2022-06-16 21:00:41 +02:00
ed eb3fa5aa6b add safety profiles + improve helptext + speed 2022-06-16 10:21:44 +02:00
ed 438384425a add types, isort, errorhandling 2022-06-16 01:07:15 +02:00
ed 256c7f1789 add option to see errors from mtp parsers 2022-06-09 14:46:35 +02:00
ed 4e5a323c62 more cleanup 2022-06-08 01:05:35 +02:00
ed 4c4b3790c7 fix read-spin on d/c during json post + errorhandling 2022-06-07 19:02:52 +02:00
ed 214a367f48 be loud about segfaults and such 2022-05-12 20:26:48 +02:00
ed 9269bc84f2 skip more stuff windows doesn't like 2022-04-28 10:31:10 +02:00
ed 2a1cda42e7 avoid deadlocks on windows 2022-04-27 22:27:49 +02:00
ed 36c20bbe53 fix setting mtime on windows 2022-04-15 20:08:55 +02:00
ed fa12c81a03 zip-download files older than 1980-01-01 2022-03-24 01:31:50 +01:00
ed f3e8308718 eh, better as volflags 2022-03-20 05:45:07 +01:00
ed ce776a547c add rate throttling to uploads too 2022-02-06 02:06:59 +01:00
ed fc9dd5d743 meadup changes 2022-01-03 01:16:27 +01:00
ed dd28de1796 sendfile: handle eagain 2021-12-17 00:04:19 +01:00
ed 241ef5b99d preserve mtimes when juggling symlinks 2021-12-04 01:58:04 +01:00
ed 36aee085f7 add timeouts to FFmpeg things 2021-11-16 22:22:09 +01:00
ed cae436b566 add client-option to disconnect on HTTP 304 2021-11-15 02:45:18 +01:00
ed 51e6c4852b retire ogvjs 2021-11-14 19:28:44 +01:00
ed b8b15814cf add traffic shaping, bump speeds on https/windows 2021-11-12 01:34:56 +01:00
ed 15b261c861 help windows a little 2021-11-06 00:45:42 +01:00
ed 977f09c470 .txt.gz is not actually .txt 2021-11-05 00:29:25 +01:00
ed 82a0401099 at some point firefox became case-sensitive 2021-11-04 22:10:45 +01:00
ed 744727087a better rmtree semantics 2021-10-27 09:40:20 +02:00
ed 6dade82d2c run tag scrapers in parallel on new uploads 2021-10-27 00:47:50 +02:00
ed 79097bb43c optimize rmtree on windows 2021-10-19 01:04:21 +02:00
ed 42acc457af allow providing target filename in PUT 2021-10-19 00:48:00 +02:00
ed 0d5ca67f32 up2k-srv: add option to reuse file-handles 2021-09-26 03:44:22 +02:00
ed b11db090d8 also hide windows-paths in exceptions 2021-09-25 18:19:17 +02:00
ed 16c8e38ecd support login/uploading from hv3 2021-09-19 17:03:01 +02:00
ed 59be76cd44 fix basic-upload into fk-enabled folders 2021-09-19 15:00:55 +02:00
ed 0e884df486 keep empty folders after deleting all files 2021-09-15 23:31:49 +02:00
ed ef1c55286f add filekeys 2021-09-15 23:17:02 +02:00
ed 6136b9bf9c don't double-eof 2021-09-09 00:54:09 +02:00
ed f5b1a2065e multipart-parser needs exact reads 2021-09-08 21:07:34 +00:00
ed 23e72797bc remove some more ansi escapes on win7 2021-08-26 22:45:36 +02:00
ed 46752f758a fix bup into volumes with upload rules 2021-08-15 23:59:41 +02:00
ed 5a2b91a084 handle more exceptions + sanitize fs paths in msgs 2021-08-09 01:09:20 +02:00
ed 953183f16d add help sections and vt100 stripper 2021-08-08 02:47:42 +02:00
ed 9a45549b66 adding upload rules 2021-08-07 03:45:50 +02:00
ed c164fc58a2 add unpost 2021-07-29 23:53:08 +02:00
ed e65f127571 list server ips on windows 2021-07-28 01:18:38 +02:00
ed 129d33f1a0 mv/del: recursive rmdir 2021-07-27 19:15:58 +02:00
ed a362ee2246 dodge a bullet on centos7 2021-07-27 00:28:40 +02:00