From 32613c8e681bd5486b509f9eb7b54bdcbf8bcabe Mon Sep 17 00:00:00 2001 From: Dimasssss Date: Fri, 15 May 2026 01:12:47 +0300 Subject: [PATCH 1/4] Update install.sh --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index cad8ca7..eec79b9 100644 --- a/install.sh +++ b/install.sh @@ -392,7 +392,7 @@ verify_common() { if [ "$(id -u)" -eq 0 ]; then SUDO="" - if [ "$(id -u)" -ne 0 ]; then + if [ "${USER:-}" != "root" ] && [ "${LOGNAME:-}" != "root" ]; then die "$L_ERR_INCORR_ROOT_LOGIN" fi else From faf1f28f9da8787a19294c2ceeb10fe4d289168e Mon Sep 17 00:00:00 2001 From: Dimasssss Date: Fri, 15 May 2026 01:23:45 +0300 Subject: [PATCH 2/4] Update install.sh --- install.sh | 55 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/install.sh b/install.sh index eec79b9..066032b 100644 --- a/install.sh +++ b/install.sh @@ -105,6 +105,7 @@ set_language() { L_OUT_UNINST_H="УДАЛЕНИЕ ЗАВЕРШЕНО" L_OUT_LINK="Ваша ссылка для подключения к Telegram Proxy:\n" L_ERR_INCORR_ROOT_LOGIN="Используйте 'su -' или 'sudo -i' для входа под пользователем root" + L_OUT_LOGS="Чтобы посмотреть логи (в случае проблем), используйте команду:" ;; *) L_ERR_DOMAIN_REQ="requires a domain argument." @@ -180,6 +181,7 @@ set_language() { L_OUT_UNINST_H="UNINSTALLATION COMPLETE" L_OUT_LINK="Your Telegram Proxy connection link:\n" L_ERR_INCORR_ROOT_LOGIN="Use 'su -' or 'sudo -i' to login under root" + L_OUT_LOGS="To view logs (in case of issues), use the following command:" ;; esac } @@ -392,7 +394,7 @@ verify_common() { if [ "$(id -u)" -eq 0 ]; then SUDO="" - if [ "${USER:-}" != "root" ] && [ "${LOGNAME:-}" != "root" ]; then + if [ "$(id -u)" -ne 0 ]; then die "$L_ERR_INCORR_ROOT_LOGIN" fi else @@ -539,7 +541,7 @@ install_binary() { fi $SUDO mkdir -p "$INSTALL_DIR" || die "$L_ERR_MKDIR" - + $SUDO rm -f "$bin_dst" 2>/dev/null || true if command -v install >/dev/null 2>&1; then @@ -609,33 +611,33 @@ install_config() { tmp_conf="${TEMP_DIR}/config.tmp" $SUDO cat "$CONFIG_FILE" > "$tmp_conf" - + escaped_domain="$(printf '%s\n' "$TLS_DOMAIN" | tr -d '[:cntrl:]' | sed 's/\\/\\\\/g; s/"/\\"/g')" awk -v port="$SERVER_PORT" -v secret="$USER_SECRET" -v domain="$escaped_domain" -v ad_tag="$AD_TAG" \ -v flag_p="$PORT_PROVIDED" -v flag_s="$SECRET_PROVIDED" -v flag_d="$DOMAIN_PROVIDED" -v flag_a="$AD_TAG_PROVIDED" ' BEGIN { ad_tag_handled = 0 } - + flag_p == "1" && /^[ \t]*port[ \t]*=/ { print "port = " port; next } flag_s == "1" && /^[ \t]*hello[ \t]*=/ { print "hello = \"" secret "\""; next } flag_d == "1" && /^[ \t]*tls_domain[ \t]*=/ { print "tls_domain = \"" domain "\""; next } - - flag_a == "1" && /^[ \t]*ad_tag[ \t]*=/ { - if (!ad_tag_handled) { - print "ad_tag = \"" ad_tag "\""; - ad_tag_handled = 1; - } - next + + flag_a == "1" && /^[ \t]*ad_tag[ \t]*=/ { + if (!ad_tag_handled) { + print "ad_tag = \"" ad_tag "\""; + ad_tag_handled = 1; + } + next } - flag_a == "1" && /^\[general\]/ { - print; - if (!ad_tag_handled) { - print "ad_tag = \"" ad_tag "\""; - ad_tag_handled = 1; - } - next + flag_a == "1" && /^\[general\]/ { + print; + if (!ad_tag_handled) { + print "ad_tag = \"" ad_tag "\""; + ad_tag_handled = 1; + } + next } - + { print } ' "$tmp_conf" > "${tmp_conf}.new" && mv "${tmp_conf}.new" "$tmp_conf" @@ -785,11 +787,11 @@ uninstall() { say "$L_U_STAGE_5" $SUDO rm -rf "$CONFIG_DIR" "$WORK_DIR" $SUDO rm -f "$CONFIG_FILE" - + if check_os_entity passwd telemt; then $SUDO userdel telemt 2>/dev/null || $SUDO deluser telemt 2>/dev/null || true fi - + if check_os_entity group telemt; then $SUDO groupdel telemt 2>/dev/null || $SUDO delgroup telemt 2>/dev/null || true fi @@ -916,7 +918,7 @@ case "$ACTION" in if command -v curl >/dev/null 2>&1; then SERVER_IP="$(curl -s4 -m 3 ifconfig.me 2>/dev/null || curl -s4 -m 3 api.ipify.org 2>/dev/null || true)" elif command -v wget >/dev/null 2>&1; then SERVER_IP="$(wget -qO- -T 3 ifconfig.me 2>/dev/null || wget -qO- -T 3 api.ipify.org 2>/dev/null || true)"; fi [ -z "$SERVER_IP" ] && SERVER_IP="" - + if command -v xxd >/dev/null 2>&1; then HEX_DOMAIN="$(printf '%s' "$TLS_DOMAIN" | xxd -p | tr -d '\n')" elif command -v hexdump >/dev/null 2>&1; then HEX_DOMAIN="$(printf '%s' "$TLS_DOMAIN" | hexdump -v -e '/1 "%02x"')" elif command -v od >/dev/null 2>&1; then HEX_DOMAIN="$(printf '%s' "$TLS_DOMAIN" | od -A n -t x1 | tr -d ' \n')" @@ -927,6 +929,15 @@ case "$ACTION" in printf '%b\n' "$L_OUT_LINK" printf ' tg://proxy?server=%s&port=%s&secret=%s\n\n' "$SERVER_IP" "$SERVER_PORT" "$CLIENT_SECRET" + svc="$(get_svc_mgr)" + if [ "$svc" = "systemd" ]; then + printf '%s\n' "$L_OUT_LOGS" + printf ' sudo journalctl -u %s -f\n\n' "$SERVICE_NAME" + elif [ "$svc" = "openrc" ]; then + printf '%s\n' "$L_OUT_LOGS" + printf ' sudo grep -i %s /var/log/messages /var/log/syslog 2>/dev/null\n\n' "$SERVICE_NAME" + fi + printf '====================================================================\n' ;; esac From 08cde1a2555542bcde4c7cc94a7a144dd7a738db Mon Sep 17 00:00:00 2001 From: Dimasssss Date: Fri, 15 May 2026 01:29:13 +0300 Subject: [PATCH 3/4] Update install.sh --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 066032b..371b4f2 100644 --- a/install.sh +++ b/install.sh @@ -935,7 +935,7 @@ case "$ACTION" in printf ' sudo journalctl -u %s -f\n\n' "$SERVICE_NAME" elif [ "$svc" = "openrc" ]; then printf '%s\n' "$L_OUT_LOGS" - printf ' sudo grep -i %s /var/log/messages /var/log/syslog 2>/dev/null\n\n' "$SERVICE_NAME" + printf ' sudo tail -f /var/log/messages /var/log/syslog 2>/dev/null | grep -i %s\n\n' "$SERVICE_NAME" fi printf '====================================================================\n' From ad1bb5cc1a493092c563ecb18d1c6463cee3e0c0 Mon Sep 17 00:00:00 2001 From: Dimasssss Date: Fri, 15 May 2026 01:32:37 +0300 Subject: [PATCH 4/4] Update install.sh --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 371b4f2..78c0678 100644 --- a/install.sh +++ b/install.sh @@ -394,7 +394,7 @@ verify_common() { if [ "$(id -u)" -eq 0 ]; then SUDO="" - if [ "$(id -u)" -ne 0 ]; then + if [ "${USER:-}" != "root" ] && [ "${LOGNAME:-}" != "root" ]; then die "$L_ERR_INCORR_ROOT_LOGIN" fi else