πŸ”© Π₯Π°Ρ€Π΄ΠΊΠΎΠ΄-константы ΠΈ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Ρ‹ sing-box-extended

О Ρ‡Ρ‘ΠΌ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ°

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π·Π°ΡˆΠΈΡ‚Ρ‹Ρ… Π² исходники sing-box-extended (ΠΈ Π² унаслСдованный ΠΎΡ‚ upstream sing-box ΠΊΠΎΠ΄): ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹, ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹, магичСскиС адрСса ΠΈ числа ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ². ПолСзно, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ» Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Устройство ΠΊΠΎΠ΄Π°, ΠΎΡ‚ΠΊΡƒΠ΄Π° эти константы взяты, β€” Π² Ρ€Π°Π·Π±ΠΎΡ€Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

Π‘Π½ΠΈΠΌΠΎΠΊ исходников

ЗначСния выписаны ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ extended Π½Π° июль 2026 (Ρ€Π΅Π»ΠΈΠ· v1.13.14-extended-2.5.1), Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΎΡ‚ корня рСпозитория. Π’ Π½ΠΎΠ²Ρ‹Ρ… вСрсиях константы ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ β€” ΠΏΡ€ΠΈ сомнСнии свСряйся с constant/ Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… исходниках.

ΠŸΠΎΡ€Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρƒ socks/http: Π΅Π³ΠΎ Π½Π΅Ρ‚

Частый вопрос: Β«ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΡ€Ρ‚ ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ socks/http-inbound, Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ?Β». ΠžΡ‚Π²Π΅Ρ‚: Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π° (1080 для SOCKS, 8080 для HTTP) Π² sing-box Π½Π΅ сущСствуСт. По ΠΊΠΎΠ΄Ρƒ (option/inbound.go, common/listener/listener_tcp.go):

  • ПолС listen (адрСс) β€” ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅: Π±Π΅Π· Π½Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ Π½Π΅ Π²Π°Π»ΠΈΠ΄Π΅Π½.
  • ПолС listen_port β€” Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ (uint16, omitempty): Ссли Π΅Π³ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ 0, ΠΈ опСрационная систСма выдаст случайный свободный ΠΏΠΎΡ€Ρ‚. Для постоянного inbound это ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда Π½Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ, β€” ΠΏΠΎΡ€Ρ‚ Π·Π°Π΄Π°Π²Π°ΠΉ явно.
  • Если адрСс ΠΈΠ· listen Π½Π΅ удаётся ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ, fallback-адрСс привязки β€” 127.0.0.1.

ΠŸΡ€ΠΎΡ‰Π΅ говоря: sing-box ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ «извСстных» ΠΏΠΎΡ€Ρ‚ΠΎΠ² β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ inbound ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ Ρ€ΠΎΠ²Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ написано Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅, Π° Π·Π°Π±Ρ‹Ρ‚Ρ‹ΠΉ listen_port оборачиваСтся случайным ΠΏΠΎΡ€Ρ‚ΠΎΠΌ, Π° Π½Π΅ 1080.

Π’Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹ ядра (constant/timeout.go)

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚
TCPConnectTimeout5 сЛимит Π½Π° установлСниС исходящСго TCP-соСдинСния
TCPTimeout15 ΡΠžΠ±Ρ‰ΠΈΠΉ Π»ΠΈΠΌΠΈΡ‚ TCP-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ…Π΅Π½Π΄ΡˆΠ΅ΠΉΠΊΠΎΠ² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ²)
ReadPayloadTimeout300 мсОТиданиС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (для сниффинга ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°)
DNSTimeout10 сЛимит DNS-запроса
UDPTimeout5 ΠΌΠΈΠ½ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ UDP-сСссии Π΄ΠΎ закрытия NAT-записи
ICMPTimeout10 ΡΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ICMP-сСссии
TCPKeepAliveInitial / Interval5 ΠΌΠΈΠ½ / 75 ΡΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ TCP keep-alive
DefaultURLTestInterval3 ΠΌΠΈΠ½ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ URL-тСста Π² Π³Ρ€ΡƒΠΏΠΏΠ°Ρ… urltest
DefaultURLTestIdleTimeout30 ΠΌΠΈΠ½ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ URL-тСст Π³Ρ€ΡƒΠΏΠΏΡ‹ засыпаСт
StartTimeout / StopTimeout / FatalStopTimeout10 с / 5 с / 10 сЛимиты запуска ΠΈ остановки сСрвисов ядра
TLSFragmentFallbackDelay500 мсЗадСрТка-фолбэк ΠΏΡ€ΠΈ TLS-Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

Π‘Π½ΠΈΡ„Ρ„Π΅Ρ€ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ связываСт извСстныС ΠΏΠΎΡ€Ρ‚Ρ‹ с ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ (PortProtocols): 53 β†’ DNS, 123 β†’ NTP, 3478 β†’ STUN, 443 (UDP) β†’ QUIC; для распознанных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ свои Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹ UDP-сСссий (ProtocolTimeouts): DNS/NTP/STUN β€” 10 с, QUIC/DTLS β€” 30 с. TTL DNS-ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” 600 с (constant/dns.go, DefaultDNSTTL).

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ Ρ„ΠΈΡ‡ Ρ„ΠΎΡ€ΠΊΠ°

ЗначСния ΠΈΠ· extended-ΠΊΠΎΠ΄Π° (подробности ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ β€” Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅):

Π“Π΄Π΅ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
Fallback-Π³Ρ€ΡƒΠΏΠΏΠ°blacklist_timeout ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ1 ΠΌΠΈΠ½ (нСисправный outbound Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ)
FailoverΡ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° ΠΊΠ°Π΄Ρ€ΠΎΠ²10 ΠΊΠ°Π΄Ρ€ΠΎΠ² (Π³Π»ΡƒΠ±ΠΈΠ½Π° восстановлСния сСссии; ΠΏΡ€ΠΈ большСм отставании β€” SessionBroken)
FailoverслуТСбный адрСс ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°sp.failover.sing-box.arpa:444
BondслуТСбный адрСс ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°sp.bond.sing-box.arpa:444
Bondсумма download_ratio ΠΈ upload_ratioобязана Ρ€Π°Π²Π½ΡΡ‚ΡŒΡΡ 100, ΠΈΠ½Π°Ρ‡Π΅ ошибка invalid ratios
ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ remoteupdate_interval ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ / ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ24 Ρ‡ / 1 ΠΌΠΈΠ½
ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€, health checkΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» / ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ / Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ / ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ10 ΠΌΠΈΠ½ / 1 ΠΌΠΈΠ½ / 3 с / 10 ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… URL-тСстов
Traffic-Π»ΠΈΠΌΠΈΡ‚Π΅Ρ€ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ счётчиков ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρƒ5 с
Node β†’ managerΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ gRPC-стрима5 с
Connection-Π»ΠΈΠΌΠΈΡ‚Π΅Ρ€ (lock_type: manager)ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ распрСдСлённого Π»ΠΎΠΊΠ° / TTL Π»ΠΎΠΊΠ° Π½Π° ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅5 с / 30 с
ManagerΠΏΡƒΠ» рассылки ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΡƒΠ·Π»Π°ΠΌ16 Π²ΠΎΡ€ΠΊΠ΅Ρ€ΠΎΠ²
Manager APIпрСфикс REST / Π»ΠΈΠΌΠΈΡ‚ списков ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ/manager/v1 / 100 записСй
ΠŸΠ΅Ρ€Π΅ΡΡ‡Ρ‘Ρ‚ скоростСйMbpsToBps (constant/speed.go)125 000 (1 ΠœΠ±ΠΈΡ‚/с = 125 000 Π±Π°ΠΉΡ‚/с β€” ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ для ΠΎΠΏΡ†ΠΈΠΉ speed Π»ΠΈΠΌΠΈΡ‚Π΅Ρ€ΠΎΠ²)

ΠœΠ°Π³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ числа ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ²

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π±Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ рСализациями (происхоТдСниС ΠΊΠΎΠ΄Π° β€” Π² Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ΅ ΠΎ происхоТдСнии ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ²):

  • XTLS-Vision: Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‡Π°Π½ΠΊΠ° 8192 Π±Π°ΠΉΡ‚Π°; ΠΏΠΎΡ€ΠΎΠ³ΠΈ ΠΏΠ°Π΄Π΄ΠΈΠ½Π³Π° β€” ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΊΠΎΡ€ΠΎΡ‡Π΅ 900 Π±Π°ΠΉΡ‚ дополняСтся Π΄ΠΎ 900 + rand(500), ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠ°Π΄Π΄ΠΈΠ½Π³ rand(256); 5-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ {ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° (2 Π±Π°ΠΉΡ‚Π°), Π΄Π»ΠΈΠ½Π° ΠΏΠ°Π΄Π΄ΠΈΠ½Π³Π° (2 Π±Π°ΠΉΡ‚Π°)}. ЗначСния ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Xray-core β€” ΠΈΠ½Π°Ρ‡Π΅ Vision-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ sing-box Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π±Ρ‹ с Vision-сСрвСром Xray.
  • Hysteria2: аутСнтификация β€” HTTP/3-запрос Π½Π° ΠΏΡƒΡ‚ΡŒ /auth с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ Hysteria-Auth, успСх β€” нСстандартный статус-ΠΊΠΎΠ΄ 233; ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ UDP-Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΡ‹ 4096 Π±Π°ΠΉΡ‚; обфускация Salamander β€” XOR с BLAKE2b-256(PSK + соль), соль 8 Π±Π°ΠΉΡ‚. Congestion control Brutal: ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 50 сэмплов, minAckRate 0.8.
  • Trojan: ΠΊΠ»ΡŽΡ‡ β€” SHA224-Ρ…Π΅Ρˆ пароля Π² hex (56 символов), Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ CRLF, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ TCP=1, UDP=3.

πŸ“š Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅


πŸ€– Π­Ρ‚ΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ Π½Π° Π½ΠΈΡ… ИИ

ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ИИ Π½Π° Π½Π°ΡˆΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ…. Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ скачиваниС всСго рСпозитория ΠΎΠ΄Π½ΠΈΠΌ zip-Π°Ρ€Ρ…ΠΈΠ²ΠΎΠΌ доступны Π² Forgejo: исходник этой Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Β· вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.