fix: ECC cert support, ACME deploy hook path, NAT detection, and account config fallback
- Add find_cert_dir() to resolve both RSA and ECC (domain_ecc/) cert dirs - Copy acme deploy hook to /deploy/ where acme.sh resolves it - _parse_account_conf checks both legacy .account.conf and declarative config - Skip public DNS check when all local IPs are private (NAT) - Improve check message strings for validity and expiry status - Support timezone-aware date formats in _days_until parsing - Filter out "no" SAN domains in cert listing - Bump frontend asset version cache keys - Fix DOMContentLoaded race condition in app.js boot - Fix spread operator in certs.js modal template
This commit is contained in:
+17
-13
@@ -1,16 +1,16 @@
|
||||
import { h, render, Link, hComp, ToastContainer, connect, apiFetch, modelRegister, modelFetch, reactive } from '/static/hoover/index.js?v=7';
|
||||
import { h, render, Link, hComp, ToastContainer, connect, apiFetch, modelRegister, modelFetch, reactive } from '/static/hoover/index.js?v=8';
|
||||
|
||||
import DashboardPage from '/static/pages/dashboard.js?v=7';
|
||||
import InterfacesPage from '/static/pages/interfaces.js?v=7';
|
||||
import ZonesPage from '/static/pages/zones.js?v=7';
|
||||
import RulesPage from '/static/pages/rules.js?v=7';
|
||||
import NatPage from '/static/pages/nat.js?v=7';
|
||||
import DhcpPage from '/static/pages/dhcp.js?v=7';
|
||||
import ProxyPage from '/static/pages/proxy.js?v=7';
|
||||
import CertsPage from '/static/pages/certs.js?v=7';
|
||||
import WireguardPage from '/static/pages/wireguard.js?v=7';
|
||||
import LogsPage from '/static/pages/logs.js?v=7';
|
||||
import NotFoundPage from '/static/pages/notfound.js?v=7';
|
||||
import DashboardPage from '/static/pages/dashboard.js?v=8';
|
||||
import InterfacesPage from '/static/pages/interfaces.js?v=8';
|
||||
import ZonesPage from '/static/pages/zones.js?v=8';
|
||||
import RulesPage from '/static/pages/rules.js?v=8';
|
||||
import NatPage from '/static/pages/nat.js?v=8';
|
||||
import DhcpPage from '/static/pages/dhcp.js?v=8';
|
||||
import ProxyPage from '/static/pages/proxy.js?v=8';
|
||||
import CertsPage from '/static/pages/certs.js?v=8';
|
||||
import WireguardPage from '/static/pages/wireguard.js?v=8';
|
||||
import LogsPage from '/static/pages/logs.js?v=8';
|
||||
import NotFoundPage from '/static/pages/notfound.js?v=8';
|
||||
|
||||
/* ── Navigation items ──────────────────────────────────────── */
|
||||
const Nav = [
|
||||
@@ -229,4 +229,8 @@ export function initApp() {
|
||||
setTimeout(connect, 0);
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', initApp);
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', initApp);
|
||||
} else {
|
||||
initApp();
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Vacuum Wall</title>
|
||||
<link rel="stylesheet" href="/static/style.css?v=8">
|
||||
<link rel="stylesheet" href="/static/style.css?v=9">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
@@ -15,6 +15,6 @@
|
||||
</div>
|
||||
<div id="modal-root"></div>
|
||||
<script>window.__WS_URL__ = "__WS_URL_PLACEHOLDER__"</script>
|
||||
<script type="module" src="/static/app.js?v=8"></script>
|
||||
<script type="module" src="/static/app.js?v=10"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -172,7 +172,7 @@ function _renderIssueContent() {
|
||||
<label>Domain</label>
|
||||
<input id="ic-domain" value=${esc(s.domain)} />
|
||||
</div>
|
||||
<div id="ic-vresults">${...resultsVNodes}</div>
|
||||
<div id="ic-vresults">${resultsVNodes}</div>
|
||||
</div>
|
||||
<div class="modal-actions">
|
||||
<button class="btn btn-outline" data-action="ic-cancel">Cancel</button>
|
||||
|
||||
Reference in New Issue
Block a user