Published source
Download source ZIP
CH-J Server Manager
Browse directories and files for a specific application release.
CH-J / Server Manager
377 files
core-20261019T111616Z-160a00bfcddc
Added: · Built:
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
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; connect-src 'none'; img-src 'self' data:; object-src 'none'; base-uri 'none'; form-action 'none'">7
<title>System Monitor</title>8
<link rel="stylesheet" href="styles.css">9
</head>10
<body>11
<header>12
<div><span class="eyebrow">CH-J PLUGIN</span><h1>System Monitor</h1><p id="pluginVersion">Plugin se načítá…</p></div>13
<button id="closeButton" class="button ghost" type="button">Zavřít</button>14
</header>15
<main>16
<section class="toolbar">17
<label>Aktivní SSH relace<select id="sessionSelect"><option value="">Žádná připojená relace</option></select></label>18
<button id="refreshSessionsButton" class="button" type="button">Obnovit relace</button>19
<button id="refreshMetricsButton" class="button primary" type="button" disabled>Načíst metriky</button>20
<label class="auto"><input id="autoRefresh" type="checkbox" checked> automaticky každých 5 s</label>21
</section>22
<p id="status" class="status">Vyberte připojený server.</p>23
<section class="identity panel">24
<div><small>Server</small><strong id="hostname">—</strong></div>25
<div><small>Systém</small><strong id="platform">—</strong></div>26
<div><small id="kernelLabel">Kernel</small><strong id="kernel">—</strong></div>27
<div><small>Uptime</small><strong id="uptime">—</strong></div>28
</section>29
<section class="metrics">30
<article class="panel metric"><span>Využití CPU</span><strong id="cpu">—</strong><div class="bar"><i id="cpuBar"></i></div><small id="cpuDetail">—</small></article>31
<article class="panel metric"><span id="loadLabel">Zatížení 1 min</span><strong id="load">—</strong><small id="loadDetail">load average</small></article>32
<article class="panel metric"><span>Paměť</span><strong id="memory">—</strong><div class="bar"><i id="memoryBar"></i></div><small id="memoryDetail">—</small></article>33
<article class="panel metric"><span id="swapLabel">Swap</span><strong id="swap">—</strong><div class="bar"><i id="swapBar"></i></div><small id="swapDetail">—</small></article>34
<article class="panel metric"><span id="diskLabel">Disk /</span><strong id="disk">—</strong><div class="bar"><i id="diskBar"></i></div><small id="diskDetail">—</small></article>35
</section>36
<section class="details">37
<article class="panel detail cpu-detail">38
<div class="section-heading"><div><small>PROCESOR</small><h2>CPU a jádra</h2></div><span id="cpuArchitecture" class="badge">—</span></div>39
<strong id="cpuModel" class="model">—</strong>40
<dl class="facts">41
<div><dt>Topologie</dt><dd id="cpuTopology">—</dd></div>42
<div><dt>Typy jader</dt><dd id="cpuTypes">—</dd></div>43
</dl>44
</article>45
<article class="panel detail network-detail">46
<div class="section-heading"><div><small>SÍŤ</small><h2>Síťová rozhraní</h2></div><span id="networkSummary" class="badge">—</span></div>47
<div id="networkInterfaces" class="network-list"><p class="empty">Metriky zatím nebyly načteny.</p></div>48
</article>49
</section>50
<details id="memorySection" class="panel memory-section">51
<summary><div><small>PAMĚŤ</small><h2>Paměť a virtuální paměť</h2></div><span id="memorySummary" class="badge">—</span></summary>52
<div class="memory-grid">53
<article class="memory-block">54
<h3>Fyzická RAM</h3>55
<canvas id="ramChart" width="560" height="120" aria-label="Historie využití RAM"></canvas>56
<div id="ramStack" class="stack" aria-hidden="true"></div>57
<ul id="ramLegend" class="legend"></ul>58
<dl id="ramFacts" class="facts compact"></dl>59
<p id="ramExplain" class="hint"></p>60
</article>61
<article class="memory-block">62
<h3 id="virtualTitle">Swap</h3>63
<canvas id="swapChart" width="560" height="120" aria-label="Historie využití swapu"></canvas>64
<dl id="swapFacts" class="facts compact"></dl>65
<div class="table-wrap"><table><thead id="swapHead"></thead><tbody id="swapRows"><tr><td class="empty">Metriky zatím nebyly načteny.</td></tr></tbody></table></div>66
<p id="swapNote" class="hint"></p>67
<div class="inline-actions"><button id="manageVmButton" class="button" type="button" disabled>Spravovat virtuální paměť</button><span id="vmPrivilege" class="hint"></span></div>68
</article>69
</div>70
</details>71
<section class="security panel"><strong>Omezené capability</strong><p>Plugin nemá přístup k Node.js, filesystemu ani síti. Metriky získává pouze přes <code>session.read</code> a <code>system.metrics.read</code>; změny swapu/pagefile jen přes kontrolované operace <code>system.memory.manage</code> poskytované Core (bez obecného shellu).</p></section>72
</main>73
<dialog id="vmDialog" aria-labelledby="vmTitle">74
<div class="dialog-body">75
<div class="dialog-head"><h3 id="vmTitle">Správa virtuální paměti</h3><button type="button" class="button ghost" data-close>Zavřít</button></div>76
<p id="vmStatus" class="hint" role="status" aria-live="polite"></p>77
<div id="vmContent"></div>78
</div>79
</dialog>81
<dialog id="sudoDialog" aria-labelledby="sudoTitle">82
<form id="sudoForm" method="dialog">83
<h3 id="sudoTitle">Vyžadováno sudo</h3>84
<p id="sudoMessage"></p>85
<label>Heslo pro sudo<input id="sudoPassword" type="password" maxlength="1024" autocomplete="off" required></label>86
<p id="sudoError" class="error" hidden></p>87
<p class="hint">Heslo se použije jen pro tuto operaci, předá se serveru přes stdin SSH kanálu a nikam se neukládá.</p>88
<div class="actions"><button type="button" class="button ghost" data-close>Zrušit</button><button type="submit" class="button primary">Pokračovat</button></div>89
</form>90
</dialog>92
<dialog id="priorityDialog" aria-labelledby="priorityTitle">93
<form id="priorityForm" method="dialog" novalidate>94
<h3 id="priorityTitle">Nastavení priority SWAP</h3>95
<ul id="priorityFacts" class="details-list"></ul>96
<fieldset class="choice"><legend>Režim priority</legend>97
<label class="check"><input type="radio" name="priorityMode" id="priorityAuto" value="auto"> Automatická (Linux přidělí sám, obvykle záporné číslo)</label>98
<label class="check"><input type="radio" name="priorityMode" id="priorityCustom" value="custom"> Vlastní</label>99
</fieldset>100
<label>Vlastní priorita (0–32767)<input id="priorityValue" type="number" min="0" max="32767" step="1" inputmode="numeric"></label>101
<fieldset class="choice" id="priorityApplyBox"><legend>Kdy uplatnit</legend>102
<label class="check"><input type="radio" name="priorityApply" id="priorityNow" value="now"> Hned – swap se krátce deaktivuje a znovu aktivuje (s kontrolou paměti)</label>103
<label class="check"><input type="radio" name="priorityApply" id="priorityLater" value="later"> Jen uložit – projeví se při příští aktivaci nebo restartu</label>104
</fieldset>105
<label id="priorityPersistLabel" class="check"><input id="priorityPersist" type="checkbox"> Uložit i pro restart (přidat do /etc/fstab se zálohou)</label>106
<p id="priorityError" class="error" role="alert" hidden></p>107
<p class="hint">Vyšší číslo znamená vyšší prioritu. Swap s nižší prioritou se běžně začne používat až po vyčerpání swapu s vyšší prioritou; při stejné prioritě se střídají. Priorita neurčuje rychlost zařízení.</p>108
<div class="actions"><button type="button" class="button ghost" data-close>Zrušit</button><button type="submit" class="button primary">Uložit</button></div>109
</form>110
</dialog>112
<dialog id="confirmDialog" aria-labelledby="confirmTitle">113
<form id="confirmForm" method="dialog">114
<h3 id="confirmTitle"></h3>115
<ul id="confirmDetails" class="details-list"></ul>116
<label id="confirmOptionLabel" class="check" hidden><input id="confirmOption" type="checkbox"> <span id="confirmOptionText"></span></label>117
<div class="actions"><button type="button" class="button ghost" data-close>Zrušit</button><button id="confirmSubmit" type="submit" class="button primary">Potvrdit</button></div>118
</form>119
</dialog>121
<script src="index.js"></script>122
</body>123
</html>SHA-256
35b6f18039d0f00fd11ef9ba58b8b67e3405427268f2d8bb25603666d3c42e92CH-J Proprietary Software License 1.14 · Source is provided under the CH-J Proprietary Software License 1.14. Its availability does not change the license terms or grant additional rights.
Archive SHA-256
a9605c0870a223b6a8542bb0705edd51d8b04f3069582653417a8397fabcc09a