TunnelerRust 實(shí)現(xiàn)的隧道工具
Tunneler 是一款 Rust 實(shí)現(xiàn)的隧道工具,實(shí)現(xiàn)了 Tunnel TCP、UDP traffic over TCP、(手動(dòng))TLS、DNS(權(quán)威服務(wù)器或直連模式)功能。
Tunneler 整體架構(gòu)
每個(gè)可執(zhí)行文件包含 2 個(gè)組件,它們通過(guò)客戶端 stream 通道(字節(jié)讀取器和寫(xiě)入器的元組)進(jìn)行通信:
- 客戶端偵聽(tīng)器綁定套接字并將傳入和傳出流量轉(zhuǎn)換為新的 stream
- 客戶端隧道程序?qū)?stream 讀取器和寫(xiě)入器轉(zhuǎn)換為隧道協(xié)議
- 服務(wù)器 Untunneler 根據(jù)隧道協(xié)議綁定套接字并將隧道流量轉(zhuǎn)換回原始 stream
- 服務(wù)器轉(zhuǎn)發(fā)器將流寫(xiě)入器和讀取器轉(zhuǎn)換回流量
基于 TCP 的流量可以輕松地被轉(zhuǎn)換為 stream,基于 UDP 的流量轉(zhuǎn)換取決于隧道協(xié)議。
評(píng)論
圖片
表情
