@@ -24,8 +24,8 @@ CONNECTION_LOG="${INSTALL_DIR}/connection.log"
2424INSTANCES_FILE=" ${INSTALL_DIR} /instances.conf"
2525CONTAINER_NAME=" mtproxymax"
2626DOCKER_IMAGE_BASE=" mtproxymax-telemt"
27- TELEMT_MIN_VERSION=" 3.3.28 "
28- TELEMT_COMMIT=" 342b011 " # Pinned: v3.3.28 — ME anti-stuck, quarantine fixes, orphan watchdog, dual-stack draining
27+ TELEMT_MIN_VERSION=" 3.3.30 "
28+ TELEMT_COMMIT=" 22097f8 " # Pinned: v3.3.30 — TLS fetcher redesign, SNI validator, atomic quotas, PROXY trusted CIDRs
2929GITHUB_REPO=" SamNet-dev/MTProxyMax"
3030REGISTRY_IMAGE=" ghcr.io/samnet-dev/mtproxymax-telemt"
3131
@@ -107,6 +107,7 @@ PROXY_MEMORY=""
107107CUSTOM_IP=" "
108108FAKE_CERT_LEN=2048
109109PROXY_PROTOCOL=" false"
110+ PROXY_PROTOCOL_TRUSTED_CIDRS=" "
110111AD_TAG=" "
111112GEOBLOCK_MODE=" blacklist"
112113BLOCKLIST_COUNTRIES=" "
@@ -571,6 +572,7 @@ PROXY_MEMORY='${PROXY_MEMORY}'
571572CUSTOM_IP='${CUSTOM_IP} '
572573FAKE_CERT_LEN='${FAKE_CERT_LEN} '
573574PROXY_PROTOCOL='${PROXY_PROTOCOL} '
575+ PROXY_PROTOCOL_TRUSTED_CIDRS='${PROXY_PROTOCOL_TRUSTED_CIDRS} '
574576
575577# Ad-Tag (from @MTProxyBot)
576578AD_TAG='${AD_TAG} '
@@ -623,7 +625,7 @@ load_settings() {
623625 # Whitelist of allowed keys
624626 case " $key " in
625627 PROXY_PORT|PROXY_METRICS_PORT|PROXY_DOMAIN|PROXY_CONCURRENCY|\
626- PROXY_CPUS|PROXY_MEMORY|CUSTOM_IP|FAKE_CERT_LEN|PROXY_PROTOCOL|AD_TAG|GEOBLOCK_MODE|BLOCKLIST_COUNTRIES|\
628+ PROXY_CPUS|PROXY_MEMORY|CUSTOM_IP|FAKE_CERT_LEN|PROXY_PROTOCOL|PROXY_PROTOCOL_TRUSTED_CIDRS| AD_TAG|GEOBLOCK_MODE|BLOCKLIST_COUNTRIES|\
627629 MASKING_ENABLED|MASKING_HOST|MASKING_PORT|\
628630 TELEGRAM_ENABLED|TELEGRAM_BOT_TOKEN|TELEGRAM_CHAT_ID|\
629631 TELEGRAM_INTERVAL|TELEGRAM_ALERTS_ENABLED|TELEGRAM_SERVER_LABEL|\
@@ -1064,6 +1066,7 @@ port = ${port}
10641066listen_addr_ipv4 = "0.0.0.0"
10651067listen_addr_ipv6 = "::"
10661068proxy_protocol = ${PROXY_PROTOCOL:- false}
1069+ $( [ " $PROXY_PROTOCOL " = " true" ] && [ -n " $PROXY_PROTOCOL_TRUSTED_CIDRS " ] && echo " proxy_protocol_trusted_cidrs = [$( echo " $PROXY_PROTOCOL_TRUSTED_CIDRS " | sed ' s/[[:space:]]*,[[:space:]]*/", "/g;s/^/"/;s/$/"/' ) ]" )
10671070metrics_port = ${metrics_port}
10681071metrics_whitelist = ["127.0.0.1", "::1"]
10691072
@@ -3553,7 +3556,7 @@ load_tg_settings() {
35533556 local key="${BASH_REMATCH[1]}" val="${BASH_REMATCH[2]}"
35543557 case "$key" in
35553558 PROXY_PORT|PROXY_DOMAIN|PROXY_METRICS_PORT|PROXY_CONCURRENCY|\
3556- PROXY_CPUS|PROXY_MEMORY|CUSTOM_IP|PROXY_PROTOCOL|MASKING_ENABLED|MASKING_HOST|MASKING_PORT|\
3559+ PROXY_CPUS|PROXY_MEMORY|CUSTOM_IP|PROXY_PROTOCOL|PROXY_PROTOCOL_TRUSTED_CIDRS| MASKING_ENABLED|MASKING_HOST|MASKING_PORT|\
35573560 AD_TAG|GEOBLOCK_MODE|BLOCKLIST_COUNTRIES|AUTO_UPDATE_ENABLED|\
35583561 TELEGRAM_ENABLED|TELEGRAM_BOT_TOKEN|TELEGRAM_CHAT_ID|\
35593562 TELEGRAM_INTERVAL|TELEGRAM_SERVER_LABEL|TELEGRAM_ALERTS_ENABLED)
@@ -6116,7 +6119,7 @@ show_settings_menu() {
61166119 echo -e " ${BOLD} Masking:${NC} ${MASKING_ENABLED} "
61176120 echo -e " ${BOLD} Ad-tag:${NC} ${AD_TAG:- ${DIM} not set${NC} } "
61186121 echo -e " ${BOLD} Auto-update:${NC} ${AUTO_UPDATE_ENABLED} "
6119- echo -e " ${BOLD} PROXY proto:${NC} ${PROXY_PROTOCOL} "
6122+ echo -e " ${BOLD} PROXY proto:${NC} ${PROXY_PROTOCOL} $( [ " $PROXY_PROTOCOL " = " true " ] && [ -n " $PROXY_PROTOCOL_TRUSTED_CIDRS " ] && echo " (trusted: ${PROXY_PROTOCOL_TRUSTED_CIDRS} ) " ) "
61206123 echo -e " ${BOLD} Engine:${NC} telemt v$( get_telemt_version) "
61216124 echo " "
61226125 echo -e " ${DIM} [1]${NC} Change port"
@@ -6273,6 +6276,13 @@ show_settings_menu() {
62736276 ;;
62746277 8)
62756278 [ " $PROXY_PROTOCOL " = " true" ] && PROXY_PROTOCOL=" false" || PROXY_PROTOCOL=" true"
6279+ if [ " $PROXY_PROTOCOL " = " true" ]; then
6280+ echo -en " ${BOLD} Trusted CIDRs (comma-separated, e.g. 10.0.0.0/8,172.16.0.0/12, empty=reject all):${NC} "
6281+ local cidrs; read -r cidrs
6282+ PROXY_PROTOCOL_TRUSTED_CIDRS=" $cidrs "
6283+ else
6284+ PROXY_PROTOCOL_TRUSTED_CIDRS=" "
6285+ fi
62766286 save_settings
62776287 log_success " PROXY protocol: ${PROXY_PROTOCOL} "
62786288 if is_proxy_running; then
0 commit comments