Commit graph

366 commits

Author SHA1 Message Date
ed c1c0ecca13 v1.15.7 2024-10-13 22:44:57 +00:00
ed fabada95f6 v1.15.6 2024-10-11 22:56:10 +00:00
ed 1e7697b551 misc cleanup;
* more typos
* python 3.13 deprecations
2024-10-11 20:46:40 +00:00
ed 4a4ec88d00 up2k: fix hs after bitflips / net-glitch
chunk stitching could cause handshakes to initiate
a new upload rather than resume an ongoing one
2024-10-11 19:48:44 +00:00
ed ff012221ae v1.15.5 2024-10-05 18:03:04 +00:00
ed f0abc0ef59 v1.15.4 2024-10-04 23:19:28 +00:00
ed fcdc1728eb #102: make UI translation easier in docker 2024-10-01 00:04:07 +00:00
ed b90e1200d7 v1.15.2 2024-09-16 00:20:20 +00:00
ed a5ce1032d3 tlnote + nginx unix-socket example 2024-09-12 21:42:33 +00:00
ed e9d962f273 v1.15.1 2024-09-09 23:43:43 +00:00
ed c140eeee6b v1.15.0 2024-09-08 19:25:46 +00:00
ed a2e0f98693 disable upload deduplication by default;
dedup is still encouraged and fully supported, but
being default-enabled has caused too many surprises

enabling `--dedup` restores the previous default behavior

also renames `--never-symlink` to `--hardlink-only`
2024-09-08 17:09:14 +00:00
ed 5a009a2a64 v1.14.4 2024-09-02 01:08:41 +00:00
ed 7f82449179 changelog: cleanup historic entries 2024-08-31 20:39:37 +00:00
ed e455ec994e logo tweaks (kerning, footer-slant) 2024-08-31 20:37:58 +00:00
ed abcdf479e6 v1.14.3 2024-08-30 23:11:22 +00:00
ed ad2371f810 shares: add revival and expiration extension 2024-08-30 22:25:50 +00:00
ed 7037e7365e add logo 2024-08-29 22:00:08 +00:00
ed cec0e0cf02 v1.14.2 2024-08-23 23:07:18 +00:00
ed c4b0cccefd v1.14.0 2024-08-18 23:11:36 +00:00
ed 7c2beba555 add file/folder sharing; closes #84 2024-08-18 22:49:13 +00:00
ed 5153db6bff ux: login margin; theme2: yellow buttons
the red buttons from protonmail's monokai theme look better,
but they're confusing because intuitively red means off
2024-08-17 15:55:55 +00:00
ed dcc988135e v1.13.8 2024-08-13 00:08:23 +00:00
ed ee9aad82dd support listening on unix sockets 2024-08-12 21:58:02 +00:00
ed 6c94a63f1c add hook side-effects; closes #86
hooks can now interrupt or redirect actions, and initiate
related actions, by printing json on stdout with commands

mainly to mitigate limitations such as sharex/sharex#3992

xbr/xau can redirect uploads to other destinations with `reloc`
and most hooks can initiate indexing or deletion of additional
files by giving a list of vpaths in json-keys `idx` or `del`

there are limitations;
* xbu/xau effects don't apply to ftp, tftp, smb
* xau will intentionally fail if a reloc destination exists
* xau effects do not apply to up2k

also provides more details for hooks:
* xbu/xau: basic-uploader vpath with filename
* xbr/xar: add client ip
2024-08-11 14:52:32 +00:00
ed e136231c8e docker: add portainer howto 2024-08-02 23:01:32 +00:00
ed b3cecabca3 v1.13.6 2024-07-29 20:28:51 +00:00
ed 6b54972ec0 update comparison vs similar software:
* general changes:
  * upload speed comparisons considering v1.13.5

* hfs2:
  * dead project with unfixed vulnerabilities

* hfs3:
  * has replaced hfs2
  * uploads are now resumable
  * add new functionality:
    * write-only folders
    * unmap subfolders
    * move and delete files
    * folder-rproxy
    * themes
    * basic audio player, image viewer

* filebrowser:
  * uploads are now parallelized, resumable, segmented
    * but single large files are not accelerated
  * can listen on unix sockets
  * folder-rproxy is supported
  * more cpu efficient than copyparty
2024-07-26 19:46:03 +00:00
ed 8222ccc40b v1.13.5 2024-07-22 23:23:53 +00:00
ed 132a83501e add chunk stitching; twice as fast long-distance uploads:
rather than sending each file chunk as a separate HTTP request,
sibling chunks will now be fused together into larger HTTP POSTs
which results in unreasonably huge speed boosts on some routes
( `2.6x` from Norway to US-East,  `1.6x` from US-West to Finland )

the `x-up2k-hash` request header now takes a comma-separated list
of chunk hashes, which must all be sibling chunks, resulting in
one large consecutive range of file data as the post body

a new global-option `--u2sz`, default `1,64,96`, sets the target
request size as 64 MiB, allowing the settings ui to specify any
value between 1 and 96 MiB, which is cloudflare's max value

this does not cause any issues for resumable uploads; thanks to the
streaming HTTP POST parser, each chunk will be verified and written
to disk as they arrive, meaning only the untransmitted chunks will
have to be resent in the event of a connection drop -- of course
assuming there are no misconfigured WAFs or caching-proxies

the previous up2k approach of uploading each chunk in a separate HTTP
POST was inefficient in many real-world scenarios, mainly due to TCP
window-scaling behaving erratically in some IXPs / along some routes

a particular link from Norway to Virginia,US is unusably slow for
the first 4 MiB, only reaching optimal speeds after 100 MiB, and
then immediately resets the scale when the request has been sent;
connection reuse does not help in this case

on this route, the basic-uploader was somehow faster than up2k
with 6 parallel uploads; only time i've seen this
2024-07-21 23:35:37 +00:00
ed ac1e11e4ce v1.13.4 2024-07-16 04:57:26 +00:00
ed c9281f8912 option to return media-links for uploads 2024-06-07 12:56:02 +00:00
ed f00b939402 v1.13.3 2024-06-01 23:24:35 +00:00
ed 400d700845 v1.13.2 2024-05-10 14:31:50 +00:00
ed 38e4fdfe03 batch-convert audio waveforms with ?tar&p 2024-05-10 12:55:35 +00:00
ed c04662798d play compressed s3xmodit chiptunes
adds support for playing gz, xz, and zip-compressed tracker files

using the de-facto naming convention for compressed modules;

* mod: mdz, mdgz, mdxz
* s3m: s3z, s3gz, s3xz
* xm: xmz, xmgz, xmxz
* it: itz, itgz, itxz
2024-05-10 12:45:17 +00:00
ed 19d156ff4e option to add custom UI translations 2024-05-09 23:09:45 +00:00
ed feed08deb2 doc: export --help to html and link it 2024-05-08 22:01:58 +00:00
ed b6cf2d3089 --html-head can take a filepath and/or jinja2 2024-05-01 20:24:18 +00:00
ed 42d00050c1 v1.13.0 2024-04-20 22:32:50 +00:00
ed 897ffbbbd0 pipe: add to docs 2024-04-19 00:02:28 +00:00
ed 9937c2e755 add ArozOS to comparison 2024-04-16 21:00:47 +00:00
ed fe700dcf1a v1.12.2 2024-04-12 21:10:02 +00:00
ed 443acf2f8b update nuitka notes 2024-04-10 22:04:43 +00:00
ed ea002ee71d v1.12.1 2024-04-09 23:34:31 +00:00
ed a0022805d1 v1.12.0 (closes #64) 2024-04-06 20:11:49 +00:00
ed d94b5b3fc9 fau doesn't work on iphones; compensate by preloading much earlier 2024-04-06 18:43:45 +00:00
ed 59a53ba9ac on phones, fix playback halting if next song didn't buffer in time 2024-04-06 00:25:28 +00:00
ed 5ab54763c6 remove pyoxidizer (unmaintained)
partially reverts e430b2567a

the remaining stuff might be useful for other cpython alternatives
2024-04-05 17:51:26 +00:00
ed f471b05aa4 todo: fix playback stopping on phones if slow preload 2024-04-02 23:20:58 +00:00
ed bdfe2c1a5f mention unproductive optimizations 2024-03-24 22:07:23 +00:00
ed bccc44dc21 v1.11.2 2024-03-23 17:24:36 +00:00
ed 2f20d29edd idp: mention lack of volume persistence 2024-03-23 16:35:45 +00:00
ed c6acd3a904 add option --s-rd-sz (socket read size):
counterpart of `--s-wr-sz` which existed already

the default (256 KiB) appears optimal in the most popular scenario
(linux host with storage on local physical disk, usually NVMe)

was previously 32 KiB, so large uploads should now use 17% less CPU

also adds sanchecks for values of `--iobuf`, `--s-rd-sz`, `--s-wr-sz`

also adds file-overwrite feature for multipart posts
2024-03-23 16:35:14 +00:00
ed 9700a12366 v1.11.1 2024-03-18 17:09:56 +00:00
ed ee80cdb9cf docs: real-ip (with or without cloudflare) 2024-03-18 16:30:51 +00:00
ed e78af02241 docs:
* add readme section on using amazon/aws s3 as storage
* mention http/https confusion caused by incorrectly configured cloudflare
* improve custom-font notes
* docker: ftp-server howto
* docker: suggest moving hist-folders into the config path

and switch the idp docker-compose files to use the
main image, in anticipation of v1.11
2024-03-14 23:26:26 +00:00
ed b377791be7 support cidr notation for --xff-src, --ipa, --*-ipa
the old `10.88.` syntax is still supported,
translating to `10.88.0.0/16`

also fix `--tftp-ipa` when optimizations are enabled
2024-03-14 19:07:35 +01:00
ed 78919e65d6 idp: docs 2024-03-13 22:50:50 +00:00
ed 84b52ea8c5 idp: docs / cleanup 2024-03-13 22:13:34 +00:00
ed fd89f7ecb9 idp: abandon idea for persisting idp volumes;
too fraught with subtle dangers, such as other copyparty instances
ending up sharing knowledge of volumes unintentionally, and
configuration becoming mysteriously sticky (not to mention
this would all become hella difficult to reason about)

instead, rely entirely on users seeing the big red warning
added in 2ebfdc25 if their configuration is dangerous

this decision has the drawback that there will be server stuttering
whenever a new user makes themselves known since the last restart,
as it realizes the volumes exist and does the usual e2ds indexing,
instead of doing it early during startup

but it's probably good enough
2024-03-13 21:49:49 +00:00
ed 2ebfdc2562 idp: add anon-read sanchk 2024-03-13 21:36:36 +00:00
ed dbf1cbc8af idp: hide login/logout UI + improve html_head handling 2024-03-13 18:22:24 +00:00
ed a259704596 Merge branch 'hovudstraum' into idp 2024-03-13 17:28:48 +00:00
ed f8966222e4 todo-done: IdP secret-tokens 2024-03-12 23:06:20 +00:00
ed d71f844b43 IdP: add safeguard --idp-h-key and also require --xff-src 2024-03-12 22:57:47 +00:00
ed f193f398c1 Merge branch 'hovudstraum' into idp 2024-03-12 17:31:27 +00:00
ed 3f05b6655c add UI to abort an unfinished upload; suggested in #77
to abort an upload, refresh the page and access the unpost tab,
which now includes unfinished uploads (sorted before completed ones)

can be configured through u2abort (global or volflag);
by default it requires both the IP and account to match

https://a.ocv.me/pub/g/nerd-stuff/2024-0310-stoltzekleiven.jpg
2024-03-11 01:32:02 +01:00
ed a1ad608267 add TODO.md, closes #78 2024-03-09 09:02:16 +00:00
ed bec3fee9ee idp(#62): add unfinished docker-compose attempts 2024-02-27 02:01:06 +00:00
ed c8ea4066b1 less confusing explanation hopefully 2024-02-25 04:43:32 +00:00
ed 6cc7101d31 custom-fonts: add config file example (#74) 2024-02-25 00:15:57 +00:00
ed 263adec70a add support for custom fonts; closes #74 2024-02-24 23:30:17 +00:00
ed ac96fd9c96 get rid of brotli due to poor support; closes #73
some reverse-proxies expect plaintext replies, and
we don't have a brotli decompressor to satisfy this

additionally, because brotli is https-gated (thx google),
it was already an impractical mess anyways

the sfx is now 7 KiB larger
2024-02-24 22:24:44 +00:00
ed 1b52ef1f8a Merge branch 'hovudstraum' into idp 2024-02-23 22:25:48 +00:00
ed 13e77777d7 v1.10.2 2024-02-21 21:32:11 +00:00
ed eeecc50757 v1.10.1 2024-02-18 15:54:38 +00:00
ed a0da0122b9 v1.10.0 2024-02-15 00:00:41 +00:00
ed d636316a19 add tftp server 2024-02-10 18:37:21 +00:00
ed 35165f8472 Merge branch 'hovudstraum' into idp 2024-02-03 19:14:49 +00:00
ed fabeebd96b v1.9.31 2024-02-03 15:33:11 +00:00
ed b1cf588452 add lore 2024-02-03 15:05:27 +00:00
ed caf7e93f5e IdP (#62): add groups + dynamic vols (non-persistent)
features which should be good to go:
* user groups
* assigning permissions by group
* dynamically created volumes based on username/groupname
* rebuild vfs when new users/groups appear

but several important features still pending;
* detect dangerous configurations
   * dynamic vol below readable path
* remember volumes created during previous runs
   * helps prevent unintended access
   * correct filesystem-scan on startup
2024-01-30 19:13:42 +01:00
ed eefa0518db change FFmpeg from BtbN to gyan/codex;
deps are more up-to-date and slightly better codec selection
2024-01-28 22:04:01 +00:00
ed 6c2c6090dc notes: hardlink/symlink conversion + phone cam sync 2024-01-27 18:52:08 +00:00
ed fade751a3e v1.9.30 2024-01-25 22:52:42 +00:00
ed 14bccbe45f backports from IdP branch:
* allow mounting `/` (the entire filesystem) as a volume
  * not that you should (really, you shouldn't)
* improve `-v` helptext
* change IdP group symbol to @ because % is used for file inclusion
  * not technically necessary but is less confusing in docs
2024-01-25 21:39:30 +00:00
ed 64cac003d8 add missing historic changelog entries 2024-01-24 01:28:29 +00:00
ed 140f6e0389 add contextlet + igloo irc config + upd changelog 2024-01-14 04:58:24 +00:00
ed 9bc09ce949 accept file POSTs without specifying the act field;
primarily to support uploading from Igloo IRC but also generally useful
(not actually tested with Igloo IRC yet because it's a paid feature
so just gonna wait for spiky to wake up and tell me it didn't work)
2024-01-08 19:09:53 +00:00
ed 987caec15d v1.9.28 2023-12-31 18:49:42 +00:00
ed 39554b4bc3 guard against unintended access if user-db is corrupted 2023-12-24 16:12:18 +01:00
ed 97d9c149f1 IdP config draft (#62) 2023-12-24 13:46:26 +01:00
ed d15000062d v1.9.27 2023-12-08 21:33:12 +00:00
ed a360ac29da v1.9.26 2023-12-08 01:36:01 +00:00
ed c7770904e6 v1.9.25 2023-12-01 23:26:16 +00:00
ed e6bcee28d6 v1.9.22 2023-12-01 00:31:02 +00:00
ed 00812cb1da new option --ipa; client IP allowlist:
connections from outside the specified list of IP prefixes are rejected
(docker-friendly alternative to -i 127.0.0.1)

also mkdir any missing folders when logging to file
2023-11-30 20:45:43 +00:00
ed 16766e702e add basic-docker-compose (#59) 2023-11-30 20:14:38 +00:00
ed c4ba123779 v1.9.21 2023-11-25 14:17:58 +00:00