move js/css into /.cpr/w/ to simplify allowlisting

This commit is contained in:
ed
2026-03-08 09:56:50 +00:00
parent fc39561b32
commit 753ff548f2
12 changed files with 58 additions and 54 deletions

View File

@@ -1381,7 +1381,11 @@ class HttpCli(object):
if self.vpath == ".cpr/metrics": if self.vpath == ".cpr/metrics":
return self.conn.hsrv.metrics.tx(self) return self.conn.hsrv.metrics.tx(self)
res_path = "web/" + self.vpath[5:] if self.vpath.startswith(".cpr/w/"):
res_path = "web/" + self.vpath[7:]
else:
res_path = "web/" + self.vpath[5:]
if res_path in RES: if res_path in RES:
ap = self.E.mod_ + res_path ap = self.E.mod_ + res_path
if bos.path.exists(ap) or bos.path.exists(ap + ".gz"): if bos.path.exists(ap) or bos.path.exists(ap + ".gz"):

View File

@@ -137,7 +137,7 @@ class HttpSrv(object):
dls: dict[str, tuple[float, int]] = {} # state dls: dict[str, tuple[float, int]] = {} # state
self.dli = self.tdli = dli self.dli = self.tdli = dli
self.dls = self.tdls = dls self.dls = self.tdls = dls
self.iiam = '<img src="%s.cpr/iiam.gif?cache=i" />' % (self.args.SRS,) self.iiam = '<img src="%s.cpr/w/iiam.gif?cache=i" />' % (self.args.SRS,)
self.bound: set[tuple[str, int]] = set() self.bound: set[tuple[str, int]] = set()
self.name = "hsrv" + nsuf self.name = "hsrv" + nsuf

View File

@@ -7,8 +7,8 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=0.8, minimum-scale=0.6"> <meta name="viewport" content="width=device-width, initial-scale=0.8, minimum-scale=0.6">
<meta name="theme-color" content="#{{ tcolor }}"> <meta name="theme-color" content="#{{ tcolor }}">
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/ui.css?_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/browser.css?_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/browser.css?_={{ ts }}">
{{ html_head }} {{ html_head }}
{%- if css %} {%- if css %}
<link rel="stylesheet" media="screen" href="{{ css }}_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ css }}_={{ ts }}">
@@ -146,13 +146,13 @@
var STG = window.localStorage; var STG = window.localStorage;
document.documentElement.className = (STG && STG.cpp_thm) || dtheme; document.documentElement.className = (STG && STG.cpp_thm) || dtheme;
</script> </script>
<script src="{{ r }}/.cpr/util.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/util.js?_={{ ts }}"></script>
{%- if lang != "eng" %} {%- if lang != "eng" %}
<script src="{{ r }}/.cpr/tl/{{ lang }}.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/tl/{{ lang }}.js?_={{ ts }}"></script>
{%- endif %} {%- endif %}
<script src="{{ r }}/.cpr/baguettebox.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/baguettebox.js?_={{ ts }}"></script>
<script src="{{ r }}/.cpr/browser.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/browser.js?_={{ ts }}"></script>
<script src="{{ r }}/.cpr/up2k.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/up2k.js?_={{ ts }}"></script>
{%- if js %} {%- if js %}
<script src="{{ js }}_={{ ts }}"></script> <script src="{{ js }}_={{ ts }}"></script>
{%- endif %} {%- endif %}

View File

@@ -717,7 +717,7 @@ for (var a = 0; a < LANGN.length; a++)
function langtest() { function langtest() {
var n = LANGS.length - 1; var n = LANGS.length - 1;
for (var a = 1; a < LANGS.length; a++) for (var a = 1; a < LANGS.length; a++)
import_js(SR + '/.cpr/tl/' + LANGS[a] + '.js', function () { if (!--n) langtest2(); }); import_js(SR + '/.cpr/w/tl/' + LANGS[a] + '.js', function () { if (!--n) langtest2(); });
} }
function langtest2() { function langtest2() {
for (var a = 0; a < LANGS.length; a++) { for (var a = 0; a < LANGS.length; a++) {
@@ -1844,7 +1844,7 @@ function MPlayer() {
// breaks touchbar-macs // breaks touchbar-macs
console.log('init fau'); console.log('init fau');
r.fau = new Audio(SR + '/.cpr/deps/busy.mp3?_=' + TS); r.fau = new Audio(SR + '/.cpr/w/deps/busy.mp3?_=' + TS);
r.fau.loop = true; r.fau.loop = true;
r.fau.play(); r.fau.play();
}; };
@@ -5027,7 +5027,7 @@ var showfile = (function () {
qsr('#prism_css'); qsr('#prism_css');
var el = mknod('link', 'prism_css'); var el = mknod('link', 'prism_css');
el.rel = 'stylesheet'; el.rel = 'stylesheet';
el.href = SR + '/.cpr/deps/prism' + (light ? '' : 'd') + '.css?_=' + TS; el.href = SR + '/.cpr/w/deps/prism' + (light ? '' : 'd') + '.css?_=' + TS;
document.head.appendChild(el); document.head.appendChild(el);
}; };
@@ -5240,7 +5240,7 @@ var showfile = (function () {
if (!defer) if (!defer)
fun(el.firstChild); fun(el.firstChild);
else else
import_js(SR + '/.cpr/deps/prism.js', function () { fun(); }); import_js(SR + '/.cpr/w/deps/prism.js', function () { fun(); });
} }
if (!txt && r.wrap) if (!txt && r.wrap)
el.className = 'wrap'; el.className = 'wrap';
@@ -9010,7 +9010,7 @@ var globalcss = (function () {
var sandboxjs = (function () { var sandboxjs = (function () {
var ret = '', var ret = '',
busy = false, busy = false,
url = SR + '/.cpr/util.js?_=' + TS, url = SR + '/.cpr/w/util.js?_=' + TS,
tag = '<script src="' + url + '"></script>'; tag = '<script src="' + url + '"></script>';
return function () { return function () {
@@ -9047,7 +9047,7 @@ function show_md(md, name, div, url, depth) {
} }
wfp_debounce.n--; wfp_debounce.n--;
return import_js(SR + '/.cpr/deps/marked.js', function () { return import_js(SR + '/.cpr/w/deps/marked.js', function () {
show_md(md, name, div, url, 1); show_md(md, name, div, url, 1);
}); });
} }

View File

@@ -8,8 +8,8 @@
<meta name="viewport" content="width=device-width, initial-scale=0.8"> <meta name="viewport" content="width=device-width, initial-scale=0.8">
<meta name="robots" content="noindex, nofollow"> <meta name="robots" content="noindex, nofollow">
<meta name="theme-color" content="#{{ tcolor }}"> <meta name="theme-color" content="#{{ tcolor }}">
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/shares.css?_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/shares.css?_={{ ts }}">
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/ui.css?_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
{{ html_head }} {{ html_head }}
</head> </head>
@@ -46,7 +46,7 @@ var STG = window.localStorage;
document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme }}"; document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme }}";
</script> </script>
<script src="{{ r }}/.cpr/util.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/util.js?_={{ ts }}"></script>
{%- if js %} {%- if js %}
<script src="{{ js }}_={{ ts }}"></script> <script src="{{ js }}_={{ ts }}"></script>
{%- endif %} {%- endif %}

View File

@@ -7,10 +7,10 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=0.7"> <meta name="viewport" content="width=device-width, initial-scale=0.7">
<meta name="theme-color" content="#{{ tcolor }}"> <meta name="theme-color" content="#{{ tcolor }}">
<link rel="stylesheet" href="{{ r }}/.cpr/ui.css?_={{ ts }}"> <link rel="stylesheet" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
<link rel="stylesheet" href="{{ r }}/.cpr/md.css?_={{ ts }}"> <link rel="stylesheet" href="{{ r }}/.cpr/w/md.css?_={{ ts }}">
{%- if edit %} {%- if edit %}
<link rel="stylesheet" href="{{ r }}/.cpr/md2.css?_={{ ts }}"> <link rel="stylesheet" href="{{ r }}/.cpr/w/md2.css?_={{ ts }}">
{%- endif %} {%- endif %}
{{ html_head }} {{ html_head }}
</head> </head>
@@ -159,11 +159,11 @@ try { l.light = drk? 0:1; } catch (ex) { }
})(); })();
</script> </script>
<script src="{{ r }}/.cpr/util.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/util.js?_={{ ts }}"></script>
<script src="{{ r }}/.cpr/deps/marked.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/deps/marked.js?_={{ ts }}"></script>
<script src="{{ r }}/.cpr/md.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/md.js?_={{ ts }}"></script>
{%- if edit %} {%- if edit %}
<script src="{{ r }}/.cpr/md2.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/md2.js?_={{ ts }}"></script>
{%- endif %} {%- endif %}
<script> <script>
Date.now();function jsldp(a,b){2!=window[a]&&alert("FATAL ERROR: cannot load "+b+".js due to unreliable network or broken reverse-proxy; try CTRL-SHIFT-R")} Date.now();function jsldp(a,b){2!=window[a]&&alert("FATAL ERROR: cannot load "+b+".js due to unreliable network or broken reverse-proxy; try CTRL-SHIFT-R")}

View File

@@ -7,10 +7,10 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=0.7"> <meta name="viewport" content="width=device-width, initial-scale=0.7">
<meta name="theme-color" content="#{{ tcolor }}"> <meta name="theme-color" content="#{{ tcolor }}">
<link rel="stylesheet" href="{{ r }}/.cpr/ui.css?_={{ ts }}"> <link rel="stylesheet" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
<link rel="stylesheet" href="{{ r }}/.cpr/mde.css?_={{ ts }}"> <link rel="stylesheet" href="{{ r }}/.cpr/w/mde.css?_={{ ts }}">
<link rel="stylesheet" href="{{ r }}/.cpr/deps/mini-fa.css?_={{ ts }}"> <link rel="stylesheet" href="{{ r }}/.cpr/w/deps/mini-fa.css?_={{ ts }}">
<link rel="stylesheet" href="{{ r }}/.cpr/deps/easymde.css?_={{ ts }}"> <link rel="stylesheet" href="{{ r }}/.cpr/w/deps/easymde.css?_={{ ts }}">
{{ html_head }} {{ html_head }}
</head> </head>
@@ -54,10 +54,10 @@ try { l.light = drk? 0:1; } catch (ex) { }
})(); })();
</script> </script>
<script src="{{ r }}/.cpr/util.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/util.js?_={{ ts }}"></script>
<script src="{{ r }}/.cpr/deps/marked.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/deps/marked.js?_={{ ts }}"></script>
<script src="{{ r }}/.cpr/deps/easymde.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/deps/easymde.js?_={{ ts }}"></script>
<script src="{{ r }}/.cpr/mde.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/mde.js?_={{ ts }}"></script>
{%- if js %} {%- if js %}
<script src="{{ js }}_={{ ts }}"></script> <script src="{{ js }}_={{ ts }}"></script>
{%- endif %} {%- endif %}

View File

@@ -8,8 +8,8 @@
<meta name="viewport" content="width=device-width, initial-scale=0.8"> <meta name="viewport" content="width=device-width, initial-scale=0.8">
<meta name="robots" content="noindex, nofollow"> <meta name="robots" content="noindex, nofollow">
<meta name="theme-color" content="#{{ tcolor }}"> <meta name="theme-color" content="#{{ tcolor }}">
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/rups.css?_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/rups.css?_={{ ts }}">
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/ui.css?_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
{{ html_head }} {{ html_head }}
</head> </head>
@@ -33,9 +33,9 @@ var STG = window.localStorage;
document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme }}"; document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme }}";
</script> </script>
<script src="{{ r }}/.cpr/util.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/util.js?_={{ ts }}"></script>
<script>var V={{ v }};</script> <script>var V={{ v }};</script>
<script src="{{ r }}/.cpr/rups.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/rups.js?_={{ ts }}"></script>
{%- if js %} {%- if js %}
<script src="{{ js }}_={{ ts }}"></script> <script src="{{ js }}_={{ ts }}"></script>
{%- endif %} {%- endif %}

View File

@@ -8,8 +8,8 @@
<meta name="viewport" content="width=device-width, initial-scale=0.8"> <meta name="viewport" content="width=device-width, initial-scale=0.8">
<meta name="robots" content="noindex, nofollow"> <meta name="robots" content="noindex, nofollow">
<meta name="theme-color" content="#{{ tcolor }}"> <meta name="theme-color" content="#{{ tcolor }}">
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/shares.css?_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/shares.css?_={{ ts }}">
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/ui.css?_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
{{ html_head }} {{ html_head }}
</head> </head>
@@ -74,8 +74,8 @@ var STG = window.localStorage;
document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme }}"; document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme }}";
</script> </script>
<script src="{{ r }}/.cpr/util.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/util.js?_={{ ts }}"></script>
<script src="{{ r }}/.cpr/shares.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/shares.js?_={{ ts }}"></script>
{%- if js %} {%- if js %}
<script src="{{ js }}_={{ ts }}"></script> <script src="{{ js }}_={{ ts }}"></script>
{%- endif %} {%- endif %}

View File

@@ -7,8 +7,8 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=0.8"> <meta name="viewport" content="width=device-width, initial-scale=0.8">
<meta name="theme-color" content="#{{ tcolor }}"> <meta name="theme-color" content="#{{ tcolor }}">
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/splash.css?_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/splash.css?_={{ ts }}">
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/ui.css?_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
{{ html_head }} {{ html_head }}
</head> </head>
@@ -216,11 +216,11 @@ var STG = window.localStorage;
document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme }}"; document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme }}";
</script> </script>
<script src="{{ r }}/.cpr/util.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/util.js?_={{ ts }}"></script>
{%- if lang != "eng" %} {%- if lang != "eng" %}
<script src="{{ r }}/.cpr/tl/{{ lang }}.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/tl/{{ lang }}.js?_={{ ts }}"></script>
{%- endif %} {%- endif %}
<script src="{{ r }}/.cpr/splash.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/splash.js?_={{ ts }}"></script>
{%- if js %} {%- if js %}
<script src="{{ js }}_={{ ts }}"></script> <script src="{{ js }}_={{ ts }}"></script>
{%- endif %} {%- endif %}

View File

@@ -7,8 +7,8 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=0.8"> <meta name="viewport" content="width=device-width, initial-scale=0.8">
<meta name="theme-color" content="#{{ tcolor }}"> <meta name="theme-color" content="#{{ tcolor }}">
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/splash.css?_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/splash.css?_={{ ts }}">
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/ui.css?_={{ ts }}"> <link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
<style>ul{padding-left:1.3em}li{margin:.4em 0}.txa{float:right;margin:0 0 0 1em}</style> <style>ul{padding-left:1.3em}li{margin:.4em 0}.txa{float:right;margin:0 0 0 1em}</style>
{{ html_head }} {{ html_head }}
</head> </head>
@@ -233,7 +233,7 @@
<h1>partyfuse</h1> <h1>partyfuse</h1>
<p> <p>
<a href="{{ r }}/.cpr/a/partyfuse.py">partyfuse.py</a> -- fast, read-only, <a href="{{ r }}/.cpr/a/partyfuse.py">partyfuse.py</a> -- fast, read-only,
needs <a href="{{ r }}/.cpr/deps/fuse.py">fuse.py</a> in the same folder, needs <a href="{{ r }}/.cpr/w/deps/fuse.py">fuse.py</a> in the same folder,
<span class="os win">needs <a href="https://winfsp.dev/rel/">winfsp</a></span> <span class="os win">needs <a href="https://winfsp.dev/rel/">winfsp</a></span>
<span class="os lin">doesn't need root</span> <span class="os lin">doesn't need root</span>
</p> </p>
@@ -357,8 +357,8 @@ var STG = window.localStorage;
document.documentElement.className = (STG && STG.cpp_thm) || "{{ args.theme }}"; document.documentElement.className = (STG && STG.cpp_thm) || "{{ args.theme }}";
</script> </script>
<script src="{{ r }}/.cpr/util.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/util.js?_={{ ts }}"></script>
<script src="{{ r }}/.cpr/svcs.js?_={{ ts }}"></script> <script src="{{ r }}/.cpr/w/svcs.js?_={{ ts }}"></script>
{%- if js %} {%- if js %}
<script src="{{ js }}_={{ ts }}"></script> <script src="{{ js }}_={{ ts }}"></script>
{%- endif %} {%- endif %}

View File

@@ -801,7 +801,7 @@ function up2k_init(subtle) {
setTimeout(function () { setTimeout(function () {
if (WebAssembly && !hws.length) if (WebAssembly && !hws.length)
fetch(SR + '/.cpr/w.hash.js?_=' + TS); fetch(SR + '/.cpr/w/w.hash.js?_=' + TS);
}, 1000); }, 1000);
function showmodal(msg) { function showmodal(msg) {
@@ -831,7 +831,7 @@ function up2k_init(subtle) {
m = L.u_https1 + ' <a href="' + (location + '').replace(':', 's:') + '">' + L.u_https2 + '</a> ' + L.u_https3; m = L.u_https1 + ' <a href="' + (location + '').replace(':', 's:') + '">' + L.u_https2 + '</a> ' + L.u_https3;
showmodal('<h1>loading ' + fn + '</h1>'); showmodal('<h1>loading ' + fn + '</h1>');
import_js(SR + '/.cpr/deps/' + fn, unmodal); import_js(SR + '/.cpr/w/deps/' + fn, unmodal);
if (HTTPS) { if (HTTPS) {
// chrome<37 firefox<34 edge<12 opera<24 safari<7 // chrome<37 firefox<34 edge<12 opera<24 safari<7
@@ -1470,7 +1470,7 @@ function up2k_init(subtle) {
} }
for (var a = 0; a < nw; a++) for (var a = 0; a < nw; a++)
hws.push(new Worker(SR + '/.cpr/w.hash.js?_=' + TS)); hws.push(new Worker(SR + '/.cpr/w/w.hash.js?_=' + TS));
if (!subtle) if (!subtle)
for (var a = 0; a < hws.length; a++) for (var a = 0; a < hws.length; a++)