Commit graph

2206 commits

Author SHA1 Message Date
ed 9eaa9904e0 v1.8.6 2023-07-21 00:36:37 +00:00
ed 0778da6c4d fix GHSA-cw7j-v52w-fp5r: reflected-XSS through /?hc 2023-07-21 00:35:43 +00:00
ed 1441ccee4f v1.8.4 2023-07-18 07:46:22 +00:00
ed 3dcc386b6f v1.8.3 2023-07-16 22:00:04 +00:00
ed 5aa54d1217 shift/ctrl-click improvements:
* always enable shift-click selection in list-view
* shift-clicking thumbnails opens in new window by default as expected
* enable shift-select in grid-view when multiselect is on
* invert select when the same shift-select is made repeatedly
2023-07-16 18:15:56 +00:00
ed 88b876027c option to range-select files with shift-click; closes #47
also restores the browser-default behavior of
opening links in a new tab with CTRL / new window with SHIFT
2023-07-16 14:05:09 +00:00
ed f2f5e266b4 support listing uploader IPs in d2t volumes 2023-07-15 18:50:35 +00:00
ed e17bf8f325 require the new admin permission for the admin-panel 2023-07-15 18:39:41 +00:00
ed 85a637af09 v1.8.2 2023-07-14 15:58:39 +00:00
ed 043e3c7dd6 fix traversal vulnerability GHSA-pxfv-7rr3-2qjg:
the /.cpr endpoint allowed full access to server filesystem,
unless mitigated by prisonparty
2023-07-14 15:55:49 +00:00
ed 8f59afb159 fix another race (unpost):
unposting could collide with most other database-related activities,
causing one or the other to fail.
luckily the unprotected query performed by the unpost API happens to be
very cheap, so also the most likely to fail, and would succeed upon a
manual reattempt from the UI.
even in the worst case scenario, there would be no unrecoverable damage
as the next rescan would auto-repair any resulting inconsistencies.
2023-07-14 15:21:14 +00:00
ed 77f1e51444 fix unlikely race (e2tsr):
if someone with admin rights refreshes the homepage exactly as the
directory indexer decides to `_drop_caches`, the indexer thread would
die and the up2k instance would become inoperable...
luckily the probability of hitting this by chance is absolutely minimal,
and the worst case scenario is having to restart copyparty if this
happens immediately after startup; there is no risk of database damage
2023-07-14 15:20:25 +00:00
ed 22fc4bb938 add event-hook for banning users 2023-07-13 22:29:32 +00:00
ed 50c7bba6ea volflag "nohtml" to never return html or rendered markdown from potentially unsafe volumes 2023-07-13 21:57:52 +00:00
ed 551d99b71b add permission "a" to show uploader IPs (#45) 2023-07-12 21:36:55 +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 a10cad54fc v1.8.1 2023-07-07 22:20:01 +00:00
ed 8568b7702a add pillow10 support + improve text rendering 2023-07-07 22:13:04 +00:00
ed 5d8cb34885 404/403 can be handled with plugins 2023-07-07 21:33:40 +00:00
ed 8d248333e8 dont disable quickedit when hashing passwords interactively 2023-07-07 18:29:30 +00:00
ed 99e2ef7f33 ux: fix tabs clipping in fedora-ff, hackertheme up2k flags 2023-07-07 18:24:58 +00:00
ed a0c1239246 v1.8.0 2023-06-26 00:05:12 +00:00
ed b8e851c332 cloudflare update + cosmetics:
* toastb padding fixes scrollbar on norwegian 403 in firefox
* fix text aspect ratio in seekbaron compact toggle
* crashpage had link overlaps on homepage
2023-06-25 23:09:29 +00:00
ed baaf2eb24d include mdns names in tls cert 2023-06-25 22:06:35 +00:00
ed e197895c10 support hashed passwords; closes #39 2023-06-25 21:50:33 +00:00
ed cb75efa05d md-editor: index file and trigger upload hooks 2023-06-20 18:11:35 +00:00
ed 8b0cf2c982 volflags to limit volume size / num files; closes #40 2023-06-19 00:42:45 +00:00
ed 10caafa34c v1.7.6 2023-06-11 08:14:45 +00:00
ed 22cc22225a v1.7.5 2023-06-11 01:32:56 +00:00
ed a00ff2b086 v1.7.4 2023-06-11 00:07:38 +00:00
ed e4acddc23b v1.7.3 2023-06-11 00:03:03 +00:00
ed 2b2d8e4e02 tls / gencert fixes 2023-06-10 23:34:34 +00:00
ed 5501d49032 prefer urandom for fk-salt unless cert.pem exists 2023-06-10 22:47:39 +00:00
ed fa54b2eec4 generate tls certs 2023-06-10 22:46:24 +00:00
ed 93a723d588 add --ansi to systemd, fix grid controls bg,
mention folder thumbs dependency on -e2d,
improve make-sfx warnings,
update changelog
2023-06-06 22:04:39 +00:00
ed 8ebe1fb5e8 mention cfssl.sh in the default-certificate warning,
and improve documentation inside cfssl.sh
2023-06-06 21:41:19 +00:00
clach04 2acdf685b1 Fix issue #33 - no color output expected when redirecting stdout 2023-06-05 01:58:49 +02:00
ed 03be26fafc improve check for type-hint support 2023-06-04 22:59:25 +00:00
ed c355f9bd91 catch common environment issues (#32):
* error-message which explains how to run on py2 / older py3
   when trying to run from source
* check compatibility between jinja2 and cpython on startup
* verify that webdeps are present on startup
* verify that webdeps are present when building sfx
* make-sfx.sh grabs the strip-hints dependency
2023-06-04 13:13:36 +00:00
ed 9c28ba417e option to regex-exclude files in browser listings 2023-06-02 21:54:25 +00:00
ed 705b58c741 support the NO_COLOR environment variable
https://no-color.org/ and more importantly
https://youtu.be/biW5UVGkPMA?t=150
2023-06-02 20:22:57 +00:00
ed 510302d667 support ftps-only; closes #30 2023-06-02 19:02:50 +00:00
ed 025a537413 add option to show thumbs by default; closes #31 2023-06-02 18:41:21 +00:00
ed 60a1ff0fc0 macos: mute select() noise on wake from suspend 2023-05-19 16:37:52 +02:00
ed 4ccfeeb2cd v1.7.2 2023-05-13 00:00:07 +00:00
ed 2cca6e0922 warn when sharing certain system locations 2023-05-12 21:38:16 +00:00
ed db51f1b063 cfg: allow trailing colon on category headers 2023-05-12 21:01:34 +00:00
ed d979c47f50 optimize clearTimeout + always shrink upload panes after completion + fix GET alignment 2023-05-12 20:46:45 +00:00
ed e64b87b99b dont hardlink symlinks (they could be relative) 2023-05-12 20:41:09 +00:00
ed deca082623 v1.7.1 2023-05-07 18:34:39 +00:00
ed 0ea8bb7c83 forgot the u2c symlink + sfx listing 2023-05-07 15:45:20 +00:00
ed 572aa4b26c rename up2k.py (client) to u2c.py 2023-05-07 15:35:56 +00:00
ed b1359f039f linter cleanup 2023-05-07 14:38:30 +00:00
ed 867d8ee49e replace setup.py with pyproject.toml + misc cleanup 2023-05-07 14:37:57 +00:00
ed 04c86e8a89 webdav: support write-only folders + force auth option 2023-05-06 20:33:29 +00:00
ed bc0cb43ef9 include usernames in request logs 2023-05-06 20:17:56 +00:00
ed 769454fdce ftpd: only log invalid passwords 2023-05-06 19:16:52 +00:00
ed 4ee81af8f6 support ';' in passwords 2023-05-06 18:54:55 +00:00
ed 8b0e66122f smoother playback cursor on short songs + optimize 2023-05-06 16:31:04 +00:00
ed b6fd555038 panic if two accounts have the same password 2023-05-05 20:24:24 +00:00
ed 1e22222c60 v1.7.0 2023-04-29 21:14:38 +00:00
ed 544e0549bc make xvol and xdev apply at runtime (closes #24):
* when accessing files inside an xdev volume, verify that the file
   exists on the same device/filesystem as the volume root

* when accessing files inside an xvol volume, verify that the file
   exists within any volume where the user has read access
2023-04-29 21:10:02 +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 138f5bc989 warn about android powersave settings on music interruption + fix eq on folder change 2023-04-29 09:31:53 +00:00
ed e4759f86ef ftpd correctness:
* winscp mkdir failed because the folder-not-found error got repeated
* rmdir fails after all files in the folder have poofed; that's OK
* add --ftp4 as a precaution
2023-04-28 20:50:45 +00:00
ed d71416437a show file selection summary 2023-04-27 19:33:52 +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 abff40519d eyecandy: restore playback indicator on folder hop 2023-04-26 19:09:16 +00:00
ed 55c74ad164 30% faster folder listings (wtf...) 2023-04-26 18:55:53 +00:00
ed 673b4f7e23 option to show symlink's lastmod instead of deref;
mainly motivated by u2cli's folder syncing in turbo mode
which would un-turbo on most dupes due to wrong lastmod

disabled by default for regular http listings
(to avoid confusion in most regular usecases),
enable per-request with urlparam lt

enabled by default for single-level webdav listings
(because rclone hits the same issue as u2cli),
can be disabled with arg --dav-rt or volflag davrt

impossible to enable for recursive webdav listings
2023-04-26 18:54:21 +00:00
ed 33442026b8 try to discourage android from stopping playback...
...when continuing into the next folder

accidentally introduces a neat bonus feature where the music
no longer stops while you go looking for stuff to play next
2023-04-26 18:33:30 +00:00
ed 03193de6d0 socket read/write timeout 2023-04-24 20:04:22 +00:00
ed d88889d3fc v1.6.14 2023-04-24 06:09:44 +00:00
ed cacca663b3 v1.6.13 2023-04-23 23:05:31 +00:00
ed d5109be559 ftp: track login state isolated from pyftpdlib;
for convenience, the password can be provided as the username
but that confuses pyftpd a little so let's do this
2023-04-23 21:06:19 +00:00
ed d999f06bb9 volflags can be -unset 2023-04-23 21:05:29 +00:00
ed a1a8a8c7b5 configurable tls-certificate location 2023-04-23 20:56:55 +00:00
ed fdd6f3b4a6 tar/zip: use volume name as toplevel fallback 2023-04-23 20:55:34 +00:00
ed 42099baeff v1.6.12 2023-04-20 21:41:47 +00:00
ed 6acf436573 u2idx pool instead of per-socket;
prevents running out of FDs thanks to thousands of sqlite3 sessions
and neatly sidesteps what could possibly be a race in python's
sqlite3 bindings where it sometimes forgets to close the fd
2023-04-20 20:36:13 +00:00
ed f217e1ce71 correctly ignore multirange requests 2023-04-20 19:14:38 +00:00
ed 8f5f8a3cda expand userhomes everywhere:
* -c
* -lo
* --hist
* hist volflag
* --ssl-log
2023-04-14 18:55:19 +02:00
ed c8938fc033 fix ipv4 location header on dualstack 2023-04-14 14:06:44 +02:00
ed d6a0a738ce add windows example + update docs + some cosmetics 2023-04-12 22:06:44 +00:00
ed f5fe3678ee more safari-on-touchbar-macbook workarounds:
* safari invokes pause on the mediasession
   whenever any Audio loads a new src (preload)

* ...and on some(?) seeks
2023-04-07 23:04:01 +02:00
ed f2a7925387 avoid safari bugs on touchbar macbooks:
* songs would play backwards
* playback started immediately on folder change
2023-04-07 12:38:37 +02:00
ed f0000d9861 v1.6.11 2023-04-01 21:12:54 +00:00
ed 4e67516719 last.fm web-scrobbler support 2023-04-01 21:02:03 +00:00
ed 852499e296 dont panic in case of extension-injected css 2023-04-01 16:08:45 +00:00
ed 2a37e81bd8 add rclone optimization, closes #21 2023-04-01 10:21:21 +00:00
ed 854ba0ec06 add audio filter plugin thing 2023-03-31 20:20:28 +00:00
ed 209b49d771 remind sqlite we have indexes 2023-03-30 21:45:58 +00:00
ed 949baae539 integrate markdown thumbs with image gallery 2023-03-30 21:21:21 +00:00
ed 592b7d6315 gdi js 2023-03-26 02:06:49 +00:00
ed 0880bf55a1 markdown thumbnails 2023-03-26 01:53:41 +00:00
ed e2bc573e61 webdav correctness:
* generally respond without body
   (rclone likes this)
* don't connection:close on most mkcol errors
2023-03-23 23:25:00 +00:00
ed c01cad091e v1.6.10 2023-03-20 21:56:31 +00:00
ed eb349f339c update foldersync / rclone docs 2023-03-20 21:54:08 +00:00
ed 24d8caaf3e switch rclone to owncloud mode so it sends lastmod 2023-03-20 21:45:52 +00:00
ed 5ac2c20959 basic support for rclone sync 2023-03-20 21:17:53 +00:00
ed bb72e6bf30 support propfind of files (not just dirs) 2023-03-20 20:58:51 +00:00
ed d8142e866a accept last-modified from owncloud webdav extension 2023-03-20 20:28:26 +00:00
ed 749616d09d help iOS understand short audio files 2023-03-19 20:03:35 +00:00
ed ca04a00662 v1.6.9 2023-03-16 21:06:18 +00:00
ed 8a09601be8 url-param ?v disables index.html 2023-03-16 20:52:43 +00:00
ed 1fe0d4693e fix logues bleeding into navpane 2023-03-16 20:23:01 +00:00
ed bba8a3c6bc fix truncated search results 2023-03-16 20:12:13 +00:00
ed e3d7f0c7d5 add tooltip delay to android too 2023-03-16 19:48:44 +00:00
ed be7bb71bbc add option to show index.html instead of listing 2023-03-16 19:41:33 +00:00
ed e0c4829ec6 verify covers against db instead of fs 2023-03-15 19:48:43 +00:00
ed b0cc396bca v1.6.8 2023-03-12 16:10:07 +00:00
ed 2be2e9a0d8 index folder thumbs in db 2023-03-11 11:43:29 +00:00
ed c269b0dd91 show an error (instead of crashing) if a pic is 404 2023-03-09 22:37:12 +00:00
ed 8c3211263a keep scanning folders for more music to play 2023-03-09 22:26:41 +00:00
ed c7c6e48b1a didn't compress numbered logfiles 2023-03-09 21:59:59 +00:00
ed 974ca773be just to be extra sure 2023-03-09 21:49:29 +00:00
ed 9270c2df19 evict basic-browser from crawlers 2023-03-09 21:35:07 +00:00
ed c39c93725f v1.6.7 2023-03-05 20:18:16 +00:00
ed d00f0b9fa7 ftp: support filezilla mkdir 2023-03-05 20:18:02 +00:00
ed 01cfc70982 add example for webdav automount 2023-03-05 19:52:45 +00:00
ed e6aec189bd fix flickering toast on upload finish 2023-03-05 19:49:54 +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 0009e31bd3 heavy webworker load can park the main thread of a
background chrome tab for 10sec; piggyback some pokes off postmessage
2023-03-02 22:35:32 +00:00
ed db95e880b2 thats not how it works 2023-02-28 22:19:06 +00:00
ed ecdec75b4e v1.6.6 2023-02-26 20:30:17 +00:00
ed 5cb2e33353 update readmes + fix typo 2023-02-26 19:22:54 +00:00
ed 43ff2e531a add deadline for filling data into a reserved filename 2023-02-26 19:13:35 +00:00
ed 1c2c9db8f0 retain upload time (but not ip) on file reindex 2023-02-26 19:09:24 +00:00
ed 7ea183baef let http thread handle upload verification plugins 2023-02-26 19:07:49 +00:00
ed ab87fac6d8 db got the wrong lastmod when linking dupes 2023-02-26 18:52:04 +00:00
ed 1e3b7eee3b dont rmdir volume top on cleanup 2023-02-26 18:28:37 +00:00
ed 4de028fc3b let controlpanel rescan button override lack of e2dsa 2023-02-26 18:27:10 +00:00
ed 604e5dfaaf improve error handling / messages 2023-02-26 18:26:13 +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 76bd005bdc cgen fixes 2023-02-21 19:42:08 +00:00
ed 5effaed352 add reminder that SSDP launches IE by default 2023-02-21 19:38:35 +00:00
ed 6deaf5c268 add jitter simlation 2023-02-20 21:34:30 +00:00
ed 14ad5916fc freebsd: fancy console listing for fetch 2023-02-19 22:14:21 +00:00
ed 1a46738649 raise edgecases (broken envs on windows) 2023-02-19 22:13:33 +00:00
ed 292ce75cc2 return to previous url after login 2023-02-19 19:58:15 +00:00
ed 96d6bcf26e if non-TLS, show warning in the login form 2023-02-17 22:49:03 +00:00
ed 49e8df25ac ie11: support back button 2023-02-17 22:21:13 +00:00
ed 6a05850f21 also undupe search hits from overlapping volumes 2023-02-17 20:48:57 +00:00
ed 6eba9feffe condense uploads listing on view change 2023-02-14 21:58:15 +00:00
ed 8adfcf5950 win10-based copyparty64.exe 2023-02-14 21:50:14 +00:00
ed dc2e2cbd4b v1.6.5 2023-02-12 14:11:45 +00:00
ed 5c12dac30f most ffmpeg builds dont support compressed modules 2023-02-12 14:02:43 +00:00
ed 641929191e fix reading smb shares on windows 2023-02-12 13:59:34 +00:00
ed cdec42c1ae v1.6.4 2023-02-11 18:02:05 +00:00
ed c48f469e39 park all clients waiting for a transcode 2023-02-11 17:23:29 +00:00
ed 44909cc7b8 print ffmpeg download url on windows 2023-02-11 17:22:24 +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 dbdb9574b1 doc-browser: fix md scaling + download hotkey 2023-02-10 21:33:48 +00:00
ed 853ae6386c config load summary + safer windows defaults 2023-02-10 21:32:42 +00:00
ed a4b56c74c7 support long filepaths on win7 + misc windows fixes 2023-02-10 18:37:37 +00:00
ed d7f1951e44 fix --cgen for 'g' perms 2023-02-08 22:38:21 +00:00
ed 7e2ff9825e ensure -e2tsr takes effect by ignoring dhash 2023-02-08 22:33:02 +00:00
ed 9b423396ec better description for anonymous permissions 2023-02-07 20:12:45 +00:00
ed 781146b2fb describe all database volflags in --help-flags 2023-02-07 20:07:06 +00:00
ed 84937d1ce0 add v2 config syntax (#20) 2023-02-07 19:54:08 +00:00
ed 98cce66aa4 cgen: update set of multivalue keys 2023-02-06 07:26:23 +00:00
ed 043c2d4858 cgen: fix permissions listing 2023-02-06 07:23:35 +00:00
ed 99cc434779 add config explainer + generator (#20) 2023-02-05 22:09:17 +00:00
ed 87d835ae37 dont allow multiple volumes at the same fs-path 2023-02-05 21:16:36 +00:00
ed 4ad6e45216 only load *.conf files when including a folder 2023-02-05 00:01:10 +00:00
ed b0db14d8b0 indicate forced-randomized filenames 2023-02-04 15:18:09 +00:00
ed 2b644fa81b don't alias randomized filenames 2023-02-04 13:41:43 +00:00
ed 190ccee820 add optional version number on controlpanel 2023-02-04 13:41:34 +00:00
ed 4de61defc9 add a link exporter to the unpost ui too 2023-02-02 22:57:59 +00:00
ed 0aa88590d0 should generalize this somehow 2023-02-02 22:35:13 +00:00
ed 405f3ee5fe adjustable toast position 2023-02-02 22:28:31 +00:00
ed bc339f774a button to show/copy links for all recent uploads 2023-02-02 22:27:53 +00:00
ed e67b695b23 show filekeys in recent-uploads ui 2023-02-02 21:22:51 +00:00
ed a918c285bf up2k-ui: button to randomize upload filenames 2023-02-01 22:26:18 +00:00
ed 1e20eafbe0 volflag to randomize all upload filenames 2023-02-01 21:58:01 +00:00
ed 39399934ee v1.6.3 2023-01-31 21:03:43 +00:00
ed b47635150a shove #files aside while prologue sandbox is loading 2023-01-31 21:02:58 +00:00
ed 7a98dc669e block alerts in sandbox by default + add translation 2023-01-31 19:16:28 +00:00
ed 712a578e6c indicate when a readme/logue was hidden 2023-01-31 19:01:24 +00:00
ed d8dfc4ccb2 support davfs2 LOCK (uploads) + misc windows support + logue filtering 2023-01-31 18:53:38 +00:00
ed e413007eb0 hide dotfiles from search results by default 2023-01-31 18:13:33 +00:00
ed 6d1d3e48d8 sandbox height didnt account for scrollbars 2023-01-31 17:54:04 +00:00
ed 04966164ce more iframe-resize-concealing tricks 2023-01-31 17:43:21 +00:00
ed 8b62aa7cc7 unlink files before replacing them
to avoid hardlink-related surprises
2023-01-31 17:17:18 +00:00
ed 8c54c2226f cover up most of the layout jank 2023-01-30 22:52:16 +00:00
ed f74ac1f18b fix sandbox lag by helping the iframe cache js 2023-01-30 22:36:05 +00:00
ed 25931e62fd and nofollow the basic-browser link too 2023-01-29 22:15:22 +00:00
ed 707a940399 add nofollow to zip links 2023-01-29 22:10:03 +00:00
ed 87ef50d384 doc 2023-01-29 21:23:48 +00:00
ed dcadf2b11c v1.6.2 2023-01-29 18:42:21 +00:00
ed 37a690a4c3 fix cookie + rproxy oversights 2023-01-29 18:34:48 +00:00
ed aecae552a4 v1.6.1 2023-01-29 04:41:16 +00:00
ed eaa6b3d0be mute some startup noise 2023-01-29 04:33:28 +00:00
ed c2ace91e52 v1.6.0 2023-01-29 02:55:44 +00:00
ed 0bac87c36f make loss of hotkeys more obvious 2023-01-29 01:40:02 +00:00
ed e650d05939 shovel across most of the env too 2023-01-29 01:19:53 +00:00
ed 85a96e4446 add custom text selection colors because chrome is broken on fedora 2023-01-29 01:03:10 +00:00
ed 2569005139 support sandboxed markdown plugins 2023-01-29 00:57:08 +00:00
ed c50cb66aef sandboxed other-origin iframes dont cache css 2023-01-28 23:40:25 +00:00