рдкрд░рд┐рдЪрдп
рдкрд╣рд┐рд▓реЛ рднрд╛рдЧ рдорд╛ рд╣рд╛рдореАрд▓реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб SNI (eSNI) рд╕рдВрдпрдиреНрддреНрд░рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рджрд┐рдПрдХрд╛ рдЫреМрдВред рддрд┐рдиреАрд╣рд░реВрд▓реЗ рджреЗрдЦрд╛рдП рдХрд┐, рдпрд╕рдХреЛ рдЖрдзрд╛рд░рдорд╛, рдЖрдзреБрдирд┐рдХ DPI рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ (Beline DPI рд░ рдкреНрд░рддрд┐рдмрдиреНрдзрд┐рдд RKN рд░реВрдЯ рдЯреНрд░реНрдпрд╛рдХрд░рдХреЛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░) рджреНрд╡рд╛рд░рд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдирдмрд╛рдЯ рдмрдЪреНрди рдХрд╕рд░реА рд╕рдореНрднрд╡ рдЫ, рд░ рдпрд╕ рдореЗрдХрд╛рдирд┐рдЬреНрдордорд╛ рдЖрдзрд╛рд░рд┐рдд рдбреЛрдореЗрди рдлреНрд░рдиреНрдЯрд┐рдЩрдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рдкрдирд┐ рдЕрдиреНрд╡реЗрд╖рдг рдЧрд░реЗред
рд▓реЗрдЦрдХреЛ рджреЛрд╕реНрд░реЛ рднрд╛рдЧрдорд╛, рд╣рд╛рдореА рдердк рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЪреАрдЬрд╣рд░реВрдорд╛ рдЬрд╛рдиреНрдЫреМрдВ рдЬреБрди RedTeam рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реВрд▓рд╛рдИ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдХрдард┐рди рдХрд╛рдордорд╛ рдЙрдкрдпреЛрдЧреА рд╣реБрдиреЗрдЫред рдЕрдиреНрддрдорд╛, рд╣рд╛рдореНрд░реЛ рд▓рдХреНрд╖реНрдп рдЕрд╡рд░реБрджреНрдз рд╕реНрд░реЛрддрд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБ рд╣реЛрдЗрди (рдпрд╕реНрддрд╛ рддреБрдЪреНрдЫ рдЪреАрдЬрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореАрд╕рдБрдЧ рд░рд╛рдореНрд░реЛ рдкреБрд░рд╛рдиреЛ VPN рдЫ)ред рд╕реМрднрд╛рдЧреНрдпрд╡рд╢, рддреНрдпрд╣рд╛рдБ VPN рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрдХреЛ рдПрдХ рдареВрд▓реЛ рд╡рд┐рд╡рд┐рдзрддрд╛ рдЫ, рддрд┐рдиреАрд╣рд░реВ рднрдиреНрдЫрдиреН, рд╣рд░реЗрдХ рд╕реНрд╡рд╛рдж, рд░рдВрдЧ рд░ рдмрдЬреЗрдЯрдХреЛ рд▓рд╛рдЧрд┐ред
рд╣рд╛рдореА рдЖрдзреБрдирд┐рдХ RedTeam рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ рдбреЛрдореЗрди-рдлреНрд░рдиреНрдЯрд┐рдЩ рдореЗрдХрд╛рдирд┐рдЬрдо рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреЗрдЫреМрдВ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХреЛрдмрд╛рд▓реНрдЯ рд╕реНрдЯреНрд░рд╛рдЗрдХ, рдПрдореНрдкрд╛рдпрд░, рдЗрддреНрдпрд╛рджрд┐, рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЖрдзреБрдирд┐рдХ рд╕рд╛рдордЧреНрд░реА рдлрд┐рд▓реНрдЯрд░рд┐рдЩ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рдирдХреНрдХрд▓ рдЧрд░реНрди рд░ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрди рдердк рдХреНрд╖рдорддрд╛рд╣рд░реВ рджрд┐рдиреЗрдЫреМрдВред
рдкрдЫрд┐рд▓реНрд▓реЛ рдкрдЯрдХ рд╣рд╛рдореАрд▓реЗ OpenSSL рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдорд╛ eSNI рдореЗрдХрд╛рдирд┐рдЬрдо рд▓рд╛рдЧреВ рдЧрд░реНрдпреМрдВ рд░ рдпрд╕рд▓рд╛рдИ рдкрд░рд┐рдЪрд┐рдд рдХрд░реНрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдорд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНтАНрдпреМрдВред рддрд░, рддрд┐рдиреАрд╣рд░реВ рднрдиреНрдЫрдиреН, рддрдкрд╛рдИрдВ рдХреЗрд╡рд▓ рдПрдЙрдЯрд╛ рдХреБрдЦреБрд░рд╛рд╕рдБрдЧ рд╕рдиреНрддреБрд╖реНрдЯ рд╣реБрдиреБрд╣реБрдиреНрдиред рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдо рдЙрдЪреНрдЪ-рд╕реНрддрд░ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рдпрд╕реНрддреИ рдХреЗрд╣рд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред рддрд░, рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рджреНрд░реБрдд рдЦреЛрдЬрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдирд┐рд░рд╛рд╢ рдмрдирд╛рдЙрдБрдЫ, рдХрд┐рдирднрдиреЗ eSNI рд╕рдВрдпрдиреНрддреНрд░рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдкреВрд░реНрдг рд░реВрдкрдорд╛ GOLANG рдорд╛ рдорд╛рддреНрд░ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред рдпрд╕реИрд▓реЗ, рд╣рд╛рдореАрд╕рдБрдЧ рдзреЗрд░реИ рд╡рд┐рдХрд▓реНрдк рдЫреИрди: рдпрд╛ рдд рд╣рд╛рдореА рдкреНрдпрд╛рдЪ рдЧрд░рд┐рдПрдХреЛ OpenSSL рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╢реБрджреНрдз C рд╡рд╛ C++ рдорд╛ рд▓реЗрдЦреНрдЫреМрдВ, рд╡рд╛ рд╣рд╛рдореА CloudFlare рдмрд╛рдЯ рдЫреБрдЯреНрдЯреИ GOLANG рдлреЛрд░реНрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ рд░ рддреНрдпрд╣рд╛рдБ рд╣рд╛рдореНрд░рд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреЛрд░реНрдЯ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдЫреМрдВред рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рддреНрдпрд╣рд╛рдБ рдЕрд░реНрдХреЛ рд╡рд┐рдХрд▓реНрдк рдЫ, рдЕрдзрд┐рдХ рдХреНрд▓рд╛рд╕рд┐рдХ, рддрд░ рдПрдХреИ рд╕рдордпрдорд╛ рд╕рдордп-рдЙрдкрднреЛрдЧ - рдкрд╛рдЗрдердирдХреЛ рд▓рд╛рдЧрд┐ eSNI рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдЧрд░реНрдиред рдЖрдЦрд┐рд░, рдкрд╛рдЗрдердирд▓реЗ рдкрдирд┐ https рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрди OpenSSL рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред рддрд░ рд╣рд╛рдореА рдпреЛ рд╡рд┐рдХрд▓реНрдк рдЕрд░реВ рдХрд╕реИрдХреЛ рд╡рд┐рдХрд╛рд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЫреЛрдбреНрдиреЗрдЫреМрдВ, рд░ рд╣рд╛рдореА рдЖрдлреИрдВ Golang рдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛ рд╕рдиреНрддреБрд╖реНрдЯ рд╣реБрдиреЗрдЫреМрдВ, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рд╣рд╛рдореНрд░реЛ рдкреНрдпрд╛рд░реЛ рдХреЛрдмрд╛рд▓реНрдЯ рд╕реНрдЯреНрд░рд╛рдЗрдХ рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдЙрдкрдХрд░рдгрд╣рд░реВ (рдмрд╛рд╣реНрдп C2 рдЪреНрдпрд╛рдирд▓) рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рд╕рдЮреНрдЪрд╛рд░ рдЪреНрдпрд╛рдирд▓рд╕рдБрдЧ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрд╖рдо рдЫред - рд╣рд╛рдореА рд▓реЗрдЦрдХреЛ рдЕрдиреНрддреНрдпрдорд╛ рдпрд╕ рдмрд╛рд░реЗ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреМрдВред
рдЕрдЭ рдХрдбрд╛ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН...
Go рдорд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХрд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдордзреНрдпреЗ рдПрдЙрдЯрд╛ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдкрд┐рднреЛрдЯ рдЧрд░реНрдиреЗ рд╣рд╛рдореНрд░реЛ рд╡рд┐рдХрд╛рд╕ рд╣реЛ - рдПрдЙрдЯрд╛ рдЯрдиреЗрд▓рд░ , рдЬреБрди, рд╡реИрд╕реЗ, рдЕрдм Microsoft рд░ Symantec рдмрд╛рдЯ рдЙрдкрдХрд░рдгрд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЗрдПрдХреЛ рдЫ рдзреЗрд░реИ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рд╕рдлреНрдЯрд╡реЗрдпрд░рдХреЛ рд░реВрдкрдорд╛ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рд╕реНрдерд┐рд░рддрд╛рдорд╛ рдмрд╛рдзрд╛ рдкреБрд░реНтАНрдпрд╛рдЙрдиреЗ рдЙрджреНрджреЗрд╢реНрдпрд▓реЗ ...

рдпреЛ рдорд╛рдорд▓рд╛ рдорд╛ рдкрдирд┐ рдЕрдШрд┐рд▓реНрд▓реЛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд░рд╛рдореНрд░реЛ рд╣реБрдиреЗрдЫред рддрд░ рдпрд╣рд╛рдБ рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рд╕рдорд╕реНрдпрд╛ рдЫред рддрдереНрдп рдпреЛ рд╣реЛ рдХрд┐ рд╕реБрд░реБрдорд╛ rsockstun рд▓реЗ рд╕рд░реНрднрд░рд╕рдБрдЧ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ SSL рд╕рдВрдЪрд╛рд░ рдЪреНрдпрд╛рдирд▓рдХреЛ рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рдЬрдбрд╛рди рдПрдХ рдкрдЯрдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реБрдиреНрдЫ рд░ рд╕реБрд░реБрдЩрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд╕рдореНрдкреВрд░реНрдг рдЕрд╡рдзрд┐рдХреЛ рд▓рд╛рдЧрд┐ рдЕрд╡рд╕реНрдерд┐рдд рд╣реБрдиреНрдЫред рд░, рддрдкрд╛рдИрдВрд▓реЗ рдмреБрдЭреНрдиреБрднрдПрдХреЛ рд░реВрдкрдорд╛, https рдкреНрд░реЛрдЯреЛрдХрд▓ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдпрд╕ рдореЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рдЙрджреНрджреЗрд╢реНрдп рд╣реЛрдЗрди - рдпрд╕рд▓реЗ рдЕрдиреБрд░реЛрдз-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЛрдбрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫ, рдЬрд╣рд╛рдБ рдкреНрд░рддреНрдпреЗрдХ рдирдпрд╛рдБ http рдЕрдиреБрд░реЛрдз рдирдпрд╛рдБ tcp рдЬрдбрд╛рди рднрд┐рддреНрд░ рдЕрд╡рд╕реНрдерд┐рдд рд╣реБрдиреНрдЫред
рдпрд╕ рдпреЛрдЬрдирд╛рдХреЛ рдореБрдЦреНрдп рд╣рд╛рдирд┐ рдпреЛ рд╣реЛ рдХрд┐ рд╕рд░реНрднрд░рд▓реЗ рдЧреНрд░рд╛рд╣рдХрд▓рд╛рдИ рдбрд╛рдЯрд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрди рд╕рдХреНрджреИрди рдЬрдмрд╕рдореНрдо рдЧреНрд░рд╛рд╣рдХрд▓реЗ рдирдпрд╛рдБ http рдЕрдиреБрд░реЛрдз рдкрдард╛рдЙрдБрджреИрдиред рддрд░, рд╕реМрднрд╛рдЧреНрдп рджреЗрдЦрд┐, рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдзреЗрд░реИ рд╡рд┐рдХрд▓реНрдкрд╣рд░реБ рдЫрдиреН - HTTP рдкреНрд░реЛрдЯреЛрдХрд▓ рдорд╛рд░реНрдлрдд рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рд┐рдорд┐рдЩ (рд╕рдмреИ рдкрдЫрд┐, рд╣рд╛рдореА рдХреБрдиреИ рди рдХреБрдиреИ рд░реВрдкрдорд╛ рд╣рд╛рдореНрд░реЛ рдордирдкрд░реНрдиреЗ рдЯрд┐рднреА рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВ рд╣реЗрд░реНрди рд░ https рдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдкреЛрд░реНрдЯрд▓рдмрд╛рдЯ рд╕рдВрдЧреАрдд рд╕реБрдиреНрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдЫреМрдВ, рддрд░ рднрд┐рдбрд┐рдпреЛ рд░ рдЕрдбрд┐рдпреЛ рдкреНрд░рд╕рд╛рд░рдг рдЕрд░реВ рдХреЗрд╣рд┐ рд╣реЛрдЗрдиред рд╕реНрдЯреНрд░рд┐рдорд┐рдЩ рдбрд╛рдЯрд╛ рднрдиреНрджрд╛)ред HTTP рдкреНрд░реЛрдЯреЛрдХрд▓рдорд╛ рдкреВрд░реНрдг TCP рдЬрдбрд╛рдирдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдЕрдиреБрдХрд░рдг рдЧрд░реНрдиреЗ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рд╣реЛ WebSockets рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреА, рдЬрд╕рдХреЛ рдореБрдЦреНрдп рд╕рд╛рд░ рднрдиреЗрдХреЛ рдЧреНрд░рд╛рд╣рдХ рд░ рд╡реЗрдм рд╕рд░реНрднрд░ рдмреАрдЪрдХреЛ рдкреВрд░реНрдг рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рдирд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреБ рд╣реЛред
рд╕реМрднрд╛рдЧреНрдпрд╡рд╢ рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ (рд╣реБрд░реНрд░реЗ!!!), рдпреЛ рдкреНрд░рд╡рд┐рдзрд┐ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рд╕рдмреИ CloudFlare рдЯреНрдпрд╛рд░рд┐рдл рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ eSNI рд╕рдБрдЧ рд╕рдВрдпреЛрдЬрдирдорд╛ рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рдо рдЧрд░реНрджрдЫред рдпреЛ рдареНрдпрд╛рдХреНрдХреИ рдпрд╣реА рд╣реЛ рдЬреБрди рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ рдЯрдиреЗрд▓рд░рд▓рд╛рдИ рдбреЛрдореЗрди-рдлреНрд░рдиреНрдЯрд┐рдЩ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд░ рдЖрдзреБрдирд┐рдХ DPIs рдмрд╛рдЯ рд▓реБрдХрд╛рдЙрди рд╕рд┐рдХрд╛рдЙрдиреЗ рдЫреМрдВред
WebSockets рдХреЛ рдмрд╛рд░реЗрдорд╛ рдереЛрд░реИ
рд╕рдмреИ рднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ, рд╣рд╛рдореА рдЫреЛрдЯрдХрд░реАрдорд╛ рд░ рд╕рд░рд▓ рд╢рдмреНрджрд╣рд░реВрдорд╛ рд╡реЗрдмрд╕рдХреЗрдЯрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреМрдВ рддрд╛рдХрд┐ рд╕рдмреИрд▓рд╛рдИ рд╣рд╛рдореА рдХреЗрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗрдЫреМрдВ рднрдиреНрдиреЗ рдХреБрд░рд╛рдХреЛ рдХрд▓реНрдкрдирд╛ рдЫред
Websocket рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреАрд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдЕрд╕реНрдерд╛рдпреА рд░реВрдкрдорд╛ HTTP рдЬрдбрд╛рдирдмрд╛рдЯ рдорд╛рдирдХ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдХреЗрдЯ рд╕реНрдЯреНрд░рд┐рдорд┐рдЩрдорд╛ рд╕реНрдерд╛рдкрд┐рдд TCP рдЬрдбрд╛рди рддреЛрдбреЗ рдмрд┐рдирд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЬрдм рдЧреНрд░рд╛рд╣рдХрд▓реЗ рд╡реЗрдмрд╕рдХреЗрдЯрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫ, рдпрд╕рд▓реЗ рдпрд╕рдХреЛ http рдЕрдиреБрд░реЛрдзрдорд╛ рдзреЗрд░реИ http рд╣реЗрдбрд░рд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрджрдЫред рджреБрдИ рдЖрд╡рд╢реНрдпрдХ рд╣реЗрдбрд░ - рдЬрдбрд╛рди: рдЕрдкрдЧреНрд░реЗрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН ╨╕ рдЕрдкрдЧреНрд░реЗрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН: рд╡реЗрдмрд╕рдХреЗрдЯред рдЙрд╕рд▓реЗ рдмрд▓рдкреВрд░реНрд╡рдХ рд╡реЗрдмрд╕рдХреЗрдЯ рдкреНрд░реЛрдЯреЛрдХрд▓ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдЫ (рд╕реЗрдХреЗрдиреНрдб-рд╡реЗрдмрд╕рдХрд╕реЗрдЯ-рд╕рдВрд╕реНрдХрд░рдг: 13) рд░ рдХреЗрд╣рд┐ рдмреЗрд╕64 рд╡реЗрдмрд╕рдХреЗрдЯ рдкрд╣рд┐рдЪрд╛рдирдХрд░реНрддрд╛ рдЬрд╕реНрддреИ (рд╕реЗрдХ-рд╡реЗрдмрд╕рдХреЗрдЯ-рдХреБрдЮреНрдЬреА: DAGDJSiREI3+KjDfwxm1FA==)ред рд╕рд░реНрднрд░рд▓реЗ рдЙрд╕рд▓рд╛рдИ HTTP рдХреЛрдб 101 рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рд╕рд╛рде рдЬрд╡рд╛рдл рджрд┐рдиреНрдЫ рд░ рд╣реЗрдбрд░рд╣рд░реВ рдкрдирд┐ рд╕реЗрдЯ рдЧрд░реНрджрдЫред рдЬрдбрд╛рди, рдЕрдкрдЧреНрд░реЗрдб ╨╕ рд╕реЗрдХ-рд╡реЗрдмрд╕рдХреЗрдЯ-рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рддрд▓рдХреЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рджреЗрдЦрд╛рдЗрдПрдХреЛ рдЫ:

рдпрд╕ рдкрдЫрд┐, WebSocket рдЬрдбрд╛рдирдХреЛ рд╕реНрдерд╛рдкрдирд╛ рдкреВрд░реНрдг рдорд╛рдиреНрди рд╕рдХрд┐рдиреНрдЫред рдХреНрд▓рд╛рдЗрдиреНрдЯ рд░ рд╕рд░реНрднрд░ рджреБрдмреИрдмрд╛рдЯ рдХреБрдиреИ рдкрдирд┐ рдбрд╛рдЯрд╛ рдЕрдм http рдорд╛рд░реНрдлрдд рдирднрдИ WebSocket рд╣реЗрдбрд░рд╣рд░реВрд╕рдБрдЧ рдЖрдкреВрд░реНрддрд┐ рдЧрд░рд┐рдиреЗрдЫ (рддрд┐рдиреАрд╣рд░реВ рдмрд╛рдЗрдЯ 0x82 рдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдиреНрдЫрдиреН)ред рдЕрдм рд╕рд░реНрднрд░рд▓реЗ рдЧреНрд░рд╛рд╣рдХрдмрд╛рдЯ рдбрд╛рдЯрд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрди рдЕрдиреБрд░реЛрдзрдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдЦрдиреБ рдкрд░реНрджреИрди, рдХрд┐рдирднрдиреЗ tcp рдЬрдбрд╛рди рдЯреБрдЯреЗрдХреЛ рдЫреИрдиред
Golang рд╕рдБрдЧ рд╡реЗрдмрд╕рдХреЗрдЯрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рдЫрдиреНред рддреА рдордзреНрдпреЗ рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдЫрдиреН рд░ рдорд╛рдирдХ ред рд╣рд╛рдореА рдкрдЫрд┐рд▓реНрд▓реЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВ, рдХрд┐рдирднрдиреЗ ... рдпреЛ рд╕рд░рд▓ рдЫ, рд╕рд╛рдиреЛ рд░, рддрд┐рдиреАрд╣рд░реВ рднрдиреНрдЫрдиреН, рдЕрд▓рд┐ рдЫрд┐рдЯреЛ рдХрд╛рдо рдЧрд░реНрджрдЫред
rsockstun рдХреНрд▓рд╛рдЗрдиреНрдЯ рдХреЛрдбрдорд╛, рд╣рд╛рдореАрд▓реЗ net.dial рд╡рд╛ tls.dial рдХрд▓рд╣рд░реВрд▓рд╛рдИ рд╕рдореНрдмрдиреНрдзрд┐рдд WebSocket рдХрд▓рд╣рд░реВрд╕рдБрдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:


рд╣рд╛рдореА рд╣рд╛рдореНрд░реЛ рдЯрдиреЗрд▓рдХреЛ рдХреНрд▓рд╛рдЗрдиреНрдЯрд▓рд╛рдИ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд░ рдкреНрд░рддреНрдпрдХреНрд╖ SSL рдЬрдбрд╛рди рд░ WebSocset рдкреНрд░реЛрдЯреЛрдХрд▓ рдорд╛рд░реНрдлрдд рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрд╖рдо рдмрдирд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫреМрдВред рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА рдЫреБрдЯреНрдЯреИ рдкреНрд░рдХрд╛рд░реНрдп рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫреМрдВ func connectForWsSocks (рдареЗрдЧрд╛рдирд╛ рд╕реНрдЯреНрд░рд┐рдЩ, рдкреНрд░реЛрдХреНрд╕реА рд╕реНрдЯреНрд░рд┐рдЩ) рддреНрд░реБрдЯрд┐ {тАж} рд╕рдВрдЧ рд╕рдорд╛рдирддрд╛ рджреНрд╡рд╛рд░рд╛ connectForSocks() рд░ рдпрджрд┐ рдХреНрд▓рд╛рдЗрдиреНрдЯ рд╕реБрд░реБ рдЧрд░реНрджрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рд╕рд░реНрднрд░ рдареЗрдЧрд╛рдирд╛ ws: рд╡рд╛ wss: (Secure WebSocket рдХреЛ рдорд╛рдорд▓рд╛рдорд╛) рдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдиреНрдЫ рднрдиреЗ рд╣рд╛рдореА рд╡реЗрдм рд╕рдХреЗрдЯрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВред
рд╕реБрд░реБрдЩрдХреЛ рд╕рд░реНрднрд░ рд╕рд╛рдЗрдбрдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рд╡реЗрдм рд╕рдХреЗрдЯрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЫреБрдЯреНрдЯреИ рдкреНрд░рдХрд╛рд░реНрдп рдкрдирд┐ рдмрдирд╛рдЙрдиреЗрдЫреМрдВред рдпрд╕рд▓реЗ http рд╡рд░реНрдЧрдХреЛ рдЙрджрд╛рд╣рд░рдг рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫ рд░ http рдЬрдбрд╛рди рд╣реНрдпрд╛рдиреНрдбрд▓рд░ (wsHandler рдкреНрд░рдХрд╛рд░реНрдп) рд╕реЗрдЯ рдЧрд░реНрдиреЗрдЫ:

рд░ рд╣рд╛рдореА рд╡реЗрдмрд╕рдХреЗрдЯ рдЬрдбрд╛рди рд╣реНрдпрд╛рдиреНрдбрд▓рд░рдорд╛ рд╕рдмреИ рдЬрдбрд╛рди рдкреНрд░рд╢реЛрдзрди рддрд░реНрдХ (рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХреНрд▓рд╛рдЗрдиреНрдЯ рдкреНрд░рд╛рдзрд┐рдХрд░рдг, рд╕реЗрдЯрдЕрдк рд░ yamux рд╕рддреНрд░ рд╕рдорд╛рдкреНрдд рдЧрд░реНрдиреЗ) рд░рд╛рдЦреНрдиреЗрдЫреМрдВ:

рд╣рд╛рдореА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдЫреМрдВ рд░ рд╕рд░реНрднрд░ рднрд╛рдЧ рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВ:
./rsockstun тАУlisten ws:127.0.0.1:8080 тАУpass P@ssw0rdрд░ рддреНрдпрд╕рдкрдЫрд┐ рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧ:
./rsockstun -connect ws:127.0.0.1:8080 тАУpass P@ssw0rdрд░ рд╣рд╛рдореА рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯрдорд╛ рдХрд╛рдо рдЬрд╛рдБрдЪ рдЧрд░реНрдЫреМрдВ:


рдбреЛрдореЗрди рдлреНрд░рдиреНрдЯрд┐рдЩрдорд╛ рдЬрд╛рдФрдВ
рд╣рд╛рдореАрд▓реЗ рд╡реЗрдмрд╕рдХреЗрдЯрд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдПрдХреЛ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫред рдЕрдм рд╕рд┐рдзреИ eSNI рд░ рдбреЛрдореЗрди рдлреНрд░рдиреНрдЯрд┐рдЩрдорд╛ рдЬрд╛рдФрдВред рдорд╛рдерд┐ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдЭреИрдВ, DoH рд░ eSNI рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╣рд╛рдореАрд▓реЗ рдХрдореНрдкрдиреАрдмрд╛рдЯ рд╡рд┐рд╢реЗрд╖ рдЧреЛрд▓рд╛рдЩреНрдЧ рд╢рд╛рдЦрд╛ рд▓рд┐рдиреБрдкрд░реНрдЫ ред рд╣рд╛рдореАрд▓рд╛рдИ eSNI рд╕рдорд░реНрдерди (pwu/esni) рднрдПрдХреЛ рд╢рд╛рдЦрд╛ рдЪрд╛рд╣рд┐рдиреНрдЫред
рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рд╕реНрдерд╛рдиреАрдп рд░реВрдкрдорд╛ рдХреНрд▓реЛрди рдЧрд░реНрдЫреМрдВ рд╡рд╛ рд╕рдореНрдмрдиреНрдзрд┐рдд zip рдбрд╛рдЙрдирд▓реЛрдб рд░ рдЕрдирдХрдореНрдкреНрд░реЗрд╕ рдЧрд░реНрдЫреМрдВ:
git clone -b pwu/esni https://github.com/cloudflare/tls-tris.gitрддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдореАрд▓реЗ GOROOT рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдХреНрд▓реЛрди рдЧрд░рд┐рдПрдХреЛ рд╢рд╛рдЦрд╛рдмрд╛рдЯ рд╕рдореНрдмрдиреНрдзрд┐рдд рдлрд╛рдЗрд▓рд╣рд░реВ рдмрджрд▓реНрдиреБрд╣реЛрд╕реН рд░ рдпрд╕рд▓рд╛рдИ рдорд╛рд╕реНрдЯрд░рдХреЛ рд░реВрдкрдорд╛ рд╕реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓рд╛рдИ рдпреЛ рдЯрд╛рдЙрдХреЛ рджреБрдЦрд╛рдЗрдмрд╛рдЯ рдмрдЪрд╛рдЙрди, CloudFlare рдХрд╛ рдХреЗрдЯрд╛рд╣рд░реВрд▓реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрдпрд╛рд░ рдЧрд░реЗрдХрд╛ рдЫрдиреН - _dev/go.shред рд╣рд╛рдореАрд▓реЗ рднрд░реНрдЦрд░реИ рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВред рдореЗрдХрдлрд╛рдЗрд▓рдХреЛ рд╕рд╛рде рд▓рд┐рдкрд┐рд▓реЗ рд╕рдмреИ рдХреБрд░рд╛ рдЖрдлреИрдВ рдЧрд░реНрдиреЗрдЫред рдХреЗрд╡рд▓ рд░рдорд╛рдИрд▓реЛрдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБ рд╡рд┐рд╡рд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдореЗрдХрдлрд╛рдЗрд▓ рднрд┐рддреНрд░ рд╣реЗрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдкрдЫрд┐, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрджрд╛, рд╣рд╛рдореАрд▓реЗ GOROOT рдХреЛ рд░реВрдкрдорд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрджреНрд╡рд╛рд░рд╛ рддрдпрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рд╕реНрдерд╛рдиреАрдп рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫред рд╣рд╛рдореНрд░реЛ рдорд╛рдорд▓рд╛ рдорд╛ рдпреЛ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:
GOROOT="/opt/tls-tris/_dev/GOROOT/linux_amd64" go build тАж.рдЕрд░реНрдХреЛ, рд╣рд╛рдореАрд▓реЗ рдЯрдиреЗрд▓рдорд╛ рд╡рд╛рдВрдЫрд┐рдд рдбреЛрдореЗрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ eSNI рдХреБрдЮреНрдЬреАрд╣рд░реВ рдЕрдиреБрд░реЛрдз рдЧрд░реНрдиреЗ рд░ рдкрд╛рд░реНрд╕ рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рд╣рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдпреА CloudFlare рдлреНрд░рдиреНрдЯрдПрдиреНрдб рд╕рд░реНрднрд░рд╣рд░реВрдмрд╛рдЯ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ eSNI рдХреБрдЮреНрдЬреАрд╣рд░реВ рд╣реБрдиреЗрдЫрдиреНред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рддреАрди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫреМрдВ:
func makeDoTQuery(dnsName string) ([]byte, error)
func parseTXTResponse(buf []byte, wantName string) (string, error)
func QueryESNIKeysForHost(hostname string) ([]byte, error)рдХрд╛рд░реНрдпрдХрд╛ рдирд╛рдорд╣рд░реВ, рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рдЖрдлреИрд▓реЗ рдмреЛрд▓реНрдЫрдиреНред рд╣рд╛рдореА рд╕рд╛рдордЧреНрд░реА esni_query.go рдлрд╛рдЗрд▓рдмрд╛рдЯ рд▓рд┐рдиреЗрдЫреМрдВ, рдЬреБрди tls-tris рдХреЛ рдЕрдВрд╢ рд╣реЛред рдкрд╣рд┐рд▓реЛ рдкреНрд░рдХрд╛рд░реНрдпрд▓реЗ DoH (DNS-over-HTTPS) рдкреНрд░реЛрдЯреЛрдХрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ CloudFlare DNS рд╕рд░реНрднрд░рдорд╛ рдЕрдиреБрд░реЛрдзрдХреЛ рд╕рд╛рде рдиреЗрдЯрд╡рд░реНрдХ рдкреНрдпрд╛рдХреЗрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ, рджреЛрд╕реНрд░реЛрд▓реЗ рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рдкрд╛рд░реНрд╕ рдЧрд░реНрджрдЫ рд░ рдбреЛрдореЗрдирдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреАрд╣рд░реВрдХреЛ рдорд╛рдирд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫ, рд░ рддреЗрд╕реНрд░реЛ рд╣реЛред рдкрд╣рд┐рд▓реЛ рджреБрдИ рдХреЛ рд▓рд╛рдЧрд┐ рдХрдиреНрдЯреЗрдирд░ред
рдЕрд░реНрдХреЛ, рд╣рд╛рдореА рд╣рд╛рдореНрд░реЛ рдирдпрд╛рдБ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рдХрд╛рд░реНрдпрдорд╛ рд╡реЗрдм рд╕рдХреЗрдЯ рдЬрдбрд╛рди рдердкреНрдЫреМрдВ connectForWsSocks рдбреЛрдореЗрдирдХрд╛ рд▓рд╛рдЧрд┐ eSNI рдХреБрдЮреНрдЬреАрд╣рд░реВ рдЕрдиреБрд░реЛрдз рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ред рдЬрд╣рд╛рдБ рд╕рд░реНрднрд░ рднрд╛рдЧ рд╕рдЮреНрдЪрд╛рд▓рди рд╣реБрдиреНрдЫ, рд╣рд╛рдореАрд▓реЗ TLS рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрдЫреМрдВ, рд░ рдирдХреНрдХрд▓реА "рдХрднрд░ рдбреЛрдореЗрди" рдХреЛ рдирд╛рдо рдкрдирд┐ рд╕реЗрдЯ рдЧрд░реНрдЫреМрдВ:

рдпрд╣рд╛рдБ рдзреНрдпрд╛рди рджрд┐рдиреБрдкрд░реНрдЫ рдХрд┐ рдкреНрд░рд╛рд░рдореНрднрдорд╛, tls-tris рд╢рд╛рдЦрд╛ рдбреЛрдореЗрди рдлреНрд░рдиреНрдЯрд┐рдЩрдХреЛ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдПрдиред рддреНрдпрд╕рдХрд╛рд░рдг, рдпрд╕рд▓реЗ рдирдХреНрдХрд▓реА рд╕рд░реНрднрд░ рдирд╛рдордорд╛ рдзреНрдпрд╛рди рджрд┐рдБрджреИрди (рдПрдХ рдЦрд╛рд▓реА рд╕рд░реНрднрд░рдирд╛рдо рдлрд┐рд▓реНрдб рдХреНрд▓рд╛рдЗрдиреНрдЯ-рд╣реЗрд▓реЛ рдкреНрдпрд╛рдХреЗрдЯрдХреЛ рднрд╛рдЧрдХреЛ рд░реВрдкрдорд╛ рдкрдард╛рдЗрдПрдХреЛ рдЫ)ред рдпрд╕рд▓рд╛рдИ рдареАрдХ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ TlsConfig рд╕рдВрд░рдЪрдирд╛рдорд╛ рд╕рдореНрдмрдиреНрдзрд┐рдд FakeServerName рдлрд┐рд▓реНрдб рдердкреНрдиреБ рдкрд░реНрдЫред рд╣рд╛рдореА рд╕рдВрд░рдЪрдирд╛рдХреЛ рдорд╛рдирдХ ServerName рдХреНрд╖реЗрддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрджреИрдиреМрдВ, рдХрд┐рдирднрдиреЗ рдпреЛ рдЖрдиреНрддрд░рд┐рдХ tls рд╕рдВрдпрдиреНрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рд░ рдпрджрд┐ рдпреЛ рдореВрд▓ рднрдиреНрджрд╛ рдлрд░рдХ рдЫ рднрдиреЗ, tls рд╣реНрдпрд╛рдиреНрдбрд╢реЗрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрдЧ рд╕рдорд╛рдкреНрдд рд╣реБрдиреЗрдЫред TlsConfig рд╕рдВрд░рдЪрдирд╛рдХреЛ рд╡рд┐рд╡рд░рдг рдлрд╛рдЗрд▓рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫ tls/common.go - рд╣рд╛рдореАрд▓реЗ рдпрд╕рд▓рд╛рдИ рдареАрдХ рдЧрд░реНрдиреБрдкрд░реНрдЫ:


рдердк рд░реВрдкрдорд╛, рд╣рд╛рдореАрд▓реЗ рдлрд╛рдЗрд▓рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ tls/handshake_client.goTLS рд╣реНрдпрд╛рдиреНрдбрд╢реЗрдХ рдмрдирд╛рдЙрдБрджрд╛ рд╣рд╛рдореНрд░реЛ FakeServerName рдлрд┐рд▓реНрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди:

рдпрддрд┐ рдиреИ! рддрдкрд╛рдИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрдореНрдкрд╛рдЗрд▓ рд░ рдХрд╛рдо рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрд░ рддрдкрд╛рдИрдВрд▓реЗ рд╕реНрдХреНрдпрд╛рди рдЪрд▓рд╛рдЙрдиреБ рдЕрдШрд┐, рддрдкрд╛рдИрдВрд▓реЗ CloudFlare рдЦрд╛рддрд╛ рд╕реЗрдЯ рдЕрдк рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдард┐рдХ рдЫ, рдо рдпрд╕рд▓рд╛рдИ рдХрд╕рд░реА рд╕реЗрдЯ рдЕрдк рдЧрд░реНрди рд╕рдХреНрдЫреБ - рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░рдорд╛ рдПрдЙрдЯрд╛ рдЦрд╛рддрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рддрдкрд╛рдИрдВрдХреЛ рдбреЛрдореЗрдирд▓рд╛рдИ рдпрд╕рдорд╛ рд▓рд┐рдЩреНрдХ рдЧрд░реНрдиреБрд╣реЛрд╕реНред DoH, WebSocket рд░ ESNI рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕рдмреИ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ CloudFlare рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред DNS рд░реЗрдХрд░реНрдбрд╣рд░реВ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рднрдПрдкрдЫрд┐, рддрдкрд╛рдИрдВ eSNI рдХреБрдЮреНрдЬреАрд╣рд░реВ рд╕реЛрдзреЗрд░ рдбреЛрдореЗрдирдХреЛ рд╕рдЮреНрдЪрд╛рд▓рди рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:
dig +short txt _esni.df13tester.info 
рдпрджрд┐ рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рдбреЛрдореЗрди рдХреЛ рд▓рд╛рдЧреА рдХреЗрд╣рд┐ рд╕рдорд╛рди рджреЗрдЦреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпрд╕рдХреЛ рдорддрд▓рдм рд╕рдмреИ рдХреБрд░рд╛ рддрдкрд╛рдЗрдБрдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ рд░ рддрдкрд╛рдЗрдБ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрди рдЕрдЧрд╛рдбрд┐ рдмрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рд╣рд╛рдореА Ubuntu VPS рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, DigitalOcean рдорд╛ред P.S. рд╣рд╛рдореНрд░реЛ рдХреЗрд╕рдорд╛, рдкреНрд░рджрд╛рдпрдХрджреНрд╡рд╛рд░рд╛ рднрд░реНрдЦрд░реИ рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ VPS IP рдареЗрдЧрд╛рдирд╛ RKN рдХрд╛рд▓реЛрд╕реВрдЪреАрд╣рд░реВрдорд╛ рд╕рдорд╛рдкреНрдд рднрдпреЛред рддреНрдпрд╕реИрд▓реЗ рддрдкрд╛рдИрд▓рд╛рдИ рдкрдирд┐ рдпрд╕реНрддреИ рдШрдЯрдирд╛ рднрдпреЛ рднрдиреЗ рдЕрдЪрдореНрдо рдирдорд╛рдиреНрдиреБрд╣реЛрд╕реНред рдореИрд▓реЗ рдореЗрд░реЛ VPS рдорд╛ рдкреБрдЧреНрди VPN рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рдкрд░реЗрдХреЛ рдерд┐рдпреЛред
рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХреЛ rsockstun рд▓рд╛рдИ VPS рдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдЫреМрдВ (рдпрд╕рд▓реЗ рдЧрд░реНрджрд╛, рдЧреЛрд▓рд╛рдЩрдХреЛ рдЕрд░реНрдХреЛ рд╕реБрдиреНрджрд░рддрд╛ рд╣реЛ - рддрдкрд╛рдЗрдБ рдЖрдлреИрд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓рд╛рдИ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдпрд╕рд▓рд╛рдИ рдХреБрдиреИ рдкрдирд┐ рд▓рд┐рдирдХреНрд╕рдорд╛ рдЪрд▓рд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдХреЗрд╡рд▓ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдмрд┐рдЯ рдХреНрд╖рдорддрд╛ рд╣реЗрд░реЗрд░) рд░ рд╕рд░реНрднрд░ рднрд╛рдЧ рд╕реБрд░реВ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

рд░ рддреНрдпрд╕рдкрдЫрд┐ рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧ:

рд╣рд╛рдореАрд▓реЗ рджреЗрдЦреНрди рд╕рдХреНрдЫреМрдВ, рдХреНрд▓рд╛рдЗрдиреНрдЯ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╡реЗрдмрд╕рдХреЗрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рдлреНрд░рдиреНрдЯрдПрдиреНрдб рд╕рд░реНрднрд░ рдорд╛рд░реНрдлрдд рд╕рд░реНрднрд░рдорд╛ рдЬрдбрд╛рди рднрдпреЛред рд╕реБрд░реБрдЩрд▓реЗ рдареНрдпрд╛рдХреНрдХреИ рд╕реБрд░реБрдЩ рдЬрд╕реНрддреИ рдХрд╛рдо рдЧрд░реНрдЫ рднрдиреА рдЬрд╛рдБрдЪ рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рд╕реНрдерд╛рдиреАрдп рдореЛрдЬрд╛ рел рдорд╛рд░реНрдлрдд рдХрд░реНрд▓ рдЕрдиреБрд░реЛрдз рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд╕рд░реНрднрд░рдорд╛ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН:

рдЕрдм DPI рд▓реЗ рд╕рдВрдЪрд╛рд░ рдЪреНрдпрд╛рдирд▓рдорд╛ рдХреЗ рджреЗрдЦреНрдЫ рд╣реЗрд░реМрдВ:

рд╕реБрд░реБрдорд╛, DoH рдореЗрдХрд╛рдирд┐рдЬрдо рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рдЧрдиреНрддрд╡реНрдп рдбреЛрдореЗрди (рдкреНрдпрд╛рдХреЗрдЯ рдирдореНрдмрд░ 1-19) рдХреЛ рд▓рд╛рдЧрд┐ eSNI рдХреБрдЮреНрдЬреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ Cloudflare DNS рд╕рд░реНрднрд░рд▓рд╛рдИ рд╕рдореНрдкрд░реНрдХ рдЧрд░реНрджрдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдлреНрд░рдиреНрдЯрдПрдиреНрдб рд╕рд░реНрднрд░рд▓рд╛рдИ рд╕рдореНрдкрд░реНрдХ рдЧрд░реНрджрдЫ рд░ TLS рдЬрдбрд╛рди рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджрдЫ, рдбреЛрдореЗрди рдкрдЫрд╛рдбрд┐ рд▓реБрдХреЗрдХреЛред (рдпреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рди рд╣реЛ рдЬрдм рдЧреНрд░рд╛рд╣рдХ рд╕реБрд░реБ рд╣реБрдБрджрд╛ рдХреБрдиреИ рдирдХреНрдХрд▓реА рдбреЛрдореЗрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди)ред рдЖрдлреНрдиреЛ рдирдХреНрдХрд▓реА рдбреЛрдореЗрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ -fronfDomain рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫ:
![]()

рдЕрдм рдЕрд░реНрдХреЛ рдХреБрд░рд╛ред рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, CloudFalre рдЦрд╛рддрд╛ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рд▓рдЪрд┐рд▓реЛ SSL рдорд╛ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫред рдпрд╕рдХреЛ рдорддрд▓рдм рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рдлреНрд░рдиреНрдЯрдПрдиреНрдб рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдХреНрд▓рд╛рдЗрдиреНрдЯрд╣рд░реВрдмрд╛рдЯ https рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдЕрдирдЗрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб (http) рд╣рд╛рдореНрд░реЛ рд╕рд░реНрднрд░рдорд╛ рдлрд░реНрд╡рд╛рд░реНрдб рдЧрд░рд┐рдиреЗрдЫред рддреНрдпрд╕рдХрд╛рд░рдг рд╣рд╛рдореАрд▓реЗ рд╕реБрд░реБрдЩрдХреЛ рд╕рд░реНрднрд░ рднрд╛рдЧ рдЧреИрд░-ssl рдореЛрдбрдорд╛ рд╕реБрд░реБ рдЧрд░реНрдпреМрдВ (-listen ws:0.0.0.0), рд░ рд╣реЛрдЗрди (-listen wss:0.0.0.0)ред

рдкреВрд░реНрдг рдЗрдиреНрдХреНрд░рд┐рдкреНрд╕рди рдореЛрдбрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдЪрдпрди рдЧрд░реНрдиреБрдкрд░реНрдЫ рдкреВрд░реНрдг, рд╡рд╛ рдкреВрд░реНрдг (рдХрдбрд╛) рдпрджрд┐ рд╕рд░реНрднрд░рдорд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЫ рднрдиреЗред рдореЛрдб рд╕реНрд╡рд┐рдЪ рдЧрд░реЗрдкрдЫрд┐, рд╣рд╛рдореА https рдкреНрд░реЛрдЯреЛрдХрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ CloudFlare рдмрд╛рдЯ рдЬрдбрд╛рдирд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреЗрдЫреМрдВред рд╕реБрд░реБрдЩрдХреЛ рд╕рд░реНрднрд░ рд╕рд╛рдЗрдбрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рдирдмрд┐рд░реНрд╕рдиреБрд╣реЛрд╕реНред

рдПрдХ рдЪрддреБрд░ рдкрд╛рдардХрд▓реЗ рд╕реЛрдзреНрдиреЗрдЫ: "рд╡рд┐рдиреНрдбреЛрдЬ рдХреНрд▓рд╛рдЗрдиреНрдЯрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣реЛ? рдЖрдЦрд┐рд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛, рд╕реБрд░реБрдЩрдХреЛ рдореБрдЦреНрдп рдкреНрд░рдпреЛрдЧ рдХрд░реНрдкреЛрд░реЗрдЯ рдореЗрд╢рд┐рдирд╣рд░реВ рд░ рд╕рд░реНрднрд░рд╣рд░реВрдмрд╛рдЯ рдмреНрдпрд╛рдХ рдЬрдбрд╛рди рдмрдврд╛рдЙрдиреБ рд╣реЛ, рд░ рддреНрдпрд╣рд╛рдБ, рдирд┐рдпрдордХреЛ рд░реВрдкрдорд╛, рддреНрдпрд╣рд╛рдБ рд╕рдзреИрдВ рд╡рд┐рдиреНрдбреЛрдЬ рд╣реБрдиреНрдЫред рдо рдХрд╕рд░реА рд╡рд┐рдиреНрдбреЛрдЬрдХреЛ рд▓рд╛рдЧрд┐ рдЯрдиреЗрд▓рд░ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрди рд╕рдХреНрдЫреБ, рд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ TLS рд╕реНрдЯреНрдпрд╛рдХрдХреЛ рд╕рд╛рде рдкрдирд┐?" рд░ рдЕрдм рд╣рд╛рдореА рдПрдЙрдЯрд╛ рдердк рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрдиреЗрдЫреМрдВ рдЬрд╕рд▓реЗ Golang рдХрддрд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫ рднрдиреЗрд░ рджреЗрдЦрд╛рдЙрдБрдЫред рд╣рд╛рдореА рдХрд╛рд▓реАрдмрд╛рдЯ рд╕рд┐рдзреИ рд╡рд┐рдиреНрдбреЛрдЬрдХреЛ рд▓рд╛рдЧрд┐ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдЫреМрдВ, рдХреЗрд╡рд▓ GOOS=windows рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдердкреНрджреИ:
GOARCH=amd64 GOROOT="/opt/tls-tris/_dev/GOROOT/linux_amd64" GOOS=windows go build -ldflags="-s -w"рд╡рд╛ 32-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг:
GOARCH=386 GOROOT="/opt/tls-tris/_dev/GOROOT/linux_amd64" GOOS=windows go build -ldflags="-s -w"рд╕рдмреИ! рд░ рдердк рдмрд╛рдзрд╛рд╣рд░реВ рдЖрд╡рд╢реНрдпрдХ рдЫреИрдиред рдпреЛ рд╕рд╛рдБрдЪреНрдЪреИ рдХрд╛рдо рдЧрд░реНрджрдЫ!

-w рд░ -s рдХрдореНрдкрд╛рдЗрд▓рд░ рдлреНрд▓реНрдпрд╛рдЧрд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓рдмрд╛рдЯ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдлреЛрд╣реЛрд░ рд╣рдЯрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдпрд╕рд▓рд╛рдИ рдХреЗрд╣реА рдореЗрдЧрд╛рдмрд╛рдЗрдЯрд╣рд░реВ рд╕рд╛рдиреЛ рдмрдирд╛рдЙрдБрджреИред рдердк рд░реВрдкрдорд╛, рдпрд╕рд▓рд╛рдИ рдлреЗрд░рд┐ рдЖрдХрд╛рд░ рдШрдЯрд╛рдЙрди UPX рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреНрдпрд╛рдХреЗрдЬ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
рдмрд░реБ рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛ рдХреЛ
рд▓реЗрдЦрдорд╛, рдЧреЛрд▓рд╛рдЩрдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рд╕реБрд░реБрдЩрдХреЛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рд╣рд╛рдореАрд▓реЗ TLS 1.3 рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рдмрд░реБ рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рд╕реБрд╡рд┐рдзрд╛рдорд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдирдпрд╛рдБ рдбреЛрдореЗрди-рдлреНрд░рдиреНрдЯрд┐рдЩ рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреАрдХреЛ рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдпреМрдВред рдЙрд╕реНрддреИ рддрд░рд┐рдХрд╛рд▓реЗ, рддрдкрд╛рдИрдВрд▓реЗ CloudFlare рд╕рд░реНрднрд░рд╣рд░реВ рдорд╛рд░реНрдлрдд рдХрд╛рдо рдЧрд░реНрди Golang рдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ред - рдкреНрд░рдЦреНрдпрд╛рдд C2, рд╡рд╛ рдХреЛрдмрд╛рд▓реНрдЯрд╕реНрдЯреНрд░рд╛рдЗрдХ рдмреАрдХрдирд▓рд╛рдИ eSNI рдбреЛрдореЗрди-рдлреНрд░рдиреНрдЯрд┐рдЩ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рджрдмрд╛рдм рджрд┐рдиреБрд╣реЛрд╕реН рдЬрдм рдЯрд┐рдорд╕рд░реНрднрд░ рдорд╛рд░реНрдлрдд рдХрд╛рдо рдЧрд░реНрдиреБрд╣реЛрд╕реНред , Golang рдорд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд╡рд╛ OpenSSL рдХреЛ рдкреНрдпрд╛рдЪ рдЧрд░рд┐рдПрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдорд╛рдирдХ C++ рдорд╛, рдЬрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рд╣рд╛рдореАрд▓реЗ рд▓реЗрдЦрдХреЛ рдЕрдиреНрддрд┐рдо рднрд╛рдЧрдорд╛ рдХреБрд░рд╛ рдЧрд░реЗрдХрд╛ рдЫреМрдВред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдХрд▓реНрдкрдирд╛ рдХреЛ рдХреБрдиреИ рд╕реАрдорд╛ рдЫреИрдиред
рдЯрдиреЗрд▓рд░ рд░ рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░рдХреЛ рд╕рд╛рдердХреЛ рдЙрджрд╛рд╣рд░рдг рдЕрд╡рдзрд╛рд░рдгрд╛рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдпрд╕ рдкреНрд░рдХрд╛рд░рдХреЛ рдбреЛрдореЗрди рдлреНрд░рдиреНрдЯрд┐рдЩрдХреЛ рджреАрд░реНрдШрдХрд╛рд▓реАрди рд╕рдореНрднрд╛рд╡рдирд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЕрдЭреИ рднрдиреНрди рдЧрд╛рд╣реНрд░реЛ рдЫред рдпрд╕ рд╕рдордпрдорд╛, рдХреЗрд╡рд▓ CloudFlare рд▓реЗ eSNI рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ рд░, рд╕реИрджреНрдзрд╛рдиреНрддрд┐рдХ рд░реВрдкрдорд╛, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдпрд╕ рдкреНрд░рдХрд╛рд░рдХреЛ рдлреНрд░рдиреНрдЯрд┐рдЩ рдЕрд╕рдХреНрд╖рдо рдЧрд░реНрди рд░ рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ SNI рд░ eSNI рдореЗрд▓ рдЦрд╛рдБрджреИрди рднрдиреЗ tls рдЬрдбрд╛рдирд╣рд░реВ рддреЛрдбреНрдирдмрд╛рдЯ рдХреБрдиреИ рдкрдирд┐ рдХреБрд░рд╛рд▓реЗ рд░реЛрдХреНрджреИрдиред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рднрд╡рд┐рд╖реНрдпрд▓реЗ рдмрддрд╛рдЙрдиреЗрдЫред рддрд░ рдЕрд╣рд┐рд▓реЗрдХреЛ рд▓рд╛рдЧрд┐, "kremlin.ru рдХреЛ рдЖрд╡рд░рдг" рдЕрдиреНрддрд░реНрдЧрдд рдХрд╛рдо рдЧрд░реНрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛ рдПрдХрджрдо рдЖрдХрд░реНрд╖рдХ рджреЗрдЦрд┐рдиреНрдЫред рд╣реИрди рд░?
рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЯрдиреЗрд▓рд░ рдХреЛрдб, рд╕рд╛рдереИ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рдлрд╛рдЗрд▓рд╣рд░реВ, рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдЫреБрдЯреНрдЯреИ рд╢рд╛рдЦрд╛рдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫрдиреНред ред GitHub рдорд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреГрд╖реНрдардорд╛ рд╕рдмреИ рд╕рдореНрднрд╛рд╡рд┐рдд рдЯрдиреЗрд▓рд░ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдПрдЙрдЯрд╛ рдореБрджреНрджрд╛ рд▓реЗрдЦреНрдиреБ рд░рд╛рдореНрд░реЛ рд╣реБрдиреНрдЫред
рд╕реНрд░реЛрдд: www.habr.com
