LiteSpeed QUIC (LSQUIC) Library เป็นการใช้งานโอเพ่นซอร์สของฟังก์ชัน QUIC และ HTTP/3 สำหรับเซิร์ฟเวอร์และไคลเอนต์ รหัสส่วนใหญ่ในการเผยแพร่นี้ใช้ในผลิตภัณฑ์ของเราเอง: LiteSpeed Web Server, LiteSpeed ADC และ OpenLiteSpeed
เวอร์ชัน QUIC ที่รองรับในปัจจุบันคือ v1, v2, Internet-Draft เวอร์ชัน 29 และ 27; และ "Google" QUIC เวอร์ชันเก่า Q043, Q046, และ Q050
LiteSpeed QUIC ส่วนใหญ่สอดคล้องกับ RFC ต่อไปนี้:
มีการใช้ส่วนขยายโปรโตคอล QUIC ต่อไปนี้:
มีเอกสารประกอบอยู่ที่ https://lsquic.readthedocs.io/en/latest/
นอกจากนี้ โปรดดูตัวอย่างโปรแกรมสำหรับการใช้งาน API และ EXAMPLES.txt สำหรับตัวเลือกการคอมไพล์และรันไทม์บางส่วน
ในการสร้าง LSQUIC คุณต้องมี CMake, zlib และ BoringSSL โปรแกรมตัวอย่างใช้ libevent เพื่อจัดเตรียมลูปเหตุการณ์
BoringSSL ไม่ได้รับการบรรจุ คุณต้องสร้างมันขึ้นมาเอง กระบวนการนี้ตรงไปตรงมา คุณจะต้อง go
ติดตั้ง
git clone https://boringssl.googlesource.com/boringssl
cd boringssl
คุณอาจต้องติดตั้งข้อกำหนดเบื้องต้น เช่น zlib และ libevent
git checkout 9fc1c33e9c21439ce5f87855a6591a9324e569fd
หรือลองใช้สาขาหลักล่าสุด
cmake . && make
โปรดจำไว้ว่าแหล่งที่มาของ BoringSSL อยู่ที่ไหน:
BORINGSSL=$PWD
หากคุณต้องการเปิดการเพิ่มประสิทธิภาพ ให้ทำ
cmake -DCMAKE_BUILD_TYPE=Release . && make
หากคุณต้องการสร้างเป็นไลบรารี (จำเป็นต้องสร้าง lsquic เองเป็นไลบรารีที่ใช้ร่วมกัน) ให้ทำดังนี้
cmake -DBUILD_SHARED_LIBS=1 . && make
http_client
, http_server
ของ LSQUIC และการทดสอบเชื่อมโยงไลบรารี BoringSSL แบบคงที่ ตามหัวข้อก่อนหน้า คุณสามารถสร้าง LSQUIC ได้ดังนี้:
git clone https://github.com/litespeedtech/lsquic.git
cd lsquic
git submodule update --init
แบบคงที่:
# $BORINGSSL is the top-level BoringSSL directory from the previous step
cmake -DBORINGSSL_DIR=$BORINGSSL .
make
เป็นไลบรารีแบบไดนามิก:
cmake -DLSQUIC_SHARED_LIB=1 -DBORINGSSL_DIR=$BORINGSSL .
make
make test
ไลบรารีและไคลเอ็นต์และเซิร์ฟเวอร์ตัวอย่างสามารถสร้างขึ้นด้วย Docker
เริ่มต้นโมดูลย่อย Git:
cd lsquic
git submodule update --init
สร้างอิมเมจนักเทียบท่า:
docker build -t lsquic .
จากนั้นคุณสามารถใช้ตัวอย่างจากบรรทัดคำสั่งได้ ตัวอย่างเช่น:
sudo docker run -it --rm lsquic http_client -s www.google.com -p / -o version=h3
sudo docker run -p 12345:12345/udp -v /path/to/certs:/mnt/certs -it --rm lsquic http_server -c www.example.com,/mnt/certs/chain,/mnt/certs/key
ห้องสมุดได้รับการทดสอบบนแพลตฟอร์มต่อไปนี้:
อย่าลังเลที่จะรายงานข้อผิดพลาดกลับมาให้เราทราบ ยิ่งไปกว่านั้น ส่งการแก้ไขและปรับปรุงมาให้เรา!
มีความสุข,
ทีมงาน LiteSpeed QUIC
ลิขสิทธิ์ (c) 2017 - 2021 LiteSpeed Technologies Inc