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