Skip to content
AlphaAutoLeakPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

RDP-Proxy

ๆœฌ้กน็›ฎไธบ100% vibe coding ๆœช็ป่ฟ‡ไปปไฝ•ๆต‹่ฏ•

ๅฐ†ไปฃ็†ๆต้‡ไผช่ฃ…ๆˆ RDP ่ฟœ็จ‹ๆกŒ้ข่ฟžๆŽฅ๏ผŒ็ป•่ฟ‡ๆทฑๅบฆๅŒ…ๆฃ€ๆต‹ (DPI)

RDP-Proxy ๆ˜ฏไธ€ไธชๆต้‡ไผช่ฃ…้šง้“ๅทฅๅ…ทใ€‚ๅฎƒๅ†…็ฝฎ VLESS ๅ่ฎฎๆ”ฏๆŒ๏ผŒ็”จๆˆทๅช้œ€ๅœจ v2ray ๅฎขๆˆท็ซฏ (v2rayNใ€v2rayA ็ญ‰) ๅฏผๅ…ฅไธ€ไธช VLESS ้“พๆŽฅๅณๅฏไฝฟ็”จใ€‚ๆ‰€ๆœ‰ไปฃ็†ๆต้‡่ขซๅฐ่ฃ…ๅœจๆ ‡ๅ‡†็š„ Microsoft RDP (่ฟœ็จ‹ๆกŒ้ขๅ่ฎฎ) ๅธง็ป“ๆž„ไธญ๏ผŒๅœจ็ฝ‘็ปœๅฑ‚้ขไธŽ็œŸๅฎž็š„ RDP ไผš่ฏๆ— ๆณ•ๅŒบๅˆ†ใ€‚

ๆ— ้œ€้ขๅค–้ƒจ็ฝฒ Xray/v2ray ๆœๅŠก็ซฏ -- ๆœๅŠก็ซฏ็›ดๆŽฅ่ฟžๆŽฅ็›ฎๆ ‡็ฝ‘็ซ™ใ€‚


็›ฎๅฝ•


ๅทฅไฝœๅŽŸ็†

ๆ ธๅฟƒๆ€่ทฏ

DPI ้˜ฒ็ซๅข™้€š่ฟ‡ๅˆ†ๆžๆต้‡็š„ๅ่ฎฎ็‰นๅพๆฅ่ฏ†ๅˆซๅ’Œๅฐ้”ไปฃ็†ๆต้‡ใ€‚RDP-Proxy ็š„็ญ–็•ฅๆ˜ฏ๏ผš่ฎฉไปฃ็†ๆต้‡็œ‹่ตทๆฅๅฎŒๅ…จๅƒๅˆๆณ•็š„ RDP ่ฟœ็จ‹ๆกŒ้ข่ฟžๆŽฅใ€‚

                    DPI ้˜ฒ็ซๅข™็œ‹ๅˆฐ็š„
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚                                 โ”‚
                    โ”‚  "่ฟ™ๆ˜ฏไธ€ไธชๆญฃๅธธ็š„ RDP ่ฟžๆŽฅ"        โ”‚
                    โ”‚                                 โ”‚
                    โ”‚  - ็›ฎๆ ‡็ซฏๅฃ: 3389 (RDP ๆ ‡ๅ‡†็ซฏๅฃ)  โ”‚
                    โ”‚  - X.224 ่ฟžๆŽฅ่ฏทๆฑ‚ โœ“              โ”‚
                    โ”‚  - RDP Cookie โœ“                 โ”‚
                    โ”‚  - TLS ๆกๆ‰‹ (ALPN: rdp) โœ“       โ”‚
                    โ”‚  - ๅŠ ๅฏ†็š„่™šๆ‹Ÿ้€š้“ๆ•ฐๆฎ โœ“           โ”‚
                    โ”‚                                 โ”‚
                    โ”‚  ๅˆคๅฎš: ๆ”พ่กŒ โœ…                    โ”‚
                    โ”‚                                 โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

                    ๅฎž้™…ไผ ่พ“็š„ๅ†…ๅฎน
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚                                 โ”‚
                    โ”‚  ไปฃ็†ๆต้‡ (VLESS ๅ่ฎฎ)            โ”‚
                    โ”‚  ๅฐ่ฃ…ๅœจ RDP ่™šๆ‹Ÿ้€š้“ PDU ไธญ       โ”‚
                    โ”‚  ็ป่ฟ‡ mTLS ๅŠ ๅฏ†                  โ”‚
                    โ”‚                                 โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ•ดไฝ“ๆžถๆž„

ๆ•ดไธช็ณป็ปŸๅช้œ€่ฆไธคไธช็ป„ไปถ๏ผšrdp-proxy ๅฎขๆˆท็ซฏ + rdp-proxy ๆœๅŠก็ซฏใ€‚็”จๆˆทๅœจ v2ray ๅฎขๆˆท็ซฏๅฏผๅ…ฅ VLESS ้“พๆŽฅๅณๅฏไฝฟ็”จ๏ผŒๆ— ้œ€้ขๅค–้ƒจ็ฝฒ Xray ๆˆ– v2ray ๆœๅŠก็ซฏใ€‚

 ๅฎขๆˆท็ซฏๆœบๅ™จ                                                    ๆœๅŠก็ซฏๆœบๅ™จ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                      โ”‚        โ”‚                                      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚        โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚          โ”‚     โ”‚              โ”‚   โ”‚        โ”‚   โ”‚              โ”‚     โ”‚          โ”‚  โ”‚
โ”‚  โ”‚ ๆต่งˆๅ™จ/  โ”‚SOCKSโ”‚  v2ray ๅฎขๆˆท็ซฏโ”‚   โ”‚        โ”‚   โ”‚  rdp-proxy   โ”‚ TCP โ”‚  ็›ฎๆ ‡    โ”‚  โ”‚
โ”‚  โ”‚ ๅบ”็”จ็จ‹ๅบ โ”‚โ”€โ”€โ”€โ”€>โ”‚  (v2rayN ็ญ‰) โ”‚   โ”‚        โ”‚   โ”‚  ๆœๅŠก็ซฏ      โ”‚โ”€โ”€โ”€โ”€>โ”‚  ็ฝ‘็ซ™    โ”‚  โ”‚
โ”‚  โ”‚          โ”‚HTTP โ”‚              โ”‚   โ”‚        โ”‚   โ”‚              โ”‚     โ”‚          โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚        โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ–ฒโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                          โ”‚ VLESS     โ”‚        โ”‚          โ”‚                            โ”‚
โ”‚                          โ–ผ           โ”‚        โ”‚          โ”‚                            โ”‚
โ”‚                   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚        โ”‚          โ”‚                            โ”‚
โ”‚                   โ”‚              โ”‚   โ”‚  RDP   โ”‚          โ”‚                            โ”‚
โ”‚                   โ”‚  rdp-proxy   โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                            โ”‚
โ”‚                   โ”‚  ๅฎขๆˆท็ซฏ      โ”‚   โ”‚ :3389  โ”‚                                      โ”‚
โ”‚                   โ”‚  :10800      โ”‚   โ”‚        โ”‚                                      โ”‚
โ”‚                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚        โ”‚                                      โ”‚
โ”‚                                      โ”‚        โ”‚                                      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                    โ”‚              โ”‚
                                    โ”‚  ไผช่ฃ…ๆˆ RDP  โ”‚
                                    โ”‚  mTLS ๅŠ ๅฏ†   โ”‚
                                    โ”‚  ็ซฏๅฃ 3389   โ”‚
                                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ•ฐๆฎๆตๅ‘๏ผš

  1. ๆต่งˆๅ™จ้€š่ฟ‡ SOCKS5/HTTP ไปฃ็†่ฟžๆŽฅๅˆฐ v2ray ๅฎขๆˆท็ซฏ (v2rayN ็ญ‰)
  2. v2ray ๅฎขๆˆท็ซฏ้€š่ฟ‡ VLESS ๅ่ฎฎๅฐ†ๆต้‡ๅ‘้€ๅˆฐ 127.0.0.1:10800 (rdp-proxy ๅฎขๆˆท็ซฏ)
  3. rdp-proxy ๅฎขๆˆท็ซฏๅŽŸๅฐไธๅŠจ้€ไผ  VLESS ๆ•ฐๆฎ๏ผŒ้€š่ฟ‡ RDP ไผช่ฃ…้šง้“ๅ‘้€ๅˆฐ่ฟœ็จ‹ๆœๅŠกๅ™จ็š„ 3389 ็ซฏๅฃ
  4. rdp-proxy ๆœๅŠก็ซฏไปŽ RDP ้šง้“ไธญๅ–ๅ‡บๆ•ฐๆฎ๏ผŒ่งฃๆž VLESS ๅ่ฎฎ๏ผŒๆๅ–็›ฎๆ ‡ๅœฐๅ€ (ๅฆ‚ google.com:443)
  5. ๆœๅŠก็ซฏ็›ดๆŽฅ TCP ่ฟžๆŽฅ็›ฎๆ ‡็ฝ‘็ซ™๏ผŒๅŒๅ‘่ฝฌๅ‘ๆ•ฐๆฎ๏ผŒๅนถๅฐ† VLESS ๅ“ๅบ”ๅ›žไผ ็ป™ๅฎขๆˆท็ซฏ
ๆต่งˆๅ™จ โ†’ v2rayๅฎขๆˆท็ซฏ โ”€โ”€VLESSโ”€โ”€โ†’ rdp-proxyๅฎขๆˆท็ซฏ โ•โ•RDPไผช่ฃ…โ•โ•โ†’ rdp-proxyๆœๅŠก็ซฏ โ†’ ็›ฎๆ ‡็ฝ‘็ซ™
                                  (็บฏ้€ไผ )                    (่งฃๆžVLESS+็›ด่ฟž)

ๅ่ฎฎๆ ˆ่ฏฆ่งฃ

RDP-Proxy ็ฒพ็กฎๅค็Žฐไบ† RDP ๅ่ฎฎ็š„ๅˆ†ๅฑ‚็ป“ๆž„ใ€‚ๆฏไธ€ไธชๆ•ฐๆฎๅŒ…้ƒฝไธฅๆ ผ้ตๅพช RDP ่ง„่Œƒ๏ผŒไฝฟ DPI ๆ— ๆณ•ๅŒบๅˆ†็œŸๅ‡ใ€‚

ๆ•ฐๆฎๅฐ่ฃ…ๅฑ‚ๆฌก

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        TCP ่ฟžๆŽฅ (็ซฏๅฃ 3389)                      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚                    TPKT ๅธง (RFC 1006)                     โ”‚  โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚              X.224 ๆ•ฐๆฎ PDU (ISO 8073)               โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ”‚          MCS SendData (T.125)                 โ”‚  โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚  โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚     ่™šๆ‹Ÿ้€š้“ PDU (Channel PDU)           โ”‚  โ”‚  โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚       Mux ๅธง (ๅคš่ทฏๅค็”จ)            โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚     ๅฎž้™…ไปฃ็†ๆ•ฐๆฎ (Payload)   โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚  โ”‚  โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚  โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅ„ๅฑ‚่ฏฆ็ป†ๆ ผๅผ

TPKT ๅฑ‚ (ๆœ€ๅค–ๅฑ‚)

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
โ”œโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ผโ”€โ”ค
โ”‚    Version (3)    โ”‚   Reserved (0)    โ”‚       Packet Length        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                         Payload ...                               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
  • Version: ๅ›บๅฎšไธบ 0x03๏ผŒๆ ‡่ฏ† TPKT ๅ่ฎฎ
  • Packet Length: ๅŒ…ๅซๅคด้ƒจๅœจๅ†…็š„ๆ€ป้•ฟๅบฆ (ๅคง็ซฏๅบ)
  • ่ฟ™ๆ˜ฏ RDP ๆœ€ๅค–ๅฑ‚็š„ๅธงๆ ผๅผ๏ผŒๆ‰€ๆœ‰ RDP ๆ•ฐๆฎ้ƒฝๅฐ่ฃ…ๅœจ TPKT ไธญ

X.224 ๅฑ‚

่ฟžๆŽฅ่ฏทๆฑ‚ (CR):
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Length   โ”‚ PDU Type โ”‚ DST-REF  โ”‚ RDP Negotiation Request         โ”‚
โ”‚ (1 byte) โ”‚  0xE0    โ”‚ (2 byte) โ”‚ + Cookie: mstshash=admin\r\n    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

่ฟžๆŽฅ็กฎ่ฎค (CC):
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Length   โ”‚ PDU Type โ”‚ DST-REF  โ”‚ RDP Negotiation Response        โ”‚
โ”‚ (1 byte) โ”‚  0xD0    โ”‚ (2 byte) โ”‚ Selected Protocol: SSL          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ•ฐๆฎไผ ่พ“ (DT):
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Length=2 โ”‚ PDU Type โ”‚   EOT    โ”‚ Payload ...                     โ”‚
โ”‚          โ”‚  0xF0    โ”‚  0x80    โ”‚                                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

MCS ๅฑ‚ (T.125)

SendDataRequest / SendDataIndication:
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Type Tag โ”‚  Initiator   โ”‚  Channel ID  โ”‚ Priority โ”‚  User Data  โ”‚
โ”‚ (1 byte) โ”‚  (2 bytes)   โ”‚  (2 bytes)   โ”‚ (1 byte) โ”‚ (variable)  โ”‚
โ”‚ 0x64/0x68โ”‚  (PER enc.)  โ”‚  (PER enc.)  โ”‚          โ”‚             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

่™šๆ‹Ÿ้€š้“ PDU

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Total Length (4 bytes, ๅฐ็ซฏๅบ)         โ”‚  โ† ๅฎŒๆ•ดๆ•ฐๆฎ็š„ๆ€ป้•ฟๅบฆ
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Flags (4 bytes, ๅฐ็ซฏๅบ)               โ”‚  โ† First | Last | ...
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Payload (variable)                    โ”‚  โ† Mux ๅธงๆ•ฐๆฎ
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅคงๆ•ฐๆฎไผš่ขซๅˆ†ๅ‰ฒๆˆ 16KB ็š„ๅ— (chunk)๏ผŒไธŽ็œŸๅฎž RDP ่กŒไธบไธ€่‡ดใ€‚

Mux ๅธง (ๆœ€ๅ†…ๅฑ‚)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Stream ID (4 bytes, ๅคง็ซฏๅบ)           โ”‚  โ† ๆ ‡่ฏ†้€ป่พ‘่ฟžๆŽฅ
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Command (1 byte)                      โ”‚  โ† Data/Open/Close/Ping/Pong
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Payload Length (2 bytes, ๅคง็ซฏๅบ)       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Payload (variable)                    โ”‚  โ† ๅฎž้™…ไปฃ็†ๆ•ฐๆฎ
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Command ็ฑปๅž‹:
  0x01 = Data      ๆ•ฐๆฎไผ ่พ“
  0x02 = Open      ๆ‰“ๅผ€ๆ–ฐๆต
  0x03 = Close     ๅ…ณ้—ญๆต
  0x04 = Ping      ๅฟƒ่ทณๆฃ€ๆต‹
  0x05 = Pong      ๅฟƒ่ทณๅ“ๅบ”
  0x06 = OpenAck   ็กฎ่ฎคๆ‰“ๅผ€
  0x07 = Reset     ้‡็ฝฎ/้”™่ฏฏ

่ฟžๆŽฅๅปบ็ซ‹ๆต็จ‹

VLESS ๅ่ฎฎ่งฃๆž

VLESS ๆ•ฐๆฎไปŽ v2ray ๅฎขๆˆท็ซฏๅ‡บๅ‘๏ผŒ็ป่ฟ‡ rdp-proxy ๅฎขๆˆท็ซฏ้€ไผ ๏ผŒๆœ€็ปˆๅœจ rdp-proxy ๆœๅŠก็ซฏ่ขซ่งฃๆž๏ผš

v2ray ๅฎขๆˆท็ซฏๅ‘้€็š„ VLESS ่ฏทๆฑ‚:
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Version  โ”‚      UUID        โ”‚ Addons Len    โ”‚ Command  โ”‚  Address     โ”‚
โ”‚  0x00    โ”‚   (16 bytes)     โ”‚  (1 byte)     โ”‚  0x01    โ”‚ (็›ฎๆ ‡ๅœฐๅ€)   โ”‚
โ”‚          โ”‚  ็”จไบŽ่ฎค่ฏ         โ”‚  + addons     โ”‚  (TCP)   โ”‚              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Address ๆ ผๅผ:
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ AddrType โ”‚         Address              โ”‚   Port   โ”‚
โ”‚  0x01    โ”‚  IPv4 (4 bytes)              โ”‚ (2 byte) โ”‚
โ”‚  0x02    โ”‚  Domain (1+N bytes)          โ”‚  ๅคง็ซฏๅบ  โ”‚
โ”‚  0x03    โ”‚  IPv6 (16 bytes)             โ”‚          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

RDP ้šง้“ๆกๆ‰‹

rdp-proxy ๅฎขๆˆท็ซฏไธŽๆœๅŠก็ซฏไน‹้—ดๅฎŒๆ•ดๆจกๆ‹Ÿ RDP ็š„ 9 ๆญฅๆกๆ‰‹่ฟ‡็จ‹๏ผš

    rdp-proxy ๅฎขๆˆท็ซฏ                                    rdp-proxy ๆœๅŠก็ซฏ
         โ”‚                                                    โ”‚
         โ”‚  โ‘  X.224 Connection Request (CR)                   โ”‚
         โ”‚  Cookie: mstshash=admin                            โ”‚
         โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>  โ”‚
         โ”‚                                                    โ”‚
         โ”‚  โ‘ก X.224 Connection Confirm (CC)                   โ”‚
         โ”‚  Selected Protocol: SSL                            โ”‚
         โ”‚  <โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚
         โ”‚                                                    โ”‚
         โ”‚  โ‘ข TLS ๆกๆ‰‹ (mTLS ๅŒๅ‘่ฎค่ฏ)                         โ”‚
         โ”‚  <โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•> โ”‚
         โ”‚  ALPN: "rdp" | ๅŒๅ‘่ฏไนฆ้ชŒ่ฏ                         โ”‚
         โ”‚                                                    โ”‚
         โ”‚  โ•โ•โ•โ•โ•โ•โ• ไปฅไธ‹ๆ‰€ๆœ‰้€šไฟกๅ‡ๅทฒๅŠ ๅฏ† โ•โ•โ•โ•โ•โ•โ•                โ”‚
         โ”‚                                                    โ”‚
         โ”‚  โ‘ฃ MCS Connect-Initial                             โ”‚
         โ”‚  GCC Conference Create Request                     โ”‚
         โ”‚  (Client Core + Security + Network Data)           โ”‚
         โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>  โ”‚
         โ”‚                                                    โ”‚
         โ”‚  โ‘ค MCS Connect-Response                            โ”‚
         โ”‚  GCC Conference Create Response                    โ”‚
         โ”‚  (Server Core + Security + Network Data)           โ”‚
         โ”‚  <โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚
         โ”‚                                                    โ”‚
         โ”‚  โ‘ฅ MCS Erect Domain Request                        โ”‚
         โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>  โ”‚
         โ”‚                                                    โ”‚
         โ”‚  โ‘ฆ MCS Attach User Request                         โ”‚
         โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>  โ”‚
         โ”‚                                                    โ”‚
         โ”‚  โ‘ง MCS Attach User Confirm (่ฟ”ๅ›ž User ID)          โ”‚
         โ”‚  <โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚
         โ”‚                                                    โ”‚
         โ”‚  โ‘จ MCS Channel Join (้€ไธชๅŠ ๅ…ฅ่™šๆ‹Ÿ้€š้“)              โ”‚
         โ”‚                                                    โ”‚
         โ”‚  Join Request  (User Channel 1001)                 โ”‚
         โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>  โ”‚
         โ”‚  Join Confirm  (User Channel 1001)                 โ”‚
         โ”‚  <โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚
         โ”‚                                                    โ”‚
         โ”‚  Join Request  (I/O Channel 1003)                  โ”‚
         โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>  โ”‚
         โ”‚  Join Confirm  (I/O Channel 1003)                  โ”‚
         โ”‚  <โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚
         โ”‚                                                    โ”‚
         โ”‚  Join Request  (Virtual Channel 1004)              โ”‚
         โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>  โ”‚
         โ”‚  Join Confirm  (Virtual Channel 1004)              โ”‚
         โ”‚  <โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚
         โ”‚          ... (้‡ๅค N ๆฌก, ้ป˜่ฎค 8 ไธช้€š้“) ...          โ”‚
         โ”‚                                                    โ”‚
         โ”‚  โ•โ•โ•โ•โ•โ• ๆกๆ‰‹ๅฎŒๆˆ๏ผŒๅผ€ๅง‹ๆ•ฐๆฎไผ ่พ“ โ•โ•โ•โ•โ•โ•                โ”‚
         โ”‚                                                    โ”‚

ๅฎŒๆ•ด่ฏทๆฑ‚ๆต็จ‹

v2ray ๅฎขๆˆท็ซฏ                rdp-proxy ๅฎขๆˆท็ซฏ              rdp-proxy ๆœๅŠก็ซฏ              ็›ฎๆ ‡็ฝ‘็ซ™
     โ”‚                           โ”‚                            โ”‚                          โ”‚
     โ”‚  VLESS ่ฏทๆฑ‚               โ”‚                            โ”‚                          โ”‚
     โ”‚  (UUID + google.com:443)  โ”‚                            โ”‚                          โ”‚
     โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€> โ”‚                            โ”‚                          โ”‚
     โ”‚                           โ”‚                            โ”‚                          โ”‚
     โ”‚                           โ”‚  Mux Stream (้€ไผ  VLESS)   โ”‚                          โ”‚
     โ”‚                           โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€> โ”‚                          โ”‚
     โ”‚                           โ”‚                            โ”‚                          โ”‚
     โ”‚                           โ”‚                            โ”‚  ่งฃๆž VLESS:             โ”‚
     โ”‚                           โ”‚                            โ”‚  ้ชŒ่ฏ UUID               โ”‚
     โ”‚                           โ”‚                            โ”‚  ๆๅ– google.com:443     โ”‚
     โ”‚                           โ”‚                            โ”‚                          โ”‚
     โ”‚                           โ”‚                            โ”‚  TCP ่ฟžๆŽฅ                โ”‚
     โ”‚                           โ”‚                            โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€> โ”‚
     โ”‚                           โ”‚                            โ”‚                          โ”‚
     โ”‚  VLESS ๅ“ๅบ” (2 bytes)     โ”‚    (้€ไผ )                  โ”‚                          โ”‚
     โ”‚ <โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚                          โ”‚
     โ”‚                           โ”‚                            โ”‚                          โ”‚
     โ”‚  ๆ•ฐๆฎ โ†โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€> โ”‚
     โ”‚        ๅŒๅ‘่ฝฌๅ‘            โ”‚     RDP ไผช่ฃ…้šง้“ (้€ไผ )     โ”‚       ็›ด่ฟž               โ”‚
     โ”‚                           โ”‚                            โ”‚                          โ”‚

GCC Conference Create ๆ•ฐๆฎ

ๆกๆ‰‹็ฌฌ โ‘ฃโ‘ค ๆญฅไธญๅŒ…ๅซ็ฒพๅฟƒๆž„้€ ็š„ GCC ๆ•ฐๆฎ๏ผŒๆจกๆ‹Ÿ็œŸๅฎž RDP ๅฎขๆˆท็ซฏ๏ผš

Client Core Data (TS_UD_CS_CORE):
  โ”œโ”€โ”€ RDP Version:    0x00080007 (RDP 10.7, Windows 11)
  โ”œโ”€โ”€ Desktop Width:  1920
  โ”œโ”€โ”€ Desktop Height: 1080
  โ”œโ”€โ”€ Color Depth:    24 bpp
  โ”œโ”€โ”€ SAS Sequence:   0xAA03
  โ”œโ”€โ”€ Keyboard:       US English (0x00000409)
  โ”œโ”€โ”€ Client Name:    "DESKTOP-PC01" (ๅฏ้…็ฝฎ)
  โ”œโ”€โ”€ Client Build:   22621 (Windows 11 22H2)
  โ””โ”€โ”€ Capabilities:   Sound, Video, RemoteApp...

Client Security Data (TS_UD_CS_SEC):
  โ”œโ”€โ”€ Encryption Methods: 40-bit + 128-bit
  โ””โ”€โ”€ Ext Encryption:     0

Client Network Data (TS_UD_CS_NET):
  โ”œโ”€โ”€ Channel Count: 8 (ๅฏ้…็ฝฎ)
  โ””โ”€โ”€ Channels:      rdpvc00, rdpvc01, ... rdpvc07

ๅคš่ทฏๅค็”จๆœบๅˆถ

ๅ•ๆก RDP ่ฟžๆŽฅไธŠๅฏไปฅๅŒๆ—ถๆ‰ฟ่ฝฝๅคšไธช็‹ฌ็ซ‹็š„ไปฃ็†่ฟžๆŽฅ (ๆต)๏ผš

                        ไธ€ๆก RDP ่ฟžๆŽฅ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                                         โ”‚
โ”‚   Stream #1 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€> โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                    โ”‚
โ”‚   (ๆต่งˆ็ฝ‘้กต)             โ”‚          โ”‚                    โ”‚
โ”‚                         โ”‚ Channel  โ”‚                    โ”‚
โ”‚   Stream #3 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€> โ”‚  1004    โ”‚ โ”€โ”€โ”                โ”‚
โ”‚   (็œ‹่ง†้ข‘)               โ”‚ (rdpvc00)โ”‚   โ”‚                โ”‚
โ”‚                         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚                โ”‚
โ”‚                                        โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚   Stream #5 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€> โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”œโ”€โ”€>โ”‚  mTLS   โ”‚โ”€โ”€โ”€โ”€โ”€โ”€> ๆœๅŠก็ซฏ
โ”‚   (ไธ‹่ฝฝๆ–‡ไปถ)             โ”‚ Channel  โ”‚   โ”‚   โ”‚  TCP    โ”‚  โ”‚
โ”‚                         โ”‚  1005    โ”‚ โ”€โ”€โ”ค   โ”‚  :3389  โ”‚  โ”‚
โ”‚   Stream #7 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€> โ”‚ (rdpvc01)โ”‚   โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚   (API ่ฏทๆฑ‚)             โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚                โ”‚
โ”‚                                        โ”‚                โ”‚
โ”‚   Stream #9 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€> โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚                โ”‚
โ”‚   (WebSocket)           โ”‚ Channel  โ”‚   โ”‚                โ”‚
โ”‚                         โ”‚  1006    โ”‚ โ”€โ”€โ”˜                โ”‚
โ”‚   Stream #11 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€> โ”‚ (rdpvc02)โ”‚                    โ”‚
โ”‚   (DNS ๆŸฅ่ฏข)             โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ”‚
โ”‚                                                         โ”‚
โ”‚   ...ๆ›ดๅคš Channels (้ป˜่ฎคๅ…ฑ 8 ไธช) ...                      โ”‚
โ”‚                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆตๅˆ†้…็ญ–็•ฅ: Channel = Channels[StreamID % NumChannels]

ๅ…ณ้”ฎ่ฎพ่ฎก๏ผš

  • Stream ID ๅˆ†้…๏ผšๅฎขๆˆท็ซฏไฝฟ็”จๅฅ‡ๆ•ฐ ID (1, 3, 5...)๏ผŒๆœๅŠก็ซฏไฝฟ็”จๅถๆ•ฐ ID (2, 4, 6...)๏ผŒ้ฟๅ…ๅ†ฒ็ช
  • VLESS ้€ไผ ๏ผšๆฏไธช Stream ้€ไผ ๅฎŒๆ•ด็š„ VLESS ๆ•ฐๆฎ๏ผŒๆœๅŠก็ซฏไปŽไธญ่งฃๆž็›ฎๆ ‡ๅœฐๅ€ๅนถ็›ด่ฟž
  • ้€š้“่ดŸ่ฝฝๅ‡่กก๏ผšๆต้€š่ฟ‡ StreamID % NumChannels ๅˆ†้…ๅˆฐไธๅŒ่™šๆ‹Ÿ้€š้“๏ผŒๆจกๆ‹Ÿ็œŸๅฎž RDP ๅคš้€š้“่กŒไธบ
  • ๆœ€ๅคงๅนถๅ‘๏ผš้ป˜่ฎคๆ”ฏๆŒ 128 ไธชๅนถๅ‘ๆต
  • ๅฟƒ่ทณไฟๆดป๏ผšๆฏ 30 ็ง’ๅ‘้€ Ping/Pong ๅธง็ปดๆŒ่ฟžๆŽฅ
  • ่‡ชๅŠจๆขๅค๏ผš่ฟžๆŽฅๆ–ญๅผ€ๅŽ๏ผŒไธ‹ๆฌก่ฏทๆฑ‚่‡ชๅŠจ้‡ๅปบ้šง้“

ๅฎ‰ๅ…จๆœบๅˆถ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                       ๅฎ‰ๅ…จๅฑ‚ๆฌก                               โ”‚
โ”‚                                                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  ็ฌฌไธ€ๅฑ‚: VLESS UUID ่ฎค่ฏ                               โ”‚  โ”‚
โ”‚  โ”‚                                                       โ”‚  โ”‚
โ”‚  โ”‚  ๅฎขๆˆท็ซฏๅฟ…้กปๆไพ›ๆญฃ็กฎ็š„ UUID ๆ‰่ƒฝไฝฟ็”จไปฃ็†                  โ”‚  โ”‚
โ”‚  โ”‚  UUID ไธๅŒน้…็š„่ฟžๆŽฅไผš่ขซ็ซ‹ๅณๆ‹’็ป                          โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  ็ฌฌไบŒๅฑ‚: mTLS ๅŒๅ‘่ฎค่ฏ                                 โ”‚  โ”‚
โ”‚  โ”‚                                                       โ”‚  โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                     โ”‚  โ”‚
โ”‚  โ”‚  โ”‚ ๅฎขๆˆท็ซฏ  โ”‚ โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ–บ โ”‚ ๆœๅŠก็ซฏ  โ”‚                     โ”‚  โ”‚
โ”‚  โ”‚  โ”‚ ่ฏไนฆ    โ”‚  ๅŒๅ‘้ชŒ่ฏ โ”‚ ่ฏไนฆ    โ”‚                     โ”‚  โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜          โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜                     โ”‚  โ”‚
โ”‚  โ”‚       โ”‚                    โ”‚                           โ”‚  โ”‚
โ”‚  โ”‚       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                           โ”‚  โ”‚
โ”‚  โ”‚                โ”‚                                       โ”‚  โ”‚
โ”‚  โ”‚           โ”Œโ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”                                  โ”‚  โ”‚
โ”‚  โ”‚           โ”‚ ่‡ช็ญพ CA โ”‚  ๅชๆœ‰ๆŒๆœ‰่ฏไนฆ็š„ไบบๆ‰่ƒฝ่ฟžๆŽฅ          โ”‚  โ”‚
โ”‚  โ”‚           โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                  โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  ็ฌฌไธ‰ๅฑ‚: TLS 1.2/1.3 ๅŠ ๅฏ†                              โ”‚  โ”‚
โ”‚  โ”‚                                                       โ”‚  โ”‚
โ”‚  โ”‚  - ALPN: "rdp" (ๆจกๆ‹Ÿ็œŸๅฎž RDP-over-TLS)                โ”‚  โ”‚
โ”‚  โ”‚  - ๅฏ†็ ๅฅ—ไปถ: ECDHE + AES-GCM (ไธŽ็œŸๅฎž RDP ไธ€่‡ด)         โ”‚  โ”‚
โ”‚  โ”‚  - ๆ‰€ๆœ‰ๆกๆ‰‹ๅŽ็š„ๆ•ฐๆฎๅฎŒๅ…จๅŠ ๅฏ†                             โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  ็ฌฌๅ››ๅฑ‚: RDP ๅ่ฎฎไผช่ฃ…                                  โ”‚  โ”‚
โ”‚  โ”‚                                                       โ”‚  โ”‚
โ”‚  โ”‚  - ๆ ‡ๅ‡†็ซฏๅฃ 3389                                      โ”‚  โ”‚
โ”‚  โ”‚  - ๅฎŒๆ•ด็š„ RDP ๆกๆ‰‹ๅบๅˆ—                                 โ”‚  โ”‚
โ”‚  โ”‚  - ็œŸๅฎž็š„ TPKT/X.224/MCS ๅธง็ป“ๆž„                       โ”‚  โ”‚
โ”‚  โ”‚  - 16KB ๅˆ†ๅ— (ไธŽ็œŸๅฎž RDP ไธ€่‡ด)                         โ”‚  โ”‚
โ”‚  โ”‚  - ๅคš่™šๆ‹Ÿ้€š้“ (ๆจกๆ‹Ÿๅ‰ช่ดดๆฟ/้Ÿณ้ข‘/ๆ˜พ็คบ็ญ‰)                  โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅฟซ้€Ÿๅผ€ๅง‹

ๅ‰็ฝฎ่ฆๆฑ‚

  • Go 1.25+ (็ผ–่ฏ‘็”จ๏ผŒๅฆ‚ๆžœไฝฟ็”จ้ข„็ผ–่ฏ‘ไบŒ่ฟ›ๅˆถๅˆ™ไธ้œ€่ฆ)
  • OpenSSL (็”จไบŽ็”Ÿๆˆ่ฏไนฆ)
  • ไปปๆ„ v2ray ๅฎขๆˆท็ซฏ (v2rayNใ€v2rayA ็ญ‰)

1. ็”Ÿๆˆ่ฏไนฆ

Windows:

.\scripts\gen-certs.ps1

Linux / macOS:

chmod +x scripts/gen-certs.sh
./scripts/gen-certs.sh

็”Ÿๆˆ็š„่ฏไนฆๆ–‡ไปถ๏ผš

certs/
โ”œโ”€โ”€ ca.crt          # CA ๆ น่ฏไนฆ (ๅฎขๆˆท็ซฏๅ’ŒๆœๅŠก็ซฏ้ƒฝ้œ€่ฆ)
โ”œโ”€โ”€ ca.key          # CA ็ง้’ฅ (ไป…็”Ÿๆˆๆ—ถไฝฟ็”จ๏ผŒๅฏๅˆ ้™ค)
โ”œโ”€โ”€ server.crt      # ๆœๅŠก็ซฏ่ฏไนฆ
โ”œโ”€โ”€ server.key      # ๆœๅŠก็ซฏ็ง้’ฅ
โ”œโ”€โ”€ client.crt      # ๅฎขๆˆท็ซฏ่ฏไนฆ
โ””โ”€โ”€ client.key      # ๅฎขๆˆท็ซฏ็ง้’ฅ

2. ๅˆ†ๅ‘่ฏไนฆ

ๅฐ†ๅฏนๅบ”็š„่ฏไนฆๆ–‡ไปถๅˆ†ๅˆซๅคๅˆถๅˆฐๆœๅŠก็ซฏๅ’Œๅฎขๆˆท็ซฏๆœบๅ™จ๏ผš

ๆ–‡ไปถ ๆœๅŠก็ซฏ ๅฎขๆˆท็ซฏ
ca.crt ้œ€่ฆ ้œ€่ฆ
server.crt ้œ€่ฆ -
server.key ้œ€่ฆ -
client.crt - ้œ€่ฆ
client.key - ้œ€่ฆ

3. ็ผ–่ฏ‘ (ๅฏ้€‰)

ๅฆ‚ๆžœๆฒกๆœ‰้ข„็ผ–่ฏ‘็š„ไบŒ่ฟ›ๅˆถๆ–‡ไปถ๏ผŒๅฏไปฅ่‡ช่กŒ็ผ–่ฏ‘๏ผš

# ็ผ–่ฏ‘ๅฎขๆˆท็ซฏ
go build -o bin/rdp-proxy-client ./cmd/client

# ็ผ–่ฏ‘ๆœๅŠก็ซฏ
go build -o bin/rdp-proxy-server ./cmd/server

4. ไฟฎๆ”น้…็ฝฎ

็”Ÿๆˆไธ€ไธช UUID (ๅฏไปฅ็”จ uuidgen ๅ‘ฝไปคๆˆ–ๅœจ็บฟๅทฅๅ…ท)๏ผŒ็„ถๅŽๅˆ†ๅˆซ้…็ฝฎ๏ผš

ๅฎขๆˆท็ซฏ configs/client.yaml๏ผš

client:
  server_addr: "ไฝ ็š„ๆœๅŠกๅ™จIP:3389"    # ๆ”นๆˆไฝ ็š„ๆœๅŠกๅ™จๅœฐๅ€
  uuid: "ไฝ ็š„UUID"                    # ๅกซๅ…ฅ็”Ÿๆˆ็š„ UUID

ๆœๅŠก็ซฏ configs/server.yaml๏ผš

server:
  uuid: "ไฝ ็š„UUID"                    # ๅกซๅ…ฅๅŒไธ€ไธช UUID

ไธค็ซฏ็š„ UUID ๅฟ…้กปไธ€่‡ดใ€‚

5. ๅฏๅŠจๆœๅŠก

ๆœๅŠก็ซฏ๏ผš

./bin/rdp-proxy-server -config configs/server.yaml

ๅฎขๆˆท็ซฏ๏ผš

./bin/rdp-proxy-client -config configs/client.yaml

ๅฎขๆˆท็ซฏๅฏๅŠจๅŽไผš่พ“ๅ‡บ VLESS ๅˆ†ไบซ้“พๆŽฅ๏ผš

rdp-proxy client started successfully
  Listen: 127.0.0.1:10800 (VLESS inbound)
  Server: your-server:3389 (RDP-camouflaged tunnel)

  VLESS share link (import into v2rayN/v2rayA):
  vless://your-uuid@127.0.0.1:10800?encryption=none&type=tcp#rdp-proxy

6. ๅฏผๅ…ฅ v2ray ๅฎขๆˆท็ซฏ

ๅคๅˆถไธŠ้ข่พ“ๅ‡บ็š„ vless://... ้“พๆŽฅ๏ผŒๅœจ v2rayN / v2rayA / Clash ็ญ‰ๅฎขๆˆท็ซฏไธญๅฏผๅ…ฅๅณๅฏไฝฟ็”จใ€‚


้…็ฝฎ่ฏดๆ˜Ž

ๅฎขๆˆท็ซฏ้…็ฝฎ (configs/client.yaml)

mode: client

client:
  # ๆœฌๅœฐ็›‘ๅฌๅœฐๅ€ (v2ray ๅฎขๆˆท็ซฏ้€š่ฟ‡ VLESS ่ฟžๆŽฅๅˆฐ่ฟ™้‡Œ)
  listen_addr: "127.0.0.1:10800"

  # ่ฟœ็จ‹ๆœๅŠกๅ™จๅœฐๅ€ (ๅกซไฝ ็š„ๆœๅŠกๅ™จ IP)
  server_addr: "ไฝ ็š„ๆœๅŠกๅ™จIP:3389"

  # VLESS UUID (็”จไบŽ v2ray ๅฎขๆˆท็ซฏ่ฎค่ฏ)
  uuid: "00000000-0000-0000-0000-000000000000"

  # mTLS ่ฏไนฆ
  tls:
    cert_file: "certs/client.crt"
    key_file: "certs/client.key"
    ca_file: "certs/ca.crt"
    server_name: "rdp-proxy-server"

  # RDP ไผช่ฃ…ๅ‚ๆ•ฐ
  rdp:
    cookie: "Cookie: mstshash=admin\r\n"
    num_channels: 8          # ่™šๆ‹Ÿ้€š้“ๆ•ฐ้‡
    client_name: "DESKTOP-PC01"  # ไผช่ฃ…็š„่ฎก็ฎ—ๆœบๅ

  # ๅคš่ทฏๅค็”จ
  mux:
    max_streams: 128         # ๆœ€ๅคงๅนถๅ‘ๆตๆ•ฐ
    ping_interval: 30        # ๅฟƒ่ทณ้—ด้š” (็ง’)

ๆœๅŠก็ซฏ้…็ฝฎ (configs/server.yaml)

mode: server

server:
  # ็›‘ๅฌๅœฐๅ€ (ๅฏนๅค–ๆšด้œฒ)
  listen_addr: "0.0.0.0:3389"

  # VLESS UUID (ๅฟ…้กปๅ’Œๅฎขๆˆท็ซฏ้…็ฝฎไธ€่‡ด)
  uuid: "00000000-0000-0000-0000-000000000000"

  # mTLS ่ฏไนฆ
  tls:
    cert_file: "certs/server.crt"
    key_file: "certs/server.key"
    ca_file: "certs/ca.crt"

  rdp:
    num_channels: 8

  mux:
    max_streams: 128
    ping_interval: 30

ๆœๅŠก็ซฏๅ†…็ฝฎ VLESS ่งฃๆž๏ผŒ็›ดๆŽฅ่ฟžๆŽฅ็›ฎๆ ‡็ฝ‘็ซ™๏ผŒไธ้œ€่ฆ้ขๅค–็š„ Xray/v2ray ๆœๅŠก็ซฏ่ฟ›็จ‹ใ€‚


้กน็›ฎ็ป“ๆž„

rdp-proxy/
โ”œโ”€โ”€ cmd/
โ”‚   โ”œโ”€โ”€ client/main.go           # ๅฎขๆˆท็ซฏๅ…ฅๅฃ
โ”‚   โ””โ”€โ”€ server/main.go           # ๆœๅŠก็ซฏๅ…ฅๅฃ
โ”œโ”€โ”€ pkg/
โ”‚   โ”œโ”€โ”€ config/config.go         # YAML ้…็ฝฎๅŠ ่ฝฝ
โ”‚   โ”œโ”€โ”€ vless/vless.go           # VLESS ๅ่ฎฎ่งฃๆž (UUID่ฎค่ฏ + ็›ฎๆ ‡ๅœฐๅ€ๆๅ–)
โ”‚   โ”œโ”€โ”€ rdp/
โ”‚   โ”‚   โ”œโ”€โ”€ tpkt.go              # TPKT ๅธง (RFC 1006)
โ”‚   โ”‚   โ”œโ”€โ”€ x224.go              # X.224 COTP ๅ่ฎฎ (ISO 8073)
โ”‚   โ”‚   โ”œโ”€โ”€ mcs.go               # MCS T.125 ๅ่ฎฎ (BER/PER ็ผ–็ )
โ”‚   โ”‚   โ”œโ”€โ”€ handshake.go         # RDP ๆกๆ‰‹็ผ–ๆŽ’ (9 ๆญฅ)
โ”‚   โ”‚   โ””โ”€โ”€ channel.go           # ่™šๆ‹Ÿ้€š้“ PDU ่ฏปๅ†™
โ”‚   โ”œโ”€โ”€ mux/
โ”‚   โ”‚   โ”œโ”€โ”€ session.go           # ๅคš่ทฏๅค็”จไผš่ฏ็ฎก็†
โ”‚   โ”‚   โ”œโ”€โ”€ stream.go            # ้€ป่พ‘ๆต (ๅฎž็Žฐ net.Conn)
โ”‚   โ”‚   โ”œโ”€โ”€ frame.go             # Mux ๅธงๆ ผๅผ
โ”‚   โ”‚   โ””โ”€โ”€ errors.go            # ้”™่ฏฏๅฎšไน‰
โ”‚   โ””โ”€โ”€ transport/
โ”‚       โ”œโ”€โ”€ client.go            # ๅฎขๆˆท็ซฏ: TCP ้€ไผ  + RDP ไผช่ฃ…้šง้“
โ”‚       โ”œโ”€โ”€ server.go            # ๆœๅŠก็ซฏ: RDP ้šง้“ + VLESS ่งฃๆž + ็›ด่ฟž็›ฎๆ ‡
โ”‚       โ””โ”€โ”€ tls.go               # mTLS ้…็ฝฎ
โ”œโ”€โ”€ configs/
โ”‚   โ”œโ”€โ”€ client.yaml              # ๅฎขๆˆท็ซฏ้…็ฝฎๆจกๆฟ
โ”‚   โ””โ”€โ”€ server.yaml              # ๆœๅŠก็ซฏ้…็ฝฎๆจกๆฟ
โ”œโ”€โ”€ scripts/
โ”‚   โ”œโ”€โ”€ gen-certs.ps1            # ่ฏไนฆ็”Ÿๆˆ (Windows)
โ”‚   โ””โ”€โ”€ gen-certs.sh             # ่ฏไนฆ็”Ÿๆˆ (Linux/macOS)
โ”œโ”€โ”€ go.mod
โ””โ”€โ”€ go.sum

ๆŠ—ๆŒ‡็บนๆฃ€ๆต‹

ไธบไบ†่ฎฉๆต้‡็‰นๅพๅฐฝๅฏ่ƒฝๆŽฅ่ฟ‘็œŸๅฎž RDP๏ผŒ้‡‡ๅ–ไบ†ไปฅไธ‹ๆŽชๆ–ฝ๏ผš

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     ๆŠ— DPI ๆŒ‡็บนๆŽชๆ–ฝ                              โ”‚
โ”‚                                                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  Channel PDU Flags                                        โ”‚  โ”‚
โ”‚  โ”‚                                                           โ”‚  โ”‚
โ”‚  โ”‚  ๅชไฝฟ็”จๆ ‡ๅ‡† RDP ๆ ‡ๅฟ—ไฝ (First, Last, ShowProto ็ญ‰)         โ”‚  โ”‚
โ”‚  โ”‚  ้ซ˜ไฝๅญ—่Š‚ๅ…จไธบ 0๏ผŒไธŽ็œŸๅฎž RDP ๅฎŒๅ…จไธ€่‡ด                        โ”‚  โ”‚
โ”‚  โ”‚  ๆ‰€ๆœ‰ mux ๆŽงๅˆถไฟกๆฏๅœจ mux ๅธงๅ†…้ƒจ็š„ Command ๅญ—ๆฎตไผ ้€’          โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  ๅฎขๆˆท็ซฏๆŒ‡็บน                                                โ”‚  โ”‚
โ”‚  โ”‚                                                           โ”‚  โ”‚
โ”‚  โ”‚  - Client Build: 22621 (Windows 11 22H2)                  โ”‚  โ”‚
โ”‚  โ”‚  - ๅˆ†่พจ็އ: 1920x1080 (ๆœ€ๅธธ่ง็š„ๆกŒ้ขๅˆ†่พจ็އ)                   โ”‚  โ”‚
โ”‚  โ”‚  - RDP Version: 10.7 (็Žฐไปฃ Windows ็‰ˆๆœฌ)                   โ”‚  โ”‚
โ”‚  โ”‚  - ๅฎขๆˆท็ซฏๅ: ๅฏ้…็ฝฎ (้ป˜่ฎค DESKTOP-PC01)                    โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  ๅฟƒ่ทณๆŠ—ๆฃ€ๆต‹                                                โ”‚  โ”‚
โ”‚  โ”‚                                                           โ”‚  โ”‚
โ”‚  โ”‚  - ๅŸบ็ก€้—ด้š” ยฑ30% ้šๆœบๆŠ–ๅŠจ (ไธๆ˜ฏๅ›บๅฎš 30 ็ง’)                 โ”‚  โ”‚
โ”‚  โ”‚  - ๆฏไธช ping/pong ้™„ๅŠ  0-64 ๅญ—่Š‚้šๆœบ padding               โ”‚  โ”‚
โ”‚  โ”‚  - ้ฟๅ…ๅ›บๅฎšๅคงๅฐใ€ๅ›บๅฎš้—ด้š”็š„ๅ‘จๆœŸๆ€งๆต้‡ๆจกๅผ                    โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  ๆ•ฐๆฎๅŒ… padding                                            โ”‚  โ”‚
โ”‚  โ”‚                                                           โ”‚  โ”‚
โ”‚  โ”‚  - ๆฏไธชๆ•ฐๆฎๅธง้™„ๅŠ  0-128 ๅญ—่Š‚้šๆœบ padding                   โ”‚  โ”‚
โ”‚  โ”‚  - ๆŽฅๆ”ถ็ซฏ้€š่ฟ‡ mux ๅธง็š„ PayloadLength ๅญ—ๆฎตๆๅ–็œŸๅฎžๆ•ฐๆฎ       โ”‚  โ”‚
โ”‚  โ”‚  - ไฝฟๅŒ…ๅคงๅฐๅˆ†ๅธƒๆ›ดๆŽฅ่ฟ‘็œŸๅฎž RDP ๅ›พๅฝข้€š้“็š„้šๆœบๆ€ง               โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  ๅ่ฎฎๅˆ่ง„                                                  โ”‚  โ”‚
โ”‚  โ”‚                                                           โ”‚  โ”‚
โ”‚  โ”‚  - 16KB ๅˆ†ๅ— (ไธŽ็œŸๅฎž RDP ่™šๆ‹Ÿ้€š้“ไธ€่‡ด)                     โ”‚  โ”‚
โ”‚  โ”‚  - ๆ ‡ๅ‡† TPKT/X.224/MCS ๅธง็ป“ๆž„                             โ”‚  โ”‚
โ”‚  โ”‚  - ๆญฃ็กฎ็š„ GCC Conference Create ๆ•ฐๆฎ                       โ”‚  โ”‚
โ”‚  โ”‚  - ๆ ‡ๅ‡† RDP ่™šๆ‹Ÿ้€š้“ๅ (rdpvc00-07)                       โ”‚  โ”‚
โ”‚  โ”‚  - TLS ALPN: "rdp"๏ผŒๅฏ†็ ๅฅ—ไปถไธŽ็œŸๅฎž RDP ไธ€่‡ด                โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆŠ€ๆœฏ็ป†่Š‚

็‰นๆ€ง ่ฏดๆ˜Ž
่ฏญ่จ€ Go
ๅค–้ƒจไพ่ต– ไป… gopkg.in/yaml.v3
ๅ่ฎฎ ๅ†…็ฝฎ VLESS ่งฃๆž๏ผŒๆ— ้œ€ๅค–้ƒจ Xray/v2ray ๆœๅŠก็ซฏ
TLS ็‰ˆๆœฌ 1.2 - 1.3
ๅฏ†็ ๅฅ—ไปถ ECDHE_RSA/ECDSA + AES_GCM (ไธŽ็œŸๅฎž RDP ไธ€่‡ด)
ALPN rdp
ๅˆ†ๅ—ๅคงๅฐ 16KB (ไธŽ็œŸๅฎž RDP ไธ€่‡ด)
้ป˜่ฎค่™šๆ‹Ÿ้€š้“ 8 ไธช (rdpvc00 - rdpvc07)
ๆœ€ๅคงๅนถๅ‘ๆต 128 (ๅฏ้…็ฝฎ)
ๅฟƒ่ทณ้—ด้š” ~30 ็ง’ ยฑ30% ้šๆœบๆŠ–ๅŠจ (ๅฏ้…็ฝฎ)
ๆ•ฐๆฎ padding ๆฏๅธง 0-128 ๅญ—่Š‚้šๆœบๅกซๅ……
ไผš่ฏๆขๅค ่ฟžๆŽฅๆ–ญๅผ€ๅŽ่‡ชๅŠจ้‡ๅปบ
ๆ‡’่ฟžๆŽฅ ้ฆ–ๆฌก่ฏทๆฑ‚ๆ—ถๆ‰ๅปบ็ซ‹้šง้“
ๆœๅŠก็ซฏๅ‡บ็ซ™ ็›ด่ฟž็›ฎๆ ‡๏ผŒๆ— ้œ€่ฝฌๅ‘ๅˆฐๅ…ถไป–่ฟ›็จ‹

่ฎธๅฏ่ฏ

MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages