From 83bc8a4df95258c9e90cd2ca37e688905243085a Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Wed, 5 Nov 2025 20:57:49 -0500 Subject: [PATCH] [DATALAD RUNCMD] chore: run codespell throughout fixing a few new typos automagically === Do not change lines below === { "chain": [], "cmd": "codespell -w", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [], "pwd": "." } ^^^ Do not change lines above ^^^ --- README.md | 4 +- bin/mtag/geotag.py | 2 +- bin/mtag/very-bad-idea.py | 2 +- contrib/nixos/modules/copyparty.nix | 2 +- contrib/plugins/meadup.js | 4 +- contrib/zfs-tune.py | 2 +- copyparty/cert.py | 2 +- copyparty/httpcli.py | 2 +- copyparty/mdns.py | 2 +- copyparty/stolen/ifaddr/_shared.py | 2 +- copyparty/svchub.py | 2 +- copyparty/szip.py | 2 +- copyparty/web/browser.js | 2 +- copyparty/web/md.html | 2 +- copyparty/web/shares.html | 2 +- docs/changelog.md | 58 ++++++++++++++--------------- docs/hls.html | 2 +- docs/notes.sh | 4 +- docs/synology-dsm.md | 4 +- docs/versus.md | 8 ++-- scripts/copyparty-repack.sh | 2 +- scripts/docker/README.md | 2 +- scripts/docker/make.sh | 4 +- scripts/pyinstaller/build.sh | 6 +-- scripts/pyinstaller/deps.txt | 4 +- scripts/pyinstaller/up2k.sh | 6 +-- scripts/tl.js | 2 +- 27 files changed, 68 insertions(+), 68 deletions(-) diff --git a/README.md b/README.md index 4915aa09..41de8fc1 100644 --- a/README.md +++ b/README.md @@ -986,7 +986,7 @@ specify `--shr /foobar` to enable this feature; a toplevel virtual folder named * you can name it whatever, `foobar` is just an example * if you're using config files, put `shr: /foobar` inside the `[global]` section instead -users can delete their own shares in the controlpanel, and a list of privileged users (`--shr-adm`) are allowed to see and/or delet any share on the server +users can delete their own shares in the controlpanel, and a list of privileged users (`--shr-adm`) are allowed to see and/or delete any share on the server after a share has expired, it remains visible in the controlpanel for `--shr-rt` minutes (default is 1 day), and the owner can revive it by extending the expiration time there @@ -2689,7 +2689,7 @@ sync folders to/from copyparty NOTE: full bidirectional sync, like what [nextcloud](https://docs.nextcloud.com/server/latest/user_manual/sv/files/desktop_mobile_sync.html) and [syncthing](https://syncthing.net/) does, will never be supported! Only single-direction sync (server-to-client, or client-to-server) is possible with copyparty -* if you want bidirectional sync, then copyparty and syncthing *should* be entirely safe to combine; they should be able to collaborate on the same folders without causing any trouble for eachother. Many people do this, and there have been no issues so far. But, if you *do* encounter any problems, please [file a copyparty bug](https://github.com/9001/copyparty/issues/new/choose) and I'll try to help -- just keep in mind I've never used syncthing before :-) +* if you want bidirectional sync, then copyparty and syncthing *should* be entirely safe to combine; they should be able to collaborate on the same folders without causing any trouble for each other. Many people do this, and there have been no issues so far. But, if you *do* encounter any problems, please [file a copyparty bug](https://github.com/9001/copyparty/issues/new/choose) and I'll try to help -- just keep in mind I've never used syncthing before :-) the commandline uploader [u2c.py](https://github.com/9001/copyparty/tree/hovudstraum/bin#u2cpy) with `--dr` is the best way to sync a folder to copyparty; verifies checksums and does files in parallel, and deletes unexpected files on the server after upload has finished which makes file-renames really cheap (it'll rename serverside and skip uploading) diff --git a/bin/mtag/geotag.py b/bin/mtag/geotag.py index 4415759a..971f7890 100755 --- a/bin/mtag/geotag.py +++ b/bin/mtag/geotag.py @@ -9,7 +9,7 @@ from copyparty.util import fsenc, runcmd uses exiftool to geotag images based on embedded gps coordinates in exif data adds four new metadata keys: - .gps_lat = latitute + .gps_lat = latitude .gps_lon = longitude .masl = meters above sea level city = "city, subregion, region" diff --git a/bin/mtag/very-bad-idea.py b/bin/mtag/very-bad-idea.py index 37bea9da..d9127184 100755 --- a/bin/mtag/very-bad-idea.py +++ b/bin/mtag/very-bad-idea.py @@ -151,7 +151,7 @@ def open_url(txt): for _ in range(20): sp.call(["xdotool", "key", "ctrl+w"]) # closes the open tab correctly # else: - # sp.call(["xdotool", "getactivewindow", "windowminimize"]) # minimizes the focused windo + # sp.call(["xdotool", "getactivewindow", "windowminimize"]) # minimizes the focused window # mpv is probably smart enough to use streamlink automatically if try_mpv(txt): diff --git a/contrib/nixos/modules/copyparty.nix b/contrib/nixos/modules/copyparty.nix index 6bb51b68..7a039a78 100644 --- a/contrib/nixos/modules/copyparty.nix +++ b/contrib/nixos/modules/copyparty.nix @@ -363,7 +363,7 @@ in name: value: lib.attrsets.nameValuePair (value.path) { d = { - #: in front of things means it wont change it if the directory already exists. + #: in front of things means it won't change it if the directory already exists. group = ":${cfg.group}"; user = ":${cfg.user}"; mode = ":${ diff --git a/contrib/plugins/meadup.js b/contrib/plugins/meadup.js index cd5e123a..bc75d9b5 100644 --- a/contrib/plugins/meadup.js +++ b/contrib/plugins/meadup.js @@ -11,7 +11,7 @@ var hambagas = [ "https://www.youtube.com/watch?v=pFA3KGp4GuU" ]; -// keybaord, +// keyboard, // onscreen keyboard by @steinuil function initKeybaord(BASE_URL, HAMBAGA, consoleLog, consoleError) { document.querySelector('.keybaord-container').innerHTML = ` @@ -373,7 +373,7 @@ function initKeybaord(BASE_URL, HAMBAGA, consoleLog, consoleError) { } -// keybaord integration +// keyboard integration (function () { var o = mknod('div'); clmod(o, 'keybaord-container', 1); diff --git a/contrib/zfs-tune.py b/contrib/zfs-tune.py index fcd435c2..631c1b1c 100755 --- a/contrib/zfs-tune.py +++ b/contrib/zfs-tune.py @@ -58,7 +58,7 @@ def set_pagesize(db_path): # https://www.sqlite.org/pragma.html#pragma_page_size # `- disable wal; set pagesize; vacuum - # (copyparty will reenable wal if necessary) + # (copyparty will re-enable wal if necessary) with sqlite3.connect(db_path) as db: db.execute("pragma journal_mode=delete") diff --git a/copyparty/cert.py b/copyparty/cert.py index 49fa9ea2..704fb4bc 100644 --- a/copyparty/cert.py +++ b/copyparty/cert.py @@ -151,7 +151,7 @@ def _gen_srv(log: "RootLogger", args, netdevs: dict[str, Netdev]): try: expiry, inf = _read_crt(args, "srv.pem") if "sans" not in inf: - raise Exception("no useable cert found") + raise Exception("no usable cert found") expired = time.time() + args.crt_sdays * 60 * 60 * 24 * 0.5 > expiry if expired: diff --git a/copyparty/httpcli.py b/copyparty/httpcli.py index d4e330fc..76a4da1c 100644 --- a/copyparty/httpcli.py +++ b/copyparty/httpcli.py @@ -2320,7 +2320,7 @@ class HttpCli(object): open_ka = {"fun": lzma.open, "preset": lv[alg]} open_a = ["wb"] else: - self.log("fallthrough? thats a bug", 1) + self.log("fallthrough? that's a bug", 1) suffix = "-{:.6f}-{}".format(time.time(), self.dip()) nameless = not fn diff --git a/copyparty/mdns.py b/copyparty/mdns.py index 69929081..2200b686 100644 --- a/copyparty/mdns.py +++ b/copyparty/mdns.py @@ -322,7 +322,7 @@ class MDNS(MCast): self.build_replies() Daemon(self.send_probes) zf = time.time() + 2 - self.probing = zf # cant unicast so give everyone an extra sec + self.probing = zf # can't unicast so give everyone an extra sec self.unsolicited = [zf, zf + 1, zf + 3, zf + 7] # rfc-8.3 try: diff --git a/copyparty/stolen/ifaddr/_shared.py b/copyparty/stolen/ifaddr/_shared.py index 1f8ae931..d8969685 100644 --- a/copyparty/stolen/ifaddr/_shared.py +++ b/copyparty/stolen/ifaddr/_shared.py @@ -41,7 +41,7 @@ class Adapter(object): #: `{846EE342-7039-11DE-9D20-806E6F6E6963}`. self.name = name - #: Human readable name of the adpater. On Linux this + #: Human readable name of the adapter. On Linux this #: is currently the same as :attr:`name`. On Windows #: this is the name of the device. self.nice_name = nice_name diff --git a/copyparty/svchub.py b/copyparty/svchub.py index 65420924..bd60f706 100644 --- a/copyparty/svchub.py +++ b/copyparty/svchub.py @@ -1338,7 +1338,7 @@ class SvcHub(object): pass self.shutdown() - # cant join; eats signals on win10 + # can't join; eats signals on win10 while not self.stopped: time.sleep(0.1) else: diff --git a/copyparty/szip.py b/copyparty/szip.py index 91fa2a34..551680b7 100644 --- a/copyparty/szip.py +++ b/copyparty/szip.py @@ -119,7 +119,7 @@ def gen_hdr( # infozip-macos: 0100 0000 a481 (spec-ver 1e03) file:644 # infozip-macos: 0100 0100 0080 (spec-ver 1e03) file:000 # win10-zip: 0000 2000 0000 (spec-ver xx00) FILE_ATTRIBUTE_ARCHIVE - ret += b"\x00\x00\x00\x00\xa4\x81" # unx + ret += b"\x00\x00\x00\x00\xa4\x81" # unix # ret += b"\x00\x00\x20\x00\x00\x00" # fat # 4b local-header-ofs diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 12a36c9d..c5e8fd40 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -462,7 +462,7 @@ if (1) "m3u_clip": "m3u playlist now copied to clipboard\n\nyou should create a new textfile named something.m3u and paste the playlist in that document; this will make it playable", "gt_vau": "don't show videos, just play the audio\">🎧", - "gt_msel": "enable file selection; ctrl-click a file to override$N$N<em>when active: doubleclick a file / folder to open it</em>$N$NHotkey: S\">multiselect", + "gt_msel": "enable file selection; ctrl-click a file to override$N$N<em>when active: double-click a file / folder to open it</em>$N$NHotkey: S\">multiselect", "gt_crop": "center-crop thumbnails\">crop", "gt_3x": "hi-res thumbnails\">3x", "gt_zoom": "zoom", diff --git a/copyparty/web/md.html b/copyparty/web/md.html index 1dfed659..457e665c 100644 --- a/copyparty/web/md.html +++ b/copyparty/web/md.html @@ -20,7 +20,7 @@ save sbs editor -
+
tools prettify table (ctrl-k) non-ascii: iterate (ctrl-u) diff --git a/copyparty/web/shares.html b/copyparty/web/shares.html index c85a641d..b26c9c08 100644 --- a/copyparty/web/shares.html +++ b/copyparty/web/shares.html @@ -19,7 +19,7 @@ files control-panel - axs = perms (read,write,move,delet) + axs = perms (read,write,move,delete) nf = numFiles (0=dir) min/hrs = time left diff --git a/docs/changelog.md b/docs/changelog.md index c899fca6..b77e9d25 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -18,7 +18,7 @@ * does not include the smb-server, so antivirus doesn't think it's malware 7f5810f1 * english-only, because antivirus apparently hates certain translations too 7f5810f1 * renamed the webdav-config `.bat` to `.txt` because clearly only one of those are "dangerous" b624a387 -* show volumes with permssion `h` in the navpane fff7291d +* show volumes with permission `h` in the navpane fff7291d * #937 global-option `--notooltips` to default-disable tooltips a325353b ## 🩹 bugfixes @@ -55,7 +55,7 @@ * audioplayer: show embedded coverart as fallback for cover.jpg in OS widgets 9746b4e2 * #928 option to [hide certain ui-elements](https://github.com/9001/copyparty/tree/hovudstraum/docs/rice#hide-ui-elements), either with volflags or url-params 98da5cc5 * #911 users can now avoid autoban according to permissions 6f02812a -* verbosity and permssion options for `?stack` 677fd8ee +* verbosity and permission options for `?stack` 677fd8ee * default is now admin-only; previously it was "admin or read+write" ## 🩹 bugfixes @@ -452,12 +452,12 @@ * #567 .raw image thumbnails (thx @ar-nelson!) 0177a9b4 * available in docker-images `iv` and `dj` * #561 epub thumbnails (thx @Scotsguy!) 9435e6b2 -* #252 music thumbnails use embdded coverart if available 98d117b8 +* #252 music thumbnails use embedded coverart if available 98d117b8 * thumbnails folder `.hist/th` must be deleted to take effect * #530 show username of uploaders in file listings; requires `a` (admin) permission 4df033ec * #604 a new group `@acct` which automatically contains all known usernames 68907eaf * controlpanel has a dedicated "logout all sessions" button, similar to the logout-link in the browser f4a3fba2 -* #397 accounts can be restricted to certian IPs 62e072a2 +* #397 accounts can be restricted to certain IPs 62e072a2 * #504 automatic login through tailscale auth a4649d1e * #533 sticky qr-code with `--qr-pin 1` 1ebe06f5 * #572 button to abort copy/move 715d374e @@ -519,7 +519,7 @@ * if you have enabled password hashing (`ah-alg: argon2` or similar) then you will need to hash your passwords again after enabling usernames, hashing them as `username:password:` * #468 add Greek translation (thx @chamdim!) 50f46187 392abd06 * #471 add Czech translation (thx @kubakubakuba!) c9556583 -* #515 support systemd socket acivation (thx @mati1210!) 9b9d2a92 +* #515 support systemd socket activation (thx @mati1210!) 9b9d2a92 * #523 add QR-code to the connectpage bcc3b156 * #513 optional EOL-conversion for texteditor 8b31ed88 * controlpanel refresh-button now toggles automatic refresh 7ae84dea @@ -1081,7 +1081,7 @@ get the party going anywhere, anytime, no OS required! [download flashdrive imag * option to specify max-size for download-as-zip/tar 494179bd 0a33336d * either the total download size (`--zipmaxs 500M`), and/or max number of files (`--zipmaxn 9k`) - * applies to all uesrs by default; can also ignore limits for authorized users (`--zipmaxu`) + * applies to all users by default; can also ignore limits for authorized users (`--zipmaxu`) * errormessage can be customized with `--zipmaxt "winter is coming... but this download isn't"` * [appledoubles](https://a.ocv.me/pub/stuff/?doc=appledoubles-and-friends.txt) are detected and skipped when uploading with the browser-UI 78208405 * IdP-volumes can be filtered by group 9c2c4237 @@ -1536,7 +1536,7 @@ this release includes a build of [copyparty-winpe64.exe](https://github.com/9001 * webdav: support listing unmapped root with infinite recursion (Depth:0) 21a3f369 * embed current sort config into media URLs (gallery/music) 0f257c93 4cfdc4c5 01670827 * ensures that anyone clicking your link will see the files in the same order as you - * can be confgured serverside (`--hsortn`, volflag `hsortn`) and clientside (`#sort` in settings) + * can be configured serverside (`--hsortn`, volflag `hsortn`) and clientside (`#sort` in settings) * URL and UI options to disable checksum calculation of PUT, bup, basic uploads c5a000d2 * also allows [choosing either md5, sha1, sha256, or blake2](https://github.com/9001/copyparty/blob/hovudstraum/docs/devnotes.md#write) instead of the default sha512 * can give uploads a nice speed boost when copyparty is running on a potato @@ -2729,7 +2729,7 @@ probably last release before v1.10 (IdP), please watch warmly * now possible to POST files without having to set the `act: bput` multipart field 9bc09ce9 * mainly to support [igloo irc](https://github.com/9001/copyparty#client-examples) and other simplistic upload clients * try to point the linux oom-killer at FFmpeg so it doesn't kill innocent processes instead dc8e621d - * only works if copyparty has acces to /proc, so not in prisonparty, and maybe not in docker (todo) + * only works if copyparty has access to /proc, so not in prisonparty, and maybe not in docker (todo) * UX: * do another search immediately if a search-filter gets unchecked a4239a46 * several ie11 fixes (keyboard hotkeys and a working text editor) 2fd2c6b9 @@ -3049,7 +3049,7 @@ just adding requested features, nothing important * `--no-crop` and the `nocrop` volflag now sets the default value of this instead of forcing the setting * thumbnail cleanup is now more granular, cleaning full-jpg separately from cropped-webp for example * set default sort order with `--sort` or volflag `sort` - * one or more comma-separated values; `tags/Cirle,tags/.tn,tags/Artist,tags/Title,href` + * one or more comma-separated values; `tags/Circle,tags/.tn,tags/Artist,tags/Title,href` * see the column header tooltips in the browser to know what names (`id`) to use * prefix a column name with `-` for descending sort * specifying a sort order in the client will override all server-defined ones @@ -3215,7 +3215,7 @@ hello! it's been a while, an entire day even... * iPhones and iPads are now able to... * 9986136d play entire albums while the screen is off without the music randomly stopping * apple keeps breaking AudioContext in new and interesting ways; time to give up (no more equalizer) - * 1c0d9789 perform search queries and execude js code + * 1c0d9789 perform search queries and execute js code * by translating [smart-quotes](https://stackoverflow.com/questions/48678359/ios-11-safari-html-disable-smart-punctuation) into regular `'` and `"` characters * python 3.12 support * technically a bugfix since it was added [a year ago](https://github.com/9001/copyparty/commit/32e22dfe) way before the first py3.12 alpha was released but turns out i botched it, oh well @@ -4054,7 +4054,7 @@ hello from warsaw airport (goodbye japan ;_;) * browser ui didn't allow specifying number of threads for file search * dont panic if a digit key is pressed while viewing an image * workaround [linux kernel bug](https://utcc.utoronto.ca/~cks/space/blog/linux/KernelBindBugIn6016) causing log spam on dualstack - * ~~related issue (also mostly harmless) will be fixed next relese 01077068~~ + * ~~related issue (also mostly harmless) will be fixed next release 01077068~~ * they fixed it in linux 6.1 so these workarounds will be gone too @@ -4199,7 +4199,7 @@ named after [that other thing](https://en.wikipedia.org/wiki/Tower_of_Babel), no * display a server [qr-code](https://github.com/9001/copyparty#qr-code) [(screenshot)](https://user-images.githubusercontent.com/241032/194728533-6f00849b-c6ac-43c6-9359-83e454d11e00.png) on startup * primarily for running copyparty on a phone and accessing it from another * optionally specify a path or password with `--qrl lootbox/?pw=hunter2` - * uses the server's exteral ip (default route) unless `--qri` specifies a domain / ip-prefix + * uses the server's external ip (default route) unless `--qri` specifies a domain / ip-prefix * classic cp437 `▄` `▀` for space efficiency; some misbehaving terminals / fonts need `--qrz 2` * new permission `G` returns the filekey of uploaded files for users without read-access * when combined with permission `w` and volflag `fk`, uploaded files will not be accessible unless the filekey is provided in the url, and `G` provides the filekey to the uploader unlike `g` @@ -5151,7 +5151,7 @@ so far just mild annoyances, nothing bad * last release broke folder listings if you left off the trailing slash in the url * also fix the markdown-editor breadcrumbs which made that very obvious * when running without `-e2d`, don't proactively create symlinks for dupe uploads - * prevents the client from accidentally pushing superflous links + * prevents the client from accidentally pushing superfluous links * ui didn't update correctly when navigating into a folder with indexing disabled # other changes @@ -5268,7 +5268,7 @@ not super important but recommended # new features * navigate into textfiles using hotkeys (`v, k`) * close various UI elements by repeatedly hitting the Escape key -* doubleclick files/folders to open them (in the grid view, when multiselect is enabled) +* double-click files/folders to open them (in the grid view, when multiselect is enabled) * `--s-wr-slp` sets a delay between socket writes, simulates a slow network during downloads * `--s-wr-sz` sets socket write size, default 256 KiB (was hardcoded 32 KiB until now) * this increase download speed by ~50% (to around 3 GiB/s) when running on windows / where sendfile is unavailable @@ -5337,7 +5337,7 @@ not super important but recommended * supported formats: same as transcoder + `mp3` `ogg` `opus` * needs FFmpeg and FFprobe, can be disabled with `--no-athumb` * **textfile viewer** - * with syntax hilighting + * with syntax highlighting * can be disabled by deleting `web/deps/prism.js.gz` or building the sfx with `no-hl` * and list of textfiles in the navpane; toggle with hotkey `v` * **navpane context dock** @@ -5427,7 +5427,7 @@ for future releases, you can use a script to automatically grab the latest sfx a * latest gzip edition of the sfx: [v0.11.18](https://github.com/9001/copyparty/releases/tag/v0.11.18) ## bugfixes -* currently-playing song didn't hilight correctly +* currently-playing song didn't highlight correctly @@ -5479,7 +5479,7 @@ thx to @Bevinsky and @icxes for the ux suggestions * and `?raw` POST without content-type is now allowed * file-listing is refreshed when all up2k uploads complete * new option `--ign-ebind` to continue startup even if one of the IPs / ports couldn't be listened on -* new option `--ign-ebind-all` to run even if copyparty can't receieve any connections at all +* new option `--ign-ebind-all` to run even if copyparty can't receive any connections at all * maybe useful for monitoring folders and hashing new files on a timer or something ## bugfixes @@ -5562,7 +5562,7 @@ thx to @Bevinsky and @icxes for the ux suggestions ## bugfixes * race-condition initializing the up2k-client when dropping files into the browser and you're not using https -* hilight active folder in the navpane even when the browser and copyparty disagrees on how to urlencode +* highlight active folder in the navpane even when the browser and copyparty disagrees on how to urlencode * hide prologue/epilogue while search results are open * toasts could redefine css @@ -5668,10 +5668,10 @@ thx to @Bevinsky and @icxes for the ux suggestions * loss of access to anon-read/write folders after logging in * affected filesearch, regular searching, and volume listings * more aggressively `no-cache`, preventing cloudflare from eating api calls -* after deleteing all files inside a folder, don't delete the folder itself +* after deleting all files inside a folder, don't delete the folder itself * was intended behavior but fairly confusing * don't reshow tooltips when alt-tabbing -* accessibility: always hilight focused things +* accessibility: always highlight focused things * markdown-editor modification poller doesn't cause performance issues after having a document open for several months * mtp plugins [audio-bpm.py](https://github.com/9001/copyparty/blob/hovudstraum/bin/mtag/audio-bpm.py) and [audio-key.py](https://github.com/9001/copyparty/blob/hovudstraum/bin/mtag/audio-key.py) explicitly asks for just the first audio stream, which prevents ffmpeg from transcoding video (nice) @@ -6006,7 +6006,7 @@ note: `copyparty-sfx.py` is https://github.com/9001/copyparty/commit/5955940b wh * image-thumbnails: apply rotation hints from exif * image-thumbnails: higher quality AND slightly smaller * fix loss of detail on resize -* argument `--th-mt` specifices number of cores to use for thumbnailing +* argument `--th-mt` specifies number of cores to use for thumbnailing * default is 0 which means all cores ## bugfixes @@ -6616,7 +6616,7 @@ all these changelogs are sorted by importance btw so here's the least important ## new features * video player -- click a webm/mp4 in the grid-view to play it - * only does formats/codecs supported by your browser for now (thats the foreshadowing part) + * only does formats/codecs supported by your browser for now (that's the foreshadowing part) * `--th-clean 0` disables periodic cleanup of the thumbnail cache ## bugfixes @@ -6793,7 +6793,7 @@ unless the upload was paused for 6 hours or more, it can probably be resumed by ## new features suggested by kipu * pause uploads by setting `parallel uploads` to `0` -* increase max `parallel uploads` to 16 (using +/- buttons) and 64 (by manual text entry) to accomodate sad american internet connections +* increase max `parallel uploads` to 16 (using +/- buttons) and 64 (by manual text entry) to accommodate sad american internet connections * also look for `cover.jpg` and `cover.png` as folder thumbnails by default, adjustable with `--th-covers` * change the description in the sfx so the corruption warning is the first plaintext you see @@ -6947,7 +6947,7 @@ reason: [v0.11.12](https://github.com/9001/copyparty/releases/tag/v0.11.12) chan ## new features * much faster filesearch in chrome -* skip hidden colums in the /np text +* skip hidden columns in the /np text * support cygpaths when pointing to mtag tools ## bugfixes @@ -7009,10 +7009,10 @@ this release includes [copyparty-sfx-gz.py](https://github.com/9001/copyparty/re * hotkey `b` to toggle breadcrumbs / directory tree sidebar * hotkey `p` is now play/pause * hotkey `m` is now parent-directory -* hilight the playing track in gallery mode too +* highlight the playing track in gallery mode too * toggle to disable the now-playing clipboard buttons * added lots of tooltips - * threw aray the competing tooltip implementations and did a single ok one + * threw array the competing tooltip implementations and did a single ok one * more accurate error-messages on upload failures due to filesystem permissions * add another output to the sfx repacker (gzip-compressed python sfx) @@ -7060,7 +7060,7 @@ this release includes [copyparty-sfx-gz.py](https://github.com/9001/copyparty/re ## new features * media player can now continue into the next folder * eq curve supports both positive and negative values (and scales down to avoid clipping) -* browser columns now fully hide when hidden; reenable them in the settings tab +* browser columns now fully hide when hidden; re-enable them in the settings tab * other ux tweaks * add some icons * tree control buttons remain visible when scrolling @@ -7676,7 +7676,7 @@ not so strong anymore ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ # 2021-0315-0013 `v0.9.8` the strongest for a while -nothing more to add or fix for now (barely avoided adding bpm/tempo detection using keyfinder and vamp+qm since thats just too ridiculous) +nothing more to add or fix for now (barely avoided adding bpm/tempo detection using keyfinder and vamp+qm since that's just too ridiculous) * browser: correct music playback order after sorting * browser: no more glitching on resize in non-tree-mode @@ -7958,7 +7958,7 @@ valvrave-stop.jpg ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ # 2020-1117-2258 `v0.5.4` edovprim -(get it? becasue reverse proxy haha) +(get it? because reverse proxy haha) * reverse-proxy support * filetype column in the browser diff --git a/docs/hls.html b/docs/hls.html index a1fe4fab..a29529fc 100644 --- a/docs/hls.html +++ b/docs/hls.html @@ -27,7 +27,7 @@ hls.on(Hls.Events.MEDIA_ATTACHED, function() { general good news: - doesn't need fixed-length segments; ok to let x264 pick optimal keyframes and slice on those - hls.js polls the m3u8 for new segments, scales the duration accordingly, seeking works great -- the sfx will grow by 66 KiB since that's how small hls.js can get, wait thats not good +- the sfx will grow by 66 KiB since that's how small hls.js can get, wait that's not good # vod, creates m3u8 at the end, fixed keyframes, v bad ffmpeg -hide_banner -threads 0 -flags -global_header -i ..\CowboyBebopMovie-OP1.webm -vf scale=1280:-4,format=yuv420p -ac 2 -c:a libopus -b:a 128k -c:v libx264 -preset slow -crf 24 -maxrate:v 5M -bufsize:v 10M -g 120 -keyint_min 120 -sc_threshold 0 -hls_time 4 -hls_playlist_type vod -hls_segment_filename v%05d.ts v.m3u8 diff --git a/docs/notes.sh b/docs/notes.sh index 41d43831..c7e214fb 100644 --- a/docs/notes.sh +++ b/docs/notes.sh @@ -123,7 +123,7 @@ grep '"name": "2021-07-18 02-17-59.mkv"' fug.log | head -n 1 | sed -r 's/.*"hash ## -## js oneliners +## js one-liners # get all up2k search result URLs var t=[]; var b=document.location.href.split('#')[0].slice(0, -1); document.querySelectorAll('#u2tab .prog a').forEach((x) => {t.push(b+encodeURI(x.getAttribute("href")))}); console.log(t.join("\n")); @@ -133,7 +133,7 @@ var s=mknod('style');s.innerHTML='*[data-ln]:before {content:attr(data-ln)!impor ## -## bash oneliners +## bash one-liners # get the size and video-id of all youtube vids in folder, assuming filename ends with -id.ext, and create a copyparty search query find -maxdepth 1 -printf '%s %p\n' | sort -n | awk '!/-([0-9a-zA-Z_-]{11})\.(mkv|mp4|webm)$/{next} {sub(/\.[^\.]+$/,"");n=length($0);v=substr($0,n-10);print $1, v}' | tee /dev/stderr | awk 'BEGIN {p="("} {printf("%s name like *-%s.* ",p,$2);p="or"} END {print ")\n"}' | cat >&2 diff --git a/docs/synology-dsm.md b/docs/synology-dsm.md index b9388b53..b8fc165d 100644 --- a/docs/synology-dsm.md +++ b/docs/synology-dsm.md @@ -72,7 +72,7 @@ okay now continue with one of these: * open the `Package Center` and install the [Container Manager package](https://ocv.me/copyparty/doc/pics/dsm72-01.png) by `Docker Inc.` * open the `Container Manager` app * go to the `Registry` tab and search for `copyparty` -* [doubleclick copyparty/ac](https://ocv.me/copyparty/doc/pics/dsm72-02.png) and keep the [default `latest`](https://ocv.me/copyparty/doc/pics/dsm72-03.png) when it asks you which tag to use +* [double-click copyparty/ac](https://ocv.me/copyparty/doc/pics/dsm72-02.png) and keep the [default `latest`](https://ocv.me/copyparty/doc/pics/dsm72-03.png) when it asks you which tag to use * switch to the `Container` tab and click `Create` * [choose `copyparty/ac:latest`](https://ocv.me/copyparty/doc/pics/dsm72-04.png) and click `Next` @@ -93,7 +93,7 @@ if you're using DSM 7.1 or older, then you don't have [Container Manager](https: * open the `Package Center` and install the [Docker package](https://ocv.me/copyparty/doc/pics/dsm71-01.png) by `Docker Inc.` * open the `Docker` app * go to the `Registry` tab and search for `copyparty` -* [doubleclick copyparty/ac](https://ocv.me/copyparty/doc/pics/dsm71-02.png) and keep the [default `latest`](https://ocv.me/copyparty/doc/pics/dsm71-03.png) when it asks you which tag to use +* [double-click copyparty/ac](https://ocv.me/copyparty/doc/pics/dsm71-02.png) and keep the [default `latest`](https://ocv.me/copyparty/doc/pics/dsm71-03.png) when it asks you which tag to use * switch to the `Container` tab and click `Create` * [choose `copyparty/ac:latest`](https://ocv.me/copyparty/doc/pics/dsm71-04.png) and `Next` * in the [Network](https://ocv.me/copyparty/doc/pics/dsm71-05.png) window, keep the default `Use the selected networks: [x] bridge` diff --git a/docs/versus.md b/docs/versus.md index 2c293a14..da083424 100644 --- a/docs/versus.md +++ b/docs/versus.md @@ -82,9 +82,9 @@ currently up to date with [awesome-selfhosted](https://github.com/awesome-selfho <&Kethsar> copyparty is very much bloat ed, so yeah ``` -the table headers in the matrixes below are the different softwares, with a quick review of each software in the next section +the table headers in the matrixes below are the different software, with a quick review of each software in the next section -the softwares, +the software, [a]: https://github.com/9001/copyparty "copyparty" [b]: https://github.com/rejetto/hfs2/ "hfs2" @@ -114,7 +114,7 @@ the softwares, * `l` = [sftpgo][l] * `m` = [arozos][m] -some softwares not in the matrixes, +some software not in the matrixes, * [updog](#updog) * [goshs](#goshs) * [gimme-that](#gimmethat) @@ -259,7 +259,7 @@ symbol legend, * you can successfully play `$'\355\221'` with mpv through mounting a remote copyparty server with rclone, pog * `a`/copyparty remarks: * extremely minimal samba/cifs server - * netscape 4 / ie6 support is mostly listed as a joke altho some people have actually found it useful ([ie4 tho](https://user-images.githubusercontent.com/241032/118192791-fb31fe00-b446-11eb-9647-898ea8efc1f7.png)) + * netscape 4 / ie6 support is mostly listed as a joke although some people have actually found it useful ([ie4 tho](https://user-images.githubusercontent.com/241032/118192791-fb31fe00-b446-11eb-9647-898ea8efc1f7.png)) * `l`/sftpgo translates mojibake filenames into valid utf-8 (information loss) * `m`/arozos has readonly-support for older browsers; no uploading diff --git a/scripts/copyparty-repack.sh b/scripts/copyparty-repack.sh index c4de5d23..e45c6abd 100755 --- a/scripts/copyparty-repack.sh +++ b/scripts/copyparty-repack.sh @@ -27,7 +27,7 @@ set -e # 270004 copyparty-extras/sfx-lite/copyparty-sfx.py # 293159 copyparty-extras/sfx-lite/copyparty-sfx-gz.py # `- also removed the codemirror markdown editor -# and the text-viewer syntax hilighting, +# and the text-viewer syntax highlighting, # only essential features remaining # # 646297 copyparty-extras/copyparty-1.0.14.tar.gz diff --git a/scripts/docker/README.md b/scripts/docker/README.md index 7f4222f7..d39687bc 100644 --- a/scripts/docker/README.md +++ b/scripts/docker/README.md @@ -1,4 +1,4 @@ -copyparty is availabe in these repos: +copyparty is available in these repos: * https://hub.docker.com/u/copyparty * https://github.com/9001?tab=packages&repo_name=copyparty diff --git a/scripts/docker/make.sh b/scripts/docker/make.sh index 3535fffa..aeb975f6 100755 --- a/scripts/docker/make.sh +++ b/scripts/docker/make.sh @@ -133,7 +133,7 @@ filt= ) 2> >(tee $a.err | sed "s/^/$aa:/" >&2) > >(tee $a.out | sed "s/^/$aa:/") & done [ -e err ] && { - echo somethign died, + echo something died, cat err pkill -P $$ exit 1 @@ -144,7 +144,7 @@ filt= done wait [ -e err ] && { - echo somethign died, + echo something died, cat err pkill -P $$ exit 1 diff --git a/scripts/pyinstaller/build.sh b/scripts/pyinstaller/build.sh index a7944a5c..7faac906 100644 --- a/scripts/pyinstaller/build.sh +++ b/scripts/pyinstaller/build.sh @@ -137,10 +137,10 @@ dist/copyparty.exe --version csum=$(sha512sum uplod.log -cat uplod.log +curl -fkT dist/copyparty.exe -HPW:wark https://192.168.123.1:3923/copyparty$esuf.exe >upload.log +cat upload.log -grep -q $csum uplod.log && echo upload OK || { +grep -q $csum upload.log && echo upload OK || { echo UPLOAD FAILED exit 1 } diff --git a/scripts/pyinstaller/deps.txt b/scripts/pyinstaller/deps.txt index 30dc9c19..bfb89b06 100644 --- a/scripts/pyinstaller/deps.txt +++ b/scripts/pyinstaller/deps.txt @@ -7,13 +7,13 @@ https://pypi.org/project/pywin32-ctypes/#files https://github.com/git-for-windows/git/releases/latest https://github.com/upx/upx/releases/latest -# win10 additionals +# win10 additional https://pypi.org/project/Jinja2/#files https://pypi.org/project/MarkupSafe/#files https://pypi.org/project/mutagen/#files https://pypi.org/project/Pillow/#files -# win7 additionals +# win7 additional https://pypi.org/project/future/#files https://pypi.org/project/importlib-metadata/#files https://pypi.org/project/pip/#files diff --git a/scripts/pyinstaller/up2k.sh b/scripts/pyinstaller/up2k.sh index 54cc7e8e..b349d1b9 100644 --- a/scripts/pyinstaller/up2k.sh +++ b/scripts/pyinstaller/up2k.sh @@ -36,10 +36,10 @@ $APPDATA/python/python37/scripts/pyinstaller -y --clean --upx-dir=. up2k.spec csum=$(sha512sum uplod.log -cat uplod.log +curl -fkT dist/u2c.exe -HPW:wark https://192.168.123.1:3923/ >upload.log +cat upload.log -grep -q $csum uplod.log && echo upload OK || { +grep -q $csum upload.log && echo upload OK || { echo UPLOAD FAILED exit 1 } diff --git a/scripts/tl.js b/scripts/tl.js index 6ea6e543..973b3d32 100644 --- a/scripts/tl.js +++ b/scripts/tl.js @@ -488,7 +488,7 @@ Ls.hmn = { "m3u_clip": "m3u playlist now copied to clipboard\n\nyou should create a new textfile named something.m3u and paste the playlist in that document; this will make it playable", "gt_vau": "don't show videos, just play the audio\">🎧", - "gt_msel": "enable file selection; ctrl-click a file to override$N$N<em>when active: doubleclick a file / folder to open it</em>$N$NHotkey: S\">multiselect", + "gt_msel": "enable file selection; ctrl-click a file to override$N$N<em>when active: double-click a file / folder to open it</em>$N$NHotkey: S\">multiselect", "gt_crop": "center-crop thumbnails\">crop", "gt_3x": "hi-res thumbnails\">3x", "gt_zoom": "zoom",