{tr("Домен панели","Panel domain")} {hlp("Панель по адресу https://ваш-домен/ с бесплатным сертификатом Let's Encrypt (nginx на 443). Домен (A-запись) должен указывать на IP этого сервера, порт 80 открыт. Старый адрес http://IP:порт продолжает работать — роутеры и второй сервер ничего не заметят.", "Panel at https://your-domain/ with a free Let's Encrypt certificate (nginx on 443). The domain A record must point to this server, port 80 open. The old http://IP:port keeps working — routers and secondaries notice nothing.")}
@@ -3199,7 +3200,8 @@ def speedtest_up():
@app.route("/server/")
def serve_server_bootstrap(name):
# Public bootstrap files only. No secrets live in these scripts.
- if name not in ("secondary-setup.sh", "api.py", "update.sh", "phobos-limit.sh", "phobos-speedtest.sh"):
+ if name not in ("secondary-setup.sh", "api.py", "update.sh", "phobos-limit.sh", "phobos-speedtest.sh",
+ "phobos-cascade.sh"):
return ("not found", 404)
mimetype = "application/x-sh" if name.endswith(".sh") else "text/plain"
return send_from_directory(f"{PHOBOS_DIR}/server", name, mimetype=mimetype)
diff --git a/server/phobos-cascade.sh b/server/phobos-cascade.sh
index d191334..7e4c168 100755
--- a/server/phobos-cascade.sh
+++ b/server/phobos-cascade.sh
@@ -44,7 +44,7 @@ enable() {
printf 'EXIT_HOST=%s\nPORTS=%s\n' "$host" "$ports" > "$STATE"
# bash <(curl ...) gives a pipe as $0 -> fetch a real copy for the systemd unit
if [ "$(readlink -f "$0")" != "$BIN" ]; then
- if [ -f "$0" ]; then cp "$0" "$BIN"; else curl -fsSL -m30 "$SELF_URL" -o "$BIN" || { echo "cannot save $BIN" >&2; exit 1; }; fi
+ if [ -f "$0" ]; then cp "$0" "$BIN"; else curl -kfsSL -m30 "$SELF_URL" -o "$BIN" || { echo "cannot save $BIN" >&2; exit 1; }; fi
chmod +x "$BIN"
fi
cat > /etc/systemd/system/phobos-cascade.service <