ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ื”ืงื“ืžื”

ืื™ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ื˜ื™ื™ืœ ืึทืจื˜ื™ืงืœ ืžื™ืจ ื”ืึธื‘ืŸ ื’ืขื’ืขื‘ืŸ ืึท ืงื•ืจืฅ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ื™ ืขื ืงืจื™ืคึผื˜ื™ื“ 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 ืื™ื– ืื•ื ื“ื–ืขืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึฟืึทืจ ืคึผื™ื•ื•ืึทื˜ื™ื ื’ ืื™ืŸ ื“ื™ ื ืขืฅ - ืึท ื˜ื•ื ื ืขืœืขืจ rsockstun, ื•ื•ืึธืก, ื“ื•ืจืš ื“ืขื ื•ื•ืขื’, ืื™ื– ืื™ืฆื˜ ื“ื™ื˜ืขืงื˜ืึทื“ ื“ื•ืจืš ืžื›ืฉื™ืจื™ื ืคื•ืŸ Microsoft ืื•ืŸ Symantec ื•ื•ื™ ื–ื™ื™ืขืจ ื‘ื™ื™ื–ืข ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืึทื™ืžืขื“ ืฆื• ื“ื™ืกืจืึทืคึผื˜ื™ื ื’ ื’ืœืื‘ืืœืข ืคืขืกื˜ืงื™ื™ึทื˜ ...

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืขืก ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ื’ืจื•ื™ืก ืฆื• ื ื•ืฆืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืื•ื™ืš ืื™ืŸ ื“ืขื ืคืึทืœ. ืื‘ืขืจ ื“ืึธ ืึท ืงืœื™ื™ืŸ ืคึผืจืึธื‘ืœืขื ืขืจื™ื™ื–ืึทื–. ื“ืขืจ ืคืึทืงื˜ ืื™ื– ืึทื– ื˜ื›ื™ืœืขืก rsockstun ื™ืžืคึผืœื™ื™ื– ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืึท ืกื™ื ื˜ืฉืจืึธื ืึธื•ืก ืกืกืœ ืงืึธืžื•ื ื™ืงืึทืฆื™ืข ืงืึทื ืึทืœ ืžื™ื˜ ื“ื™ ืกืขืจื•ื•ืขืจ. ื“ืืก ืžื™ื™ื ื˜ ืื– ื“ื™ ืคืืจื‘ื™ื ื“ื•ื ื’ ื•ื•ืขืจื˜ ืื™ื™ื ืžืืœ ื’ืขื’ืจื™ื ื“ืขื˜ ืื•ืŸ ืขืงื–ื™ืกื˜ื™ืจื˜ ืคืืจ ื“ื™ ื’ืื ืฆืข ื’ืขื“ื•ื™ืขืจ ืคื•ืŸ ื“ื™ ืืคืขืจืืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืขื ื˜ื•ื ืขืœ. ืื•ืŸ, ื•ื•ื™ ืื™ืจ ืคึฟืึทืจืฉื˜ื™ื™ืŸ, ื“ืขืจ https ืคึผืจืึธื˜ืึธืงืึธืœ ืื™ื– ื ื™ืฉื˜ ื‘ื“ืขื” ืคึฟืึทืจ ื“ืขื ืžืึธื“ืข ืคื•ืŸ โ€‹โ€‹ืึธืคึผืขืจืึทืฆื™ืข - ืขืก ืึทืจื‘ืขื˜ ืื™ืŸ ื‘ืขื˜ืŸ-ืขื ื˜ืคืขืจ ืžืึธื“ืข, ื•ื•ื• ื™ืขื“ืขืจ ื ื™ื™ึท http ื‘ืขื˜ืŸ ื™ื’ื–ื™ืกืฅ ืื™ืŸ ืึท ื ื™ื™ึท ื˜ืงืคึผ ืงืฉืจ.

ื“ืขืจ ื”ื•ื™ืคึผื˜ ื›ื™ืกืึธืจืŸ ืคื•ืŸ ื“ืขื ืกื›ืขืžืข ืื™ื– ืึทื– ื“ืขืจ ืกืขืจื•ื•ืขืจ ืงืขืŸ ื ื™ืฉื˜ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ืึทื˜ืŸ ืฆื• ื“ืขื ืงืœื™ืขื ื˜ ื‘ื™ื– ื“ืขืจ ืงืœื™ืขื ื˜ ืกืขื ื“ื– ืึท ื ื™ื™ึทืข http ื‘ืขื˜ืŸ. ืึธื‘ืขืจ, ืฆื•ืž ื’ืœื™ืง, ืขืก ื–ืขื ืขืŸ ืคื™ืœืข ืึธืคึผืฆื™ืขืก ืคึฟืึทืจ ืกืึทืœื•ื•ื™ื ื’ ื“ืขื ืคึผืจืึธื‘ืœืขื - ืกื˜ืจื™ืžื™ื ื’ ื“ืึทื˜ืŸ ื“ื•ืจืš ื“ื™ ื”ื˜ื˜ืคึผ ืคึผืจืึธื˜ืึธืงืึธืœ (ื ืึธืš ืึทืœืข, ืžื™ืจ ืขืคืขืก ืคื™ืจืŸ ืฆื• ื”ื™ื˜ืŸ ืื•ื ื“ื–ืขืจ ื‘ืึทืœื™ื‘ืกื˜ืข ื˜ืขืœืขื•ื•ื™ื–ื™ืข ืฉืึธื•ื– ืื•ืŸ ื”ืขืจืŸ ืฆื• ืžื•ื–ื™ืง ืคึฟื•ืŸ ืคึผืึธืจื˜ืึทืœืก โ€‹โ€‹ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ https, ืึธื‘ืขืจ ื˜ืจืึทื ืกืžื™ื˜ื™ื ื’ ื•ื•ื™ื“ืขื ืื•ืŸ ืึทื•ื“ื™ืึธ ืื™ื– ื’ืึธืจื ื™ืฉื˜ ืึทื ื“ืขืจืฉ. ื•ื•ื™ ืกื˜ืจื™ืžื™ื ื’ ื“ืึทื˜ืŸ). ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ื˜ืขืงื ืึทืœืึทื“ื–ืฉื™ื– ืคึฟืึทืจ ืขืžื™ืึทืœื™ื™ื˜ื™ื ื’ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ืึท ืคื•ืœ-ืคืœืขื“ื–ืฉื“ ื˜ืงืคึผ ืงืฉืจ ืื™ื‘ืขืจ ื“ื™ ื”ื˜ื˜ืคึผ ืคึผืจืึธื˜ืึธืงืึธืœ ืื™ื– ื•ื•ืขื‘ืกืึธืงืงืขืฅ ื˜ืขื›ื ืึธืœืึธื’ื™ืข, ื“ื™ ื”ื•ื™ืคึผื˜ ืขืกืึทื ืก ืคื•ืŸ ื•ื•ืึธืก ืื™ื– ืฆื• ืึธืจื’ืึทื ื™ื–ื™ืจืŸ ืึท ืคื•ืœ-ืคืœืขื“ื–ืฉื“ ื ืขืฅ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ ืฆื•ื•ื™ืฉืŸ ื“ืขื ืงืœื™ืขื ื˜ ืื•ืŸ ื“ื™ ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ.

ืฆื•ืž ื’ืœื™ืง ืคึฟืึทืจ ืื•ื ื“ื– (ื”ืึธืึธืจื™ื™ึท !!!), ื“ื™ ื˜ืขื›ื ืึธืœืึธื’ื™ืข ืื™ื– ื™ื ืงืœื•ื“ืขื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ืื™ืŸ ืึทืœืข CloudFlare ืฆืึธืœ ืคึผืœืึทื ื– ืื•ืŸ ืึทืจื‘ืขื˜ ื’ืจื•ื™ืก ืื™ืŸ ืงืึธืžื‘ื™ื ืึทืฆื™ืข ืžื™ื˜ eSNI. ื“ืึธืก ืื™ื– ืคึผื•ื ืงื˜ ื•ื•ืึธืก ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ ืฆื• ืœืขืจื ืขืŸ ืื•ื ื“ื–ืขืจ ื˜ื•ื ื ืขืœืขืจ ืฆื• ื ื•ืฆืŸ ืคืขืœื“-ืคืจืึธื ื˜ื™ื ื’ ืื•ืŸ ื‘ืึทื”ืึทืœื˜ืŸ ืคื•ืŸ ืžืึธื“ืขืจืŸ ื“ืคึผื™.

ื ื‘ื™ืกืœ ื•ื•ืขื’ืŸ WebSockets

ืขืจืฉื˜ืขืจ ืคื•ืŸ ืึทืœืข, ืžื™ืจ ื•ื•ืขืœืŸ ื‘ืขืงื™ืฆืขืจ ืื•ืŸ ืคืฉื•ื˜ ื“ืขืจืงืœืขืจืŸ ื•ื•ืขื‘ืกืึธืงืงืขืฅ ืึทื–ื•ื™ ืึทื– ืึทืœืขืžืขืŸ ื”ืื˜ ืึท ื’ืขื“ืึทื ืง ืคื•ืŸ ื•ื•ืึธืก ืžื™ืจ ื•ื•ืขืœืŸ ืึทืจื‘ืขื˜ืŸ ืžื™ื˜.

ื•ื•ืขื‘ืกืึธืงืงืขื˜ ื˜ืขื›ื ืึธืœืึธื’ื™ืข ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื˜ืขืžืคึผืขืจืขืจืึทืœื™ ื‘ืึทืฉื˜ื™ืžืขืŸ ืคื•ืŸ ืึท ื”ื˜ื˜ืคึผ ืงืฉืจ ืฆื• ืึท ื ืึธืจืžืึทืœ ื ืขืฅ ื›ืึธืœืขืœ ืกื˜ืจื™ืžื™ื ื’ ืึธืŸ ื‘ืจื™ื™ืงื™ื ื’ ื“ื™ ื’ืขื’ืจื™ื ื“ืขื˜ ื˜ืงืคึผ ืงืฉืจ. ื•ื•ืขืŸ ืึท ืงืœื™ืขื ื˜ ื•ื•ื™ืœ ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• ืึท ื•ื•ืขื‘ืกืึธืงืงืขื˜, ืขืก ืฉื˜ืขืœื˜ ืขื˜ืœืขื›ืข ื”ื˜ื˜ืคึผ ื›ืขื“ืขืจื– ืื™ืŸ ื–ื™ื™ืŸ http ื‘ืขื˜ืŸ. ืฆื•ื•ื™ื™ ืคืืจืœืื ื’ื˜ ื›ืขื“ืขืจื– - ืงืฉืจ: ืึทืคึผื’ืจื™ื™ื“ ะธ ืึทืคึผื’ืจื™ื™ื“: ื•ื•ืขื‘ืกืึธืงืงืขื˜. ืขืจ ืงืขื ืขืŸ ืื•ื™ืš ืงืจืึทืคื˜ืคืึทืœื™ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื•ื•ืขื‘ืกืึธืงืงืขื˜ ืคึผืจืึธื˜ืึธืงืึธืœ ื•ื•ืขืจืกื™ืข (ืกืขืง-ื•ื•ืขื‘ืกืึธืงืงืกืขื˜-ื•ื•ืขืจืกื™ืข: 13) ืื•ืŸ ืขืคึผืขืก ื•ื•ื™ ืึท base64 ื•ื•ืขื‘ืกืึธืงืงืขื˜ ื™ื™ื“ืขื ืึทืคื™ื™ื“ (Sec-WebSocket-Key: DAGDJSiREI3+KjDfwxm1FA==). ื“ืขืจ ืกืขืจื•ื•ืขืจ ืจื™ืกืคึผืึทื ื“ ืฆื• ืื™ื ืžื™ื˜ ื“ื™ http ืงืึธื“ 101 ืกื•ื•ื™ื˜ืฉื™ื ื’ ืคึผืจืึธื˜ืึธืงืึธืœืก ืื•ืŸ ืื•ื™ืš ืฉื˜ืขืœืŸ ื“ื™ ื›ืขื“ืขืจื– ืงืฉืจ, ืึทืคึผื’ืจื™ื™ื“ ะธ ืกืขืง-ื•ื•ืขื‘ืกืึธืงืงืขื˜-ืึทืงืกืขืคึผื˜. ื“ื™ ืกื•ื•ื™ื˜ืฉื™ื ื’ ืคึผืจืึธืฆืขืก ืื™ื– ืงืœืืจ ื“ืขืžืึทื ืกื˜ืจื™ื™ื˜ื™ื“ ืื™ืŸ ื“ื™ ืกืงืจืขืขื ืฉืึธื˜ ืื•ื ื˜ืŸ:

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ื ืึธืš ื“ืขื, ื“ื™ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ WebSocket ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืจืขื›ื ื˜ ื•ื•ื™ ื’ืึทื ืฅ. ืงื™ื™ืŸ ื“ืึทื˜ืŸ ืคื•ืŸ ื‘ื™ื™ื“ืข ื“ื™ ืงืœื™ืขื ื˜ ืื•ืŸ ื“ื™ ืกืขืจื•ื•ืขืจ ื•ื•ืขื˜ ืื™ืฆื˜ ื–ื™ื™ืŸ ืกืึทืคึผืœื™ื™ื“ ื ื™ืฉื˜ ืžื™ื˜ ื”ื˜ื˜ืคึผ, ืึธื‘ืขืจ ืžื™ื˜ WebSocket ื›ืขื“ืขืจื– (ื–ื™ื™ ืึธื ื”ื™ื™ื‘ืŸ ืžื™ื˜ ื‘ื™ื™ื˜ 0x82). ืื™ืฆื˜ ื“ืขืจ ืกืขืจื•ื•ื™ืจืขืจ ื˜ื•ื˜ ื ื™ืฉื˜ ื“ืึทืจืคึฟืŸ ืฆื• ื•ื•ืึทืจื˜ืŸ ืคึฟืึทืจ ืึท ื‘ืงืฉื” ืคื•ืŸ ื“ืขื ืงืœื™ืขื ื˜ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ืึทื˜ืŸ, ื•ื•ื™ื™ึทืœ ื“ื™ tcp ืงืฉืจ ืื™ื– ื ื™ืฉื˜ ืฆืขื‘ืจืื›ืŸ.

Golang ื”ืื˜ ืขื˜ืœืขื›ืข ืœื™ื™ื‘ืจืขืจื™ื– ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื•ื•ืขื‘ืกืึธืงืงืขืฅ. ื“ื™ ืžืขืจืกื˜ ืคืึธืœืงืก ืคื•ืŸ ื–ื™ื™ ื–ืขื ืขืŸ ื’ืึธืจื™ืœืœืึท ื•ื•ืขื‘ืกืึธืงืงืขื˜ ืื•ืŸ ื ืึธืจืžืึทืœ ื•ื•ืขื‘ืกืึธืงืงืขื˜. ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ ื“ื™ ืœืขืฆื˜ืข, ื•ื•ื™ื™ึทืœ ... ืขืก ืื™ื– ืกื™ืžืคึผืœืขืจ, ืงืœืขื ืขืจืขืจ ืื•ืŸ, ื•ื•ื™ ื–ื™ื™ ื–ืึธื’ืŸ, ืึทืจื‘ืขื˜ ืึท ื‘ื™ืกืœ ืคืึทืกื˜ืขืจ.

ืื™ืŸ ื“ื™ rsockstun ืงืœื™ืขื ื˜ ืงืึธื“, ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืคืึทืจื‘ื™ื™ึทื˜ืŸ ื“ื™ net.dial ืึธื“ืขืจ tls.dial ืงืึทืœืœืก ืžื™ื˜ ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ื•ื•ืขื‘ืกืึธืงืงืขื˜ ืงืึทืœืœืก:

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื• ืžืึทื›ืŸ ื“ืขื ืงืœื™ืขื ื˜ ืึท ื˜ื™ื™ืœ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ื˜ื•ื ืขืœ ื•ื ื™ื•ื•ืขืจืกืึทืœ ืื•ืŸ ื˜ื•ื™ื’ืขื•ื•ื“ื™ืง ืฆื• ืึทืจื‘ืขื˜ืŸ ื‘ื™ื™ื“ืข ื“ื•ืจืš ืึท ื“ื™ืจืขืงื˜ ืกืกืœ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ ืื•ืŸ ื“ื•ืจืš ื“ื™ ื•ื•ืขื‘ืกืึธืงืงืกืขื˜ ืคึผืจืึธื˜ืึธืงืึธืœ. ืคึฟืึทืจ ื“ืขื ืžื™ืจ ื•ื•ืขืœืŸ ืฉืึทืคึฟืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคึฟื•ื ืงืฆื™ืข func connectForWsSocks (ืึทื“ืจืขืก ืฉื˜ืจื™ืงืœ, ืคืจืืงืกื™ ืฉื˜ืจื™ืงืœ) ื˜ืขื•ืช {...} ื“ื•ืจืš ืึทื ืึทืœืึทื“ื–ืฉื™ ืžื™ื˜ connectForSocks() ืื•ืŸ ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ ืขืก ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ื•ื•ืขื‘ ืกืึทืงืึทืฅ ืื•ื™ื‘ ื“ื™ ืกืขืจื•ื•ื™ืจืขืจ ืึทื“ืจืขืก ืกืคึผืขืกื™ืคื™ืขื“ ื•ื•ืขืŸ ืกื˜ืึทืจื˜ื™ื ื’ ื“ืขื ืงืœื™ืขื ื˜ ื”ื™ื™ื‘ื˜ ืžื™ื˜ ws: ืึธื“ืขืจ wss: (ืื™ืŸ ื“ืขื ืคืึทืœ ืคื•ืŸ ื–ื™ื›ืขืจ ื•ื•ืขื‘ืกืึธืงืงืขื˜).

ืคึฟืึทืจ ื“ื™ ืกืขืจื•ื•ืขืจ ื–ื™ื™ึทื˜ ืคื•ืŸ ื“ืขื ื˜ื•ื ืขืœ, ืžื™ืจ ื•ื•ืขืœืŸ ืื•ื™ืš ืžืึทื›ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคื•ื ืงืฆื™ืข ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื•ื•ืขื‘ ืกืึทืงืึทืฅ. ืขืก ื•ื•ืขื˜ ืžืึทื›ืŸ ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ื“ื™ ื”ื˜ื˜ืคึผ ืงืœืึทืก ืื•ืŸ ืฉื˜ืขืœืŸ ื“ื™ ื”ื˜ื˜ืคึผ ืงืฉืจ ื”ืึทื ื“ืœืขืจ (wsHandler ืคื•ื ืงืฆื™ืข):

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืื•ืŸ ืžื™ืจ ื•ื•ืขืœืŸ ืฉื˜ืขืœืŸ ืึทืœืข ื“ื™ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ ืคึผืจืึทืกืขืกื™ื ื’ ืœืึธื’ื™ืง (ืงืœื™ืขื ื˜ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื ื™ืฆืŸ ืึท ืคึผืึทืจืึธืœ, ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืื•ืŸ ืขื ื“ื™ืงืŸ ืึท ื™ืึทืžื•ืงืก ืกืขืกื™ืข) ืื™ืŸ ื“ื™ WebSocket ืงืฉืจ ื”ืึทื ื“ืœืขืจ:

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืžื™ืจ ืฆื•ื ื•ื™ืคื ืขืžืขืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื•ืŸ ืงืึทื˜ืขืจ ื“ื™ ืกืขืจื•ื•ืขืจ ื˜ื™ื™ืœ:

./rsockstun โ€“listen ws:127.0.0.1:8080 โ€“pass P@ssw0rd

ืื•ืŸ ื“ืขืžืึธืœื˜ ื“ืขืจ ืงืœื™ืขื ื˜ ื˜ื™ื™ืœ:

./rsockstun -connect ws:127.0.0.1:8080 โ€“pass P@ssw0rd

ืื•ืŸ ืžื™ืจ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืึทืจื‘ืขื˜ ืื•ื™ืฃ ื“ื™ ื”ื™ื’ืข ื‘ืึทืœืขื‘ืึธืก:

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ื–ืืœ ืก ืžืึทืš ืื•ื™ืฃ ืฆื• ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’

ืžื™ืจ ื•ื™ืกืงื•ืžืขืŸ ืฆื• ื”ืึธื‘ืŸ ืคื™ื’ื™ืขืจื“ ื•ื•ืขื‘ืกืึธืงืงืขืฅ. ืื™ืฆื˜ ืœืึธื–ืŸ ืื•ื ื“ื– ืžืึทืš ื’ืœื™ื™ืš ืฆื• eSNI ืื•ืŸ ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’. ื•ื•ื™ ืคืจื™ืขืจ ื“ืขืจืžืื ื˜, ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ DoH ืื•ืŸ eSNI ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื ืขืžืขืŸ ืึท ืกืคึผืขืฆื™ืขืœ ื’ืึธืœืึทื ื’ ืฆื•ื•ื™ื™ึทื’ ืคื•ืŸ ื“ื™ ืคื™ืจืžืข CloudFlare. ืžื™ืจ ื“ืึทืจืคึฟืŸ ืึท ืฆื•ื•ื™ื™ึทื’ ืžื™ื˜ 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 1.3. ื˜ื™ื™ืœ 2

ืขืก ื–ืึธืœ ื–ื™ื™ืŸ ืื ื’ืขื•ื•ื™ื–ืŸ ื“ืึธ ืึทื– ื˜ื›ื™ืœืขืก, ื“ื™ tls-tris ืฆื•ื•ื™ื™ึทื’ ืื™ื– ื ื™ืฉื˜ ื“ื™ื–ื™ื™ื ื“ ืคึฟืึทืจ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’. ื“ืขืจื™ื‘ืขืจ, ืขืก ื˜ื•ื˜ ื ื™ืฉื˜ ื‘ืึทืฆืึธืœืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ื˜ ืฆื• ื“ื™ ืฉื•ื•ื™ื ื“ืœ ืกืขืจื•ื•ืขืจ ื ืึธืžืขืŸ (ืึท ืœื™ื™ื“ื™ืง ืกืขืจื•ื•ืขืจื ืึทืžืข ืคืขืœื“ ืื™ื– ื’ืขืฉื™ืงื˜ ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคื•ืŸ ื“ืขื ืงืœื™ืขื ื˜-ื”ืขืœื ืคึผืึทืงืึทื˜). ืื™ืŸ ืกื“ืจ ืฆื• ืคืึทืจืจื™ื›ื˜ืŸ ื“ืขื, ืžื™ืจ ื”ืึธื‘ืŸ ืฆื• ืœื™ื™ื’ืŸ ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ FakeServerName ืคืขืœื“ ืฆื• ื“ื™ TlsConfig ืกื˜ืจื•ืงื˜ื•ืจ. ืžื™ืจ ืงืขื ืขืŸ ื ื™ืฉื˜ ื ื•ืฆืŸ ื“ื™ ื ืึธืจืžืึทืœ ืกืขืจื•ื•ืขืจื ืึทืžืข ืคืขืœื“ ืคื•ืŸ ื“ื™ ืกื˜ืจื•ืงื˜ื•ืจ, ื•ื•ื™ื™ึทืœ ืขืก ืื™ื– ื’ืขื ื™ืฆื˜ ื“ื•ืจืš ื“ื™ ื™ื ืขืจืœืขืš tls ืžืขืงืึทื ื™ื–ืึทืžื– ืื•ืŸ ืื•ื™ื‘ ืขืก ืื™ื– ืึทื ื“ืขืจืฉ ืคื•ืŸ ื“ื™ ืึธืจื™ื’ื™ื ืขืœ, ื“ื™ tls ื”ืึทื ื“ืฉื™ื™ืง ื•ื•ืขื˜ ืขื ื“ื™ืงืŸ ืžื™ื˜ ืึท ื˜ืขื•ืช. ื ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ื™ TlsConfig ืกื˜ืจื•ืงื˜ื•ืจ ืื™ื– ืงืึทื ื˜ื™ื™ื ื“ ืื™ืŸ ื“ืขืจ ื˜ืขืงืข tls/common.go - ืžื™ืจ ื”ืึธื‘ืŸ ืฆื• ืคืึทืจืจื™ื›ื˜ืŸ ืขืก:

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืื™ืŸ ื“ืขืจืฆื•, ืžื™ืจ ื•ื•ืขืœืŸ ื”ืึธื‘ืŸ ืฆื• ืžืึทื›ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ืขืจ ื˜ืขืงืข tls/handshake_client.goืฆื• ื ื•ืฆืŸ ืื•ื ื“ื–ืขืจ FakeServerName ืคืขืœื“ ื•ื•ืขืŸ ืคืึธืจืžื™ื ื’ ืึท TLS ื”ืึทื ื“ืฉื™ื™ืง:

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืึทื– ืก ืึทืœืข! ืื™ืจ ืงืขื ืขืŸ ืฆื•ื ื•ื™ืคื ืขืžืขืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื•ืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืึทืจื‘ืขื˜. ืึธื‘ืขืจ ืื™ื™ื“ืขืจ ืื™ืจ ืœื•ื™ืคืŸ ื“ื™ ื™ื‘ืขืจืงื•ืงืŸ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉื˜ืขืœืŸ ืึท CloudFlare ื—ืฉื‘ื•ืŸ. ื ื•, ื•ื•ื™ ืึทื–ื•ื™ ืงืขืŸ ืื™ืš ื–ืึธื’ืŸ, ืฉื˜ืขืœืŸ ืขืก ืึทืจื•ื™ืฃ - ื ืึธืจ ืฉืึทืคึฟืŸ ืึท ื—ืฉื‘ื•ืŸ ืื•ื™ืฃ ืงืœืึธื•ื“ืคืœืึทืจืข ืื•ืŸ ืœื™ื ืง ื“ื™ื™ืŸ ืคืขืœื“ ืฆื• ืขืก. ืึทืœืข ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืฉื™ื™ึทื›ื•ืช ืฆื• DoH, WebSocket ืื•ืŸ ESNI ื–ืขื ืขืŸ ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ CloudFlare ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜. ื ืึธืš ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื“ื™ ื“ื ืก ืจืขืงืึธืจื“ืก, ืื™ืจ ืงืขื ืขืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืคืขืœื“ ื“ื•ืจืš ืึธื ืคืจืขื’ ื“ื™ eSNI ืฉืœื™ืกืœืขืŸ:

dig +short txt _esni.df13tester.info 

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืื•ื™ื‘ ืื™ืจ ื–ืขืŸ ืขืคึผืขืก ืขื ืœืขืš ืคึฟืึทืจ ื“ื™ื™ืŸ ืคืขืœื“, ืขืก ืžื™ื˜ืœ ืึทื– ืึทืœืฅ ืึทืจื‘ืขื˜ ืคึฟืึทืจ ืื™ืจ ืื•ืŸ ืื™ืจ ืงืขื ืขืŸ ืคืึธืจื–ืขืฆืŸ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ.

ืงืึทื˜ืขืจ Ubuntu ื VPS, ืœืžืฉืœ, ืื•ื™ืฃ ื“ื™ื“ื–ืฉื™ื˜ืึทืœืึธื•ืฉืึทืŸ. ืค.ืก.: ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ื“ื™ VPS IP ืึทื“ืจืขืก ื•ื•ืึธืก ืžื™ืจ ื”ืึธื‘ืŸ ื ืึธืจ ื•ื•ืึธืก ื‘ืึทืงื•ืžืขืŸ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจ ืื™ื– ื’ืขืขื ื“ื™ื’ื˜ ืื•ื™ืฃ ืจืึธืกืงืึธืžื ืึทื“ื–ืึธืจ'ืก ืฉื•ื•ืึทืจืฆืขืจ ืจืฉื™ืžื”. ืึทื–ื•ื™ ื–ื™ื™ื˜ ื ื™ืฉื˜ ืื™ื‘ืขืจืจืืฉื˜ ืื•ื™ื‘ ืขืคึผืขืก ืขื ืœืขื›ืก ืคึผืึทืกื™ืจื˜ ืžื™ื˜ ืืฒึทืš. ืื™ืš ื”ืึธื‘ ื’ืขื“ืึทืจืคื˜ ื ื•ืฆืŸ ืึท VPN ืฆื• ืฆื•ืงื•ืžืขืŸ ืฆื• ืžืฒึทืŸ VPS.

ืžื™ืจ ื ืึธื›ืžืึทื›ืŸ ื“ื™ ืฉื•ื™ืŸ ืงืึทืžืคึผื™ื™ืœื“ ืจืกืึธืงืงืกื˜ื•ืŸ ืฆื• ื“ื™ ื•ื•ืคึผืก (ื“ืขื, ืื’ื‘, ืื™ื– ืืŸ ืื ื“ืขืจ ืฉื™ื™ื ืงื™ื™ื˜ ืคื•ืŸ Golang - ืื™ืจ ืงืขื ืขืŸ ืฆื•ื ื•ื™ืคื ืขืžืขืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื•ื™ืฃ ื“ื™ื™ืŸ ืื™ื™ื’ืŸ ืื•ืŸ ืœื•ื™ืคืŸ ืขืก ืื•ื™ืฃ ืงื™ื™ืŸ ืœื™ื ื•ืงืก, ืึธื‘ืกืขืจื•ื•ื™ืจืŸ ื‘ืœื•ื™ื– ื“ื™ ืกื™ืกื˜ืขื ืก ื‘ื™ืกืœ ืงืึทืคึผืึทืฆื™ื˜ืขื˜) ืื•ืŸ ืงืึทื˜ืขืจ ื“ื™ ืกืขืจื•ื•ืขืจ ื˜ื™ื™ืœ:

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืื•ืŸ ื“ืขืžืึธืœื˜ ื“ืขืจ ืงืœื™ืขื ื˜ ื˜ื™ื™ืœ:

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ื•ื•ื™ ืžื™ืจ ืงืขื ืขืŸ ื–ืขืŸ, ื“ืขืจ ืงืœื™ืขื ื˜ ืื™ื– ื”ืฆืœื—ื” ืงืึธื ื ืขืงื˜ืขื“ ืฆื• ื“ื™ ืกืขืจื•ื•ืขืจ ื“ื•ืจืš ื“ื™ CloudFlare ืคืจืึธื ื˜ืขื ื“ ืกืขืจื•ื•ืขืจ ื ื™ืฆืŸ ืึท ื•ื•ืขื‘ืกืึธืงืงืขื˜. ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทื– ื“ืขืจ ื˜ื•ื ืขืœ ืึทืจื‘ืขื˜ ืคึผื•ื ืงื˜ ื•ื•ื™ ืึท ื˜ื•ื ืขืœ, ืื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ืึท ื’ืจื™ื™ึทื– ื‘ืขื˜ืŸ ื“ื•ืจืš ื”ื™ื’ืข ืกืึทืงืก 5, ืขืคืขื ืขืŸ ืื•ื™ืฃ ื“ื™ ืกืขืจื•ื•ืขืจ:

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืื™ืฆื˜ ืœืึธืžื™ืจ ื–ืขืŸ ื•ื•ืึธืก DPI ื–ืขื˜ ืื™ืŸ ื“ื™ ืงืึธืžื•ื ื™ืงืึทืฆื™ืข ืงืึทื ืึทืœ:

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืขืจืฉื˜ืขืจ, ื“ืขืจ ื˜ื•ื ื ืขืœืขืจ, ื ื™ืฆืŸ ื“ื™ ื“ืึธื” ืžืขืงืึทื ื™ื–ืึทื, ืงืึธื ื˜ืึทืงื˜ ื“ื™ Cloudflare DNS ืกืขืจื•ื•ืขืจ ืคึฟืึทืจ eSNI ืฉืœื™ืกืœืขืŸ ืคึฟืึทืจ ื“ื™ ื“ืขืกื˜ื™ื ื™ื™ืฉืึทืŸ ืคืขืœื“ (ืคึผืึทืงืึทืฅ ื ื•ืž 1-19), ืื•ืŸ ื“ืขืžืึธืœื˜ ืงืึธื ื˜ืึทืงื˜ ื“ื™ ืคืจืึธื ื˜ืขื ื“ ืกืขืจื•ื•ืขืจ ืื•ืŸ ื™ืกื˜ืึทื‘ืœื™ืฉื™ื– ืึท TLS ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’, ื›ื™ื™ื“ื™ื ื’ ื”ื™ื ื˜ืขืจ ื“ื™ ืคืขืœื“. www.google.com (ื“ืึธืก ืื™ื– ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืขืจื˜ ื•ื•ืขืŸ ืงื™ื™ืŸ ืฉื•ื•ื™ื ื“ืœ ืคืขืœื“ ืื™ื– ืกืคึผืขืกื™ืคื™ืขื“ ื•ื•ืขืŸ ื“ืขืจ ืงืœื™ืขื ื˜ ืกื˜ืึทืจืฅ). ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ื™ืŸ ืฉื•ื•ื™ื ื“ืœ ืคืขืœื“, ืื™ืจ ืžื•ื–ืŸ ื ื•ืฆืŸ ื“ื™ -fronfDomain ืคึผืึทืจืึทืžืขื˜ืขืจ:

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืื™ืฆื˜ ื ืึธืš ืื™ื™ืŸ ื–ืึทืš. ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ื“ื™ CloudFalre ื—ืฉื‘ื•ืŸ ืกืขื˜ื˜ื™ื ื’ืก ื–ืขื ืขืŸ ื‘ืึทืฉื˜ื™ืžื˜ ืฆื• Flexible SSL. ื“ืขื ืžื™ื˜ืœ ืึทื– ื”ื˜ื˜ืคึผืก ืจื™ืงื•ื•ืขืก ืฆื• ืงืœืึธื•ื“ืคืœืึทืจืข ืคืจืึธื ื˜ืขื ื“ ืกืขืจื•ื•ืขืจืก ืคื•ืŸ ืงืœื™ื™ืึทื ืฅ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคืึธืจื•ื•ืขืจื“ื™ื“ ืึทื ืขื ืงืจื™ืคึผื˜ื™ื“ (ื”ื˜ื˜ืคึผ) ืฆื• ืื•ื ื“ื–ืขืจ ืกืขืจื•ื•ืขืจ. ืึทื– ืื™ื– ื•ื•ืึธืก ืžื™ืจ ืœืึธื ื˜ืฉื˜ ื“ื™ ืกืขืจื•ื•ืขืจ ื˜ื™ื™ืœ ืคื•ืŸ ื“ืขื ื˜ื•ื ืขืœ ืื™ืŸ ื ื™ื˜-ืกืกืœ ืžืึธื“ืข (-ืœื™ืกื˜ืขืŸ ws:0.0.0.0), ืื•ืŸ ื ื™ืฉื˜ (-ืœื™ืกื˜ืขืŸ wss:0.0.0.0).

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ืื™ืŸ ืกื“ืจ ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• ืคื•ืœ ืขื ืงืจื™ืคึผืฉืึทืŸ ืžืึธื“ืข, ืื™ืจ ืžื•ื–ืŸ ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ืคื•ืœืึธื“ืขืจ ื’ืึทื ืฅ (ืฉื˜ืจืขื ื’) ืื•ื™ื‘ ืขืก ืื™ื– ืึท ืคืึทืงื˜ื™ืฉ ื‘ืึทื•ื•ื™ื™ึทื–ืŸ ืื•ื™ืฃ ื“ื™ ืกืขืจื•ื•ืขืจ. ื ืึธืš ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ืขื ืžืึธื“ืข, ืžื™ืจ ืงืขื ืขืŸ ืึธื ื ืขืžืขืŸ ืงืึทื ืขืงืฉืึทื ื– ืคึฟื•ืŸ CloudFlare ื ื™ืฆืŸ ื“ื™ https ืคึผืจืึธื˜ืึธืงืึธืœ. ื“ื• ื–ืืœืกื˜ ื ื™ืฉื˜ ืคืึทืจื’ืขืกืŸ ืฆื• ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืึท ื–ื™ืš-ื’ืขื—ืชืžืขื˜ ื‘ืึทื•ื•ื™ื™ึทื–ืŸ ืคึฟืึทืจ ื“ื™ ืกืขืจื•ื•ืขืจ ื–ื™ื™ึทื˜ ืคื•ืŸ ื“ืขื ื˜ื•ื ืขืœ.

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ื“ืขืจ ื ื™ื™ื’ืขืจื™ืงืขืจ ืœื™ื™ืขื ืขืจ ื•ื•ืขื˜ ืคืจืขื’ืŸ: "ื•ื•ืึธืก ื•ื•ืขื’ืŸ ื“ืขื ืงืœื™ืขื ื˜ ืื•ื ื˜ืขืจ 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"

ืึทืœืข! ืื•ืŸ ื ื™ื˜ ืžืขืจ ื›ืึทืกืึทืœื– ื–ืขื ืขืŸ ื“ืืจืฃ. ืขืก ื˜ืึทืงืข ืึทืจื‘ืขื˜!

ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ TLS 1.3. ื˜ื™ื™ืœ 2

ื“ื™ -w ืื•ืŸ -s ืงืึทืžืคึผื™ื™ืœืขืจ ืคืœืึทื’ืก ื–ืขื ืขืŸ ื“ืืจืฃ ืฆื• ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ื•ืžื ื™ื™ื˜ื™ืง ืžื™ืกื˜ ืคื•ืŸ ื“ื™ ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื˜ืขืงืข, ืžืื›ืŸ ืขืก ืึท ืคึผืึธืจ ืคื•ืŸ ืžืขื’ืื‘ื™ื™ื˜ ืงืœืขื ืขืจืขืจ. ื“ืขืจืฆื•, ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคึผืึทืงื™ื“ื–ืฉื“ ืžื™ื˜ UPX ืฆื• ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ื’ืจื™ื™ืก.

ืึธื ืฉื˜ืึธื˜ ืึท ืžืกืงื ื

ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ, ืžื™ื˜ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ืึท ื˜ื•ื ืขืœ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ Golang, ืžื™ืจ ืงืœืืจ ื“ืขืžืึทื ืกื˜ืจื™ื™ื˜ื™ื“ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื“ื™ ื ื™ื™ึทืข ืคืขืœื“-ืคืจืึธื ื˜ื™ื ื’ ื˜ืขื›ื ืึธืœืึธื’ื™ืข, ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื•ื™ืฃ ืึท ื’ืึทื ืฅ ื˜ืฉื™ืงืึทื•ื•ืข ืฉื˜ืจื™ืš ืคื•ืŸ ื“ื™ TLS 1.3 ืคึผืจืึธื˜ืึธืงืึธืœ. ืื™ืŸ ืึท ืขื ืœืขืš ื•ื•ืขื’, ืื™ืจ ืงืขื ืขืŸ ืึทื“ืึทืคึผื˜ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืžื›ืฉื™ืจื™ื ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ Golang ืฆื• ืึทืจื‘ืขื˜ืŸ ื“ื•ืจืš CloudFlare ืกืขืจื•ื•ืขืจืก, ืœืžืฉืœ ืžืขืจืœื™ืŸ - ื‘ืึทืจื™ืžื˜ C2, ืึธื“ืขืจ ืฆื•ื•ื™ื ื’ืขืŸ CobaltStrike Beacon ืฆื• ื ื•ืฆืŸ eSNI ืคืขืœื“-ืคืจืึธื ื˜ื™ื ื’ ื•ื•ืขืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื˜ืขืึทืžืกืขืจื•ื•ืขืจ ื“ื•ืจืš ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง C2 ืงืึทื ืึทืœ, ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื™ืŸ Golang, ืึธื“ืขืจ ืื™ืŸ ื ืึธืจืžืึทืœ C ++ ื ื™ืฆืŸ ืึท ืคึผืึทื˜ืฉื˜ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹OpenSSL, ื•ื•ืึธืก ืžื™ืจ ื’ืขืจืขื“ื˜ ื•ื•ืขื’ืŸ ืื™ืŸ ื“ื™ ืœืขืฆื˜ืข ื˜ื™ื™ืœ ืคื•ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ. ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืœื™ืžืึทืฅ ืฆื• ืคืึทื ื˜ืึทื–ื™ืข.

ื“ืขืจ ื‘ื™ื™ืฉืคึผื™ืœ ืžื™ื˜ ื“ื™ ื˜ื•ื ื ืขืœืขืจ ืื•ืŸ CloudFlare ืื™ื– ื“ืขืจืœืื ื’ื˜ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืึท ื‘ืึทื’ืจื™ืฃ ืื•ืŸ ืขืก ืื™ื– ื ืึธืš ืฉื•ื•ืขืจ ืฆื• ื–ืึธื’ืŸ ื•ื•ืขื’ืŸ ื“ื™ ืœืึทื ื’-ื˜ืขืจืžื™ืŸ ืคึผืจืึทืกืคึผืขืงืก ืคื•ืŸ ื“ืขื ื˜ื™ืคึผ ืคื•ืŸ ืคืขืœื“ ืคืจืึธื ื˜ื™ื ื’. ื“ืขืจื•ื•ื™ื™ึทืœ, ื‘ืœื•ื™ื– CloudFlare ืฉื˜ื™ืฆื˜ eSNI ืื•ืŸ, ืื™ืŸ ื˜ืขืึธืจื™ืข, ื’ืึธืจื ื™ืฉื˜ ืคึผืจื™ื•ื•ืขื ืฅ ื–ื™ื™ ืคื•ืŸ ื“ื™ืกื™ื™ื‘ืึทืœ ื“ืขื ืžื™ืŸ ืคื•ืŸ ืคืจืึธื ื˜ื™ื ื’ ืื•ืŸ, ืœืžืฉืœ, ื‘ืจื™ื™ืงื™ื ื’ tls ืงืึทื ืขืงืฉืึทื ื– ืื•ื™ื‘ SNI ืื•ืŸ eSNI ื˜ืึธืŸ ื ื™ื˜ ื’ืœื™ื™ึทื›ืŸ. ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ื“ื™ ืฆื•ืงื•ื ืคึฟื˜ ื•ื•ืขื˜ ื–ืึธื’ืŸ. ืื‘ืขืจ ืคึฟืึทืจ ืื™ืฆื˜, ื“ื™ ื•ื™ืกืงื•ืง ืคื•ืŸ ืืจื‘ืขื˜ืŸ ืื•ื ื˜ืขืจ ื“ื™ "ื“ืขืง ืคื•ืŸ kremlin.ru" ืงื•ืงื˜ ื’ืึทื ืฅ ื˜ืขืžืคึผื˜ื™ื ื’. ืื™ื– ืขืก ื ื™ืฉื˜?

ื“ืขืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื˜ื•ื ื ืขืœืขืจ ืงืึธื“, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืงืึทืžืคึผื™ื™ืœื“ ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ืขืงืกืข ื˜ืขืงืขืก, ื–ืขื ืขืŸ ืœื™ื’ืŸ ืื™ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืฆื•ื•ื™ื™ึทื’ ืคื•ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื•ื™ืฃ ื’ื™ื˜ื”ื•ื‘. ืขืก ืื™ื– ื‘ืขืกืขืจ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืึทืŸ ืึทืจื•ื™ืกื’ืขื‘ืŸ ื•ื•ืขื’ืŸ ืึทืœืข ืžืขื’ืœืขืš ื˜ืึทื ืึทืœืขืจ ืคึผืจืึธื‘ืœืขืžืก ืื•ื™ืฃ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ื‘ืœืึทื˜ ืื•ื™ืฃ GitHub.

ืžืงื•ืจ: www.habr.com

ืงื•ื™ืคืŸ ืคืึทืจืœืึธื–ืœืขืš ื”ืึธืกื˜ื™ื ื’ ืคึฟืึทืจ ื–ื™ื™ื˜ืœืขืš ืžื™ื˜ DDoS ืฉื•ืฅ, VPS VDS ืกืขืจื•ื•ืขืจืก ๐Ÿ”ฅ ืงื•ื™ืคื˜ ืคืึทืจืœืขืกืœืขื›ืข ื•ื•ืขื‘ื–ื™ื™ื˜ืœ ื”ืึธืกื˜ื™ื ื’ ืžื™ื˜ DDoS ืฉื•ืฅ, VPS VDS ืกืขืจื•ื•ืขืจืก | ProHoster