version 1.2.1: авто-SSL при установке, кнопка перезапуска панели
- install-panel.sh: самоподписной сертификат создаётся автоматически при установке, панель сразу работает по HTTPS - app.py: API /api/panel/restart для перезапуска панели - index.html: кнопка «Перезапустить панель» на вкладке SSL - mita-ctl.sh: автоопределение http/https (_panel_proto) для URL панели - README: обновлена дорожная карта
This commit is contained in:
+30
-5
@@ -179,11 +179,16 @@
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-title">Применение сертификата</div>
|
||||
<div class="alert alert-warn">
|
||||
После смены сертификата необходимо перезапустить панель:<br>
|
||||
<code style="font-family:var(--mono);font-size:.85rem">systemctl restart mita-panel</code>
|
||||
</div>
|
||||
<div class="card-title">Перезапуск панели</div>
|
||||
<p style="color:var(--muted);font-size:.875rem;margin-bottom:14px;line-height:1.6">
|
||||
После смены сертификата необходимо перезапустить панель, чтобы применить изменения.
|
||||
</p>
|
||||
<button class="btn btn-warn" onclick="restartPanel()">
|
||||
<svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"/></svg>
|
||||
Перезапустить панель
|
||||
</button>
|
||||
<div id="restart-result" style="margin-top:12px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -886,6 +891,26 @@ async function getLetsEncrypt(){
|
||||
}
|
||||
}
|
||||
|
||||
async function restartPanel(){
|
||||
const btn=document.querySelector('#page-ssl .btn-warn');
|
||||
btn.disabled=true;
|
||||
btn.innerHTML='<span class="spinner"></span> Перезапуск...';
|
||||
const el=document.getElementById('restart-result');
|
||||
try{
|
||||
const d=await api('/api/panel/restart','POST');
|
||||
if(d?.ok){
|
||||
el.innerHTML='<div class="alert alert-ok">✓ Панель перезапущена</div>';
|
||||
showToast('Панель перезапущена');
|
||||
}else{
|
||||
el.innerHTML=`<div class="alert alert-err">Ошибка: ${escH(d?.error||'')}</div>`;
|
||||
}
|
||||
}catch(e){
|
||||
el.innerHTML=`<div class="alert alert-err">Ошибка: ${escH(e.message)}</div>`;
|
||||
}
|
||||
btn.disabled=false;
|
||||
btn.innerHTML='<svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"/></svg> Перезапустить панель';
|
||||
}
|
||||
|
||||
// ──────────────── TELEGRAM BOT ────────────────
|
||||
async function loadBotPage() {
|
||||
const d = await api('/api/bot/status');
|
||||
|
||||
Reference in New Issue
Block a user