π¦ 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: truetls.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.
π Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° β ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ°Π³: ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ ΠΈ ΡΠ΅ΡΠ²ΠΈΡ.
- ΠΠΎΠ½ΡΠΈΠ³ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° β ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³: Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
- Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΈ Brutal β ΠΏΡΠΎ ΠΏΠΎΠ»Π΅
bandwidthΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ. - ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΈ port hopping β Π΅ΡΠ»ΠΈ QUIC ΡΠ΅ΠΆΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠΌ.
- ACL ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ ΡΡΠ°ΡΠΈΠΊΠ° β Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈ ΡΠ°Π·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ outboundβΠ°ΠΌ.
- Traffic Stats API β ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ.
- Realms: ΡΠ΅ΡΠ²Π΅Ρ Π·Π° NAT β Π΅ΡΠ»ΠΈ Π½Π΅Ρ Π±Π΅Π»ΠΎΠ³ΠΎ IP.
- π Server tutorial Β· Full Server Config
π€ ΠΡΠΈ ΡΡΠ°ΡΡΠΈ ΠΎΡΠΊΡΡΡΡ β ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ°ΡΡ Π½Π° Π½ΠΈΡ ΠΠ
ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΠ΅Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΠ Π½Π° Π½Π°ΡΠΈΡ ΡΡΠ°ΡΡΡΡ . ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ zip-Π°ΡΡ ΠΈΠ²ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² Forgejo: ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ ΡΡΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Β· Π²Π΅ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.