mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
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 |
||
---|---|---|
.. | ||
copyparty.d | ||
cursed-usecases | ||
examples | ||
rice | ||
biquad.html | ||
bufsize.txt | ||
changelog.md | ||
design.txt | ||
devnotes.md | ||
example.conf | ||
example2.conf | ||
hls.html | ||
idp.md | ||
lics.txt | ||
multisearch.html | ||
music-analysis.sh | ||
notes.bat | ||
notes.md | ||
notes.sh | ||
nuitka.txt | ||
pretend-youre-qnap.patch | ||
protocol-reference.sh | ||
rclone.md | ||
README.md | ||
tcp-debug.sh | ||
TODO.md | ||
unirange.py | ||
up2k.txt | ||
versus.md | ||
xff.md |
NOTE: there's more stuff (sharex config, service scripts, nginx configs, ...) in /contrib/
utilities
multisearch.html
- takes a list of filenames of youtube rips, grabs the youtube-id of each file, and does a search on the server for those
- use it by putting it somewhere on the server and opening it as an html page
- also serves as an extendable template for other specific search behaviors
other stuff
TODO.md
- planned features / fixes / changes
example.conf
- example config file for
-c
versus.md
- similar software / alternatives (with pros/cons)
changelog.md
- occasionally grabbed from github release notes
devnotes.md
- technical stuff
rclone.md
- notes on using rclone as a fuse client/server
junk
alphabetical list of the remaining files
what | why |
---|---|
biquad.html | bruteforce calibrator for the audio equalizer since im not that good at maths |
design.txt | initial brainstorming of the copyparty design, unmaintained, incorrect, sentimental value only |
hls.html | experimenting with hls playback using hls.js , works p well, almost became a thing |
music-analysis.sh | testing various bpm/key detection libraries before settling on the ones used in /bin/mtag/ |
notes.sh | notepad, just scraps really |
nuitka.txt | how to build a copyparty exe using nuitka (not maintained) |
pretend-youre-qnap.patch | simulate a NAS which keeps returning old cached data even though you just modified the file yourself |
tcp-debug.sh | looks like this was to debug stuck tcp connections? |
unirange.py | uhh |
up2k.txt | initial ideas for how up2k should work, another unmaintained sentimental-value-only thing |