Quinn هو تطبيق نقي ، ومتوافق مع ANSYNC لبروتوكول نقل IETF QUIC. تأسس المشروع من قبل ديركجان أوتشمان وبنيامين سوندرز كمشروع جانبي في عام 2018 ، وشهد أكثر من 30 إصدارًا منذ ذلك الحين. إذا كنت تستخدم Quinn في بيئة تجارية ، فيرجى التفكير في رعاية المشروع.
أمثلة
$ 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 for Servers ، والاعتماد على التكوين الافتراضي للعملاء.
بالنسبة لبعض الحالات ، بما في ذلك النظراء من نظير إلى نظير ، أو استخدام الثقة في الوقت الحالي ، أو تطبيقات غير آمنة عن عمد ، أو أي حالة لا يتم فيها تحديد الخوادم باسم المجال ، فهذا ليس عمليًا. يمكن تنفيذ منطق التحقق من الشهادة التعسفية عن طريق تمكين ميزة dangerous_configuration من rustls وبناء Quinn ClientConfig مع التحقق من الشهادة المتجاوز باليد.
عند تشغيل سلطة الشهادة الخاصة بك ، لا معنى له ، يمكن استخدام RCGen لإنشاء شهادات موقعة ذاتيا عند الطلب. لدعم الاستخدام على الاستخدام الأول ، يجب أن تكتب الخوادم التي تنشئ شهادات موقعة ذاتيًا تلقائيًا الشهادة التي تم إنشاؤها إلى التخزين المستمر وإعادة استخدامها في عمليات التشغيل المستقبلية.
كل ردود الفعل ترحب. لا تتردد في تقديم الأخطاء وطلبات الوثائق وأي تعليقات أخرى على تعقب المشكلة.
يستخدم مجموعة اختبار Quinn-Proto محاكاة IO للاستنساخ ولتجنب النوم الطويل في اختبارات معينة حساسة للوقت. إذا تم تعيين متغير بيئة SSLKEYLOGFILE ، فسوف تنبعث الاختبارات عن حزم UDP للتفتيش باستخدام محللات البروتوكول الخارجي مثل Wireshark ، وسجلات مفاتيح مفاتيح متوافقة مع NSS لجانب العميل من كل اتصال إلى المسار المحدد في المتغير.
سيكون الحد الأدنى لنسخة الصدأ المدعومة للإصدارات المنشورة لصناديقنا دائمًا ما لا يقل عن 6 أشهر في وقت الإصدار.