🦎 Hysteria 2 β€” ΠΊΠΎΠ½Ρ„ΠΈΠ³ сСрвСра

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

Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ сСрвСрный config.yaml для Hysteria 2: ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ TLS-сСртификата (ACME ΠΈΠ»ΠΈ свой), ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, маскировка ΠΏΠΎΠ΄ сайт (masquerade) ΠΈ запуск. Установка Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ° β€” Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ΅. ΠŸΠΎΠ»Π½Ρ‹ΠΉ справочник ΠΏΠΎ всСм полям β€” Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Full Server Config.

TL;DR

  • ΠšΠΎΠ½Ρ„ΠΈΠ³ β€” это YAML-Ρ„Π°ΠΉΠ» (/etc/hysteria/config.yaml ΠΏΡ€ΠΈ установкС скриптом). ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ для Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ сСрвСра: сСртификат + auth (ΠΏΠ°Ρ€ΠΎΠ»ΡŒ) + ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ masquerade.
  • Π‘ Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ ΠΏΡ€ΠΎΡ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ acme β€” Hysteria сама ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ бСсплатный сСртификат Let’s Encrypt/ZeroSSL. Π‘Π΅Π· Π΄ΠΎΠΌΠ΅Π½Π° β€” свой tls с самоподписанным сСртификатом (Ρ‚ΠΎΠ³Π΄Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π½ΡƒΠΆΠ΅Π½ insecure + pinSHA256).
  • masquerade заставляСт сСрвСр ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° HTTP-запросы ΠΊΠ°ΠΊ настоящий сайт (Ρ€Π΅ΠΆΠΈΠΌ proxy Β«Π²ΠΎΡ€ΡƒΠ΅Ρ‚Β» ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Ρ‡ΡƒΠΆΠΎΠ³ΠΎ сайта). Π­Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ ΠΊ ΠΎΠ±Ρ…ΠΎΠ΄Ρƒ Ρ†Π΅Π½Π·ΡƒΡ€Ρ‹ β€” Π±Π΅Π· Π½Π΅Π³ΠΎ сСрвСр Π½Π° любой HTTP-запрос ΠΎΡ‚Π΄Π°Ρ‘Ρ‚ Β«404 Not FoundΒ», Ρ‡Ρ‚ΠΎ выглядит ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.
  • ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π½Π° свой β€” это ΠΈ Π΅ΡΡ‚ΡŒ СдинствСнная Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Ρ‡ΡƒΠΆΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.
  • ПослС ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π° β€” systemctl restart hysteria-server.service.

Π“Π΄Π΅ Π»Π΅ΠΆΠΈΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ ΠΈ ΠΊΠ°ΠΊ запускаСтся

ΠŸΡ€ΠΈ установкС ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ скриптом ΠΊΠΎΠ½Ρ„ΠΈΠ³ β€” это /etc/hysteria/config.yaml, Π° сСрвис управляСтся Ρ‡Π΅Ρ€Π΅Π· systemd (systemctl restart hysteria-server.service). ΠŸΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΉ установкС Π²Ρ‹ сами ΠΊΠ»Π°Π΄Ρ‘Ρ‚Π΅ config.yaml рядом с Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΎΠΌ ΠΈ запускаСтС ./hysteria server (Ρ„Π°ΠΉΠ» config.yaml подхватываСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) ΠΈΠ»ΠΈ ./hysteria server -c whatever.yaml для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ A β€” сСртификат Ρ‡Π΅Ρ€Π΅Π· ACME (Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½)

Π­Ρ‚ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΡƒΡ‚ΡŒ: ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Π΄ΠΎΠΌΠ΅Π½ ΠΈ email, Hysteria сама ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ TLS-сСртификат ΠΈ автоматичСски Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΄Π»Π΅Π²Π°Π΅Ρ‚. Π”ΠΎΠΌΠ΅Π½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° IP сСрвСра (A/AAAA-запись).

# listen: :443
 
acme:
  domains:
    - your.domain.net
  email: your@email.com
 
auth:
  type: password
  password: Se7RAuFZ8Lzg
 
masquerade:
  type: proxy
  proxy:
    url: https://news.ycombinator.com/
    rewriteHost: true

Π§Ρ‚ΠΎ здСсь Ρ‡Ρ‚ΠΎ:

  • listen β€” адрСс ΠΈ ΠΏΠΎΡ€Ρ‚. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ :443 (ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ ΠΈ IPv4, ΠΈ IPv6). Π‘Ρ‚Ρ€ΠΎΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ; раскоммСнтируйтС ΠΈ помСняйтС, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π½ΡƒΠΆΠ΅Π½ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ€Ρ‚. 0.0.0.0:443 β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ IPv4, [::]:443 β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ IPv6.
  • acme.domains β€” ваш Π΄ΠΎΠΌΠ΅Π½ (ΠΌΠΎΠΆΠ½ΠΎ нСсколько). acme.email β€” ΠΏΠΎΡ‡Ρ‚Π° для рСгистрации Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ сСртификации.
  • auth β€” аутСнтификация ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². type: password β€” простой ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ password Π½Π° свой ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. Он ΠΆΠ΅ указываСтся Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.
  • masquerade β€” маскировка (см. Π½ΠΈΠΆΠ΅).

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ B β€” собствСнный сСртификат

Если сСртификат Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ сами (ΠΈΠ»ΠΈ ΠΎΠ½ самоподписанный):

# listen: :443
 
tls:
  cert: your_cert.crt
  key: your_key.key
 
auth:
  type: password
  password: Se7RAuFZ8Lzg
 
masquerade:
  type: proxy
  proxy:
    url: https://news.ycombinator.com/
    rewriteHost: true

tls.cert ΠΈ tls.key β€” ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ сСртификата ΠΈ ΠΊΠ»ΡŽΡ‡Π°. Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ TLS-Ρ€ΡƒΠΊΠΎΠΏΠΎΠΆΠ°Ρ‚ΠΈΠΈ, поэтому ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· пСрСзапуска сСрвСра. Если сСртификат самоподписанный, Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ придётся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ insecure: true вмСстС с pinSHA256 β€” ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

НСльзя ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ tls ΠΈ acme

Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ сСкция acme, Π»ΠΈΠ±ΠΎ сСкция tls, Π½ΠΎ Π½Π΅ ΠΎΠ±Π΅ сразу. Π’Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΠΎΠ΄ΠΈΠ½ способ получСния сСртификата.

Masquerade β€” маскировка ΠΏΠΎΠ΄ настоящий сайт

Одна ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½ устойчивости Hysteria ΠΊ Ρ†Π΅Π½Π·ΡƒΡ€Π΅ β€” ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ HTTP/3-Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ. Мало Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ выглядят ΠΊΠ°ΠΊ HTTP/3 для DPI β€” сСрвСр Π΅Ρ‰Ρ‘ ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° HTTP-запросы ΠΊΠ°ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π΅Π±-сСрвСр. Но для правдоподобия сСрвСр Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚.

ΠŸΡ€ΠΎΡ‰Π΅ всСго β€” Ρ€Π΅ΠΆΠΈΠΌ proxy: сСрвСр Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ прокси ΠΈ Β«Π²ΠΎΡ€ΡƒΠ΅Ρ‚Β» ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Ρ‡ΡƒΠΆΠΎΠ³ΠΎ сайта. ΠŸΠΎΠΌΠ΅Π½ΡΠΉΡ‚Π΅ url Π½Π° сайт, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΌΠΈΠΌΠΈΠΊΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. rewriteHost: true подмСняСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Host Π½Π° адрСс проксируСмого сайта β€” это Π½ΡƒΠΆΠ½ΠΎ, Ссли Ρ†Π΅Π»Π΅Π²ΠΎΠΉ сСрвСр ΠΏΠΎ Host Ρ€Π΅ΡˆΠ°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠΉ сайт ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ masquerade:

  • file β€” Ρ€Π°Π·Π΄Π°Π²Π°Ρ‚ΡŒ статичСскиС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° (dir: /www/masq).
  • string β€” всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π½ΡƒΡŽ строку (content: ..., ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ свои headers ΠΈ statusCode).
  • proxy β€” ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ прокси Π½Π° Ρ‡ΡƒΠΆΠΎΠΉ сайт (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅).

Π‘Π΅Π· masquerade сСрвСр Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Β«404Β»

Если ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΡΠ΅ΠΊΡ†ΠΈΡŽ masquerade Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Hysteria Π½Π° любой HTTP-запрос Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Β«404 Not FoundΒ». Π‘Π°ΠΌΠΎ ΠΏΠΎ сСбС это Π½Π΅ Π»ΠΎΠΌΠ°Π΅Ρ‚ прокси, Π½ΠΎ для стороннСго Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Ρ (ΠΈΠ»ΠΈ Ρ†Π΅Π½Π·ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅ΡˆΠΈΡ‚ ΠΏΠΎΡΡ‚ΡƒΡ‡Π°Ρ‚ΡŒΡΡ Π½Π° ваш Π΄ΠΎΠΌΠ΅Π½ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ) сСрвСр, ΠΎΡ‚Π΄Π°ΡŽΡ‰ΠΈΠΉ Π³ΠΎΠ»Ρ‹ΠΉ 404 Π½Π° всё, выглядит ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅, Ρ‡Π΅ΠΌ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт. Если ΠΎΠ±Ρ…ΠΎΠ΄ Ρ†Π΅Π½Π·ΡƒΡ€Ρ‹ β€” Ρ†Π΅Π»ΡŒ, оставляйтС masquerade.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ маскировку ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ маскировка Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, запуститС Chrome с Ρ„Π»Π°Π³ΠΎΠΌ форс-QUIC: chrome --origin-to-force-quic-on=your.site.com:443 (ΠΏΠ΅Ρ€Π΅Π΄ этим ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ всС процСссы Chrome, ΠΈΠ½Π°Ρ‡Π΅ Ρ„Π»Π°Π³ Π½Π΅ подСйствуСт), Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ https://your.site.com β€” Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ замаскированная страница.

Запуск ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°

Если ставили скриптом β€” просто пСрСзапуститС сСрвис послС ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°:

systemctl restart hysteria-server.service
journalctl --no-pager -e -u hysteria-server.service

Если запускаСтС Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ:

sudo setcap cap_net_bind_service=+ep ./hysteria   # Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΡ€Ρ‚ 443 Π±Π΅Π· root
./hysteria server                                 # config.yaml подхватится сам

ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ успСха β€” Π² Π»ΠΎΠ³Π°Ρ… строка Β«server up and runningΒ» Π±Π΅Π· ошибок. Π”Π°Π»ΡŒΡˆΠ΅ настройтС ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля

Π’ ΠΏΠΎΠ»Π½ΠΎΠΌ справочникС сСрвСра Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ†ΠΈΠΉ свСрх ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ°: нСсколько ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (auth.type: userpass), HTTP-аутСнтификация Ρ‡Π΅Ρ€Π΅Π· свой бэкСнд, Π»ΠΈΠΌΠΈΡ‚Ρ‹ скорости (bandwidth β€” см. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ Brutal), ACL ΠΈ outbound’ы для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Traffic Stats API для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, обфускация (см. ΠžΠ±Ρ„ΡƒΡΠΊΠ°Ρ†ΠΈΡ ΠΈ port hopping). Если Ρƒ сСрвСра Π½Π΅Ρ‚ Π±Π΅Π»ΠΎΠ³ΠΎ IP β€” Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Π·Π° NAT Ρ‡Π΅Ρ€Π΅Π· Realms.

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


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

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