version 1.3.2: исправлен перезапуск панели и удаление SSH-порта
- app.py: отложенный systemctl restart (sleep 1) — ответ уходит до убийства gunicorn - mita-ctl.sh: ручной ввод SSH-порта при удалении вместо автоопределения
This commit is contained in:
@@ -671,10 +671,12 @@ def api_ssl_letsencrypt():
|
||||
@app.route(f"{BASE}/api/panel/restart", methods=["POST"])
|
||||
@login_required
|
||||
def api_panel_restart():
|
||||
r = subprocess.run(["systemctl","restart","mita-panel"],
|
||||
capture_output=True, text=True, timeout=10)
|
||||
if r.returncode != 0:
|
||||
return jsonify({"ok": False, "error": r.stderr.strip()}), 500
|
||||
# Отложенный перезапуск — gunicorn убивает текущий процесc при restart,
|
||||
# не давая ответу уйти. sleep 1 даёт Flask отдать ответ до перезапуска.
|
||||
subprocess.Popen(
|
||||
["bash","-c","sleep 1 && systemctl restart mita-panel"],
|
||||
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL
|
||||
)
|
||||
return jsonify({"ok": True})
|
||||
|
||||
@app.route(f"{BASE}/api/panel/access")
|
||||
@@ -737,7 +739,10 @@ exec /opt/mita-panel/venv/bin/gunicorn \\
|
||||
pc["access_mode"] = mode
|
||||
Path(PANEL_CONFIG).write_text(json.dumps(pc, indent=2))
|
||||
|
||||
subprocess.run(["systemctl","restart","mita-panel"], capture_output=True, timeout=10)
|
||||
subprocess.Popen(
|
||||
["bash","-c","sleep 1 && systemctl restart mita-panel"],
|
||||
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL
|
||||
)
|
||||
|
||||
ssh_port = pc.get("ssh_port", 22)
|
||||
return jsonify({
|
||||
|
||||
+7
-4
@@ -1306,10 +1306,13 @@ except: print('2100-2110')
|
||||
fi
|
||||
_PANEL_PORT=${_PANEL_PORT:-8080}
|
||||
|
||||
# Автодетект текущего SSH порта из sshd_config (чтобы не трогать его при чистке)
|
||||
_SSH_PORT=$(grep -E "^[[:space:]]*Port[[:space:]]+" /etc/ssh/sshd_config 2>/dev/null | awk '{print $2}' | head -1 || true)
|
||||
_SSH_PORT=${_SSH_PORT:-22}
|
||||
info "Обнаружен SSH порт: $_SSH_PORT (будет сохранён)"
|
||||
# Определяем SSH порт — пользователь вводит сам, автоопределение как подсказка
|
||||
_SSH_DETECTED=$(grep -E "^[[:space:]]*Port[[:space:]]+" /etc/ssh/sshd_config 2>/dev/null | awk '{print $2}' | head -1 || true)
|
||||
_SSH_DETECTED=${_SSH_DETECTED:-22}
|
||||
echo ""
|
||||
read -r -p " SSH порт, который НЕ нужно закрывать [${_SSH_DETECTED}]: " _SSH_INPUT
|
||||
_SSH_PORT="${_SSH_INPUT:-$_SSH_DETECTED}"
|
||||
info "SSH порт $_SSH_PORT будет сохранён"
|
||||
info "Порты mita для закрытия: $_MITA_RANGE"
|
||||
info "Порт панели для закрытия: $_PANEL_PORT"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user