প্রকাশিত সোর্স
সোর্স ZIP ডাউনলোড করুন
CH-J Tools
নির্দিষ্ট একটি অ্যাপ্লিকেশন রিলিজের ডিরেক্টরি ও ফাইল ব্রাউজ করুন।
CH-J / Server Manager
1704 টি ফাইল
0.1.2-beta
যোগ করা হয়েছে: · বিল্ড হয়েছে:
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>NGINX Manager</title>8
<link rel="stylesheet" href="styles.css">9
</head>10
<body>11
<header>12
<div class="brand"><svg class="brand-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><path d="M9 16V8l6 8V8"/></svg><div><span class="eyebrow">CH-J PLUGIN</span><h1>NGINX Manager</h1><p id="pluginVersion" data-i18n="Modul se načítá…">Modul se načítá…</p></div></div>13
<button id="closeButton" class="button ghost" type="button" data-i18n="Zavřít">Zavřít</button>14
</header>15
<main>16
<section class="toolbar panel">17
<label><span data-i18n="Aktivní SSH relace">Aktivní SSH relace</span><select id="sessionSelect"><option value="" data-i18n="Žádná připojená relace">Žádná připojená relace</option></select></label>18
<button id="refreshButton" class="button" type="button" data-i18n="Obnovit">Obnovit</button>19
<label><span data-i18n="Heslo pro sudo">Heslo pro sudo</span><input id="sudoPassword" type="password" maxlength="1024" autocomplete="current-password" placeholder="prázdné pro NOPASSWD" data-i18n-placeholder="prázdné pro NOPASSWD"></label>20
<label class="check"><input id="rememberSudo" type="checkbox"><span data-i18n="Pamatovat heslo pro tuto relaci (10 min)">Pamatovat heslo pro tuto relaci (10 min)</span></label>21
<button id="testButton" class="button" type="button" disabled data-i18n="Otestovat nginx -t">Otestovat nginx -t</button>22
<button id="reloadButton" class="button warning" type="button" disabled data-i18n="Plynulé načtení konfigurace">Plynulé načtení konfigurace</button>23
</section>25
<p id="status" class="status" data-i18n="Vyberte připojený server.">Vyberte připojený server.</p>27
<section class="identity panel">28
<div><small>NGINX</small><strong id="nginxVersion">—</strong></div>29
<div><small data-i18n="SLUŽBA">SLUŽBA</small><strong id="serviceState">—</strong></div>30
<div><small data-i18n="HLAVNÍ KONFIGURACE">HLAVNÍ KONFIGURACE</small><strong id="mainConfig">—</strong></div>31
<div><small data-i18n="NALEZENÉ SOUBORY">NALEZENÉ SOUBORY</small><strong id="configCount">0</strong></div>32
</section>34
<nav class="tabs" role="tablist" aria-label="Části NGINX Manageru" data-i18n-aria-label="Části NGINX Manageru">35
<button class="tab active" type="button" role="tab" data-tab="sites" data-i18n="Weby">Weby</button>36
<button class="tab" type="button" role="tab" data-tab="proxy" data-i18n="Reverse Proxy">Reverse Proxy</button>37
<button class="tab" type="button" role="tab" data-tab="tls" data-i18n="SSL / TLS">SSL / TLS</button>38
<button class="tab" type="button" role="tab" data-tab="config" data-i18n="Konfigurace">Konfigurace</button>39
<button class="tab" type="button" role="tab" data-tab="logs" data-i18n="Logy">Logy</button>40
<button class="tab" type="button" role="tab" data-tab="diag" data-i18n="Diagnostika">Diagnostika</button>41
</nav>43
<section class="tab-panel" data-panel="sites">44
<div class="stats panel">45
<div><small data-i18n="Weby">Weby</small><strong id="statSites">—</strong></div>46
<div><small>HTTPS</small><strong id="statHttps">—</strong></div>47
<div><small data-i18n="Reverse proxy">Reverse proxy</small><strong id="statProxy">—</strong></div>48
<div><small data-i18n="Upozornění">Upozornění</small><strong id="statWarnings">—</strong></div>49
</div>50
<p id="sitesNotice" class="notice" hidden></p>51
<section id="proposalsBlock" class="panel block proposals" hidden>52
<div class="section-heading"><div><span class="eyebrow" data-i18n="DOPORUČENÍ">DOPORUČENÍ</span><h2 data-i18n="Možná sjednocení konfigurace">Možná sjednocení konfigurace</h2><small class="muted" data-i18n="Aplikace pracuje i s vaším současným uspořádáním. Tyto změny jsou volitelné a nic se neprovede bez vašeho potvrzení.">Aplikace pracuje i s vaším současným uspořádáním. Tyto změny jsou volitelné a nic se neprovede bez vašeho potvrzení.</small></div><button id="proposalsFixAll" class="mini" type="button" hidden data-i18n="Provést všechny bez rozdílů">Provést všechny bez rozdílů</button></div>53
<div id="proposalsList" class="site-list"></div>54
<pre id="proposalDiff" class="code diff" hidden></pre>55
</section>56
<section class="panel block">57
<div class="section-heading"><div><span class="eyebrow" data-i18n="SPRAVOVANÉ WEBY">SPRAVOVANÉ WEBY</span><h2 data-i18n="Weby a virtuální servery">Weby a virtuální servery</h2></div><div class="actions"><button id="loadSitesButton" class="mini" type="button" data-i18n="Načíst weby">Načíst weby</button><button id="newSiteButton" class="button primary" type="button" data-i18n="Nový web">Nový web</button></div></div>58
<div id="siteList" class="site-list"><p class="empty" data-i18n="Weby zatím nejsou načtené.">Weby zatím nejsou načtené.</p></div>59
<div id="catchAllBlock" class="sub-block" hidden><h3 data-i18n="Výchozí servery (bez domény)">Výchozí servery (bez domény)</h3><div id="catchAllList" class="site-list"></div></div>60
</section>62
<section id="wizard" class="panel block" hidden>63
<div class="section-heading"><div><span class="eyebrow" data-i18n="PRŮVODCE">PRŮVODCE</span><h2 data-i18n="Nový web">Nový web</h2></div><button id="wizardClose" class="mini" type="button" data-i18n="Zavřít">Zavřít</button></div>64
<div class="form-grid">65
<label class="field wide"><span data-i18n="Typ webu">Typ webu</span><select id="wizardType"><option value="static" data-i18n="Statický web (HTML / CSS / JS)">Statický web (HTML / CSS / JS)</option><option value="spa" data-i18n="SPA (React, Vue…)">SPA (React, Vue…)</option><option value="php" data-i18n="PHP / PHP-FPM">PHP / PHP-FPM</option><option value="proxy" data-i18n="Reverse proxy (Node.js, Docker, API…)">Reverse proxy (Node.js, Docker, API…)</option><option value="websocket" data-i18n="Reverse proxy s WebSocketem">Reverse proxy s WebSocketem</option><option value="loadbalance" data-i18n="Load balancing (více backendů)">Load balancing (více backendů)</option><option value="redirect" data-i18n="Přesměrování domény">Přesměrování domény</option><option value="custom" data-i18n="Vlastní předloha">Vlastní předloha</option></select></label>66
<label class="field" id="wizardDomainField"><span data-i18n="Doména">Doména</span><input id="wizardDomain" type="text" placeholder="example.com" spellcheck="false"></label>67
<label class="field" id="wizardAliasesField"><span data-i18n="Další domény (nepovinné)">Další domény (nepovinné)</span><input id="wizardAliases" type="text" placeholder="www.example.com" spellcheck="false"></label>68
<label class="field" id="wizardPortField"><span data-i18n="Port HTTP">Port HTTP</span><input id="wizardPort" type="number" min="1" max="65535" value="80"></label>69
<label class="field" id="wizardRootField"><span data-i18n="Kořenový adresář">Kořenový adresář</span><input id="wizardRoot" type="text" spellcheck="false"></label>70
<label class="field" id="wizardIndexField"><span data-i18n="Výchozí soubory (index)">Výchozí soubory (index)</span><input id="wizardIndex" type="text" spellcheck="false"></label>71
<label class="check" id="wizardCreateRootField"><input id="wizardCreateRoot" type="checkbox" checked><span data-i18n="Vytvořit kořenový adresář, pokud neexistuje">Vytvořit kořenový adresář, pokud neexistuje</span></label>72
<label class="field" id="wizardPhpField"><span data-i18n="PHP-FPM socket nebo adresa">PHP-FPM socket nebo adresa</span><input id="wizardPhp" type="text" list="wizardPhpList" spellcheck="false" placeholder="unix:/run/php/php-fpm.sock"><datalist id="wizardPhpList"></datalist></label>73
<label class="field" id="wizardBackendField"><span data-i18n="Backend">Backend</span><input id="wizardBackend" type="text" spellcheck="false" placeholder="http://127.0.0.1:3000"></label>74
<label class="field wide" id="wizardBackendsField"><span data-i18n="Backendy (každý na řádek)">Backendy (každý na řádek)</span><textarea id="wizardBackends" rows="3" spellcheck="false" placeholder="10.0.0.1:3000 10.0.0.2:3000"></textarea></label>75
<label class="field" id="wizardMethodField"><span data-i18n="Metoda rozdělování">Metoda rozdělování</span><select id="wizardMethod"><option value="round_robin">round robin</option><option value="least_conn">least_conn</option><option value="ip_hash">ip_hash</option></select></label>76
<label class="field" id="wizardConnectTimeoutField"><span data-i18n="Timeout připojení">Timeout připojení</span><input id="wizardConnectTimeout" type="text" placeholder="10s" spellcheck="false"></label>77
<label class="field" id="wizardReadTimeoutField"><span data-i18n="Timeout odpovědi">Timeout odpovědi</span><input id="wizardReadTimeout" type="text" placeholder="60s" spellcheck="false"></label>78
<label class="field" id="wizardRedirectTargetField"><span data-i18n="Cílová adresa">Cílová adresa</span><input id="wizardRedirectTarget" type="text" spellcheck="false" placeholder="https://example.org"></label>79
<label class="field" id="wizardRedirectCodeField"><span data-i18n="Typ přesměrování">Typ přesměrování</span><select id="wizardRedirectCode"><option value="301" data-i18n="301 – trvalé">301 – trvalé</option><option value="302" data-i18n="302 – dočasné">302 – dočasné</option></select></label>80
<div class="wide template-box" id="wizardTemplateField">81
<div class="form-grid compact">82
<label class="field"><span data-i18n="Uložené předlohy">Uložené předlohy</span><select id="wizardTemplateSelect"></select></label>83
<label class="field"><span data-i18n="Název předlohy">Název předlohy</span><input id="wizardTemplateName" type="text"></label>84
</div>85
<label class="field"><span data-i18n="Text předlohy">Text předlohy</span><textarea id="wizardTemplateText" rows="10" spellcheck="false" placeholder="server { listen {{port}}; server_name {{names}}; root {{root}}; }"></textarea></label>86
<small class="muted" data-i18n="Lze použít {{domain}}, {{names}}, {{port}}, {{root}}, {{backend}} a {{php}}. Předlohy zůstávají jen v tomto počítači.">Lze použít {{domain}}, {{names}}, {{port}}, {{root}}, {{backend}} a {{php}}. Předlohy zůstávají jen v tomto počítači.</small>87
<div class="actions"><button id="wizardTemplateSave" class="mini" type="button" data-i18n="Uložit předlohu">Uložit předlohu</button><button id="wizardTemplateDelete" class="mini" type="button" data-i18n="Smazat předlohu">Smazat předlohu</button></div>88
</div>89
<label class="field wide" id="wizardTlsField"><span data-i18n="Certifikát a HTTPS">Certifikát a HTTPS</span><select id="wizardTls"><option value="none" data-i18n="Bez HTTPS">Bez HTTPS</option><option value="letsencrypt" data-i18n="Let's Encrypt později (nejdřív HTTP s přípravou ověření)">Let's Encrypt později (nejdřív HTTP s přípravou ověření)</option><option value="existing" data-i18n="Vlastní certifikát na serveru">Vlastní certifikát na serveru</option></select></label>90
<label class="field" id="wizardCertificateField"><span data-i18n="Cesta k certifikátu">Cesta k certifikátu</span><input id="wizardCertificate" type="text" spellcheck="false" placeholder="/etc/ssl/example.com/fullchain.pem"></label>91
<label class="field" id="wizardKeyField"><span data-i18n="Cesta k privátnímu klíči">Cesta k privátnímu klíči</span><input id="wizardKey" type="text" spellcheck="false" placeholder="/etc/ssl/example.com/privkey.pem"></label>92
<label class="check" id="wizardRedirectHttpField"><input id="wizardRedirectHttp" type="checkbox" checked><span data-i18n="Přesměrovat HTTP → HTTPS">Přesměrovat HTTP → HTTPS</span></label>93
<label class="check" id="wizardHttp2Field"><input id="wizardHttp2" type="checkbox" checked><span data-i18n="HTTP/2">HTTP/2</span></label>94
<label class="check" id="wizardHttp3Field"><input id="wizardHttp3" type="checkbox" ><span data-i18n="HTTP/3 (QUIC)">HTTP/3 (QUIC)</span></label>95
<label class="check" id="wizardModernTlsField"><input id="wizardModernTls" type="checkbox" checked><span data-i18n="Jen TLS 1.2 a 1.3">Jen TLS 1.2 a 1.3</span></label>96
<label class="check" id="wizardIpv6Field"><input id="wizardIpv6" type="checkbox" checked><span data-i18n="Naslouchat i na IPv6">Naslouchat i na IPv6</span></label>97
<label class="check" id="wizardHeadersField"><input id="wizardHeaders" type="checkbox" ><span data-i18n="Bezpečnostní hlavičky">Bezpečnostní hlavičky</span></label>98
<label class="check" id="wizardRateLimitField"><input id="wizardRateLimit" type="checkbox" ><span data-i18n="Omezení počtu požadavků">Omezení počtu požadavků</span></label>99
</div>100
<div class="actions end"><button id="wizardToTemplate" class="mini" type="button" hidden data-i18n="Uložit tento náhled jako předlohu">Uložit tento náhled jako předlohu</button><button id="wizardPreview" class="button" type="button" data-i18n="Ukázat generovanou konfiguraci">Ukázat generovanou konfiguraci</button><button id="wizardDeploy" class="button primary" type="button" disabled data-i18n="Vytvořit vypnutý a otestovat">Vytvořit vypnutý a otestovat</button></div>101
<div id="wizardResult" hidden><p class="muted"><span data-i18n="Soubor:">Soubor:</span> <code id="wizardPath"></code></p><p id="wizardWarnings" class="notice" hidden></p><pre id="wizardText" class="code"></pre></div>102
</section>104
<section id="siteDetail" class="panel block" hidden>105
<div class="section-heading"><div><span class="eyebrow" data-i18n="WEB">WEB</span><h2 id="detailTitle">—</h2><small id="detailMeta" class="muted"></small></div><div class="actions"><button id="detailToggle" class="mini" type="button"></button><button id="detailOpenFile" class="mini" type="button" data-i18n="Otevřít konfigurační soubor">Otevřít konfigurační soubor</button><button id="detailClose" class="mini" type="button" data-i18n="Zavřít">Zavřít</button></div></div>106
<p id="detailNotice" class="notice" hidden></p>107
<div class="form-grid">108
<label class="field wide" id="detailNamesField"><span data-i18n="Domény">Domény</span><input id="detailNames" type="text" spellcheck="false"></label>109
<label class="field" id="detailRootField"><span data-i18n="Kořenový adresář">Kořenový adresář</span><input id="detailRoot" type="text" spellcheck="false"></label>110
<label class="field" id="detailIndexField"><span data-i18n="Výchozí soubory (index)">Výchozí soubory (index)</span><input id="detailIndex" type="text" spellcheck="false"></label>111
<label class="field" id="detailProxyField"><span data-i18n="Backend v location /">Backend v location /</span><input id="detailProxy" type="text" spellcheck="false"></label>112
<label class="field" id="detailRedirectField"><span data-i18n="Cílová adresa">Cílová adresa</span><input id="detailRedirect" type="text" spellcheck="false"></label>113
</div>114
<div id="detailHttps" class="sub-block" hidden>115
<h3 data-i18n="Zapnout HTTPS">Zapnout HTTPS</h3>116
<div class="form-grid">117
<label class="field" id="detailCertificateField"><span data-i18n="Cesta k certifikátu">Cesta k certifikátu</span><input id="detailCertificate" type="text" spellcheck="false"></label>118
<label class="field" id="detailKeyField"><span data-i18n="Cesta k privátnímu klíči">Cesta k privátnímu klíči</span><input id="detailKey" type="text" spellcheck="false"></label>119
<label class="check" id="detailRedirectHttpField"><input id="detailRedirectHttp" type="checkbox" checked><span data-i18n="Přesměrovat HTTP → HTTPS">Přesměrovat HTTP → HTTPS</span></label>120
<label class="check" id="detailHttp2Field"><input id="detailHttp2" type="checkbox" checked><span data-i18n="HTTP/2">HTTP/2</span></label>121
</div>122
</div>123
<div class="actions end"><button id="detailPlan" class="button" type="button" data-i18n="Zobrazit změny">Zobrazit změny</button></div>124
</section>126
<section id="diffPanel" class="panel block" hidden>127
<div class="section-heading"><div><span class="eyebrow" data-i18n="NÁHLED ZMĚN">NÁHLED ZMĚN</span><h2 id="diffTitle">—</h2><small class="muted" data-i18n="Neznámé direktivy a komentáře zůstávají beze změny.">Neznámé direktivy a komentáře zůstávají beze změny.</small></div><div class="actions"><button id="diffCancel" class="mini" type="button" data-i18n="Zrušit">Zrušit</button><button id="diffApply" class="button primary" type="button" data-i18n="Uložit, zálohovat a otestovat">Uložit, zálohovat a otestovat</button></div></div>128
<pre id="diffOutput" class="code diff"></pre>129
</section>130
</section>132
<section class="tab-panel" data-panel="proxy" hidden>133
<section class="panel block"><div class="section-heading"><div><span class="eyebrow">REVERSE PROXY</span><h2 data-i18n="Weby předávané na backend">Weby předávané na backend</h2></div><button id="proxyNewButton" class="button primary" type="button" data-i18n="Nová reverse proxy">Nová reverse proxy</button></div><div id="proxyList" class="site-list"></div></section>134
<section id="routesBlock" class="panel block" hidden><div class="section-heading"><div><span class="eyebrow" data-i18n="TRASY">TRASY</span><h2 data-i18n="Domény a jejich backendy">Domény a jejich backendy</h2><small class="muted" data-i18n="Podle bloků map, které používá proxy_pass.">Podle bloků map, které používá proxy_pass.</small></div><div class="actions"><span id="routeFiles" class="actions"></span><button id="routeAdd" class="button primary" type="button" data-i18n="Přidat doménu">Přidat doménu</button></div></div><input id="routeFilter" class="wide-input" type="search" spellcheck="false" placeholder="Filtrovat domény a backendy…" data-i18n-placeholder="Filtrovat domény a backendy…"><div id="routeList" class="site-list"></div></section>135
<section id="routeEditor" class="panel block" hidden>136
<div class="section-heading"><div><span class="eyebrow" data-i18n="TRASA">TRASA</span><h2 id="routeEditorTitle">—</h2><small class="muted" data-i18n="HTTP a TLS se ukládají jako jedna změna: oba soubory, nebo žádný. Prázdné pole trasu odebere.">HTTP a TLS se ukládají jako jedna změna: oba soubory, nebo žádný. Prázdné pole trasu odebere.</small></div><button id="routeEditorClose" class="mini" type="button" data-i18n="Zavřít">Zavřít</button></div>137
<div class="form-grid">138
<label class="field wide"><span data-i18n="Doména">Doména</span><input id="routeHost" type="text" spellcheck="false" placeholder="app.example.com"></label>139
<label class="field"><span id="routeHttpLabel" data-i18n="Backend pro HTTP">Backend pro HTTP</span><input id="routeHttp" type="text" spellcheck="false" placeholder="192.0.2.10:80"><small id="routeHttpNow" class="muted"></small></label>140
<label class="field"><span id="routeTlsLabel" data-i18n="Backend pro TLS">Backend pro TLS</span><input id="routeTls" type="text" spellcheck="false" placeholder="192.0.2.10:443"><small id="routeTlsNow" class="muted"></small></label>141
</div>142
<div class="actions end"><button id="routePlan" class="button" type="button" data-i18n="Zobrazit změny">Zobrazit změny</button></div>143
<div id="routeDiff" hidden>144
<p id="routeWarnings" class="notice" hidden></p>145
<div id="routeDiffFiles"></div>146
<div class="actions end"><button id="routeApply" class="button primary" type="button" data-i18n="Uložit, zálohovat a otestovat">Uložit, zálohovat a otestovat</button></div>147
</div>148
</section>149
<section id="streamBlock" class="panel block" hidden><div class="section-heading"><div><span class="eyebrow">STREAM</span><h2 data-i18n="TCP a TLS proxy (stream)">TCP a TLS proxy (stream)</h2></div></div><div id="streamList" class="site-list"></div></section>150
<section class="panel block"><div class="section-heading"><div><span class="eyebrow">UPSTREAM</span><h2 data-i18n="Skupiny backendů">Skupiny backendů</h2></div></div><div id="upstreamList" class="site-list"></div></section>151
</section>153
<section class="tab-panel" data-panel="tls" hidden>154
<section class="panel block"><div class="section-heading"><div><span class="eyebrow">SSL / TLS</span><h2 data-i18n="Certifikáty">Certifikáty</h2><small id="tlsSummary" class="muted"></small></div><button id="loadCertsButton" class="mini" type="button" data-i18n="Zkontrolovat certifikáty">Zkontrolovat certifikáty</button></div><div id="certList" class="site-list"><p class="empty" data-i18n="Certifikáty zatím nejsou načtené.">Certifikáty zatím nejsou načtené.</p></div></section>155
<section class="panel block">156
<div class="section-heading"><div><span class="eyebrow">ACME</span><h2 data-i18n="Vystavit certifikát přes certbot">Vystavit certifikát přes certbot</h2><small class="muted" data-i18n="Doména musí z internetu vést na tento server a port 80 musí být dostupný. Certbot kontaktuje certifikační autoritu Let's Encrypt.">Doména musí z internetu vést na tento server a port 80 musí být dostupný. Certbot kontaktuje certifikační autoritu Let's Encrypt.</small></div></div><div id="certbotInstall" class="actions" hidden><small class="muted" data-i18n="Certbot na tomto serveru není nainstalovaný.">Certbot na tomto serveru není nainstalovaný.</small><button id="certbotInstallButton" class="button" type="button" data-i18n="Nainstalovat certbot">Nainstalovat certbot</button></div>157
<div class="form-grid">158
<label class="field"><span data-i18n="Web">Web</span><select id="acmeSite"></select></label>159
<label class="field"><span data-i18n="E-mail pro upozornění (nepovinné)">E-mail pro upozornění (nepovinné)</span><input id="acmeEmail" type="email" spellcheck="false"></label>160
<label class="check wide"><input id="acmeAgree" type="checkbox"><span data-i18n="Souhlasím s podmínkami Let's Encrypt (letsencrypt.org/repository)">Souhlasím s podmínkami Let's Encrypt (letsencrypt.org/repository)</span></label>161
</div>162
<div class="actions end"><button id="acmePrepare" class="button" type="button" data-i18n="1. Připravit web na ověření">1. Připravit web na ověření</button><button id="acmeIssue" class="button primary" type="button" data-i18n="2. Vystavit certifikát">2. Vystavit certifikát</button></div>163
</section>164
</section>166
<section class="tab-panel" data-panel="config" hidden>167
<section class="workspace">168
<aside class="panel config-sidebar">169
<div class="section-heading"><div><span class="eyebrow" data-i18n="KONFIGURACE">KONFIGURACE</span><h2 data-i18n="Soubory">Soubory</h2></div><button id="dumpButton" class="mini" type="button" disabled data-i18n="Efektivní -T">Efektivní -T</button></div>170
<input id="configFilter" type="search" placeholder="Filtrovat cestu…" data-i18n-placeholder="Filtrovat cestu…">171
<div id="configList" class="config-list"><p class="empty" data-i18n="Nejsou načteny žádné soubory.">Nejsou načteny žádné soubory.</p></div>172
</aside>174
<section class="panel editor-panel">175
<div class="editor-heading">176
<div><span id="editorMode" class="eyebrow" data-i18n="EDITOR">EDITOR</span><h2 id="editorTitle" data-i18n="Vyberte konfigurační soubor">Vyberte konfigurační soubor</h2><small id="editorMeta" data-i18n="Změny zatím nejsou načtené.">Změny zatím nejsou načtené.</small></div>177
<div class="editor-actions"><button id="linkTargetButton" class="mini" type="button" hidden data-i18n="Otevřít cíl symlinku">Otevřít cíl symlinku</button><button id="historyButton" class="mini" type="button" disabled data-i18n="Historie">Historie</button><button id="revertButton" class="mini" type="button" disabled data-i18n="Znovu načíst">Znovu načíst</button><button id="saveButton" class="button primary" type="button" disabled data-i18n="Uložit, zálohovat a otestovat">Uložit, zálohovat a otestovat</button></div>178
</div>179
<textarea id="configEditor" aria-label="Konfigurace NGINX" data-i18n-aria-label="Konfigurace NGINX" spellcheck="false" readonly></textarea>180
</section>181
</section>182
<section id="historyPanel" class="panel block" hidden>183
<div class="section-heading"><div><span class="eyebrow" data-i18n="HISTORIE">HISTORIE</span><h2 id="historyTitle">—</h2></div><button id="historyClose" class="mini" type="button" data-i18n="Zavřít">Zavřít</button></div>184
<div id="historyList" class="site-list"></div>185
<pre id="historyDiff" class="code diff" hidden></pre>186
</section>187
</section>189
<section class="tab-panel" data-panel="logs" hidden>190
<section class="panel block">191
<div class="log-controls">192
<label class="field"><span data-i18n="Log">Log</span><select id="logFile"></select></label>193
<label class="field"><span data-i18n="Počet řádků">Počet řádků</span><select id="logLines"><option>100</option><option selected>200</option><option>500</option><option>2000</option></select></label>194
<label class="field"><span data-i18n="Stav odpovědi">Stav odpovědi</span><select id="logStatus"><option value="" data-i18n="Vše">Vše</option><option value="4">4xx</option><option value="5">5xx</option></select></label>195
<label class="field"><span data-i18n="Hledat (text, IP)">Hledat (text, IP)</span><input id="logSearch" type="search" spellcheck="false"></label>196
<label class="check"><input id="logFollow" type="checkbox"><span data-i18n="Živé sledování">Živé sledování</span></label>197
<button id="logRead" class="button" type="button" data-i18n="Načíst">Načíst</button>198
</div>199
<pre id="logOutput" class="code log"></pre>200
</section>201
</section>203
<section class="tab-panel" data-panel="diag" hidden>204
<section class="panel block"><div class="section-heading"><div><span class="eyebrow" data-i18n="CESTA DOMÉNY">CESTA DOMÉNY</span><h2 data-i18n="Kudy vede požadavek na doménu">Kudy vede požadavek na doménu</h2><small class="muted" data-i18n="Otevřený TCP port nepotvrzuje, že funguje aplikace nebo TLS za ním.">Otevřený TCP port nepotvrzuje, že funguje aplikace nebo TLS za ním.</small></div></div>205
<div class="domain-form"><input id="diagDomain" type="text" spellcheck="false" placeholder="app.example.com" aria-label="Doména" data-i18n-aria-label="Doména"><button id="diagDomainRun" class="button" type="button" data-i18n="Zjistit cestu">Zjistit cestu</button></div>206
<div id="diagDomainResult" class="path-list"></div>207
</section>208
<section class="panel block"><div class="section-heading"><div><span class="eyebrow" data-i18n="KONFIGURACE">KONFIGURACE</span><h2 data-i18n="Test a konflikty">Test a konflikty</h2></div><button id="diagTest" class="mini" type="button" data-i18n="Otestovat nginx -t">Otestovat nginx -t</button></div><div id="diagFindings" class="site-list"></div></section>209
<section class="panel block"><div class="section-heading"><div><span class="eyebrow">BACKEND</span><h2 data-i18n="Spojení s backendy">Spojení s backendy</h2><small class="muted" data-i18n="Spojení se zkouší ze serveru na adresy uvedené v konfiguraci.">Spojení se zkouší ze serveru na adresy uvedené v konfiguraci.</small></div><button id="diagProbe" class="mini" type="button" data-i18n="Vyzkoušet spojení">Vyzkoušet spojení</button></div><div id="diagBackends" class="site-list"></div></section>210
<section class="panel block"><div class="section-heading"><div><span class="eyebrow" data-i18n="SCHOPNOSTI">SCHOPNOSTI</span><h2 data-i18n="Co tato instalace NGINX umí">Co tato instalace NGINX umí</h2></div></div><div id="diagCapabilities" class="site-list"></div></section>211
</section>213
<section class="panel result-panel">214
<div class="section-heading"><div><span class="eyebrow" data-i18n="VÝSTUP">VÝSTUP</span><h2 data-i18n="Test a operace">Test a operace</h2></div><div class="actions"><button id="undoButton" class="mini" type="button" hidden data-i18n="Vrátit poslední změnu">Vrátit poslední změnu</button><button id="clearOutputButton" class="mini" type="button" data-i18n="Vyčistit">Vyčistit</button></div></div>215
<pre id="commandOutput" data-i18n="Zde se zobrazí výstup nginx -t, uložení nebo reloadu.">Zde se zobrazí výstup nginx -t, uložení nebo reloadu.</pre>216
</section>218
<section class="security panel">219
<strong data-i18n="Bezpečný postup podle dokumentace NGINX">Bezpečný postup podle dokumentace NGINX</strong>220
<p><span data-i18n="Uložení vytvoří časovanou zálohu, zachová vlastníka a oprávnění a spustí">Uložení vytvoří časovanou zálohu, zachová vlastníka a oprávnění a spustí</span> <code>nginx -t</code><span data-i18n=". Neplatná konfigurace se automaticky vrátí ze zálohy. Reload je samostatná potvrzená operace a proběhne pouze po úspěšném testu; restart ani obecný vzdálený shell modul nemá.">. Neplatná konfigurace se automaticky vrátí ze zálohy. Reload je samostatná potvrzená operace a proběhne pouze po úspěšném testu; restart ani obecný vzdálený shell modul nemá.</span></p>221
<p><span data-i18n="Toto je integrace CH-J pro správu NGINX, nikoli oficiální produkt NGINX. NGINX je ochranná známka společnosti F5, Inc.">Toto je integrace CH-J pro správu NGINX, nikoli oficiální produkt NGINX. NGINX je ochranná známka společnosti F5, Inc.</span></p>222
<p class="docs"><span data-i18n="Oficiální zdroje:">Oficiální zdroje:</span> <code>nginx.org/en/docs/beginners_guide.html</code> · <code>nginx.org/en/docs/switches.html</code> · <code>nginx.org/en/docs/control.html</code></p>223
</section>224
</main>225
<script src="i18n.js"></script>226
<script src="sites.js"></script>227
<script src="index.js"></script>228
</body>229
</html>SHA-256
15584d4f46303bb87adf75a01679ca378c39a00999e7f6aa8358172924ca0259CH-J Proprietary Software License 1.14 · সোর্স CH-J Proprietary Software License 1.14-এর অধীনে দেওয়া হয়। এর প্রাপ্যতা লাইসেন্সের শর্ত বদলায় না এবং অতিরিক্ত কোনো অধিকারও দেয় না।
আর্কাইভ SHA-256
ac8fe790f4ba60fc098f8c985fc2656cfcc6cdc21fb34b30e308a2b54e62258f