عن المشروع

Kore هو منصة لتطوير تطبيقات الويب تتيح كتابة عمليات ويب قابلة للتوسع ومتزامنة باستخدام لغة C أو Python. تم تصميمه وفق نهج "آمن افتراضيًا" ويعتمد على فصل كامل للامتيازات إلى جانب ميزات أمان نظام التشغيل مثل seccomp وpledge وunveil. يذكر المشروع استخدامه في مجالات تشمل الأجهزة التشفيرية عالية الضمان، ومجموعات التعلم الآلي، والفضاء، ويضع نفسه كخيار مناسب من المنصات المدمجة إلى الخوادم عالية الأداء. تشمل القدرات الرئيسية التي يذكرها المشروع دعم SNI وHTTP/1.1 وWebSocket، وفصل الامتيازات افتراضيًا، وتفعيل TLS افتراضيًا، ومهام خلفية اختيارية، وتحقق مدمج من المعاملات، ودعم اختياري لقاعدة بيانات PostgreSQL غير المتزامنة، ومعالجات صفحات Python اختيارية، وإعادة تحميل فورية للمفاتيح الخاصة والشهادات، وشهادات X509 تلقائية عبر ACME مع فصل الامتيازات، وعزل المفاتيح الخاصة في عملية منفصلة لخوارزميتي RSA وECDSA، ومجموعات تشفير TLS افتراضية مع سرية تامة للأمام، وإعادة تحميل فورية للوحدات حتى أثناء تقديم المحتوى، وعزل عمليات العامل في OpenBSD عبر pledge وفي Linux عبر seccomp، ومعمارية epoll/kqueue تعتمد على الأحداث مع عمليات عامل لكل نواة معالجة، وإمكانية بناء التطبيق كمكتبة ديناميكية مجمعة مسبقًا أو كملف ثنائي واحد. Kore مرخص بموجب رخصة ISC. الوثائق متاحة على docs.kore.io. المنصات المدعومة هي Linux وOpenBSD وFreeBSD وmacOS، مع دعم معماريات x64 وarm وaarch64 فقط. يتطلب البناء OpenSSL 1.1.1 أو LibreSSL 3.x أو OpenSSL 3. الميزات الاختيارية لها متطلباتها الخاصة: libcurl 7.64.0 أو أحدث لـ curl غير المتزامن، وpthreads للمهام الخلفية، وlibpq لـ PostgreSQL، وPython 3.6+ لدعم Python، وLua 5.4+ لدعم Lua. يتم البناء العادي باستخدام make وmake install. يتم تفعيل أصناف البناء الاختيارية عبر متغيرات البيئة قبل تشغيل make: LUA=1، ACME=1، CURL=1، TASKS=1، PGSQL=1، DEBUG=1، NOHTTP=1، NOOPT=1، JSONRPC=1، PYTHON=1 وTLS_BACKEND=none. تشير ملاحظات README إلى أن بعض الأصناف لا يمكن دمجها وستؤدي إلى أخطاء في الترجمة. يتم توفير تطبيقات أمثلة تحت مجلد examples/، ولكل منها ملف README يصف كيفية بنائه أو استخدامه. يوصف المستودع بأنه مرآة للقراءة فقط؛ وتشير معلومات المساهمة إلى القوائم البريدية على kore.io، مع patches@kore.io للتصحيحات وusers@kore.io للأسئلة، بالإضافة إلى security@kore.io للتقارير الأمنية وsponsor@kore.io للرعاية.