ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.
الملخص
يتيح تطبيق jack للمستخدمين مشاركة مكتبات الوسائط عبر حزمة Radarr/Sonarr الخاصة بهم بطريقة الند للند (peer-to-peer). قبل الإصدار 0.1.0، يقوم الملف `middleware/handle-error.ts` بتسلسل كائنات `FetchError` الخام إلى استجابات HTTP. يرفق `lib/servers/base.ts` ترويسات الطلبات الصادرة في استجابات عدم النجاح من المصدر وأخطاء التحقق من مخطط البيانات (schema)؛ ويظل الحقل العام `extras` في `lib/errors/FetchError.ts` قابلاً للتعداد ويتم إصداره بواسطة تسلسل JSON. تتضمن هذه الترويسات مفتاح `X-Api-Key` الداخلي لـ Radarr/Sonarr وترويسات الموصلات المخصصة مثل `CF-Access-Client-Secret`. يقوم `lib/redact.ts` بتنقيح السجلات والنطاقات الزمانية ولكن ليس مسار الاستجابة هذا. يمكن لأي عميل يمتلك مفتاح API الخاص بالأقران المشارك، بالإضافة إلى بيانات اعتماد Cloudflare Access إذا كان انتشار التطبيق يتطلب ذلك، فرض حدوث خطأ دون سباق أو تفاعل من المستخدم. يمكن للأوامر `GET /peer/items/:id` و `GET /servers/health` كشف مفتاح خادم الوسائط الداخلي، بينما يمكن للأمر `GET /torznab/download/:id` كشف مفتاح أقران آخر وأسرار Cloudflare Access. التوجيهات /peer/search و /items تلتقط هذه الأخطاء ولا تتأثر. تمنح المفاتيح الداخلية المكتشفة تحكماً إدارياً كاملاً في خادم Radarr/Sonarr المقابل، مما يتجاوز الحد المقصود بين وصول الأقران المشارك للأصدقاء وبيانات الاعتماد الخاصة بالخلفية. تم إصلاح هذه المشكلة في الإصدار 0.1.0.