go http3 proxy
1.0.0
ตัวอย่างง่ายๆ ของคำขอพร็อกซีผ่านโปรโตคอล HTTP3/QUIC โดยใช้เซิร์ฟเวอร์ Socks5/udp
# # Terminal_1
$ go run ./cmd/server
> Server is listening...
# # Terminal_2
$ go run ./cmd/proxy
> Proxy is listening...
# # Terminal_3
# # This terminal depends on Terminal_1 & Terminal_2
$ go run ./cmd/client
> 200 echo: ' hello, server! '
> 200 echo: ' hello, server! '
> 200 echo: ' hello, server! '
...
ตัวอย่างนี้สามารถรันโดยใช้นักเทียบท่าได้ ในกรณีนี้ การใช้คำสั่ง make ก็เพียงพอแล้ว หลังจากนั้นนักเทียบท่าเขียนจะสร้างบริการสามอย่าง: server
proxy
และ client
ไคลเอ็นต์และเซิร์ฟเวอร์ไม่ได้สื่อสารถึงกันโดยตรง แต่ใช้บริดจ์: client-proxy
และ server-proxy
$ make
> go-http3-proxy-server-1 | Server is listening...
> go-http3-proxy-proxy-1 | Proxy is listening...
> go-http3-proxy-client-1 | 200 echo: ' hello, server! '
> go-http3-proxy-client-1 | 200 echo: ' hello, server! '
> go-http3-proxy-client-1 | 200 echo: ' hello, server! '
...
version : " 3 "
services :
server :
build :
context : ./
dockerfile : cmd/server/Dockerfile
networks :
- server-proxy
proxy :
build :
context : ./
dockerfile : cmd/proxy/Dockerfile
networks :
- server-proxy
- client-proxy
client :
build :
context : ./
dockerfile : cmd/client/Dockerfile
depends_on :
- proxy
- server
networks :
- client-proxy
networks :
client-proxy :
driver : bridge
server-proxy :
driver : bridge