Commit graph

486 commits

Author SHA1 Message Date
ed 0dc3c23b42 add alternative filekey generator; closes #52 2023-10-06 13:41:22 +00:00
ed fc9b729fc2 fix #51:
* handle unexpected localstorage values
* handle unsupported --lang values
2023-09-30 22:54:21 +00:00
ed 163e3fce46 improve reverse-proxy support when containerized:
the x-forwarded-for header would get rejected since the reverse-proxy
is not asking from 127.0.0.1 or ::1, so make this allowlist configurable
2023-09-22 22:39:20 +00:00
ed e76a50cb9d add indexer benchmark + bump default num cores from 4 to 5
and make the mtag deps build better on fedora
2023-09-22 20:40:52 +00:00
ed c47047c30d configurable real-ip header from reverse proxy 2023-09-20 21:56:39 +00:00
ed 18c763ac08 smb: upgrade to impacket 0.11, full user account support,
permissions are now per-account instead of coalescing

also stops windows from freaking out if there's an offline volume
2023-09-09 12:46:37 +00:00
ed 5a968f9e47 add permission 'h': folders redirect to index.html;
safest way to make copyparty like a general-purpose webserver where
index.html is returned as expected yet directory listing is entirely
disabled / unavailable
2023-09-07 23:30:01 +00:00
ed 767696185b add ?tar=gz, ?tar=bz2, ?tar=xz with optional level;
defaults are ?tar=gz:3, ?tar=bz2:9, ?tar=xz:1
2023-09-01 23:44:10 +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 9b46291a20 add option to force-disable turbo,
making it safer to enable --ban-404
(u2c can still get banned inadvertently)
2023-08-26 13:19:38 +00:00
ed db0abbfdda typo 2023-08-21 00:05:39 +00:00
ed cafe53c055 v1.9.0 2023-08-20 22:02:40 +00:00
ed fc0405c8f3 add prometheus metrics; closes #49 2023-08-20 17:58:06 +00:00
ed 8341041857 mdns: option to ignore spec to avoid issues on
networks where clients have multiple IPs of which some are subnets that
the copyparty server is not
2023-08-19 21:45:26 +00:00
ed 1b7634932d tar/zip-download: add opus transcoding filter 2023-08-19 19:40:46 +00:00
ed 4f80e44ff7 option to exactly specify browser title prefix 2023-08-15 03:17:01 +02:00
ed bee26e853b show server hostname in html titles:
* --doctitle defines most titles, prefixed with "--name: " by default
* the file browser is only prefixed with the --name itself
* --nth ("no-title-hostname") removes it
* also removed by --nih ("no-info-hostname")
2023-08-14 23:50:13 +02:00
ed 04a1f7040e adjustable timestamp resolution in log messages 2023-08-14 17:22:22 +02:00
ed e17bf8f325 require the new admin permission for the admin-panel 2023-07-15 18:39:41 +00:00
ed 22fc4bb938 add event-hook for banning users 2023-07-13 22:29:32 +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 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 a0c1239246 v1.8.0 2023-06-26 00:05:12 +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 8b0cf2c982 volflags to limit volume size / num files; closes #40 2023-06-19 00:42:45 +00:00
ed 22cc22225a v1.7.5 2023-06-11 01:32:56 +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
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 025a537413 add option to show thumbs by default; closes #31 2023-06-02 18:41:21 +00:00
ed b1359f039f linter cleanup 2023-05-07 14:38:30 +00:00
ed 04c86e8a89 webdav: support write-only folders + force auth option 2023-05-06 20:33:29 +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 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 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 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 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 8f5f8a3cda expand userhomes everywhere:
* -c
* -lo
* --hist
* hist volflag
* --ssl-log
2023-04-14 18:55:19 +02:00
ed 5ac2c20959 basic support for rclone sync 2023-03-20 21:17:53 +00:00
ed be7bb71bbc add option to show index.html instead of listing 2023-03-16 19:41:33 +00:00
ed 2be2e9a0d8 index folder thumbs in db 2023-03-11 11:43:29 +00:00
ed 43ff2e531a add deadline for filling data into a reserved filename 2023-02-26 19:13:35 +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 6deaf5c268 add jitter simlation 2023-02-20 21:34:30 +00:00
ed 8adfcf5950 win10-based copyparty64.exe 2023-02-14 21:50:14 +00:00
ed 5c12dac30f most ffmpeg builds dont support compressed modules 2023-02-12 14:02:43 +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 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 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 99cc434779 add config explainer + generator (#20) 2023-02-05 22:09:17 +00:00
ed 190ccee820 add optional version number on controlpanel 2023-02-04 13:41:34 +00:00
ed 1e20eafbe0 volflag to randomize all upload filenames 2023-02-01 21:58:01 +00:00
ed 7a98dc669e block alerts in sandbox by default + add translation 2023-01-31 19:16:28 +00:00
ed e413007eb0 hide dotfiles from search results by default 2023-01-31 18:13:33 +00:00
ed 87ef50d384 doc 2023-01-29 21:23:48 +00:00
ed d4c5fca15b sandbox readme.md / prologue / epilogue 2023-01-28 21:24:40 +00:00
ed 75cea4f684 misc 2023-01-28 13:35:49 +00:00
ed 82f98dd54d delete/move is now POST 2023-01-28 01:02:50 +00:00
ed 741d781c18 add cors controls + improve preflight + pw header 2023-01-28 00:59:04 +00:00
ed 9bd5738e6f shorter fallback hostname 2023-01-27 22:19:25 +00:00
ed 9b7b9262aa promote dedup control to volflags 2023-01-25 21:46:15 +00:00
ed ead31b6823 add eventhook sanchecks 2023-01-25 20:51:02 +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 18942ed066 location-based rproxy fixes 2023-01-16 20:09:45 +00:00
ed baf641396d add optional powered-by footnode 2023-01-15 20:52:38 +00:00
ed 79aa40fdea cosmetic fixes 2022-12-14 23:12:51 +00:00
ed 94cd13e8b8 reorder help categories 2022-12-12 22:18:17 +00:00
ed 7fd1d6a4e8 rename --webroot to --rp-loc and fix related bugs 2022-12-11 21:09:50 +00:00
ed db194ab519 support location-based rproxy 2022-12-10 23:43:31 +00:00
ed 02ad4bfab2 ensure consistency between db tables 2022-12-10 22:13:21 +00:00
ed 7704b9c8a2 sqlite durability profiles 2022-12-10 10:01:33 +00:00
ed 252b5a88b1 use linklocal on NICs without routable IPs 2022-12-09 19:11:26 +00:00
ed f1477a1c14 block other copyparties from sniping tcp ports 2022-12-07 21:50:52 +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 6cd6dadd06 optional linklocal ipv6 support (firefox/ie11 only) 2022-12-05 20:45:21 +00:00
ed 9a28afcb48 custom mediaplayer-toggle cursor 2022-12-05 19:46:48 +00:00
ed 45b701801d fix ssdp xml escaping + target url 2022-12-05 19:13:47 +00:00
ed 99efc290df fix mdns on windows 2022-12-03 13:31:00 +00:00
ed 2fbdc0a85e misc fixes / cleanup 2022-12-02 23:42:46 +00:00
ed 7c76d08958 drop one of the slowloris detectors 2022-12-02 17:53:23 +00:00
ed 89c9f45fd0 add option for cross-volume dedupe 2022-12-02 17:25:37 +00:00
ed 7622601a77 forgot to actually enable the new landing page 2022-11-27 00:01:28 +00:00
ed cfd41fcf41 zeroconf: add network filtering options 2022-11-26 22:37:12 +00:00
ed 53b32f97e8 ftp: support touch+write, windows-login, verbosity 2022-11-26 20:03:17 +00:00
ed f0e78a6826 add landing page with mounting instructions 2022-11-26 19:47:27 +00:00
ed e53531a9fb ssdp: get rid of ipv6 + fix http port selection 2022-11-23 22:44:17 +00:00
ed 5cd9d11329 add ssdp responder 2022-11-22 21:40:12 +00:00
ed 04f44c3c7c add global option for rejecting dupe uploads 2022-11-21 10:58:15 +00:00
ed 35175fd685 mdns: support primitive clients (android, rfc-6.7) 2022-11-20 20:31:11 +00:00
ed 4ad4657774 mdns: support running on macos 2022-11-17 20:18:24 +00:00
ed 5abe0c955c this spec is confusing 2022-11-17 09:08:58 +00:00
ed 0cedaf4fa9 isort 2022-11-15 22:41:35 +00:00
ed 0aa7d12704 add option to disable .hist/up2k.snap 2022-11-15 22:16:53 +00:00
ed 9f68287846 workaround impacket glob bug 2022-11-15 21:29:02 +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 fc0a941508 support old linux consoles 2022-11-06 16:58:00 +00:00
ed c72753c5da add native ipv6 support 2022-11-06 16:48:05 +00:00
ed b2ab8f971e add config-file preprocessor (%include) 2022-11-04 23:48:14 +00:00
ed 357e7333cc cleanup 2022-11-04 20:27:16 +00:00
ed 98818e7d63 smb: workaround impacket response size limit 2022-11-03 23:17:24 +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 d4ba644d07 autodefault -nc based on OS limits 2022-10-31 19:37:37 +00:00
ed c2f4090318 webdav: mute some macos spam 2022-10-30 17:45:28 +00:00
ed 79303dac6d webdav: default-disable recursive listing 2022-10-30 16:47:20 +00:00
ed 73bd2df2c6 more metadata-parser debug options 2022-10-29 21:59:59 +00:00
ed edad3246e0 make pylance happier 2022-10-29 20:40:25 +00:00
ed 69f78b86af cleanup 2022-10-25 01:23:41 +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 32e826efbc catch and discard macos metadata files 2022-10-22 01:15:54 +02:00
ed 138b932c6a add webdav move/delete 2022-10-22 00:04:51 +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 046b494b53 winpe support + windows webdav stuff 2022-10-19 00:06:48 +02:00
ed 8510804e57 initial webdav support 2022-10-18 19:36:52 +02:00
ed 69406d4344 readme + better window title 2022-10-09 00:04:02 +02:00
ed 0b265bd673 naming is hard 2022-10-08 16:34:04 +02:00
ed ae28dfd020 tweaks 2022-10-08 02:05:15 +02:00
ed d8bddede6a new permission G returns filekey on write-only uploads 2022-10-08 01:17:41 +02:00
ed 84af5fd0a3 scale qr-code to fit console size 2022-10-07 00:59:44 +02:00
ed dbb3edec77 print qr-code on startup 2022-10-07 00:47:26 +02:00
ed d284b46a3e rice 2022-10-06 23:40:06 +02:00
ed abb3224cc5 option to save a copy of corrupted uploads 2022-09-26 22:01:49 +02:00
ed ae5c4a0109 update webdeps + isort + readme 2022-09-23 22:32:04 +02:00
ed 32e71a43b8 reinvent fail2ban 2022-09-21 22:27:20 +02:00
ed f5474d34ac embed licenses 2022-09-20 20:11:38 +02:00
ed 9401b5ae13 add filetype detection for nameless uploads 2022-09-18 17:30:57 +02:00
ed ab36c8c9de fix tests 2022-09-18 00:16:40 +02:00
ed 5e9bc1127d fix windows symlink creation 2022-09-17 13:27:54 +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 0484f97c9c stop writing upload-summary textfiles,
can be reenabled with --write-uplog
2022-09-10 22:07:10 +02:00
ed e430b2567a add pyoxidizer (windows-only) 2022-09-10 17:33:04 +02:00
ed 11d1267f8c option to keep files in index when deleted 2022-09-07 01:07:21 +02:00
ed 995cd10df8 bump timeouts for zfs / bursty filesystems 2022-09-04 21:21:54 +02:00
ed c930d8f773 add mtp debug mode 2022-09-03 19:58:10 +02:00
ed 558bfa4e1e siocoutq-based shutdown 2022-08-31 01:16:09 +02:00
ed 5d19f23372 accurate num.cores detection 2022-08-29 19:24:48 +02:00
ed 7000123a8b v1.3.14 2022-08-15 20:25:31 +02:00
ed 8ea1f4a751 idx multimedia format/container type 2022-08-15 17:56:13 +02:00
ed 1c69ccc6cd v1.3.12 2022-08-13 00:58:49 +02:00
ed 9ccd327298 add directory hashing (boots ~3x faster) 2022-08-12 23:17:18 +02:00
ed 11df36f3cf add option to exit after scanning volumes 2022-08-12 21:20:13 +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 680f8ae814 add xdev/xvol indexing guards 2022-08-03 22:20:28 +02:00
ed 1c3894743a fix filekeys inside symlinked volumes 2022-08-02 20:26:51 +02:00
ed 660705a436 defer volume reindexing on db activity 2022-07-27 11:48:47 +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 d832b787e7 upload smallest-file-first by default 2022-07-12 20:48:38 +02:00
ed 9362ca3ed9 py2 fixes 2022-07-11 23:53:18 +02:00
ed dded4fca76 option to specify favicon + default-enable it 2022-07-05 00:06:22 +02:00
ed 5d3034c231 detect sparse support from st_blocks 2022-06-23 18:23:42 +02:00
ed c3a895af64 android sdcardfs can be fat32 2022-06-23 16:27:30 +02:00
ed fe67c52ead configurable list of sparse-supporting filesystems +
close nonsparse files after each write to force flush
2022-06-19 22:38:52 +02:00
ed 2dfe1b1c6b add themes: hacker, hi-con 2022-06-16 12:21:21 +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 fe73f2d579 cleanup 2022-06-07 23:08:43 +02:00
ed 4c4b3790c7 fix read-spin on d/c during json post + errorhandling 2022-06-07 19:02:52 +02:00
ed 187feee0c1 add norwegian translation 2022-05-14 23:25:40 +02:00
ed 67c298e66b don't embed huge docs (defer to ajax), closes #9 2022-05-13 17:08:17 +02:00
ed b50d090946 add logout on inactivity + related errorhandling 2022-05-01 22:12:25 +02:00
ed d4b51c040e doc + ux 2022-04-29 23:13:37 +02:00
ed 125d0efbd8 good stuff 2022-04-29 02:06:56 +02:00
ed f9c159a051 add option to force up2k turbo + hide warning 2022-04-28 21:57:37 +02:00
ed 2ab1325c90 add option to load more search results 2022-04-28 21:55:01 +02:00
ed 65b4f79534 add themes "vice" and "hot dog stand" 2022-04-27 22:33:01 +02:00
ed 2933dce3ef mtime blank uploads + helptext 2022-04-24 22:58:11 +02:00
ed cba9e5b669 add hardlinks (symlink alternative) for up2k dedup 2022-04-15 19:13:53 +02:00
ed 2dbed4500a add flat theme 2022-04-14 16:57:51 +02:00
ed fd9d0e433d thumbnails: try FFmpeg for images too 2022-04-11 10:38:57 +02:00
ed f096f3ef81 thumbnails: disable pdf because too scary 2022-04-10 23:02:09 +02:00
ed cc4a063695 thumbnails: per-decoder filetype config 2022-04-10 22:59:45 +02:00
ed b64cabc3c9 thumbnails: add pyvips as alt/supp. to pillow 2022-04-10 14:16:09 +02:00
ed 954c7e7e50 add option to request noindex from crawlers 2022-03-20 03:23:42 +01:00