عن المشروع
Sōzu هو خادم وكيل عكسي خفيف وسريع مكتوب بلغة Rust، طورته شركة Clever Cloud. سِمته المميزة هي كونه "دائم التشغيل": تصل تغييرات التكوين أثناء التشغيل عبر مقابس يونكس آمنة دون إعادة تحميل، ويمكن للوكيل ترقية نفسه أثناء استمراره في معالجة الطلبات.
القدرات الرئيسية الموضحة في ملف README:
- التكوين الساخن: تغييرات أثناء التشغيل عبر مقابس يونكس، دون الحاجة إلى إعادة تشغيل.
- ترقيات دون توقف: يستبدل المشرف الرئيسي/العامل العمال بينما تستمر حركة المرور.
- إنهاء TLS: يعمل كنقطة نهاية TLS بحيث يمكن للخلفيات البقاء بسيطة؛ اختيار خلفيات التشفير وقت الترجمة — ring (الافتراضي)، AWS-LC (مع خيارات ما بعد الكم وFIPS 140-3)، وOpenSSL.
- حماية الشبكة: تُدرَّع الخلفيات خلف الوكيل؛ العمال معزولون في بيئات محمية، وتوفر Rust أمان الذاكرة.
- التوجه نحو الأداء: معالجة HTTP بدون نسخ عبر مكتبة Kawa وTLS منخفض الحمل عبر Rustls.
- واجهة TUI للمشغل المباشر: يوفر `sozu top` (المبني مع ميزة `tui`) لوحة تحكم بأسلوب btop/htop عبر مقبس الأوامر، مع رسوم بيانية خطية، وجداول عناقيد وخلفيات قابلة للفرز، وعدادات تخفيف فيضانات HTTP/2، وسجل أحداث ملون.
تشمل خيارات التثبيت ملفات ثنائية Linux جاهزة مرفقة بإصدارات GitHub الموسومة (تغطي أهداف x86_64 gnu/musl وaarch64 gnu عبر متغيرات مزود التشفير)، وصور Docker على Docker Hub باسم `clevercloud/sozu`، والبناء من المصدر. تُرفق الإصدارات ملفات SHA256SUMS، وتوقيعات sigstore بدون مفاتيح، وشهادات مصدر البناء SLSA؛ يلاحظ ملف README أن صور Docker تُبنى بشكل مختلف عن الأرشيفات الموقعة وليست متطابقة بايتياً.
تتطلب البداية السريعة وجود `protoc` وسلسلة أدوات Rust مثبتة، ثم `cargo build -p sozu --release --locked` و`target/release/sozu start -c bin/config.toml`.
تحتوي مساحة عمل Cargo على خمس حزم: `lib` (مكتبة الوكيل العكسي مع حلقة أحداث mio أحادية الخيط، وتعدد إرسال HTTP/1.1 وHTTP/2، وبروتوكولات TCP/UDP/TLS، والتوجيه، وتحديد المعدل لكل IP، والمقاييس، ومجمع المخازن المؤقتة)، و`bin` (الملف الثنائي للمشرف، ومقبس الأوامر، وإعادة التكوين الساخن، وواجهة TUI الاختيارية)، و`command` (مخطط IPC protobuf، ومحلل التكوين، والحالة المنسوخة، ومساعدات تمرير واصفات الملفات)، و`e2e` (أداة تكامل مع عمال حقيقيين وعملاء وخلفيات وهمية)، و`sim` (محاكاة حتمية لنواة UDP sans-io). تغطي حزمة `fuzz` منفصلة تحليل الإطارات وفك ترميز HPACK.
يتضمن دعم HTTP/2 تخفيف الفيضانات لـ CVE-2023-44487 (إعادة التعيين السريع)، وCVE-2024-27316 (فيضان CONTINUATION)، وCVE-2025-8671 (MadeYouReset)، بالإضافة إلى فيضانات PING/SETTINGS/الأولوية.
الترخيص: Sōzu نفسه بموجب AGPL-3.0-or-later؛ لا تُعتبر حركة المرور المارة عبره عملاً مشمولاً، لكن يُتوقع من الأعمال التجارية المبنية على كود أو خوارزميات Sōzu (على سبيل المثال منتج موازن التحميل) المساهمة بالمثل أو ترتيب اتفاقية تجارية مع Clever Cloud. حزمة `sozu-command-lib` بموجب LGPL-3.0.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.