ืืงืืื
ืืื ืืขืจ ืขืจืฉืืขืจ ืืืื ืืืจ ืืึธืื ืืขืืขืื ืึท ืงืืจืฅ ืืึทืฉืจืืึทืืื ื ืคืื ืื ืขื ืงืจืืคึผืืื SNI (eSNI) ืืขืงืึทื ืืืึทื. ืืื ืืึธืื ืืขืืืืื ืืื, ืืืืืจื ืืืืฃ ืขืก, ืขืก ืืื ืืขืืืขื ืฆื ืืืกืืืืื ืืืืขืงืฉืึทื ืืืจื ืืึธืืขืจื DPI ืกืืกืืขืืขื (ื ืืฆื ืืขื ืืืืฉืคึผืื ืคืื Beeline DPI ืืื ืื ืืึทื ื RKN ืืืึธืจืฆื ืืจืึทืงืขืจ), ืืื ืืืื ืืงืกืคึผืืึธืจื ืึท ื ืืึทืข ืืืขืจืกืืข ืคืื โโืคืขืื ืคืจืึธื ืืื ื ืืืืืจื ืืืืฃ ืืขื ืืขืงืึทื ืืืึทื.
ืืื ืืขืจ ืฆืืืืืืขืจ ืืืื ืคืื ืืขื ืึทืจืืืงื, ืืืจ ืืืขืื ืคืึธืจืืขืฆื ืฆื ืืขืจ ืคึผืจืึทืงืืืฉ ืืื ืื ืืืึธืก ืืืขื ืืืื ื ืืฆืืง ืคึฟืึทืจ RedTeam ืกืคึผืขืฉืึทืืึทืกืฅ ืืื ืืืืขืจ ืฉืืืขืจ ืึทืจืืขื. ืืื ืื ืกืืฃ, ืืื ืืืขืจ ืฆืื ืืื ื ืืฉื ืฆื ืืึทืงืืืขื ืึทืงืกืขืก ืฆื ืืคืืขืฉืืขืื ืจืขืกืืจืกื (ืคึฟืึทืจ ืึทืืึท ื ืืฉืืืง ืืื ืื ืืืจ ืืึธืื ืื ืืื ืึทืื ืืืคึผื). ืฆืื ืืืืง, ืขืก ืืขื ืขื ืึท ืืจืืืก ืคืึทืจืฉืืืื ืงืืึทื ืคืื VPN ืคึผืจืึทืืืืืืขืจื, ืืื ืืื ืืึธืื, ืคึฟืึทืจ ืืขืืขืจ ืืขื, ืงืึธืืืจ ืืื ืืืืืฉืขื.
ืืืจ ืืืขืื ืคึผืจืืืืจื ืฆื ืฆืืืืืื ืื ืคืขืื-ืคืจืึธื ืืื ื ืืขืงืึทื ืืืึทื ืฆื ืืึธืืขืจื RedTeam ืืืฉืืจืื, ืืืฉื, ืึทืืึท ืืื ืงืึธืืึทืื ืกืืจืืืง, ืืืืคืขืจืืข, ืืื"ื ื, ืืื ืืขืื ืืื ื ืึธื ืงืืืคึผืึทืืืืึทืืื ืฆื ื ืึธืืงืจืืืขื ืืื ืืืกืืืืื ืืึธืืขืจื ืืื ืืึทืื ืคึฟืืืืจืืจืื ื ืกืืกืืขืืขื.
ืืขืฆืืข ืืึธื ืืืจ ืืืคึผืืึทืืขื ืึทื ืื eSNI ืืขืงืึทื ืืืึทื ืืื ืื OpenSSL ืืืืืืึธืืขืง ืืื ืืฆืืื ืืขืืืืื ื ืขืก ืืื ืื ืืึทืงืึทื ืืข ืงืขืจื ื ืืฆื. ืึธืืขืจ, ืืื ืืื ืืึธืื, ืืืจ ืืืขื ื ืืฉื ืืืื ืฆืืคึฟืจืืื ืืื ืืืืื ืืืื ืืื ืื. ืคืื ืงืืจืก, ืืื ืืืึธืื ืืื ืฆื ืื ืกืืจืืืขื ื ืขืคึผืขืก ืขื ืืขื ืืื ืืืื-ืืืจืื ืฉืคึผืจืึทืื. ืึธืืขืจ, ืืืืืขืจ, ืึท ืฉื ืขื ืืืื ืืืืฃ ืื ืืื ืืขืจื ืขื ืืืกืึทืคึผืืื ืื ืืื ืื, ืืืืึทื ืฉืืืฆื ืคึฟืึทืจ ืื eSNI ืืขืงืึทื ืืืึทื ืืื ืืึธืจ ืืืคึผืืึทืืขื ืึทื ืืืืื ืืื GOLANG. ืืืื, ืืืจ ืืึธื ื ืื ืืึธืื ืคืื ืืจืืจื: ืึธืืขืจ ืืืจ ืฉืจืืึทืื ืืื ืจืืื C ืึธืืขืจ C ++ ื ืืฆื ืื ืคึผืึทืืฉื OpenSSL ืืืืืืึธืืขืง, ืึธืืขืจ ืืืจ ื ืืฆื ืึท ืืึทืืื ืืขืจ GOLANG ืืึธืคึผื ืคึฟืื CloudFlare ืืื ืคึผืจืืืืจื ืฆื ืึทืจืืืขืจืคืืจื ืืื ืืืขืจ ืืืฉืืจืื ืืึธืจื. ืืื ืคึผืจืื ืฆืืคึผ, ืขืก ืืื ืื ืื ืืขืจ ืึธืคึผืฆืืข, ืืขืจ ืงืืึทืกืืฉ, ืึธืืขืจ ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื-ืงืึทื ืกืืืื ื - ืฆื ืื ืกืืจืืืขื ื eSNI ืฉืืืฆื ืคึฟืึทืจ ืคึผืืืืึธื. ื ืึธื ืึทืืข, Python ืืืื ื ืืฆื OpenSSL ืฆื ืฉืขืคึผื https. ืึธืืขืจ ืืืจ ืืืขืื ืืึธืื ืืขื ืึธืคึผืฆืืข ืคึฟืึทืจ ืึทื ืืืืืงืืื ื ืืืจื ืขืืขืฆืขืจ ืึทื ืืขืจืฉ, ืืื ืืืจ ืืื ืืืขืื ืืืื ืฆืืคืจืืื ืืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืืื Golang, ืกืคึผืขืฆืืขื ืืื ื ืืื ืืืขืจ ืืืืืืืข ืงืึธืืึทืื ืกืืจืืืง ืืื ืืืฉืืืืืขืก ืืืืืืช ืฆื ืึทืจืืขืื ืืื ืึท ืงืึธืืื ืืงืึทืฆืืข ืงืึทื ืึทื ืืขืืืื ืืืจื ืืจืื-ืคึผืึทืจืืื ืืืฉืืจืื (ืขืงืกืืขืจื ืึทื C2 ืงืึทื ืึทื) - ืืืจ ืืืขืื ืจืขืื ืืืขืื ืืขื ืืื ืื ืกืืฃ ืคืื ืืขื ืึทืจืืืงื.
ืคึผืจืึผืืื ืืึทืจืืขืจ ...
ืืืื ืขืจ ืคืื ืื ืืืฉืืจืื ืืืคึผืืึทืืขื ืึทื ืืื Go ืืื ืืื ืืืขืจ ืึทื ืืืืืงืืื ื ืคึฟืึทืจ ืคึผืืืืึทืืื ื ืืื ืื ื ืขืฅ - ืึท ืืื ื ืขืืขืจ , ืืืึธืก, ืืืจื ืืขื ืืืขื, ืืื ืืืฆื ืืืืขืงืืึทื ืืืจื ืืืฉืืจืื ืคืื Microsoft ืืื Symantec ืืื ืืืืขืจ ืืืืืข ืืืืืืืืืจื ืึทืืืขื ืฆื ืืืกืจืึทืคึผืืื ื ืืืืืืืข ืคืขืกืืงืืึทื ...

ืขืก ืืืึธืื ืืืื ืืจืืืก ืฆื ื ืืฆื ืื ืคืจืืขืจืืืงืข ืึทื ืืืืืงืืื ื ืืืื ืืื ืืขื ืคืึทื. ืืืขืจ ืืึธ ืึท ืงืืืื ืคึผืจืึธืืืขื ืขืจืืืืึทื. ืืขืจ ืคืึทืงื ืืื ืึทื ืืืืืขืก rsockstun ืืืคึผืืืื ืื ื ืืฆื ืคืื ืึท ืกืื ืืฉืจืึธื ืึธืืก ืกืกื ืงืึธืืื ืืงืึทืฆืืข ืงืึทื ืึทื ืืื ืื ืกืขืจืืืขืจ. ืืืก ืืืื ื ืื ืื ืคืืจืืื ืืื ื ืืืขืจื ืืืื ืืื ืืขืืจืื ืืขื ืืื ืขืงืืืกืืืจื ืคืืจ ืื ืืื ืฆืข ืืขืืืืขืจ ืคืื ืื ืืคืขืจืืฆืืข ืคืื โโืืขื ืืื ืขื. ืืื, ืืื ืืืจ ืคึฟืึทืจืฉืืืื, ืืขืจ https ืคึผืจืึธืืึธืงืึธื ืืื ื ืืฉื ืืืขื ืคึฟืึทืจ ืืขื ืืึธืืข ืคืื โโืึธืคึผืขืจืึทืฆืืข - ืขืก ืึทืจืืขื ืืื ืืขืื-ืขื ืืคืขืจ ืืึธืืข, ืืื ืืขืืขืจ ื ืืึท http ืืขืื ืืืืืกืฅ ืืื ืึท ื ืืึท ืืงืคึผ ืงืฉืจ.
ืืขืจ ืืืืคึผื ืืืกืึธืจื ืคืื ืืขื ืกืืขืืข ืืื ืึทื ืืขืจ ืกืขืจืืืขืจ ืงืขื ื ืืฉื ืึทืจืืืขืจืคืืจื ืืึทืื ืฆื ืืขื ืงืืืขื ื ืืื ืืขืจ ืงืืืขื ื ืกืขื ืื ืึท ื ืืึทืข http ืืขืื. ืึธืืขืจ, ืฆืื ืืืืง, ืขืก ืืขื ืขื ืคืืืข ืึธืคึผืฆืืขืก ืคึฟืึทืจ ืกืึทืืืืื ื ืืขื ืคึผืจืึธืืืขื - ืกืืจืืืื ื ืืึทืื ืืืจื ืื ืืืืคึผ ืคึผืจืึธืืึธืงืึธื (ื ืึธื ืึทืืข, ืืืจ ืขืคืขืก ืคืืจื ืฆื ืืืื ืืื ืืืขืจ ืืึทืืืืกืืข ืืขืืขืืืืืืข ืฉืึธืื ืืื ืืขืจื ืฆื ืืืืืง ืคึฟืื ืคึผืึธืจืืึทืืก โโืคืืืกื ืืืง ืืืืฃ https, ืึธืืขืจ ืืจืึทื ืกืืืืื ื ืืืืืขื ืืื ืึทืืืืึธ ืืื ืืึธืจื ืืฉื ืึทื ืืขืจืฉ. ืืื ืกืืจืืืื ื ืืึทืื). ืืืื ืขืจ ืคืื ืื ืืขืงื ืึทืืึทืืืฉืื ืคึฟืึทืจ ืขืืืึทืืืืืื ื ืื ืึธืคึผืขืจืึทืฆืืข ืคืื โโืึท ืคืื-ืคืืขืืืฉื ืืงืคึผ ืงืฉืจ ืืืืขืจ ืื ืืืืคึผ ืคึผืจืึธืืึธืงืึธื ืืื ืืืขืืกืึธืงืงืขืฅ ืืขืื ืึธืืึธืืืข, ืื ืืืืคึผื ืขืกืึทื ืก ืคืื ืืืึธืก ืืื ืฆื ืึธืจืืึทื ืืืืจื ืึท ืคืื-ืคืืขืืืฉื ื ืขืฅ ืคึฟืึทืจืืื ืืื ื ืฆืืืืฉื ืืขื ืงืืืขื ื ืืื ืื ืืืขื ืกืขืจืืืขืจ.
ืฆืื ืืืืง ืคึฟืึทืจ ืืื ืื (ืืึธืึธืจืืึท !!!), ืื ืืขืื ืึธืืึธืืืข ืืื ืื ืงืืืืขื ืืืจื ืคืขืืืงืืึทื ืืื ืึทืืข CloudFlare ืฆืึธื ืคึผืืึทื ื ืืื ืึทืจืืขื ืืจืืืก ืืื ืงืึธืืืื ืึทืฆืืข ืืื eSNI. ืืึธืก ืืื ืคึผืื ืงื ืืืึธืก ืืืจ ืืืขืื ื ืืฆื ืฆื ืืขืจื ืขื ืืื ืืืขืจ ืืื ื ืขืืขืจ ืฆื ื ืืฆื ืคืขืื-ืคืจืึธื ืืื ื ืืื ืืึทืืึทืืื ืคืื ืืึธืืขืจื ืืคึผื.
ื ืืืกื ืืืขืื WebSockets
ืขืจืฉืืขืจ ืคืื ืึทืืข, ืืืจ ืืืขืื ืืขืงืืฆืขืจ ืืื ืคืฉืื ืืขืจืงืืขืจื ืืืขืืกืึธืงืงืขืฅ ืึทืืื ืึทื ืึทืืขืืขื ืืื ืึท ืืขืืึทื ืง ืคืื ืืืึธืก ืืืจ ืืืขืื ืึทืจืืขืื ืืื.
ืืืขืืกืึธืงืงืขื ืืขืื ืึธืืึธืืืข ืึทืืึทืื ืืืจ ืฆื ืืขืืคึผืขืจืขืจืึทืื ืืึทืฉืืืืขื ืคืื ืึท ืืืืคึผ ืงืฉืจ ืฆื ืึท ื ืึธืจืืึทื ื ืขืฅ ืืึธืืขื ืกืืจืืืื ื ืึธื ืืจืืืงืื ื ืื ืืขืืจืื ืืขื ืืงืคึผ ืงืฉืจ. ืืืขื ืึท ืงืืืขื ื ืืืื ืฆื ืืึทืฉืืืืขื ืฆื ืึท ืืืขืืกืึธืงืงืขื, ืขืก ืฉืืขืื ืขืืืขืืข ืืืืคึผ ืืขืืขืจื ืืื ืืืื http ืืขืื. ืฆืืืื ืคืืจืืื ืื ืืขืืขืจื - ืงืฉืจ: ืึทืคึผืืจืืื ะธ ืึทืคึผืืจืืื: ืืืขืืกืึธืงืงืขื. ืขืจ ืงืขื ืขื ืืืื ืงืจืึทืคืืคืึทืื ืกืคึผืขืฆืืคืืฆืืจื ืื ืืืขืืกืึธืงืงืขื ืคึผืจืึธืืึธืงืึธื ืืืขืจืกืืข (ืกืขืง-ืืืขืืกืึธืงืงืกืขื-ืืืขืจืกืืข: 13) ืืื ืขืคึผืขืก ืืื ืึท base64 ืืืขืืกืึธืงืงืขื ืืืืขื ืึทืคืืื (Sec-WebSocket-Key: DAGDJSiREI3+KjDfwxm1FA==). ืืขืจ ืกืขืจืืืขืจ ืจืืกืคึผืึทื ื ืฆื ืืื ืืื ืื http ืงืึธื 101 ืกืืืืืฉืื ื ืคึผืจืึธืืึธืงืึธืืก ืืื ืืืื ืฉืืขืื ืื ืืขืืขืจื ืงืฉืจ, ืึทืคึผืืจืืื ะธ ืกืขืง-ืืืขืืกืึธืงืงืขื-ืึทืงืกืขืคึผื. ืื ืกืืืืืฉืื ื ืคึผืจืึธืฆืขืก ืืื ืงืืืจ ืืขืืึทื ืกืืจืืืืื ืืื ืื ืกืงืจืขืขื ืฉืึธื ืืื ืื:

ื ืึธื ืืขื, ืื ืื ืกืืึทืืืจืื ื ืคืื ืื WebSocket ืคึฟืึทืจืืื ืืื ื ืงืขื ืขื ืืืื ืืขืจืขืื ื ืืื ืืึทื ืฅ. ืงืืื ืืึทืื ืคืื ืืืืืข ืื ืงืืืขื ื ืืื ืื ืกืขืจืืืขืจ ืืืขื ืืืฆื ืืืื ืกืึทืคึผืืืื ื ืืฉื ืืื ืืืืคึผ, ืึธืืขืจ ืืื WebSocket ืืขืืขืจื (ืืื ืึธื ืืืืื ืืื ืืืื 0x82). ืืืฆื ืืขืจ ืกืขืจืืืืจืขืจ ืืื ื ืืฉื ืืึทืจืคึฟื ืฆื ืืืึทืจืื ืคึฟืึทืจ ืึท ืืงืฉื ืคืื ืืขื ืงืืืขื ื ืฆื ืึทืจืืืขืจืคืืจื ืืึทืื, ืืืืึทื ืื tcp ืงืฉืจ ืืื ื ืืฉื ืฆืขืืจืืื.
Golang ืืื ืขืืืขืืข ืืืืืจืขืจืื ืคึฟืึทืจ ืืจืืขืื ืืื ืืืขืืกืึธืงืงืขืฅ. ืื ืืขืจืกื ืคืึธืืงืก ืคืื ืืื ืืขื ืขื ืืื ื ืึธืจืืึทื . ืืืจ ืืืขืื ื ืืฆื ืื ืืขืฆืืข, ืืืืึทื ... ืขืก ืืื ืกืืืคึผืืขืจ, ืงืืขื ืขืจืขืจ ืืื, ืืื ืืื ืืึธืื, ืึทืจืืขื ืึท ืืืกื ืคืึทืกืืขืจ.
ืืื ืื rsockstun ืงืืืขื ื ืงืึธื, ืืืจ ืืึทืจืคึฟื ืฆื ืคืึทืจืืืึทืื ืื net.dial ืึธืืขืจ tls.dial ืงืึทืืืก ืืื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืืขืืกืึธืงืงืขื ืงืึทืืืก:


ืืืจ ืืืืื ืฆื ืืึทืื ืืขื ืงืืืขื ื ืึท ืืืื ืคืื ืืื ืืืขืจ ืืื ืขื ืื ืืืืขืจืกืึทื ืืื ืืืืืขืืืืืง ืฆื ืึทืจืืขืื ืืืืืข ืืืจื ืึท ืืืจืขืงื ืกืกื ืคึฟืึทืจืืื ืืื ื ืืื ืืืจื ืื ืืืขืืกืึธืงืงืกืขื ืคึผืจืึธืืึธืงืึธื. ืคึฟืึทืจ ืืขื ืืืจ ืืืขืื ืฉืึทืคึฟื ืึท ืืึทืืื ืืขืจ ืคึฟืื ืงืฆืืข func connectForWsSocks (ืึทืืจืขืก ืฉืืจืืงื, ืคืจืืงืกื ืฉืืจืืงื) ืืขืืช {...} ืืืจื ืึทื ืึทืืึทืืืฉื ืืื connectForSocks() ืืื ืืืจ ืืืขืื ื ืืฆื ืขืก ืฆื ืึทืจืืขืื ืืื ืืืขื ืกืึทืงืึทืฅ ืืืื ืื ืกืขืจืืืืจืขืจ ืึทืืจืขืก ืกืคึผืขืกืืคืืขื ืืืขื ืกืืึทืจืืื ื ืืขื ืงืืืขื ื ืืืืื ืืื ws: ืึธืืขืจ wss: (ืืื ืืขื ืคืึทื ืคืื ืืืืขืจ ืืืขืืกืึธืงืงืขื).
ืคึฟืึทืจ ืื ืกืขืจืืืขืจ ืืืึทื ืคืื ืืขื ืืื ืขื, ืืืจ ืืืขืื ืืืื ืืึทืื ืึท ืืึทืืื ืืขืจ ืคืื ืงืฆืืข ืคึฟืึทืจ ืืจืืขืื ืืื ืืืขื ืกืึทืงืึทืฅ. ืขืก ืืืขื ืืึทืื ืึท ืืืึทืฉืคึผืื ืคืื ืื ืืืืคึผ ืงืืึทืก ืืื ืฉืืขืื ืื ืืืืคึผ ืงืฉืจ ืืึทื ืืืขืจ (wsHandler ืคืื ืงืฆืืข):

ืืื ืืืจ ืืืขืื ืฉืืขืื ืึทืืข ืื ืคึฟืึทืจืืื ืืื ื ืคึผืจืึทืกืขืกืื ื ืืึธืืืง (ืงืืืขื ื ืืขืจืืืืืขื ืืฉ ื ืืฆื ืึท ืคึผืึทืจืึธื, ืืึทืฉืืขืืืงื ืืื ืขื ืืืงื ืึท ืืึทืืืงืก ืกืขืกืืข) ืืื ืื WebSocket ืงืฉืจ ืืึทื ืืืขืจ:

ืืืจ ืฆืื ืืืคื ืขืืขื ืื ืคึผืจืืืขืงื ืืื ืงืึทืืขืจ ืื ืกืขืจืืืขืจ ืืืื:
./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).
ืืืจ ืงืืึธืื ืขืก ืืึธืืงืึทืื ืึธืืขืจ ืืจืืคืงืืคืืข ืืื ืื ืงืึธืืคึผืจืขืกืก ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืคืึทืจืฉืืขืกืืขื:
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 ืฉืืืกืืขื ืคึฟืึทืจ ืื ืืขืืขืื ืคืขืื. ืืื ืืื ืืืขืจ ืคืึทื, ืืึธืก ืืืขื ืืืื ืขืคื ืืืขื eSNI ืฉืืืกืืขื ืคึฟืื CloudFlare ืคืจืึธื ืืขื ื ืกืขืจืืืขืจืก. ืฆื ืืึธื ืืึธืก, ืืืจ ืืืขืื ืฉืึทืคึฟื ืืจืืึท ืคืึทื ืืงืฉืึทื ื:
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. ืืขืจ ืขืจืฉืืขืจ ืคึฟืื ืงืฆืืข ืงืจืืืืฅ ืึท ื ืขืฅ ืคึผืึทืงืึทื ืืื ืึท ืืงืฉื ืฆื ืื CloudFlare DNS ืกืขืจืืืขืจ ื ืืฆื ืื DoH (DNS-over-HTTPS) ืคึผืจืึธืืึธืงืึธื, ืื ืฆืืืืืืข ืคึผืึทืจืกืขืก ืื ืึธื ืคึฟืจืขื ืจืขืืืืืึทืื ืืื ืืึทืงืืืขื ืื ืืืึทืืืขืก ืคืื ืื ืคืขืื ืก ืขืคื ืืืขื ืฉืืืกืืขื, ืืื ืื ืืจืื ืืื ืึท ืงืึทื ืืืื ืขืจ ืคึฟืึทืจ ืื ืขืจืฉืืขืจ ืฆืืืื.
ืืืืึทืืขืจ, ืืืจ ืืืืื ืึท ืืืขื ืืึธืืขื ืคึฟืึทืจืืื ืืื ื ืฆื ืืื ืืืขืจ ื ืื ืืืฉืืคื ืคืื ืงืฆืืข connectForWsSocks ืคืึทื ืืงืฉืึทื ืึทืืืื ืคึฟืึทืจ ืจืืงืืืขืกืืื ื eSNI ืฉืืืกืืขื ืคึฟืึทืจ ืึท ืคืขืื. ืืื ืื ืกืขืจืืืขืจ ืืืื ืึทืคึผืขืจืืืฅ, ืืืจ ืฉืืขืื ืื TLS ืคึผืึทืจืึทืืขืืขืจืก, ืืื ืืืื ืฉืืขืื ืื ื ืึธืืขื ืคืื ืื ืฉืืืื ืื "ืืขืง ืคืขืื":

ืขืก ืืึธื ืืืื ืื ืืขืืืืื ืืึธ ืึทื ืืืืืขืก, ืื tls-tris ืฆืืืืึทื ืืื ื ืืฉื ืืืืืื ื ืคึฟืึทืจ ืื ื ืืฆื ืคืื ืคืขืื ืคืจืึธื ืืื ื. ืืขืจืืืขืจ, ืขืก ืืื ื ืืฉื ืืึทืฆืึธืื ืืคืืขืจืงืืึทืืงืืื ืฆื ืื ืฉืืืื ืื ืกืขืจืืืขืจ ื ืึธืืขื (ืึท ืืืืืืง ืกืขืจืืืขืจื ืึทืืข ืคืขืื ืืื ืืขืฉืืงื ืืื ืึท ืืืื ืคืื ืืขื ืงืืืขื ื-ืืขืื ืคึผืึทืงืึทื). ืืื ืกืืจ ืฆื ืคืึทืจืจืืืื ืืขื, ืืืจ ืืึธืื ืฆื ืืืืื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื FakeServerName ืคืขืื ืฆื ืื TlsConfig ืกืืจืืงืืืจ. ืืืจ ืงืขื ืขื ื ืืฉื ื ืืฆื ืื ื ืึธืจืืึทื ืกืขืจืืืขืจื ืึทืืข ืคืขืื ืคืื ืื ืกืืจืืงืืืจ, ืืืืึทื ืขืก ืืื ืืขื ืืฆื ืืืจื ืื ืื ืขืจืืขื tls ืืขืงืึทื ืืืึทืื ืืื ืืืื ืขืก ืืื ืึทื ืืขืจืฉ ืคืื ืื ืึธืจืืืื ืขื, ืื tls ืืึทื ืืฉืืืง ืืืขื ืขื ืืืงื ืืื ืึท ืืขืืช. ื ืืึทืฉืจืืึทืืื ื ืคืื ืื TlsConfig ืกืืจืืงืืืจ ืืื ืงืึทื ืืืื ื ืืื ืืขืจ ืืขืงืข tls/common.go - ืืืจ ืืึธืื ืฆื ืคืึทืจืจืืืื ืขืก:


ืืื ืืขืจืฆื, ืืืจ ืืืขืื ืืึธืื ืฆื ืืึทืื ืขื ืืขืจืื ืืขื ืฆื ืืขืจ ืืขืงืข tls/handshake_client.goืฆื ื ืืฆื ืืื ืืืขืจ FakeServerName ืคืขืื ืืืขื ืคืึธืจืืื ื ืึท TLS ืืึทื ืืฉืืืง:

ืึทื ืก ืึทืืข! ืืืจ ืงืขื ืขื ืฆืื ืืืคื ืขืืขื ืื ืคึผืจืืืขืงื ืืื ืงืึธื ืืจืึธืืืจื ืื ืึทืจืืขื. ืึธืืขืจ ืืืืืขืจ ืืืจ ืืืืคื ืื ืืืขืจืงืืงื, ืืืจ ืืึทืจืคึฟื ืฆื ืฉืืขืื ืึท CloudFlare ืืฉืืื. ื ื, ืืื ืึทืืื ืงืขื ืืื ืืึธืื, ืฉืืขืื ืขืก ืึทืจืืืฃ - ื ืึธืจ ืฉืึทืคึฟื ืึท ืืฉืืื ืืืืฃ ืงืืึธืืืคืืึทืจืข ืืื ืืื ืง ืืืื ืคืขืื ืฆื ืขืก. ืึทืืข ืคึฟืขืึดืงืืืื ืฉืืึทืืืช ืฆื DoH, WebSocket ืืื ESNI ืืขื ืขื ืึทืจืืึทื ืืขืจืขืื ื ืืื CloudFlare ืืืจื ืคืขืืืงืืึทื. ื ืึธื ืืขืจืืืึทื ืืืงื ืื ืื ืก ืจืขืงืึธืจืืก, ืืืจ ืงืขื ืขื ืงืึธื ืืจืึธืืืจื ืื ืึธืคึผืขืจืึทืฆืืข ืคืื โโืื ืคืขืื ืืืจื ืึธื ืคืจืขื ืื eSNI ืฉืืืกืืขื:
dig +short txt _esni.df13tester.info 
ืืืื ืืืจ ืืขื ืขืคึผืขืก ืขื ืืขื ืคึฟืึทืจ ืืืื ืคืขืื, ืขืก ืืืื ืึทื ืึทืืฅ ืึทืจืืขื ืคึฟืึทืจ ืืืจ ืืื ืืืจ ืงืขื ืขื ืคืึธืจืืขืฆื ืฆื ืคึผืจืืืืจื.
ืงืึทืืขืจ Ubuntu ื VPS, ืืืฉื, ืืืืฃ ืืืืืฉืืืึทืืึธืืฉืึทื. ืค.ืก.: ืืื ืืื ืืืขืจ ืคืึทื, ืื VPS IP ืึทืืจืขืก ืืืึธืก ืืืจ ืืึธืื ื ืึธืจ ืืืึธืก ืืึทืงืืืขื ืคืื ืืื ืืืขืจ ืคึผืจืึทืืืืืืขืจ ืืื ืืขืขื ืืืื ืืืืฃ ืจืึธืกืงืึธืื ืึทืืืึธืจ'ืก ืฉืืืึทืจืฆืขืจ ืจืฉืืื. ืึทืืื ืืืื ื ืืฉื ืืืืขืจืจืืฉื ืืืื ืขืคึผืขืก ืขื ืืขืืก ืคึผืึทืกืืจื ืืื ืืฒึทื. ืืื ืืึธื ืืขืืึทืจืคื ื ืืฆื ืึท VPN ืฆื ืฆืืงืืืขื ืฆื ืืฒึทื VPS.
ืืืจ ื ืึธืืืึทืื ืื ืฉืืื ืงืึทืืคึผืืืื ืจืกืึธืงืงืกืืื ืฆื ืื ืืืคึผืก (ืืขื, ืืื, ืืื ืื ืื ืืขืจ ืฉืืื ืงืืื ืคืื Golang - ืืืจ ืงืขื ืขื ืฆืื ืืืคื ืขืืขื ืื ืคึผืจืืืขืงื ืืืืฃ ืืืื ืืืืื ืืื ืืืืคื ืขืก ืืืืฃ ืงืืื ืืื ืืงืก, ืึธืืกืขืจืืืืจื ืืืืื ืื ืกืืกืืขื ืก ืืืกื ืงืึทืคึผืึทืฆืืืขื) ืืื ืงืึทืืขืจ ืื ืกืขืจืืืขืจ ืืืื:

ืืื ืืขืืึธืื ืืขืจ ืงืืืขื ื ืืืื:

ืืื ืืืจ ืงืขื ืขื ืืขื, ืืขืจ ืงืืืขื ื ืืื ืืฆืืื ืงืึธื ื ืขืงืืขื ืฆื ืื ืกืขืจืืืขืจ ืืืจื ืื CloudFlare ืคืจืึธื ืืขื ื ืกืขืจืืืขืจ ื ืืฆื ืึท ืืืขืืกืึธืงืงืขื. ืฆื ืงืึธื ืืจืึธืืืจื ืึทื ืืขืจ ืืื ืขื ืึทืจืืขื ืคึผืื ืงื ืืื ืึท ืืื ืขื, ืืืจ ืงืขื ืขื ืืึทืื ืึท ืืจืืึทื ืืขืื ืืืจื ืืืืข ืกืึทืงืก 5, ืขืคืขื ืขื ืืืืฃ ืื ืกืขืจืืืขืจ:

ืืืฆื ืืึธืืืจ ืืขื ืืืึธืก DPI ืืขื ืืื ืื ืงืึธืืื ืืงืึทืฆืืข ืงืึทื ืึทื:

ืขืจืฉืืขืจ, ืืขืจ ืืื ื ืขืืขืจ, ื ืืฆื ืื ืืึธื ืืขืงืึทื ืืืึทื, ืงืึธื ืืึทืงื ืื Cloudflare DNS ืกืขืจืืืขืจ ืคึฟืึทืจ eSNI ืฉืืืกืืขื ืคึฟืึทืจ ืื ืืขืกืืื ืืืฉืึทื ืคืขืื (ืคึผืึทืงืึทืฅ ื ืื 1-19), ืืื ืืขืืึธืื ืงืึธื ืืึทืงื ืื ืคืจืึธื ืืขื ื ืกืขืจืืืขืจ ืืื ืืกืืึทืืืืฉืื ืึท TLS ืคึฟืึทืจืืื ืืื ื, ืืืืืื ื ืืื ืืขืจ ืื ืคืขืื. (ืืึธืก ืืื ืื ืคืขืืืงืืึทื ืืืขืจื ืืืขื ืงืืื ืฉืืืื ืื ืคืขืื ืืื ืกืคึผืขืกืืคืืขื ืืืขื ืืขืจ ืงืืืขื ื ืกืืึทืจืฅ). ืฆื ืกืคึผืขืฆืืคืืฆืืจื ืืืื ืฉืืืื ืื ืคืขืื, ืืืจ ืืืื ื ืืฆื ืื -fronfDomain ืคึผืึทืจืึทืืขืืขืจ:
![]()

ืืืฆื ื ืึธื ืืืื ืืึทื. ืืืจื ืคืขืืืงืืึทื, ืื CloudFalre ืืฉืืื ืกืขืืืื ืืก ืืขื ืขื ืืึทืฉืืืื ืฆื Flexible SSL. ืืขื ืืืื ืึทื ืืืืคึผืก ืจืืงืืืขืก ืฆื ืงืืึธืืืคืืึทืจืข ืคืจืึธื ืืขื ื ืกืขืจืืืขืจืก ืคืื ืงืืืืึทื ืฅ ืืืขื ืืืื ืคืึธืจืืืขืจืืื ืึทื ืขื ืงืจืืคึผืืื (ืืืืคึผ) ืฆื ืืื ืืืขืจ ืกืขืจืืืขืจ. ืึทื ืืื ืืืึธืก ืืืจ ืืึธื ืืฉื ืื ืกืขืจืืืขืจ ืืืื ืคืื ืืขื ืืื ืขื ืืื ื ืื-ืกืกื ืืึธืืข (-ืืืกืืขื ws:0.0.0.0), ืืื ื ืืฉื (-ืืืกืืขื wss:0.0.0.0).

ืืื ืกืืจ ืฆื ืืึทืฉืืืืขื ืฆื ืคืื ืขื ืงืจืืคึผืฉืึทื ืืึธืืข, ืืืจ ืืืื ืืืืกืงืืืึทืื ืคืืืึธืืขืจ ืืึทื ืฅ (ืฉืืจืขื ื) ืืืื ืขืก ืืื ืึท ืคืึทืงืืืฉ ืืึทืืืืึทืื ืืืืฃ ืื ืกืขืจืืืขืจ. ื ืึธื ืืึทืฉืืืืขื ืืขื ืืึธืืข, ืืืจ ืงืขื ืขื ืึธื ื ืขืืขื ืงืึทื ืขืงืฉืึทื ื ืคึฟืื CloudFlare ื ืืฆื ืื https ืคึผืจืึธืืึธืงืึธื. ืื ืืืืกื ื ืืฉื ืคืึทืจืืขืกื ืฆื ืืืฉืขื ืขืจืืื ืึท ืืื-ืืขืืชืืขื ืืึทืืืืึทืื ืคึฟืึทืจ ืื ืกืขืจืืืขืจ ืืืึทื ืคืื ืืขื ืืื ืขื.

ืืขืจ ื ืืืืขืจืืงืขืจ ืืืืขื ืขืจ ืืืขื ืคืจืขืื: "ืืืึธืก ืืืขืื ืืขื ืงืืืขื ื ืืื ืืขืจ Windows"ื ืื ืืืขื, ืื ืืืืคื ื ืืฅ ืคืื ื ืืื ืขืืขืจ ืืื ืืกืชืื ืฆื ืืืืคืฉืืขืื ื ืืขืง-ืขื ื ืงืื ืขืงืฉืื ืคืื ืงืืจืคืืจืืืืืืข ืืืฉืื ืขื ืืื ืกืขืจืืืขืจืก, ืืื ืืขื ืข ืืขื ืขื ืืขืืืขื ืืื ืฉืืขื ืืื ืืืื ืืืืก. ืืื ืืืื ืงืืืคืืื ืืื ื ืืื ืขืืขืจ ืคืืจ ืืืื ืืืืก, ืกืคืขืฆืืขื ืืื ื ืกืคืขืฆืืคืืฉื TLS ืกืืขืง?" ืืขืฆื ืืืขืื ืืืจ ืคืืจืฉืืขืื ื ืื ื ืืืืื ืฉืืคื ืืืืก ืืืืืื ืืื ืืืงืืืขื ืืืืื ื ืืื. ืืืจ ืงืืืคืืืื ืคืืจ ืืืื ืืืืก ืืืืื ืคืื ืงืืื ืืืจื ืคืฉืื ืฆืืืืืื ืืขื 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 ืฆื ืจืขืืืฆืืจื ืื ืืจืืืก.
ืึธื ืฉืืึธื ืึท ืืกืงื ื
ืืื ืืขื ืึทืจืืืงื, ืืื ืืขื ืืืึทืฉืคึผืื ืคืื ืึท ืืื ืขื ืืขืฉืจืืื ืืื Golang, ืืืจ ืงืืืจ ืืขืืึทื ืกืืจืืืืื ืื ื ืืฆื ืคืื ืื ื ืืึทืข ืคืขืื-ืคืจืึธื ืืื ื ืืขืื ืึธืืึธืืืข, ืืืคึผืืึทืืขื ืึทื ืืืืฃ ืึท ืืึทื ืฅ ืืฉืืงืึทืืืข ืฉืืจืื ืคืื ืื TLS 1.3 ืคึผืจืึธืืึธืงืึธื. ืืื ืึท ืขื ืืขื ืืืขื, ืืืจ ืงืขื ืขื ืึทืืึทืคึผื ืืืืืกืืื ื ืืืฉืืจืื ืืขืฉืจืืื ืืื Golang ืฆื ืึทืจืืขืื ืืืจื CloudFlare ืกืขืจืืืขืจืก, ืืืฉื - ืืึทืจืืื C2, ืึธืืขืจ ืฆืืืื ืืขื CobaltStrike Beacon ืฆื ื ืืฆื eSNI ืคืขืื-ืคืจืึธื ืืื ื ืืืขื ืืจืืขืื ืืื ืืขืึทืืกืขืจืืืขืจ ืืืจื , ืืืคึผืืึทืืขื ืึทื ืืื Golang, ืึธืืขืจ ืืื ื ืึธืจืืึทื C ++ ื ืืฆื ืึท ืคึผืึทืืฉื ืืืขืจืกืืข ืคืื โโโโOpenSSL, ืืืึธืก ืืืจ ืืขืจืขืื ืืืขืื ืืื ืื ืืขืฆืืข ืืืื ืคืื ืืขื ืึทืจืืืงื. ืืื ืึทืืืขืืืื, ืขืก ืืขื ืขื ืงืืื ืืืืึทืฅ ืฆื ืคืึทื ืืึทืืืข.
ืืขืจ ืืืืฉืคึผืื ืืื ืื ืืื ื ืขืืขืจ ืืื CloudFlare ืืื ืืขืจืืื ืื ืืื ืื ืคืึธืจืขื ืคืื ืึท ืืึทืืจืืฃ ืืื ืขืก ืืื ื ืึธื ืฉืืืขืจ ืฆื ืืึธืื ืืืขืื ืื ืืึทื ื-ืืขืจืืื ืคึผืจืึทืกืคึผืขืงืก ืคืื ืืขื ืืืคึผ ืคืื ืคืขืื ืคืจืึธื ืืื ื. ืืขืจืืืืึทื, ืืืืื CloudFlare ืฉืืืฆื eSNI ืืื, ืืื ืืขืึธืจืืข, ืืึธืจื ืืฉื ืคึผืจืืืืขื ืฅ ืืื ืคืื ืืืกืืืืึทื ืืขื ืืื ืคืื ืคืจืึธื ืืื ื ืืื, ืืืฉื, ืืจืืืงืื ื tls ืงืึทื ืขืงืฉืึทื ื ืืืื SNI ืืื eSNI ืืึธื ื ืื ืืืืึทืื. ืืื ืึทืืืขืืืื, ืื ืฆืืงืื ืคึฟื ืืืขื ืืึธืื. ืืืขืจ ืคึฟืึทืจ ืืืฆื, ืื ืืืกืงืืง ืคืื ืืจืืขืื ืืื ืืขืจ ืื "ืืขืง ืคืื kremlin.ru" ืงืืงื ืืึทื ืฅ ืืขืืคึผืืื ื. ืืื ืขืก ื ืืฉื?
ืืขืจ ืืขืจืืืึทื ืืืงื ืืื ื ืขืืขืจ ืงืึธื, ืืื ืืขืืื ื ืืื ืงืึทืืคึผืืืื ืขืงืกืขืงืืืึทืืืข ืขืงืกืข ืืขืงืขืก, ืืขื ืขื ืืืื ืืื ืึท ืืึทืืื ืืขืจ ืฆืืืืึทื ืคืื ืื ืคึผืจืืืขืงื ืืืืฃ . ืขืก ืืื ืืขืกืขืจ ืฆื ืฉืจืืึทืื ืึทื ืึทืจืืืกืืขืื ืืืขืื ืึทืืข ืืขืืืขื ืืึทื ืึทืืขืจ ืคึผืจืึธืืืขืืก ืืืืฃ ืื ืคึผืจืืืขืงื ืืืึทื ืืืืฃ GitHub.
ืืงืืจ: www.habr.com
