copyparty 1.13.5__py3-none-any.whl → 1.13.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- copyparty/__main__.py +25 -7
- copyparty/__version__.py +2 -2
- copyparty/authsrv.py +9 -6
- copyparty/cert.py +1 -1
- copyparty/fsutil.py +3 -3
- copyparty/ftpd.py +15 -2
- copyparty/httpcli.py +221 -81
- copyparty/httpconn.py +3 -0
- copyparty/httpsrv.py +35 -11
- copyparty/ico.py +1 -1
- copyparty/mtag.py +15 -6
- copyparty/pwhash.py +10 -0
- copyparty/smbd.py +20 -2
- copyparty/ssdp.py +3 -3
- copyparty/stolen/dnslib/dns.py +6 -0
- copyparty/stolen/ifaddr/__init__.py +15 -1
- copyparty/stolen/ifaddr/_shared.py +1 -0
- copyparty/stolen/qrcodegen.py +6 -0
- copyparty/sutil.py +1 -1
- copyparty/svchub.py +72 -3
- copyparty/szip.py +1 -3
- copyparty/tcpsrv.py +60 -8
- copyparty/tftpd.py +30 -4
- copyparty/th_srv.py +22 -1
- copyparty/u2idx.py +4 -1
- copyparty/up2k.py +222 -94
- copyparty/util.py +166 -31
- copyparty/web/a/u2c.py +22 -9
- copyparty/web/baguettebox.js.gz +0 -0
- copyparty/web/browser.css.gz +0 -0
- copyparty/web/browser.js.gz +0 -0
- copyparty/web/browser2.html +0 -1
- copyparty/web/md.html +3 -0
- copyparty/web/mde.html +3 -0
- copyparty/web/msg.html +3 -0
- copyparty/web/splash.html +3 -0
- copyparty/web/svcs.html +5 -2
- copyparty/web/ui.css.gz +0 -0
- copyparty/web/up2k.js.gz +0 -0
- copyparty/web/util.js.gz +0 -0
- {copyparty-1.13.5.dist-info → copyparty-1.13.7.dist-info}/METADATA +66 -14
- {copyparty-1.13.5.dist-info → copyparty-1.13.7.dist-info}/RECORD +46 -46
- {copyparty-1.13.5.dist-info → copyparty-1.13.7.dist-info}/WHEEL +1 -1
- {copyparty-1.13.5.dist-info → copyparty-1.13.7.dist-info}/LICENSE +0 -0
- {copyparty-1.13.5.dist-info → copyparty-1.13.7.dist-info}/entry_points.txt +0 -0
- {copyparty-1.13.5.dist-info → copyparty-1.13.7.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: copyparty
|
3
|
-
Version: 1.13.
|
3
|
+
Version: 1.13.7
|
4
4
|
Summary: Portable file server with accelerated resumable uploads, deduplication, WebDAV, FTP, zeroconf, media indexer, video thumbnails, audio transcoding, and write-only folders
|
5
5
|
Author-email: ed <copyparty@ocv.me>
|
6
6
|
License: MIT
|
@@ -37,20 +37,20 @@ Description-Content-Type: text/markdown
|
|
37
37
|
License-File: LICENSE
|
38
38
|
Requires-Dist: Jinja2
|
39
39
|
Provides-Extra: audiotags
|
40
|
-
Requires-Dist: mutagen
|
40
|
+
Requires-Dist: mutagen; extra == "audiotags"
|
41
41
|
Provides-Extra: ftpd
|
42
|
-
Requires-Dist: pyftpdlib
|
42
|
+
Requires-Dist: pyftpdlib; extra == "ftpd"
|
43
43
|
Provides-Extra: ftps
|
44
|
-
Requires-Dist: pyftpdlib
|
45
|
-
Requires-Dist: pyopenssl
|
44
|
+
Requires-Dist: pyftpdlib; extra == "ftps"
|
45
|
+
Requires-Dist: pyopenssl; extra == "ftps"
|
46
46
|
Provides-Extra: pwhash
|
47
|
-
Requires-Dist: argon2-cffi
|
47
|
+
Requires-Dist: argon2-cffi; extra == "pwhash"
|
48
48
|
Provides-Extra: tftpd
|
49
|
-
Requires-Dist: partftpy
|
49
|
+
Requires-Dist: partftpy>=0.4.0; extra == "tftpd"
|
50
50
|
Provides-Extra: thumbnails
|
51
|
-
Requires-Dist: Pillow
|
51
|
+
Requires-Dist: Pillow; extra == "thumbnails"
|
52
52
|
Provides-Extra: thumbnails2
|
53
|
-
Requires-Dist: pyvips
|
53
|
+
Requires-Dist: pyvips; extra == "thumbnails2"
|
54
54
|
|
55
55
|
# 💾🎉 copyparty
|
56
56
|
|
@@ -139,6 +139,7 @@ turn almost any device into a file server with resumable uploads/downloads using
|
|
139
139
|
* [prometheus](#prometheus) - metrics/stats can be enabled
|
140
140
|
* [other extremely specific features](#other-extremely-specific-features) - you'll never find a use for these
|
141
141
|
* [custom mimetypes](#custom-mimetypes) - change the association of a file extension
|
142
|
+
* [feature chickenbits](#feature-chickenbits) - buggy feature? rip it out
|
142
143
|
* [packages](#packages) - the party might be closer than you think
|
143
144
|
* [arch package](#arch-package) - now [available on aur](https://aur.archlinux.org/packages/copyparty) maintained by [@icxes](https://github.com/icxes)
|
144
145
|
* [fedora package](#fedora-package) - does not exist yet
|
@@ -165,6 +166,7 @@ turn almost any device into a file server with resumable uploads/downloads using
|
|
165
166
|
* [HTTP API](#HTTP-API) - see [devnotes](./docs/devnotes.md#http-api)
|
166
167
|
* [dependencies](#dependencies) - mandatory deps
|
167
168
|
* [optional dependencies](#optional-dependencies) - install these to enable bonus features
|
169
|
+
* [dependency chickenbits](#dependency-chickenbits) - prevent loading an optional dependency
|
168
170
|
* [optional gpl stuff](#optional-gpl-stuff)
|
169
171
|
* [sfx](#sfx) - the self-contained "binary" (recommended!)
|
170
172
|
* [copyparty.exe](#copypartyexe) - download [copyparty.exe](https://github.com/9001/copyparty/releases/latest/download/copyparty.exe) (win8+) or [copyparty32.exe](https://github.com/9001/copyparty/releases/latest/download/copyparty32.exe) (win7+)
|
@@ -178,7 +180,7 @@ turn almost any device into a file server with resumable uploads/downloads using
|
|
178
180
|
|
179
181
|
just run **[copyparty-sfx.py](https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py)** -- that's it! 🎉
|
180
182
|
|
181
|
-
* or install through pypi: `python3 -m pip install --user -U copyparty`
|
183
|
+
* or install through [pypi](https://pypi.org/project/copyparty/): `python3 -m pip install --user -U copyparty`
|
182
184
|
* or if you cannot install python, you can use [copyparty.exe](#copypartyexe) instead
|
183
185
|
* or install [on arch](#arch-package) ╱ [on NixOS](#nixos-module) ╱ [through nix](#nix-package)
|
184
186
|
* or if you are on android, [install copyparty in termux](#install-on-android)
|
@@ -248,7 +250,7 @@ firewall-cmd --reload
|
|
248
250
|
also see [comparison to similar software](./docs/versus.md)
|
249
251
|
|
250
252
|
* backend stuff
|
251
|
-
* ☑ IPv6
|
253
|
+
* ☑ IPv6 + unix-sockets
|
252
254
|
* ☑ [multiprocessing](#performance) (actual multithreading)
|
253
255
|
* ☑ volumes (mountpoints)
|
254
256
|
* ☑ [accounts](#accounts-and-volumes)
|
@@ -633,9 +635,6 @@ images with the following names (see `--th-covers`) become the thumbnail of the
|
|
633
635
|
* the order is significant, so if both `cover.png` and `folder.jpg` exist in a folder, it will pick the first matching `--th-covers` entry (`folder.jpg`)
|
634
636
|
* and, if you enable [file indexing](#file-indexing), it will also try those names as dotfiles (`.folder.jpg` and so), and then fallback on the first picture in the folder (if it has any pictures at all)
|
635
637
|
|
636
|
-
in the grid/thumbnail view, if the audio player panel is open, songs will start playing when clicked
|
637
|
-
* indicated by the audio files having the ▶ icon instead of 💾
|
638
|
-
|
639
638
|
enabling `multiselect` lets you click files to select them, and then shift-click another file for range-select
|
640
639
|
* `multiselect` is mostly intended for phones/tablets, but the `sel` option in the `[⚙️] settings` tab is better suited for desktop use, allowing selection by CTRL-clicking and range-selection with SHIFT-click, all without affecting regular clicking
|
641
640
|
* the `sel` option can be made default globally with `--gsel` or per-volume with volflag `gsel`
|
@@ -1368,6 +1367,8 @@ you can set hooks before and/or after an event happens, and currently you can ho
|
|
1368
1367
|
|
1369
1368
|
there's a bunch of flags and stuff, see `--help-hooks`
|
1370
1369
|
|
1370
|
+
if you want to write your own hooks, see [devnotes](./docs/devnotes.md#event-hooks)
|
1371
|
+
|
1371
1372
|
|
1372
1373
|
### upload events
|
1373
1374
|
|
@@ -1512,6 +1513,8 @@ some reverse proxies (such as [Caddy](https://caddyserver.com/)) can automatical
|
|
1512
1513
|
* **warning:** nginx-QUIC (HTTP/3) is still experimental and can make uploads much slower, so HTTP/1.1 is recommended for now
|
1513
1514
|
* depending on server/client, HTTP/1.1 can also be 5x faster than HTTP/2
|
1514
1515
|
|
1516
|
+
for improved security (and a tiny performance boost) consider listening on a unix-socket with `-i /tmp/party.sock` instead of `-i 127.0.0.1`
|
1517
|
+
|
1515
1518
|
example webserver configs:
|
1516
1519
|
|
1517
1520
|
* [nginx config](contrib/nginx/copyparty.conf) -- entire domain/subdomain
|
@@ -1612,6 +1615,23 @@ in a config-file, this is the same as:
|
|
1612
1615
|
run copyparty with `--mimes` to list all the default mappings
|
1613
1616
|
|
1614
1617
|
|
1618
|
+
### feature chickenbits
|
1619
|
+
|
1620
|
+
buggy feature? rip it out by setting any of the following environment variables to disable its associated bell or whistle,
|
1621
|
+
|
1622
|
+
| env-var | what it does |
|
1623
|
+
| -------------------- | ------------ |
|
1624
|
+
| `PRTY_NO_IFADDR` | disable ip/nic discovery by poking into your OS with ctypes |
|
1625
|
+
| `PRTY_NO_IPV6` | disable some ipv6 support (should not be necessary since windows 2000) |
|
1626
|
+
| `PRTY_NO_LZMA` | disable streaming xz compression of incoming uploads |
|
1627
|
+
| `PRTY_NO_MP` | disable all use of the python `multiprocessing` module (actual multithreading, cpu-count for parsers/thumbnailers) |
|
1628
|
+
| `PRTY_NO_SQLITE` | disable all database-related functionality (file indexing, metadata indexing, most file deduplication logic) |
|
1629
|
+
| `PRTY_NO_TLS` | disable native HTTPS support; if you still want to accept HTTPS connections then TLS must now be terminated by a reverse-proxy |
|
1630
|
+
| `PRTY_NO_TPOKE` | disable systemd-tmpfilesd avoider |
|
1631
|
+
|
1632
|
+
example: `PRTY_NO_IFADDR=1 python3 copyparty-sfx.py`
|
1633
|
+
|
1634
|
+
|
1615
1635
|
# packages
|
1616
1636
|
|
1617
1637
|
the party might be closer than you think
|
@@ -1934,6 +1954,7 @@ some notes on hardening
|
|
1934
1954
|
* cors doesn't work right otherwise
|
1935
1955
|
* if you allow anonymous uploads or otherwise don't trust the contents of a volume, you can prevent XSS with volflag `nohtml`
|
1936
1956
|
* this returns html documents as plaintext, and also disables markdown rendering
|
1957
|
+
* when running behind a reverse-proxy, listen on a unix-socket with `-i /tmp/party.sock` instead of `-i 127.0.0.1` for tighter access control (plus you get a tiny performance boost for free)
|
1937
1958
|
|
1938
1959
|
safety profiles:
|
1939
1960
|
|
@@ -2098,6 +2119,37 @@ enable [smb](#smb-server) support (**not** recommended):
|
|
2098
2119
|
`pyvips` gives higher quality thumbnails than `Pillow` and is 320% faster, using 270% more ram: `sudo apt install libvips42 && python3 -m pip install --user -U pyvips`
|
2099
2120
|
|
2100
2121
|
|
2122
|
+
### dependency chickenbits
|
2123
|
+
|
2124
|
+
prevent loading an optional dependency , for example if:
|
2125
|
+
|
2126
|
+
* you have an incompatible version installed and it causes problems
|
2127
|
+
* you just don't want copyparty to use it, maybe to save ram
|
2128
|
+
|
2129
|
+
set any of the following environment variables to disable its associated optional feature,
|
2130
|
+
|
2131
|
+
| env-var | what it does |
|
2132
|
+
| -------------------- | ------------ |
|
2133
|
+
| `PRTY_NO_ARGON2` | disable argon2-cffi password hashing |
|
2134
|
+
| `PRTY_NO_CFSSL` | never attempt to generate self-signed certificates using [cfssl](https://github.com/cloudflare/cfssl) |
|
2135
|
+
| `PRTY_NO_FFMPEG` | **audio transcoding** goes byebye, **thumbnailing** must be handled by Pillow/libvips |
|
2136
|
+
| `PRTY_NO_FFPROBE` | **audio transcoding** goes byebye, **thumbnailing** must be handled by Pillow/libvips, **metadata-scanning** must be handled by mutagen |
|
2137
|
+
| `PRTY_NO_MUTAGEN` | do not use [mutagen](https://pypi.org/project/mutagen/) for reading metadata from media files; will fallback to ffprobe |
|
2138
|
+
| `PRTY_NO_PIL` | disable all [Pillow](https://pypi.org/project/pillow/)-based thumbnail support; will fallback to libvips or ffmpeg |
|
2139
|
+
| `PRTY_NO_PILF` | disable Pillow `ImageFont` text rendering, used for folder thumbnails |
|
2140
|
+
| `PRTY_NO_PIL_AVIF` | disable 3rd-party Pillow plugin for [AVIF support](https://pypi.org/project/pillow-avif-plugin/) |
|
2141
|
+
| `PRTY_NO_PIL_HEIF` | disable 3rd-party Pillow plugin for [HEIF support](https://pypi.org/project/pyheif-pillow-opener/) |
|
2142
|
+
| `PRTY_NO_PIL_WEBP` | disable use of native webp support in Pillow |
|
2143
|
+
| `PRTY_NO_PSUTIL` | do not use [psutil](https://pypi.org/project/psutil/) for reaping stuck hooks and plugins on Windows |
|
2144
|
+
| `PRTY_NO_VIPS` | disable all [libvips](https://pypi.org/project/pyvips/)-based thumbnail support; will fallback to Pillow or ffmpeg |
|
2145
|
+
|
2146
|
+
example: `PRTY_NO_PIL=1 python3 copyparty-sfx.py`
|
2147
|
+
|
2148
|
+
* `PRTY_NO_PIL` saves ram
|
2149
|
+
* `PRTY_NO_VIPS` saves ram and startup time
|
2150
|
+
* python2.7 on windows: `PRTY_NO_FFMPEG` + `PRTY_NO_FFPROBE` saves startup time
|
2151
|
+
|
2152
|
+
|
2101
2153
|
## optional gpl stuff
|
2102
2154
|
|
2103
2155
|
some bundled tools have copyleft dependencies, see [./bin/#mtag](bin/#mtag)
|
@@ -1,38 +1,38 @@
|
|
1
1
|
copyparty/__init__.py,sha256=fUINM1abqDGzCCH_JcXdOnLdKOV-SrTI2Xo2QgQW2P4,1703
|
2
|
-
copyparty/__main__.py,sha256
|
3
|
-
copyparty/__version__.py,sha256=
|
4
|
-
copyparty/authsrv.py,sha256=
|
2
|
+
copyparty/__main__.py,sha256=-bNgNkASImj8_qwQybMROWYOG8weMhW_97CvSrk493E,104553
|
3
|
+
copyparty/__version__.py,sha256=EgoCneQAZlhKgcqdzhToR-lpfaiTxVNFy5oamvRXiNo,255
|
4
|
+
copyparty/authsrv.py,sha256=TQSpXc2meEcC4FTkHfLYaF0JwR6subinZTlGrhItTLM,87266
|
5
5
|
copyparty/broker_mp.py,sha256=YFe1S6Zziht8Qc__dCLj_ff8z0DDny9lqk_Mi5ajsJk,3868
|
6
6
|
copyparty/broker_mpw.py,sha256=4ZI7bJYOwUibeAJVv9_FPGNmHrr9eOtkj_Kz0JEppTU,3197
|
7
7
|
copyparty/broker_thr.py,sha256=eKr--HJGig5zqvNGwH9UoBG9Nvi9mT2axrRmJwknd0s,1759
|
8
8
|
copyparty/broker_util.py,sha256=w0E-GhoOgq8ow7mEWi3GOyqraux6VG9yk1tif1yo0jc,1474
|
9
|
-
copyparty/cert.py,sha256=
|
9
|
+
copyparty/cert.py,sha256=kRFkMwBUCV_Vo7BYweD-yJ7Hpp5BCpaXneyBWxlu1PM,7759
|
10
10
|
copyparty/cfg.py,sha256=i8-bjWgbguQooxiA172RcptqR_SEOwDHJ4cqldrZ8oQ,9792
|
11
11
|
copyparty/dxml.py,sha256=lZpg-kn-kQsXRtNY1n6fRaS-b7uXzMCyv8ovKnhZcZc,1548
|
12
|
-
copyparty/fsutil.py,sha256=
|
13
|
-
copyparty/ftpd.py,sha256=
|
14
|
-
copyparty/httpcli.py,sha256=
|
15
|
-
copyparty/httpconn.py,sha256=
|
16
|
-
copyparty/httpsrv.py,sha256=
|
17
|
-
copyparty/ico.py,sha256=
|
12
|
+
copyparty/fsutil.py,sha256=hnEHgySI43-XJJKbI8n6t1A6oVHzR_nYdsBcAwtreBk,4610
|
13
|
+
copyparty/ftpd.py,sha256=1vD-KTy07xfEEEk1dx37pUYModpNO2gIhVXvFUr205M,17497
|
14
|
+
copyparty/httpcli.py,sha256=MrYiVBTJOllcx1uuqrkZM_pohp4PeUUxFnqfW4wKm0Q,174925
|
15
|
+
copyparty/httpconn.py,sha256=mwIDup85cBowIfJOse8rla5bqTz7nf-ChgfR-5-V0JM,6938
|
16
|
+
copyparty/httpsrv.py,sha256=Q0UscMXbzgslwTSj8pJiyWTqy9NrRi0lc4PU3KyJFZw,17030
|
17
|
+
copyparty/ico.py,sha256=eWSxEae4wOCfheHl-m-wchYvFRAR_97kJDb4NGaB-Z8,3561
|
18
18
|
copyparty/mdns.py,sha256=vC078llnL1v0pvL3mnwacuStFHPJUQuxo9Opj-IbHL4,18155
|
19
19
|
copyparty/metrics.py,sha256=O8qiPNDxNjub_PI8C8Qu9rBQ_z0J1mnKonqkcTeAtf4,8845
|
20
|
-
copyparty/mtag.py,sha256=
|
20
|
+
copyparty/mtag.py,sha256=0UIti7JyB6j8rPJ1SlC7JmwlqDfBMjQhXgncxscJGPg,18893
|
21
21
|
copyparty/multicast.py,sha256=Ha27l2oATEa-Qo2WOzkeRgjAm6G_YDCfbVJWR-ao2UE,12319
|
22
|
-
copyparty/pwhash.py,sha256=
|
23
|
-
copyparty/smbd.py,sha256=
|
24
|
-
copyparty/ssdp.py,sha256=
|
22
|
+
copyparty/pwhash.py,sha256=AdLMLyIi2IDhGtbKIQOswKUxWvO7ARYYRF_ThsryOoc,4124
|
23
|
+
copyparty/smbd.py,sha256=8zkC9BjVtGiKXMLajbdakxoKeFzACdM75SW0_SvqXJA,14490
|
24
|
+
copyparty/ssdp.py,sha256=8iyF5sqIjATJLWcAtnJa8eadHosOn0CP4ywltzJ7bVY,7023
|
25
25
|
copyparty/star.py,sha256=tV5BbX6AiQ7N4UU8DYtSTckNYeoeey4DBqq4LjfymbY,3818
|
26
|
-
copyparty/sutil.py,sha256=
|
27
|
-
copyparty/svchub.py,sha256=
|
28
|
-
copyparty/szip.py,sha256=
|
29
|
-
copyparty/tcpsrv.py,sha256=
|
30
|
-
copyparty/tftpd.py,sha256=
|
26
|
+
copyparty/sutil.py,sha256=JTMrQwcWH85hXB_cKG206eDZ967WZDGaP00AWvl_gB0,3214
|
27
|
+
copyparty/svchub.py,sha256=r7tht72fjl4HrrScTgXrIKGJHIzaB9pmnXSIs6c7wxA,34952
|
28
|
+
copyparty/szip.py,sha256=tor4yjdHhEL4Ox-Xg7-cuUFrMO0IwQD29aRX5Cp8MYs,8605
|
29
|
+
copyparty/tcpsrv.py,sha256=HzPN2K3VIDY-tXFBo1Twkzmm-K9aDk57IXBWE8P79Ck,19223
|
30
|
+
copyparty/tftpd.py,sha256=i1-oZ05DJq2_nDOW3g3PfTkMoUCr2lAcDYFMWArwtKA,13568
|
31
31
|
copyparty/th_cli.py,sha256=o6FMkerYvAXS455z3DUossVztu_nzFlYSQhs6qN6Jt8,4636
|
32
|
-
copyparty/th_srv.py,sha256=
|
33
|
-
copyparty/u2idx.py,sha256=
|
34
|
-
copyparty/up2k.py,sha256=
|
35
|
-
copyparty/util.py,sha256=
|
32
|
+
copyparty/th_srv.py,sha256=27IftjIXUQzRRiUytt-CgXkybEoP3HHHoXaDAvxEmLo,29217
|
33
|
+
copyparty/u2idx.py,sha256=NSlY-3Wo-jjzkOWNjnrKXf40LlTCssiy7j5iP2UoUXA,13082
|
34
|
+
copyparty/up2k.py,sha256=6WR2mwFSMrCMLp2WbkvwcsVWBr9OnrSMkhJT5odStC0,150956
|
35
|
+
copyparty/util.py,sha256=ftOsJD9ofoZGywvNT5xgT8t33E9CPYVDbENz9JSWwe4,88625
|
36
36
|
copyparty/bos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
37
37
|
copyparty/bos/bos.py,sha256=Wb7eWsXJgR5AFlBR9ZOyKrLTwy-Kct9RrGiOu4Jo37Y,1622
|
38
38
|
copyparty/bos/path.py,sha256=yEjCq2ki9CvxA5sCT8pS0keEXwugs0ZeUyUhdBziOCI,777
|
@@ -40,49 +40,49 @@ copyparty/res/COPYING.txt,sha256=c1ZODkz9gwQsQ1nDHGHs0i4Nq0zBx_pRGITzPNtCYSY,105
|
|
40
40
|
copyparty/res/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
41
41
|
copyparty/res/insecure.pem,sha256=FEt7jgrn6ZHTlFopq_LFAN027YIoaHi0HQFBbzYnEwc,2876
|
42
42
|
copyparty/stolen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
43
|
-
copyparty/stolen/qrcodegen.py,sha256=
|
43
|
+
copyparty/stolen/qrcodegen.py,sha256=vs7EaFOFCWFMBbB5peea75c6duXKg1MVQZiZuoDElF0,21512
|
44
44
|
copyparty/stolen/surrogateescape.py,sha256=-ZfRWrbgJrh74dXfXLNMvo_iiCVUhXbFs_anHIrWPts,5573
|
45
45
|
copyparty/stolen/dnslib/__init__.py,sha256=SmYdaHdL5czxKxrOFGvzbfmojOthRky1GXKgmWj4QeM,159
|
46
46
|
copyparty/stolen/dnslib/bimap.py,sha256=j_ah40P3kOw0AQT5vvMcv7XbMtS0jV6Oe9YGCh7J57s,1182
|
47
47
|
copyparty/stolen/dnslib/bit.py,sha256=uDECHT5wM-QObxxRgc4lJq9CUcd7hglRLgs0K1X8mnU,348
|
48
48
|
copyparty/stolen/dnslib/buffer.py,sha256=bvj9rTn4EcccVuMWe1b5j57ex6elba3NCDBdevsnoSc,1407
|
49
|
-
copyparty/stolen/dnslib/dns.py,sha256=
|
49
|
+
copyparty/stolen/dnslib/dns.py,sha256=D7Csp3Vryf8IVjpDmVxyFKNDiPKklajNnnZ3lj-3VVc,20999
|
50
50
|
copyparty/stolen/dnslib/label.py,sha256=ohFQJAqbA806g7jDeTEUtmhan1e7Exyb5j2D7Bg2V-Q,4893
|
51
51
|
copyparty/stolen/dnslib/lex.py,sha256=XuXvz4PHzSaEdRRl8xnYaM8cAupzns0QW3oeFn-4isM,2615
|
52
52
|
copyparty/stolen/dnslib/ranges.py,sha256=XqR6NaRMm0xiEht590KhOjKjIuUFgW4I9_zPmPsGV0c,1810
|
53
|
-
copyparty/stolen/ifaddr/__init__.py,sha256=
|
53
|
+
copyparty/stolen/ifaddr/__init__.py,sha256=vpREjAyPubr5s1NJi91icXV3q1o4DrKAvHABwkoeJB0,706
|
54
54
|
copyparty/stolen/ifaddr/_posix.py,sha256=-67NdfGrCktfQPakT2fLbjl2U00QMvyBGkSvrUuTOrU,2626
|
55
|
-
copyparty/stolen/ifaddr/_shared.py,sha256=
|
55
|
+
copyparty/stolen/ifaddr/_shared.py,sha256=uNC4SdEIgdSLKvuUzsf1aM-H1Xrc_9mpLoOT43YukGs,6206
|
56
56
|
copyparty/stolen/ifaddr/_win32.py,sha256=EE-QyoBgeB7lYQ6z62VjXNaRozaYfCkaJBHGNA8QtZM,4026
|
57
|
-
copyparty/web/baguettebox.js.gz,sha256=
|
58
|
-
copyparty/web/browser.css.gz,sha256=
|
57
|
+
copyparty/web/baguettebox.js.gz,sha256=4dS8-r4si84ca71l98672ahnRI86Aq95MU-bc5knykk,7962
|
58
|
+
copyparty/web/browser.css.gz,sha256=Pm5mArar_T87v9ji1SMkWEHzeKRtYq2roV_bAxXMIP0,11525
|
59
59
|
copyparty/web/browser.html,sha256=-tLasq2GKe9mUceqXG4PczQ7odBMrX0qlWuyaA9SjPI,4882
|
60
|
-
copyparty/web/browser.js.gz,sha256
|
61
|
-
copyparty/web/browser2.html,sha256=
|
60
|
+
copyparty/web/browser.js.gz,sha256=-FlIylCcVX7aQvOInLDdSNZAqsVzs6RKczzvNBSFQ50,69593
|
61
|
+
copyparty/web/browser2.html,sha256=XU8fD9fFbS4koraRz1Ok4z9OEV5EBoH4vT2Vc1mNWPc,1589
|
62
62
|
copyparty/web/cf.html,sha256=lJThtNFNAQT1ClCHHlivAkDGE0LutedwopXD62Z8Nys,589
|
63
63
|
copyparty/web/dbg-audio.js.gz,sha256=Ma-KZtK8LnmiwNvNKFKXMPYl_Nn_3U7GsJ6-DRWC2HE,688
|
64
64
|
copyparty/web/md.css.gz,sha256=UZpN0J7ubVM05CZkbZYkQRJeGgJt_GNDEzKTGSQd8h4,2032
|
65
|
-
copyparty/web/md.html,sha256=
|
65
|
+
copyparty/web/md.html,sha256=PZtHGVQ1mtppfpgqG3qjehu3KnRIs9QPsnv7yUXqB8k,4191
|
66
66
|
copyparty/web/md.js.gz,sha256=AHRQ3a-PZq_UiGh4CjNwXRllJCvA0IqqYmeHhFWhCig,4179
|
67
67
|
copyparty/web/md2.css.gz,sha256=uIVHKScThdbcfhXNSHgKZnALYpxbnXC-WuEzOJ20Lpc,699
|
68
68
|
copyparty/web/md2.js.gz,sha256=0fTA3lahQ1iDvJR4Q3W9v8dX5hc5VP8nunTtoDwFySs,8363
|
69
69
|
copyparty/web/mde.css.gz,sha256=2SkAEDKIRPqywNJ8t_heQaeBQ_R73Rf-pQI_bDoKF6o,942
|
70
|
-
copyparty/web/mde.html,sha256=
|
70
|
+
copyparty/web/mde.html,sha256=ImBhQAaEUCke2M85QU_fl4X2XQExRLcEzgCEN8RNe9o,1759
|
71
71
|
copyparty/web/mde.js.gz,sha256=kN2eUSvr4mFuksfK4-4LimJmWdwsao39Sea2lWtu8L0,2224
|
72
72
|
copyparty/web/msg.css.gz,sha256=u90fXYAVrMD-jqwf5XFVC1ptSpSHZUe8Mez6PX101P8,300
|
73
|
-
copyparty/web/msg.html,sha256=
|
73
|
+
copyparty/web/msg.html,sha256=w9CM3hkLLGJX9fWEaG4gSbTOPe2GcPqW8BpSCDiFzOI,977
|
74
74
|
copyparty/web/splash.css.gz,sha256=zgDs-SY3VrInsXeARRPcGHziVOUs-1hUtSObzybwD1g,1006
|
75
|
-
copyparty/web/splash.html,sha256=
|
75
|
+
copyparty/web/splash.html,sha256=noOLEb8NVsFkkWp7njl_KvpUdjOlAFoOam6XW4lnD-Q,3986
|
76
76
|
copyparty/web/splash.js.gz,sha256=P4BLL_SBqfqWniq_gzUD-opVAkblAPgKDwmfxyfDB7o,1469
|
77
|
-
copyparty/web/svcs.html,sha256=
|
77
|
+
copyparty/web/svcs.html,sha256=v0C3cOFWXYlvp3GEifz1Qj0W3MD8JANT3WTON05GZ9o,11797
|
78
78
|
copyparty/web/svcs.js.gz,sha256=k81ZvZ3I-f4fMHKrNGGOgOlvXnCBz0mVjD-8mieoWCA,520
|
79
|
-
copyparty/web/ui.css.gz,sha256=
|
80
|
-
copyparty/web/up2k.js.gz,sha256=
|
81
|
-
copyparty/web/util.js.gz,sha256=
|
79
|
+
copyparty/web/ui.css.gz,sha256=GnR_PxnZGcNs2IJnb5hFffnhlW3cUHkPad3tNIm-7DQ,2637
|
80
|
+
copyparty/web/up2k.js.gz,sha256=KufMtRViAZQo2rVj67iEWbdPxlVeXW85emRYVJoY3aA,22946
|
81
|
+
copyparty/web/util.js.gz,sha256=uZDsKkwTcEiFv-GTfy-zmArqirjhxGBLKjAhtLvj72s,14524
|
82
82
|
copyparty/web/w.hash.js.gz,sha256=7wP9EZQNXQxwZnCCFUVsi_-6TM9PLZJeZ9krutXRRj8,1060
|
83
83
|
copyparty/web/a/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
84
84
|
copyparty/web/a/partyfuse.py,sha256=MuRkaSuYsdfWfBFMOkbPwDXqSvNTw3sd7QhhlKCDZ8I,32311
|
85
|
-
copyparty/web/a/u2c.py,sha256=
|
85
|
+
copyparty/web/a/u2c.py,sha256=eJlcAN70lKeh46eNq9ae7CO-kgA8oGrMfiOBJivzCXk,42419
|
86
86
|
copyparty/web/a/webdav-cfg.bat,sha256=Y4NoGZlksAIg4cBMb7KdJrpKC6Nx97onaTl6yMjaimk,1449
|
87
87
|
copyparty/web/dd/2.png,sha256=gJ14XFPzaw95L6z92fSq9eMPikSQyu-03P1lgiGe0_I,258
|
88
88
|
copyparty/web/dd/3.png,sha256=4lho8Koz5tV7jJ4ODo6GMTScZfkqsT05yp48EDFIlyg,252
|
@@ -102,9 +102,9 @@ copyparty/web/deps/prismd.css.gz,sha256=ObUlksQVr-OuYlTz-I4B23TeBg2QDVVGRnWBz8cV
|
|
102
102
|
copyparty/web/deps/scp.woff2,sha256=w99BDU5i8MukkMEL-iW0YO9H4vFFZSPWxbkH70ytaAg,8612
|
103
103
|
copyparty/web/deps/sha512.ac.js.gz,sha256=lFZaCLumgWxrvEuDr4bqdKHsqjX82AbVAb7_F45Yk88,7033
|
104
104
|
copyparty/web/deps/sha512.hw.js.gz,sha256=vqoXeracj-99Z5MfY3jK2N4WiSzYQdfjy0RnUlQDhSU,8110
|
105
|
-
copyparty-1.13.
|
106
|
-
copyparty-1.13.
|
107
|
-
copyparty-1.13.
|
108
|
-
copyparty-1.13.
|
109
|
-
copyparty-1.13.
|
110
|
-
copyparty-1.13.
|
105
|
+
copyparty-1.13.7.dist-info/LICENSE,sha256=gOr4h33pCsBEg9uIy9AYmb7qlocL4V9t2uPJS5wllr0,1072
|
106
|
+
copyparty-1.13.7.dist-info/METADATA,sha256=yEDujjEnYVM3ubTVC9qg6DxX64yPBW3eriejcJuBudI,127902
|
107
|
+
copyparty-1.13.7.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
108
|
+
copyparty-1.13.7.dist-info/entry_points.txt,sha256=4zw6a3rqASywQomiYLObjjlxybaI65LYYOTJwgKz7b0,128
|
109
|
+
copyparty-1.13.7.dist-info/top_level.txt,sha256=LnYUPsDyk-8kFgM6YJLG4h820DQekn81cObKSu9g-sI,10
|
110
|
+
copyparty-1.13.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|