CH-J ToolsSerververwaltung über SSH
Menü
Veröffentlichte Quellen

CH-J Tools

Durchsuchen Sie Verzeichnisse und Dateien einer bestimmten Anwendungsausgabe.

Quellen als ZIP herunterladen
CH-J / Server Manager 872 Dateien
core-20261030T220507Z-61e4558d889f Hinzugefügt: · Erstellt:
index.html Hinzugefügt: Datum nicht erfasst 28,2 KB · 263 Zeilen
Code Datei herunterladen
1<!doctype html>
2<html lang="cs">
3<head>
4 <meta charset="utf-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1">
6 <title>CH-J Server Manager</title>
7 <link rel="stylesheet" href="vendor/xterm/xterm.css">
8 <link rel="stylesheet" href="styles.css">
9 <link rel="stylesheet" href="diagnostics.css">
10</head>
11<body>
12 <div class="window-titlebar" aria-hidden="true">
13 <span class="window-titlebar-mark">CJ</span>
14 <span class="window-titlebar-title">CH-J Server Manager</span>
15 </div>
16 <div id="vaultOverlay" class="vault-overlay">
17 <form id="vaultForm" class="vault-dialog">
18 <select id="vaultLanguageSelect" class="vault-language" aria-label="Jazyk" data-i18n-aria-label="settings.language" disabled></select>
19 <div class="vault-mark">CJ</div>
20 <span id="vaultModeText" class="eyebrow" data-i18n="vault.storage">ŠIFROVANÉ LOKÁLNÍ ÚLOŽIŠTĚ</span>
21 <h1 id="vaultTitle" data-i18n="vault.unlockTitle">Odemknout Server Manager</h1>
22 <p id="vaultDescription" data-i18n="vault.unlockIntro">Zadejte hlavní heslo. Heslo se neukládá na disk.</p>
23 <label><span data-i18n="vault.password">Hlavní heslo</span><input id="vaultPassword" type="password" autocomplete="current-password" required></label>
24 <label id="vaultConfirmLabel" hidden><span data-i18n="vault.confirmPassword">Potvrzení hesla</span><input id="vaultPasswordConfirm" type="password" autocomplete="new-password"></label>
25 <p id="vaultMessage" class="form-message" aria-live="polite"></p>
26 <button id="vaultSubmit" class="button primary wide" type="submit" data-i18n="vault.unlock">Odemknout</button>
27 <button id="biometricUnlockButton" class="button wide" type="button" hidden></button>
28 <button id="showVaultResetButton" class="button ghost wide vault-reset-link" type="button" hidden data-i18n="vault.forgot">Zapomenuté heslo / obnovit vault</button>
29 <div id="vaultResetPanel" class="vault-reset-panel" hidden>
30 <strong data-i18n="vault.resetIrreversible">Obnovení nelze vrátit zpět</strong>
31 <p data-i18n="vault.resetDescription">Smažou se všechny serverové profily, uložené host fingerprinty a další šifrovaná data. Instalované pluginy a nastavení aktualizací zůstanou zachované.</p>
32 <label><span data-i18n="vault.resetInstruction">Pro potvrzení napište SMAZAT</span><input id="vaultResetConfirmation" maxlength="6" autocomplete="off" spellcheck="false"></label>
33 <div class="reset-actions"><button id="cancelVaultResetButton" class="button" type="button" data-i18n="vault.cancel">Zrušit</button><button id="confirmVaultResetButton" class="button danger" type="button" data-i18n="vault.resetAction">Smazat data a obnovit heslo</button></div>
34 </div>
35 </form>
36 </div>
37 <div class="app-shell">
38 <aside id="sidebar" class="sidebar">
39 <div class="brand">
40 <div class="brand-mark">CJ</div>
41 <div><strong>CH-J</strong><span>Server Manager</span></div>
42 </div>
43 <div class="sidebar-modes" role="radiogroup" aria-label="Zobrazení menu" data-i18n-aria-label="nav.sidebarModes">
44 <button type="button" class="sidebar-mode" role="radio" data-sidebar-mode="full" aria-label="Ikony a názvy" data-i18n-aria-label="nav.modeFull"><span aria-hidden="true">☰</span></button>
45 <button type="button" class="sidebar-mode" role="radio" data-sidebar-mode="compact" aria-label="Jen ikony" data-i18n-aria-label="nav.modeCompact"><span aria-hidden="true">▮</span></button>
46 <button type="button" class="sidebar-mode" role="radio" data-sidebar-mode="split" aria-label="Ikony ve dvou sloupcích" data-i18n-aria-label="nav.modeSplit"><span aria-hidden="true">▚</span></button>
47 </div>
48 <label class="navigation-edit-toggle"><input id="navigationEditToggle" type="checkbox"><span data-i18n="nav.editOrder">Upravit pořadí</span></label>
49 <nav id="mainNavigation" aria-label="Hlavní navigace" data-i18n-aria-label="nav.aria">
50 <button class="nav-button active" data-view="overview"><span>●</span><span class="nav-label" data-i18n="nav.overview">Přehled</span></button>
51 <button class="nav-button" data-view="terminal"><span>&gt;_</span><span class="nav-label" data-i18n="nav.terminal">Terminál</span></button>
52 <button class="nav-button" data-view="profiles"><span>▤</span><span class="nav-label" data-i18n="nav.servers">Servery</span></button>
53 <button class="nav-button" data-view="updates"><span>↻</span><span class="nav-label" data-i18n="nav.updates">Aktualizace</span></button>
54 <button class="nav-button" data-view="plugins"><span>◇</span><span class="nav-label" data-i18n="nav.plugins">Pluginy</span></button>
55 <button class="nav-button" data-view="diagnostics"><span>⌁</span><span class="nav-label" data-i18n="nav.diagnostics">Diagnostika serverů</span></button>
56 <button id="hashToolButton" class="nav-button" type="button"><span>#</span><span class="nav-label" data-i18n="nav.hash">Hash a kontrolní součty</span></button>
57 <button class="nav-button" data-view="settings"><span>⌘</span><span class="nav-label" data-i18n="nav.settings">Nastavení</span></button>
58 </nav>
59 <div class="sidebar-footer">
60 <span class="status-dot"></span>
61 <div><strong data-i18n="app.coreRunning">Core běží</strong><span id="sidebarVersion">—</span></div>
62 </div>
63 <div id="sidebarResizer" class="sidebar-resizer" role="separator" aria-orientation="vertical" tabindex="0" aria-valuemin="220" aria-valuemax="420" aria-label="Změnit šířku menu" data-i18n-aria-label="nav.resize"></div>
64 </aside>
65 <div id="sidebarTooltip" class="sidebar-tooltip" role="tooltip" hidden></div>
67 <main>
68 <header class="topbar">
69 <button id="sidebarToggle" class="sidebar-toggle" type="button" aria-controls="sidebar" aria-expanded="true" aria-label="Skrýt menu" title="Skrýt menu"><span aria-hidden="true">☰</span></button>
70 <div class="topbar-title"><span class="eyebrow" data-i18n="app.newArchitecture">NOVÁ ARCHITEKTURA</span><h1 id="viewTitle">Přehled Core</h1></div>
71 <div id="terminalStrip" class="terminal-strip" hidden>
72 <div id="terminalTabs" class="terminal-tabs" role="tablist" aria-label="SSH" data-i18n-aria-label="terminal.aria"></div>
73 <div class="terminal-strip-tools">
74 <div id="terminalLayout" class="terminal-layout" role="radiogroup" aria-label="Layout" data-i18n-aria-label="terminal.layout">
75 <button type="button" role="radio" data-layout="single" data-label="terminal.single"><svg viewBox="0 0 16 16" aria-hidden="true"><rect x="1.5" y="2.5" width="13" height="11" rx="2"/></svg></button>
76 <button type="button" role="radio" data-layout="split" data-label="terminal.sideBySide"><svg viewBox="0 0 16 16" aria-hidden="true"><rect x="1.5" y="2.5" width="13" height="11" rx="2"/><path d="M8 2.5v11"/></svg></button>
77 <button type="button" role="radio" data-layout="stacked" data-label="terminal.stacked"><svg viewBox="0 0 16 16" aria-hidden="true"><rect x="1.5" y="2.5" width="13" height="11" rx="2"/><path d="M1.5 8h13"/></svg></button>
78 </div>
79 <button id="terminalSwap" class="terminal-layout-button" type="button" hidden><svg viewBox="0 0 16 16" aria-hidden="true"><path d="M2 5.5h11M10.5 3 13 5.5 10.5 8M14 10.5H3M5.5 8 3 10.5 5.5 13"/></svg></button>
80 </div>
81 </div>
82 <div class="topbar-actions"><div class="runtime-badge"><span class="status-dot"></span><span id="runtimeText" data-i18n="app.initializing">Inicializace…</span></div><button id="lockVaultButton" class="button ghost" data-i18n="app.lock">Zamknout</button></div>
83 </header>
85 <section class="view active" data-view-panel="overview">
86 <div class="hero">
87 <div><span id="heroVersion" class="eyebrow">CORE</span><h2 data-i18n="overview.cleanTitle">Čistý základ nové aplikace</h2><p data-i18n="overview.cleanDescription">Oddělené služby, omezené IPC, plugin runtime a bezpečný aktualizační kanál.</p></div>
88 <div class="hero-orbit"><span>CORE</span></div>
89 </div>
90 <div class="card-grid">
91 <article class="card"><span class="card-icon blue">◎</span><div><small data-i18n="overview.coreApi">Core API</small><strong id="coreApiValue">—</strong><p data-i18n="overview.coreApiDescription">Stabilní aplikační kontrakt</p></div></article>
92 <article class="card"><span class="card-icon green">#</span><div><small data-i18n="overview.dataSchema">Data schema</small><strong id="dataSchemaValue">—</strong><p data-i18n="overview.dataSchemaDescription">Verzované uživatelské úložiště</p></div></article>
93 <article class="card"><span class="card-icon violet">◇</span><div><small data-i18n="overview.installedPlugins">Nainstalované pluginy</small><strong id="pluginCountValue">0</strong><p data-i18n="overview.noToolsNeeded">Core funguje i bez Tools</p></div></article>
94 </div>
95 <article class="panel roadmap-panel">
96 <div><span class="eyebrow" data-i18n="overview.currentSlice">AKTUÁLNÍ ŘEZ</span><h3 data-i18n="overview.sliceTitle">Vault + profily + SSH terminál</h3><p data-i18n="overview.sliceDescription">Funkční připojení s povinnou kontrolou host klíče a odděleným SessionManagerem.</p></div>
97 <div class="progress"><span></span></div>
98 </article>
99 </section>
101 <section class="view" data-view-panel="terminal">
102 <div id="terminalPanes" class="terminal-panes">
103 <article id="terminalPane" class="terminal-panel" data-kind="disconnected">
104 <div class="terminal-pane-heading">
105 <strong>T1</strong>
106 <div class="terminal-toolbar">
107 <label><span class="sr-only" data-i18n="terminal.server">Server</span><select id="terminalProfileSelect"><option value="" data-i18n="terminal.selectServer">Vyberte server…</option></select></label>
108 <label id="credentialLabel"><span id="credentialLabelText" class="sr-only" data-i18n="terminal.password">Heslo</span><input id="terminalCredential" type="password" autocomplete="off" placeholder="SSH heslo" data-i18n-placeholder="terminal.sshPassword"></label>
109 <button id="jumpToggle" class="button jump-toggle" type="button" aria-expanded="false"><span aria-hidden="true">⇢</span><span id="jumpToggleText" class="jump-toggle-text"></span></button>
110 <button id="connectButton" class="button primary" type="button" data-i18n="terminal.connect">Připojit</button>
111 </div>
112 <div class="terminal-session">
113 <span id="terminalState" class="connection-badge disconnected" data-i18n="terminal.disconnected">Odpojeno</span>
114 <span id="terminalHost" class="terminal-host" data-i18n="terminal.noProfile">Nejprve vytvořte profil serveru.</span>
115 <span id="terminalLatency" class="terminal-latency" hidden></span>
116 <button id="disconnectButton" class="button" type="button" disabled data-i18n="terminal.disconnect">Odpojit</button>
117 </div>
118 </div>
119 <div id="terminal" class="terminal-screen" aria-label="SSH terminál" data-i18n-aria-label="terminal.aria"></div>
120 </article>
121 <div id="terminalDivider" class="terminal-divider" role="separator" tabindex="0" aria-orientation="vertical" aria-valuemin="20" aria-valuemax="80" aria-label="Resize" data-i18n-aria-label="terminal.resize" hidden></div>
122 </div>
123 </section>
125 <section class="view" data-view-panel="profiles">
126 <div class="section-heading"><div><span class="eyebrow" data-i18n="profiles.eyebrow">ŠIFROVANÉ PROFILY</span><h2 data-i18n="profiles.title">Správa serverů</h2></div><button id="newProfileButton" class="button" data-i18n="profiles.new">Nový server</button></div>
127 <article class="panel profile-transfer-panel">
128 <div class="button-row"><button id="importProfilesButton" class="button" type="button" data-i18n="transfer.import">Importovat</button><select id="profileExportFormat" aria-label="Formát exportu" data-i18n-aria-label="transfer.format"><option value="json">JSON</option><option value="csv">CSV</option></select><button id="exportProfilesButton" class="button" type="button" data-i18n="transfer.export">Exportovat</button><label class="checkbox-label"><input id="exportSelectedProfiles" type="checkbox"><span data-i18n="transfer.selectedOnly">Pouze označené servery</span></label></div>
129 <p data-i18n="transfer.secrets">Přenáší se pouze název, původní adresa, uživatel a port. Bez hesel, klíčů, tokenů a jejich cest.</p>
130 <p id="profileTransferMessage" class="form-message" aria-live="polite"></p>
131 </article>
132 <dialog id="profileImportDialog" class="profile-import-dialog" aria-labelledby="profileImportTitle">
133 <h2 id="profileImportTitle" data-i18n="transfer.preview">Náhled importu</h2><p data-i18n="transfer.authRequired">Importované a aktualizované profily vyžadují nové přiřazení autentizace. Aktualizace odstraní dříve uložené heslo i cestu ke klíči.</p>
134 <p id="profileImportSummary"></p><div class="profile-preview-scroll"><table><thead><tr><th data-i18n="profiles.name">Název</th><th data-i18n="profiles.host">Host / IP</th><th data-i18n="profiles.user">Uživatel</th><th data-i18n="profiles.port">Port</th><th data-i18n="transfer.duplicate">Duplicita</th></tr></thead><tbody id="profileImportRows"></tbody></table></div>
135 <label><span data-i18n="transfer.duplicates">Při shodě adresy, portu a uživatele</span><select id="profileDuplicatePolicy"><option value="skip" data-i18n="transfer.skip">Přeskočit</option><option value="update" data-i18n="transfer.update">Aktualizovat</option><option value="create" data-i18n="transfer.create">Vytvořit nový profil</option></select></label>
136 <p id="profileImportMessage" class="form-message" aria-live="polite"></p><div class="button-row"><button id="confirmProfileImport" type="button" class="button primary" data-i18n="transfer.confirm">Potvrdit import</button><button id="cancelProfileImport" type="button" class="button" data-i18n="vault.cancel">Zrušit</button></div>
137 </dialog>
138 <div class="profiles-layout">
139 <article class="panel profile-list-panel">
140 <div id="profileRows" class="profile-rows"></div>
141 </article>
142 <form id="profileForm" class="panel profile-form">
143 <input id="profileId" type="hidden">
144 <label><span data-i18n="profiles.name">Název</span><input id="profileLabel" maxlength="100" placeholder="Produkční server" data-i18n-placeholder="profiles.namePlaceholder" required></label>
145 <div class="form-columns"><label><span data-i18n="profiles.host">Host / IP</span><input id="profileHost" placeholder="192.168.1.20" required></label><label><span data-i18n="profiles.port">Port</span><input id="profilePort" type="number" min="1" max="65535" value="22" required></label></div>
146 <label><span data-i18n="profiles.user">Uživatel</span><input id="profileUsername" maxlength="128" placeholder="root" required></label>
147 <label><span data-i18n="profiles.auth">Ověření</span><select id="profileAuthMethod"><option value="password" data-i18n="profiles.authPassword">Heslo při připojení</option><option value="privateKey" data-i18n="profiles.authKey">Soukromý klíč</option></select></label>
148 <label><span data-i18n="terminal.jumpHost">Jump host</span><select id="profileJumpProfileId"></select></label>
149 <div id="passwordStorageField" class="password-storage-field">
150 <label class="check-label"><input id="profileStorePassword" type="checkbox"><span data-i18n="profiles.storePassword">Uložit heslo do šifrovaného vaultu</span></label>
151 <label><span data-i18n="profiles.storedPassword">SSH heslo</span><input id="profileStoredPassword" type="password" maxlength="1024" autocomplete="new-password" placeholder="Zadejte heslo k uložení" data-i18n-placeholder="profiles.storePasswordPlaceholder" disabled></label>
152 <small data-i18n="profiles.passwordSecurity">Heslo se ukládá pouze uvnitř šifrovaného vaultu.</small>
153 </div>
154 <div id="privateKeyField" class="key-field" hidden><label><span data-i18n="profiles.privateKey">Soukromý klíč</span><input id="profilePrivateKeyPath" readonly placeholder="Vyberte soubor…" data-i18n-placeholder="profiles.selectFile"></label><button id="selectPrivateKeyButton" class="button" type="button" data-i18n="profiles.select">Vybrat</button></div>
155 <p id="profileMessage" class="form-message" aria-live="polite"></p>
156 <div class="button-row"><button class="button primary" type="submit" data-i18n="profiles.save">Uložit profil</button><button id="deleteProfileButton" class="button danger" type="button" hidden data-i18n="profiles.delete">Smazat</button></div>
157 </form>
158 </div>
159 </section>
161 <section class="view" data-view-panel="updates">
162 <div class="section-heading"><div><span class="eyebrow" data-i18n="updates.eyebrow">HASH URL PROVIDER</span><h2 data-i18n="updates.title">Aktualizace Core</h2></div><div class="catalog-controls"><label><span data-i18n="updates.channelFilter">Kanál</span><select id="updateViewChannelSelect"><option value="alpha">Alpha</option><option value="beta">Beta</option><option value="stable">Stable</option><option value="all" data-i18n="channels.all">Vše</option></select></label><span class="alpha-badge">LAN</span></div></div>
163 <article class="panel update-panel">
164 <div class="update-version"><small data-i18n="updates.installed">Nainstalovaná verze</small><strong id="currentVersion">—</strong><span id="updateChannel">kanál alpha</span></div>
165 <div class="update-copy"><h3 id="updateHeadline" data-i18n="updates.ready">Připraveno ke kontrole</h3><p id="updateMessage" data-i18n="updates.integrityIntro">Core ověří platformu, architekturu, velikost a SHA-512.</p><code id="updateHash" hidden></code></div>
166 <div class="button-row">
167 <button id="checkUpdateButton" class="button primary" data-i18n="updates.check">Zkontrolovat</button>
168 <button id="downloadUpdateButton" class="button" disabled data-i18n="updates.download">Stáhnout a ověřit</button>
169 <button id="installUpdateButton" class="button primary" hidden data-i18n="updates.install">Spustit instalátor</button>
170 <button id="revealUpdateButton" class="button ghost" hidden data-i18n="updates.reveal">Zobrazit soubor</button>
171 </div>
172 </article>
173 <article class="panel release-catalog-panel">
174 <div class="release-catalog-header"><div><span class="eyebrow" data-i18n="updates.catalogEyebrow">KATALOG VYDÁNÍ</span><h3 data-i18n="updates.catalogTitle">Dostupná vydání</h3></div><span id="updateReleaseCount">0</span></div>
175 <div id="updateReleaseRows" class="update-release-rows"><div class="update-release-empty" data-i18n="updates.catalogBeforeCheck">Po kontrole se zde zobrazí všechna kompatibilní vydání.</div></div>
176 </article>
177 <div class="notice"><strong data-i18n="updates.alphaSecurity">Alfa bezpečnostní režim</strong><p data-i18n="updates.alphaDescription">SHA-512 kontroluje integritu stažení. Instalace se nespouští automaticky a zdroj je omezený na povolenou HTTPS doménu.</p></div>
178 </section>
180 <section class="view" data-view-panel="plugins">
181 <div class="section-heading"><div><span class="eyebrow" data-i18n="plugins.eyebrow">NÁSTROJE APLIKACE</span><h2 data-i18n="plugins.title">Správa pluginů</h2></div></div>
182 <p class="plugins-description" data-i18n="plugins.description">Zvolte, které nástroje chcete používat a mít po ruce v levém menu.</p>
183 <article class="panel table-panel">
184 <div class="table-header installed-plugin-row"><span data-i18n="plugins.plugin">Plugin</span><span data-i18n="plugins.version">Verze</span><span data-i18n="plugins.show">Zobrazit</span><span data-i18n="plugins.inMenu">V menu</span><span></span></div>
185 <div id="pluginRows" class="plugin-rows"></div>
186 </article>
187 <details class="plugin-catalog-disclosure">
188 <summary data-i18n="plugins.more">Další pluginy a aktualizace</summary>
189 <div class="plugin-catalog-toolbar"><div class="catalog-controls"><label><span data-i18n="plugins.channelFilter">Kanál katalogu</span><select id="pluginViewChannelSelect"><option value="alpha">Alpha</option><option value="beta">Beta</option><option value="stable">Stable</option><option value="all" data-i18n="channels.all">Vše</option></select></label><button id="checkPluginCatalogButton" class="button" data-i18n="plugins.checkCatalog">Načíst webový katalog</button></div><span id="pluginCatalogSource"></span></div>
190 <article class="panel table-panel">
191 <div class="table-header plugin-table-row"><span data-i18n="plugins.plugin">Plugin</span><span data-i18n="plugins.version">Verze</span><span data-i18n="plugins.permissions">Oprávnění</span><span></span></div>
192 <div id="pluginCatalogRows" class="plugin-rows"><div class="plugin-catalog-empty" data-i18n="plugins.catalogBeforeCheck">Nejprve načtěte katalog z povoleného update serveru.</div></div>
193 </article>
194 </details>
195 </section>
197 <section class="view" data-view-panel="diagnostics" id="diagnosticsView"></section>
199 <section class="view" data-view-panel="settings">
200 <div class="section-heading"><div><span class="eyebrow" data-i18n="settings.eyebrow">LOKÁLNÍ KONFIGURACE</span><h2 data-i18n="settings.title">Nastavení Core</h2></div></div>
201 <form id="settingsForm" class="panel settings-panel">
202 <label><span data-i18n="settings.language">Jazyk</span><select id="languageSelect"></select></label>
203 <label><span data-i18n="settings.updateChannel">Kanál aktualizací</span><select id="channelSelect"><option value="alpha">Alpha</option><option value="beta">Beta</option><option value="stable">Stable</option><option value="all" data-i18n="channels.all">Vše</option></select></label>
204 <label><span data-i18n="settings.pluginChannel">Kanál pluginů</span><select id="pluginChannelSelect"><option value="alpha">Alpha</option><option value="beta">Beta</option><option value="stable">Stable</option><option value="all" data-i18n="channels.all">Vše</option></select></label>
205 <label class="check-label"><input id="autoCheckInput" type="checkbox"><span data-i18n="settings.autoCheck">Automaticky kontrolovat při startu</span></label>
206 <fieldset class="availability-settings">
207 <legend data-i18n="availability.settingsTitle">Dostupnost serverů</legend>
208 <label class="check-label"><input id="monitoringEnabled" type="checkbox"><span data-i18n="availability.settingsEnabled">Automaticky kontrolovat dostupnost serverů</span></label>
209 <label><span data-i18n="availability.settingsInterval">Interval kontroly</span><select id="monitoringInterval"></select></label>
210 <div class="button-row"><button id="refreshAvailabilityButton" class="button" type="button" data-i18n="availability.refreshNow">Obnovit dostupnost</button></div>
211 <small data-i18n="availability.meaning">Offline znamená, že SSH port není dostupný z této sítě; samotný server přitom může běžet.</small>
212 </fieldset>
213 <div class="field"><span data-i18n="settings.allowedServers">Povolené update servery</span><code id="baseUrlsText"></code></div>
214 <div class="button-row"><button class="button primary" type="submit" data-i18n="settings.save">Uložit nastavení</button><span id="settingsStatus"></span></div>
215 </form>
216 <form id="securityForm" class="panel settings-panel security-panel">
217 <h3 data-i18n="security.title">Zabezpečení</h3>
218 <p id="biometricStatus" aria-live="polite"></p>
219 <p id="biometricProtection"></p>
220 <div class="button-row">
221 <button id="enableBiometricsButton" class="button" type="button" data-i18n="security.enable">Zapnout biometrické odemykání</button>
222 <button id="disableBiometricsButton" class="button" type="button" data-i18n="security.remove">Vypnout a odstranit registraci</button>
223 <button id="testBiometricsButton" class="button" type="button" data-i18n="security.test">Otestovat systémové ověření</button>
224 </div>
225 <label class="check-label"><input id="autoLockEnabled" type="checkbox"><span data-i18n="security.autoLock">Automaticky zamknout při nečinnosti</span></label>
226 <label><span data-i18n="security.timeout">Doba nečinnosti</span><select id="autoLockMinutes"><option value="0" data-i18n="security.never">Nikdy</option><option value="1">1 min</option><option value="5">5 min</option><option value="10">10 min</option><option value="15">15 min</option><option value="30">30 min</option><option value="60">60 min</option></select></label>
227 <label class="check-label"><input id="lockOnBlur" type="checkbox"><span data-i18n="security.blur">Zamknout při ztrátě zaměření aplikace</span></label>
228 <label class="check-label"><input id="requireSystemAuthentication" type="checkbox"><span data-i18n="security.sensitive">Vyžadovat systémové ověření citlivých operací</span></label>
229 <p data-i18n="security.scope">Ověření chrání odstranění profilu, instalaci/odstranění pluginu, spuštění instalátoru a reset odemčeného Vaultu. Příkazy vzdáleného terminálu tímto ověřením chráněny nejsou.</p>
230 <p data-i18n="security.lockEffect">Zamknutí ukončí aktivní SSH relace, zavře pluginy a zastaví diagnostiku.</p>
231 <label><span data-i18n="security.confirmPassword">Hlavní heslo pro změnu pravidel zamykání</span><input id="securityMasterPassword" type="password" autocomplete="current-password" required></label>
232 <div class="button-row"><button class="button primary" type="submit" data-i18n="settings.save">Uložit nastavení</button><span id="securityMessage" aria-live="polite"></span></div>
233 </form>
234 <article class="panel legal-panel">
235 <div><span class="eyebrow" data-i18n="legal.eyebrow">PRÁVNÍ INFORMACE</span><h3 data-i18n="legal.title">Licence a dokumentace</h3><p data-i18n="legal.description">CH-J Server Manager je poskytován pod CH-J Proprietary Software License 1.14. Licence komponent třetích stran zůstávají zachované.</p><small>Copyright © 2026 Josef Chudy · CH-J Proprietary Software License 1.14</small></div>
236 <div class="button-row legal-actions">
237 <button class="button" type="button" data-legal-document="application" data-i18n="legal.application">Licence aplikace</button>
238 <button class="button" type="button" data-legal-document="notice" data-i18n="legal.notice">Autorské oznámení</button>
239 <button class="button" type="button" data-legal-document="thirdParty" data-i18n="legal.thirdParty">Licence třetích stran</button>
240 <button class="button" type="button" data-legal-document="thirdPartyBundle" data-i18n="legal.thirdPartyBundle">Kompletní licenční balík</button>
241 <button class="button" type="button" data-legal-document="documentation" data-i18n="legal.documentation">Dokumentace</button>
242 <button class="button" type="button" data-legal-document="safetyCzech" data-i18n="legal.safetyCzech">Bezpečnost a zálohování (CS)</button>
243 <button class="button" type="button" data-legal-document="safetyEnglish" data-i18n="legal.safetyEnglish">Bezpečnost a zálohování (EN)</button>
244 <button class="button" type="button" data-legal-document="safetyGerman" data-i18n="legal.safetyGerman">Bezpečnost a zálohování (DE)</button>
245 </div>
246 </article>
247 </section>
248 </main>
249 </div>
250 <aside id="pluginTaskbar" class="plugin-taskbar" hidden aria-label="Minimalizované pluginy" data-i18n-aria-label="plugins.minimized">
251 <span class="plugin-taskbar-title" data-i18n="plugins.minimized">Minimalizované pluginy</span>
252 <div id="pluginTaskbarItems" class="plugin-taskbar-items"></div>
253 </aside>
254 <script src="vendor/xterm/xterm.js"></script>
255 <script src="vendor/xterm/addon-fit.js"></script>
256 <script src="vendor/lucide/icons.js"></script>
257 <script src="navIcons.js"></script>
258 <script src="i18n.js"></script>
259 <script src="diagnosticsI18n.js"></script>
260 <script src="diagnostics.js"></script>
261 <script src="app.js"></script>
262</body>
263</html>
SHA-25628b7a2a120af62bb6d253b0a1360110196c9b2d9df1189b11abef9f4a97e3499

CH-J Proprietary Software License 1.14 · Die Quellen werden unter der CH-J Proprietary Software License 1.14 bereitgestellt. Ihre Verfügbarkeit ändert die Lizenzbedingungen nicht und gewährt keine zusätzlichen Rechte.

SHA-256 des Archivs77380d4805485ffa4027fbe7858b5836f197a4aa9d52358a43e2d12d018744df
Dateien