Quinn เป็นการดำเนินการที่มีความแข็งแกร่งและไม่เข้ากันได้ของโปรโตคอลการขนส่ง IETF QUIC โครงการก่อตั้งขึ้นโดย Dirkjan Ochtman และ Benjamin Saunders เป็นโครงการด้านข้างในปี 2018 และได้เห็นมากกว่า 30 รุ่นตั้งแต่นั้นมา หากคุณใช้ควินน์ในการตั้งค่าเชิงพาณิชย์โปรดพิจารณาสนับสนุนโครงการ
ตัวอย่าง
$ cargo run --example server ./
$ cargo run --example client https://localhost:4433/Cargo.toml สิ่งนี้เปิดตัวเซิร์ฟเวอร์ HTTP 0.9 บนที่อยู่วนรอบที่ให้บริการไดเรกทอรีการทำงานปัจจุบันพร้อมกับการดึงไคลเอนต์ ./Cargo.toml โดยค่าเริ่มต้นเซิร์ฟเวอร์จะสร้างใบรับรองที่ลงนามด้วยตนเองและจัดเก็บไว้ในดิสก์ซึ่งไคลเอนต์จะค้นหาและเชื่อถือได้โดยอัตโนมัติ
ลิงค์
จุดสิ้นสุดของ Quinn สอดคล้องกับซ็อกเก็ต UDP เดียวไม่ว่าจะมีการเชื่อมต่อกี่ครั้ง การจัดการอัตราข้อมูลรวมสูงบนจุดสิ้นสุดเดียวอาจต้องใช้บัฟเฟอร์ UDP ที่มีขนาดใหญ่กว่าที่ได้รับการกำหนดค่าโดยค่าเริ่มต้นในสภาพแวดล้อมส่วนใหญ่ หากคุณสังเกตเวลาแฝงที่ไม่แน่นอนและ/หรือปริมาณงานผ่านลิงก์เครือข่ายที่เสถียรให้พิจารณาเพิ่มขนาดบัฟเฟอร์ที่ใช้ ตัวอย่างเช่นคุณสามารถปรับตัวเลือก SO_SNDBUF และ SO_RCVBUF ของซ็อกเก็ต UDP ที่จะใช้ก่อนที่จะส่งผ่านไปยัง Quinn โปรดทราบว่าบางแพลตฟอร์ม (เช่น Linux) ต้องการสิทธิ์สูงหรือการกำหนดค่าระบบที่ปรับเปลี่ยนสำหรับกระบวนการเพื่อเพิ่มขนาดบัฟเฟอร์ UDP
โดยค่าเริ่มต้นไคลเอนต์ Quinn ตรวจสอบตัวตนของเซิร์ฟเวอร์ที่เชื่อมต่อกับเซิร์ฟเวอร์ สิ่งนี้จะช่วยป้องกันไม่ให้ผู้โจมตีที่ใช้งานอยู่บนเส้นทางจากการสกัดกั้นข้อความ แต่ต้องเชื่อถือผู้มีอำนาจในการรับรอง สำหรับวัตถุประสงค์หลายประการนี้สามารถทำได้โดยใช้ใบรับรองจาก Let's encrypt สำหรับเซิร์ฟเวอร์และอาศัยการกำหนดค่าเริ่มต้นสำหรับลูกค้า
สำหรับบางกรณีรวมถึงแอปพลิเคชันที่ไม่ปลอดภัยโดยจงใจหรือกรณีใด ๆ ที่เซิร์ฟเวอร์ไม่ได้ระบุชื่อโดเมนซึ่งไม่สามารถใช้งานได้จริง ตรรกะการตรวจสอบใบรับรองโดยพลการสามารถนำไปใช้งานได้โดยการเปิดใช้งานคุณสมบัติ dangerous_configuration ของ rustls และการสร้าง quinn ClientConfig ด้วยตัวตรวจสอบใบรับรองที่ใช้งานได้ด้วยมือ
เมื่อดำเนินการใบรับรองของคุณเองไม่สมเหตุสมผล RCGEN สามารถใช้เพื่อสร้างใบรับรองที่ลงนามด้วยตนเองตามความต้องการ เพื่อสนับสนุนการใช้งานครั้งแรกที่น่าเชื่อถือเซิร์ฟเวอร์ที่สร้างใบรับรองที่ลงนามด้วยตนเองโดยอัตโนมัติควรเขียนใบรับรองที่สร้างขึ้นเพื่อจัดเก็บข้อมูลถาวรและนำกลับมาใช้ใหม่ในการรันในอนาคต
ยินดีต้อนรับข้อเสนอแนะทั้งหมด อย่าลังเลที่จะยื่นข้อบกพร่องคำขอเอกสารและข้อเสนอแนะอื่น ๆ ต่อตัวติดตามปัญหา
ชุดทดสอบ Quinn-Proto ใช้ IO จำลองเพื่อการทำซ้ำและเพื่อหลีกเลี่ยงการนอนหลับที่ยาวนานในการทดสอบที่ไวต่อเวลาบางอย่าง หากตั้งค่าตัวแปรสภาพแวดล้อม SSLKEYLOGFILE การทดสอบจะปล่อยแพ็กเก็ต UDP สำหรับการตรวจสอบโดยใช้เครื่องวิเคราะห์โปรโตคอลภายนอกเช่น WIRESHARK และบันทึกคีย์ที่เข้ากันได้กับ NSS สำหรับฝั่งไคลเอ็นต์ของการเชื่อมต่อแต่ละครั้งจะถูกเขียนไปยังเส้นทางที่ระบุในตัวแปร
เวอร์ชันสนิมขั้นต่ำที่รองรับสำหรับการเผยแพร่ที่เผยแพร่ของลังของเราจะมีอายุอย่างน้อย 6 เดือนในเวลาที่วางจำหน่าย