mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
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
This commit is contained in:
parent
e5582605cd
commit
ac96fd9c96
|
@ -2827,11 +2827,11 @@ class HttpCli(object):
|
||||||
logtail = ""
|
logtail = ""
|
||||||
|
|
||||||
#
|
#
|
||||||
# if request is for foo.js, check if we have foo.js.{gz,br}
|
# if request is for foo.js, check if we have foo.js.gz
|
||||||
|
|
||||||
file_ts = 0.0
|
file_ts = 0.0
|
||||||
editions: dict[str, tuple[str, int]] = {}
|
editions: dict[str, tuple[str, int]] = {}
|
||||||
for ext in ["", ".gz", ".br"]:
|
for ext in ("", ".gz"):
|
||||||
try:
|
try:
|
||||||
fs_path = req_path + ext
|
fs_path = req_path + ext
|
||||||
st = bos.stat(fs_path)
|
st = bos.stat(fs_path)
|
||||||
|
@ -2876,12 +2876,7 @@ class HttpCli(object):
|
||||||
x.strip()
|
x.strip()
|
||||||
for x in self.headers.get("accept-encoding", "").lower().split(",")
|
for x in self.headers.get("accept-encoding", "").lower().split(",")
|
||||||
]
|
]
|
||||||
if ".br" in editions and "br" in supported_editions:
|
if ".gz" in editions:
|
||||||
is_compressed = True
|
|
||||||
selected_edition = ".br"
|
|
||||||
fs_path, file_sz = editions[".br"]
|
|
||||||
self.out_headers["Content-Encoding"] = "br"
|
|
||||||
elif ".gz" in editions:
|
|
||||||
is_compressed = True
|
is_compressed = True
|
||||||
selected_edition = ".gz"
|
selected_edition = ".gz"
|
||||||
fs_path, file_sz = editions[".gz"]
|
fs_path, file_sz = editions[".gz"]
|
||||||
|
@ -2897,13 +2892,8 @@ class HttpCli(object):
|
||||||
is_compressed = False
|
is_compressed = False
|
||||||
selected_edition = "plain"
|
selected_edition = "plain"
|
||||||
|
|
||||||
try:
|
|
||||||
fs_path, file_sz = editions[selected_edition]
|
fs_path, file_sz = editions[selected_edition]
|
||||||
logmsg += "{} ".format(selected_edition.lstrip("."))
|
logmsg += "{} ".format(selected_edition.lstrip("."))
|
||||||
except:
|
|
||||||
# client is old and we only have .br
|
|
||||||
# (could make brotli a dep to fix this but it's not worth)
|
|
||||||
raise Pebkac(404)
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# partial
|
# partial
|
||||||
|
|
|
@ -191,7 +191,7 @@ class HttpSrv(object):
|
||||||
for fn in df:
|
for fn in df:
|
||||||
ap = absreal(os.path.join(dp, fn))
|
ap = absreal(os.path.join(dp, fn))
|
||||||
self.statics.add(ap)
|
self.statics.add(ap)
|
||||||
if ap.endswith(".gz") or ap.endswith(".br"):
|
if ap.endswith(".gz"):
|
||||||
self.statics.add(ap[:-3])
|
self.statics.add(ap[:-3])
|
||||||
|
|
||||||
def set_netdevs(self, netdevs: dict[str, Netdev]) -> None:
|
def set_netdevs(self, netdevs: dict[str, Netdev]) -> None:
|
||||||
|
|
|
@ -512,13 +512,6 @@ dom_navtgl.onclick = function () {
|
||||||
redraw();
|
redraw();
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!HTTPS && location.hostname != '127.0.0.1') try {
|
|
||||||
ebi('edit2').onclick = function (e) {
|
|
||||||
toast.err(0, "the fancy editor is only available over https");
|
|
||||||
return ev(e);
|
|
||||||
}
|
|
||||||
} catch (ex) { }
|
|
||||||
|
|
||||||
if (sread('hidenav') == 1)
|
if (sread('hidenav') == 1)
|
||||||
dom_navtgl.onclick();
|
dom_navtgl.onclick();
|
||||||
|
|
||||||
|
|
|
@ -218,7 +218,7 @@ if you don't need all the features, you can repack the sfx and save a bunch of s
|
||||||
* `269k` after `./scripts/make-sfx.sh re no-cm no-hl`
|
* `269k` after `./scripts/make-sfx.sh re no-cm no-hl`
|
||||||
|
|
||||||
the features you can opt to drop are
|
the features you can opt to drop are
|
||||||
* `cm`/easymde, the "fancy" markdown editor, saves ~82k
|
* `cm`/easymde, the "fancy" markdown editor, saves ~89k
|
||||||
* `hl`, prism, the syntax hilighter, saves ~41k
|
* `hl`, prism, the syntax hilighter, saves ~41k
|
||||||
* `fnt`, source-code-pro, the monospace font, saves ~9k
|
* `fnt`, source-code-pro, the monospace font, saves ~9k
|
||||||
* `dd`, the custom mouse cursor for the media player tray tab, saves ~2k
|
* `dd`, the custom mouse cursor for the media player tray tab, saves ~2k
|
||||||
|
|
|
@ -24,7 +24,7 @@ ENV ver_asmcrypto=c72492f4a66e17a0e5dd8ad7874de354f3ccdaa5 \
|
||||||
# the scp url is regular latin from https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap
|
# the scp url is regular latin from https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap
|
||||||
RUN mkdir -p /z/dist/no-pk \
|
RUN mkdir -p /z/dist/no-pk \
|
||||||
&& wget https://fonts.gstatic.com/s/sourcecodepro/v11/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2 -O scp.woff2 \
|
&& wget https://fonts.gstatic.com/s/sourcecodepro/v11/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2 -O scp.woff2 \
|
||||||
&& apk add cmake make g++ git bash npm patch wget tar pigz brotli gzip unzip python3 python3-dev brotli py3-brotli \
|
&& apk add cmake make g++ git bash npm patch wget tar pigz brotli gzip unzip python3 python3-dev py3-brotli \
|
||||||
&& rm -f /usr/lib/python3*/EXTERNALLY-MANAGED \
|
&& rm -f /usr/lib/python3*/EXTERNALLY-MANAGED \
|
||||||
&& wget https://github.com/openpgpjs/asmcrypto.js/archive/$ver_asmcrypto.tar.gz -O asmcrypto.tgz \
|
&& wget https://github.com/openpgpjs/asmcrypto.js/archive/$ver_asmcrypto.tar.gz -O asmcrypto.tgz \
|
||||||
&& wget https://github.com/markedjs/marked/archive/v$ver_marked.tar.gz -O marked.tgz \
|
&& wget https://github.com/markedjs/marked/archive/v$ver_marked.tar.gz -O marked.tgz \
|
||||||
|
@ -143,9 +143,8 @@ RUN ./genprism.sh $ver_prism
|
||||||
|
|
||||||
|
|
||||||
# compress
|
# compress
|
||||||
COPY brotli.makefile zopfli.makefile /z/dist/
|
COPY zopfli.makefile /z/dist/
|
||||||
RUN cd /z/dist \
|
RUN cd /z/dist \
|
||||||
&& make -j$(nproc) -f brotli.makefile \
|
|
||||||
&& make -j$(nproc) -f zopfli.makefile \
|
&& make -j$(nproc) -f zopfli.makefile \
|
||||||
&& rm *.makefile \
|
&& rm *.makefile \
|
||||||
&& mv no-pk/* . \
|
&& mv no-pk/* . \
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
all: $(addsuffix .br, $(wildcard easymde*))
|
|
||||||
|
|
||||||
%.br: %
|
|
||||||
brotli -jZ $<
|
|
|
@ -37,7 +37,7 @@ help() { exec cat <<'EOF'
|
||||||
# _____________________________________________________________________
|
# _____________________________________________________________________
|
||||||
# web features:
|
# web features:
|
||||||
#
|
#
|
||||||
# `no-cm` saves ~82k by removing easymde/codemirror
|
# `no-cm` saves ~89k by removing easymde/codemirror
|
||||||
# (the fancy markdown editor)
|
# (the fancy markdown editor)
|
||||||
#
|
#
|
||||||
# `no-hl` saves ~41k by removing syntax hilighting in the text viewer
|
# `no-hl` saves ~41k by removing syntax hilighting in the text viewer
|
||||||
|
@ -406,7 +406,7 @@ find -type f -name ._\* | while IFS= read -r f; do cmp <(printf '\x00\x05\x16')
|
||||||
|
|
||||||
rm -f copyparty/web/deps/*.full.* copyparty/web/dbg-* copyparty/web/Makefile
|
rm -f copyparty/web/deps/*.full.* copyparty/web/dbg-* copyparty/web/Makefile
|
||||||
|
|
||||||
find copyparty | LC_ALL=C sort | sed -r 's/\.(gz|br)$//;s/$/,/' > have
|
find copyparty | LC_ALL=C sort | sed -r 's/\.gz$//;s/$/,/' > have
|
||||||
cat have | while IFS= read -r x; do
|
cat have | while IFS= read -r x; do
|
||||||
grep -qF -- "$x" ../scripts/sfx.ls || {
|
grep -qF -- "$x" ../scripts/sfx.ls || {
|
||||||
echo "unexpected file: $x"
|
echo "unexpected file: $x"
|
||||||
|
@ -603,7 +603,7 @@ sed -r 's/(.*)\.(.*)/\2 \1/' | LC_ALL=C sort |
|
||||||
sed -r 's/([^ ]*) (.*)/\2.\1/' | grep -vE '/list1?$' > list1
|
sed -r 's/([^ ]*) (.*)/\2.\1/' | grep -vE '/list1?$' > list1
|
||||||
|
|
||||||
for n in {1..50}; do
|
for n in {1..50}; do
|
||||||
(grep -vE '\.(gz|br)$' list1; grep -E '\.(gz|br)$' list1 | (shuf||gshuf) ) >list || true
|
(grep -vE '\.gz$' list1; grep -E '\.gz$' list1 | (shuf||gshuf) ) >list || true
|
||||||
s=$( (sha1sum||shasum) < list | cut -c-16)
|
s=$( (sha1sum||shasum) < list | cut -c-16)
|
||||||
grep -q $s "$zdir/h" 2>/dev/null && continue
|
grep -q $s "$zdir/h" 2>/dev/null && continue
|
||||||
echo $s >> "$zdir/h"
|
echo $s >> "$zdir/h"
|
||||||
|
|
Loading…
Reference in a new issue