@@ -104,6 +104,7 @@ PROXY_CPUS=""
104104PROXY_MEMORY=" "
105105CUSTOM_IP=" "
106106FAKE_CERT_LEN=2048
107+ PROXY_PROTOCOL=" false"
107108AD_TAG=" "
108109BLOCKLIST_COUNTRIES=" "
109110MASKING_ENABLED=" true"
@@ -553,6 +554,7 @@ PROXY_CPUS='${PROXY_CPUS}'
553554PROXY_MEMORY='${PROXY_MEMORY} '
554555CUSTOM_IP='${CUSTOM_IP} '
555556FAKE_CERT_LEN='${FAKE_CERT_LEN} '
557+ PROXY_PROTOCOL='${PROXY_PROTOCOL} '
556558
557559# Ad-Tag (from @MTProxyBot)
558560AD_TAG='${AD_TAG} '
@@ -604,7 +606,7 @@ load_settings() {
604606 # Whitelist of allowed keys
605607 case " $key " in
606608 PROXY_PORT|PROXY_METRICS_PORT|PROXY_DOMAIN|PROXY_CONCURRENCY|\
607- PROXY_CPUS|PROXY_MEMORY|CUSTOM_IP|FAKE_CERT_LEN|AD_TAG|BLOCKLIST_COUNTRIES|\
609+ PROXY_CPUS|PROXY_MEMORY|CUSTOM_IP|FAKE_CERT_LEN|PROXY_PROTOCOL| AD_TAG|BLOCKLIST_COUNTRIES|\
608610 MASKING_ENABLED|MASKING_HOST|MASKING_PORT|\
609611 TELEGRAM_ENABLED|TELEGRAM_BOT_TOKEN|TELEGRAM_CHAT_ID|\
610612 TELEGRAM_INTERVAL|TELEGRAM_ALERTS_ENABLED|TELEGRAM_SERVER_LABEL|\
@@ -620,6 +622,7 @@ load_settings() {
620622 [[ " $MASKING_PORT " =~ ^[0-9]+$ ]] && [ " $MASKING_PORT " -ge 1 ] && [ " $MASKING_PORT " -le 65535 ] || MASKING_PORT=443
621623 [[ " $FAKE_CERT_LEN " =~ ^[0-9]+$ ]] && [ " $FAKE_CERT_LEN " -ge 512 ] || FAKE_CERT_LEN=2048
622624 [[ " $PROXY_CONCURRENCY " =~ ^[0-9]+$ ]] || PROXY_CONCURRENCY=8192
625+ [[ " $PROXY_PROTOCOL " == " true" ]] || PROXY_PROTOCOL=" false"
623626 [[ " $TELEGRAM_INTERVAL " =~ ^[0-9]+$ ]] || TELEGRAM_INTERVAL=6
624627 [[ " $TELEGRAM_CHAT_ID " =~ ^-? [0-9]+$ ]] || TELEGRAM_CHAT_ID=" "
625628}
@@ -1039,6 +1042,7 @@ show = [$(get_enabled_labels_quoted)]
10391042port = ${port}
10401043listen_addr_ipv4 = "0.0.0.0"
10411044listen_addr_ipv6 = "::"
1045+ proxy_protocol = ${PROXY_PROTOCOL:- false}
10421046metrics_port = ${metrics_port}
10431047metrics_whitelist = ["127.0.0.1", "::1"]
10441048
@@ -3290,7 +3294,7 @@ load_tg_settings() {
32903294 local key="${BASH_REMATCH[1]}" val="${BASH_REMATCH[2]}"
32913295 case "$key" in
32923296 PROXY_PORT|PROXY_DOMAIN|PROXY_METRICS_PORT|PROXY_CONCURRENCY|\
3293- PROXY_CPUS|PROXY_MEMORY|CUSTOM_IP|MASKING_ENABLED|MASKING_HOST|MASKING_PORT|\
3297+ PROXY_CPUS|PROXY_MEMORY|CUSTOM_IP|PROXY_PROTOCOL| MASKING_ENABLED|MASKING_HOST|MASKING_PORT|\
32943298 AD_TAG|BLOCKLIST_COUNTRIES|AUTO_UPDATE_ENABLED|\
32953299 TELEGRAM_ENABLED|TELEGRAM_BOT_TOKEN|TELEGRAM_CHAT_ID|\
32963300 TELEGRAM_INTERVAL|TELEGRAM_SERVER_LABEL|TELEGRAM_ALERTS_ENABLED)
@@ -5364,6 +5368,7 @@ show_settings_menu() {
53645368 echo -e " ${BOLD} Masking:${NC} ${MASKING_ENABLED} "
53655369 echo -e " ${BOLD} Ad-tag:${NC} ${AD_TAG:- ${DIM} not set${NC} } "
53665370 echo -e " ${BOLD} Auto-update:${NC} ${AUTO_UPDATE_ENABLED} "
5371+ echo -e " ${BOLD} PROXY proto:${NC} ${PROXY_PROTOCOL} "
53675372 echo -e " ${BOLD} Engine:${NC} telemt v$( get_telemt_version) "
53685373 echo " "
53695374 echo -e " ${DIM} [1]${NC} Change port"
@@ -5373,7 +5378,8 @@ show_settings_menu() {
53735378 echo -e " ${DIM} [5]${NC} Toggle traffic masking"
53745379 echo -e " ${DIM} [6]${NC} Set ad-tag"
53755380 echo -e " ${DIM} [7]${NC} Toggle auto-update"
5376- echo -e " ${DIM} [8]${NC} Engine Management"
5381+ echo -e " ${DIM} [8]${NC} Toggle PROXY protocol"
5382+ echo -e " ${DIM} [9]${NC} Engine Management"
53775383 echo -e " ${DIM} [0]${NC} Back"
53785384
53795385 local choice
@@ -5519,7 +5525,18 @@ show_settings_menu() {
55195525 log_success " Auto-update: ${AUTO_UPDATE_ENABLED} "
55205526 press_any_key
55215527 ;;
5522- 8) show_engine_menu ;;
5528+ 8)
5529+ [ " $PROXY_PROTOCOL " = " true" ] && PROXY_PROTOCOL=" false" || PROXY_PROTOCOL=" true"
5530+ save_settings
5531+ log_success " PROXY protocol: ${PROXY_PROTOCOL} "
5532+ if is_proxy_running; then
5533+ echo -en " ${DIM} Restart proxy now? [Y/n]:${NC} "
5534+ local r; read -r r
5535+ [[ ! " $r " =~ ^[nN] ]] && { load_secrets; restart_proxy_container || true ; }
5536+ fi
5537+ press_any_key
5538+ ;;
5539+ 9) show_engine_menu ;;
55235540 0|" " ) return ;;
55245541 * ) ;;
55255542 esac
0 commit comments