حلّ المجتمع

إصلاح أخطاء عدم التصريح في واجهة الويب لـ qBittorrent على ZimaOS

A ZimaOS qBittorrent thread found that an Unauthorized page could sometimes be bypassed by opening the server with an explicit http:// URL, while later users also needed the temporary WebUI password printed in the container logs.

لا تعني صفحة Unauthorized البيضاء البسيطة في qBittorrent دائمًا المشكلة نفسها التي تحدث عند إدخال اسم مستخدم أو كلمة مرور غير صحيحين. يتضمن موضوع مجتمع IceWhale الحالتين: لم يتمكن بعض المستخدمين من الوصول إلى WebUI في qBittorrent بشكل صحيح حتى فتحوا خادم ZimaOS باستخدام عنوان URL صريح يتضمن http://، بينما وصل مستخدمون لاحقون إلى شاشة تسجيل الدخول لكنهم لم يعرفوا مكان تخزين كلمة مرور qBittorrent المُنشأة.

لذلك، فإن أسلم نهج لاستكشاف الأخطاء هو الفصل بين التحقق من طلب WebUI والمصادقة في WebUI. تأكد أولًا من أن المتصفح يصل إلى qBittorrent عبر عنوان URL والبروتوكول الصحيحين. وبعد تحميل شاشة تسجيل الدخول فقط، انتقل إلى استكشاف أخطاء اسم مستخدم المسؤول وكلمة المرور المؤقتة.

جرّب أولًا عنوان URL الصريح http://

أفاد رد من المجتمع في فبراير 2025 بأن إضافة ذلك ببساطة http:// أمام عنوان IP للخادم حلّ مشكلة صفحة Unauthorized:

http://ZIMAOS_LAN_IP:QBITTORRENT_PORT

أكد مستخدم آخر لاحقًا أن ذلك أوصله إلى صفحة تسجيل الدخول إلى WebUI في qBittorrent.

استخدم منفذ WebUI الفعلي على جهة المضيف لـ qBittorrent، كما يظهر في إعدادات تطبيق ZimaOS. إذا كان التطبيق يعرّض المنفذ 8080 مباشرة، فقد يبدو عنوان URL كما يلي:

http://192.168.1.50:8080

لا تفترض أن كل حزمة qBittorrent في ZimaOS تستخدم منفذ المضيف نفسه.

لماذا يمكن أن يتسبب عنوان URL نفسه في ظهور «Unauthorized»؟

تتضمن واجهة WebUI في qBittorrent فحوصات أمنية تتجاوز نموذج تسجيل الدخول. يمكن أن يعيد كود qBittorrent الحالي استجابة Unauthorized عندما يرفض التحقق من رأس Host أو الحماية من الطلبات العابرة للمواقع طلبًا معينًا.

وهذا يعني أن هذه العناصر قد تتصرف بشكل مختلف:

192.168.1.50:8080
http://192.168.1.50:8080
https://192.168.1.50:8080
https://some-dashboard-link.example/...

إذا كان المتصفح أو لوحة المعلومات أو الوكيل العكسي أو الخادم الأصلي أو البروتوكول يتسبب في اختلاف رؤوس الطلب. لا تثبت نتيجة المجتمع أن كل صفحة Unauthorized تنتج عن غياب http://، لكنه يجعل عنوان LAN الصريح أداة تشخيص أولى جيدة.

نافذة المتصفح الخاصة أداة تشخيص وليست حلاً كاملاً

كان أول اقتراح من المجتمع هو تجربة نافذة متصفح خاصة. أفاد أحد المستخدمين بأنها نجحت مرة واحدة، ما جعل المشكلة تبدو في البداية وكأنها مشكلة ملفات تعريف الارتباط. أظهرت الاختبارات اللاحقة أن التصفح الخاص لم يحل المشكلة باستمرار.

استخدم نافذة تصفح متخفية/خاصة لاستبعاد بيانات الجلسة القديمة، لكن لا تتوقف عن استكشاف الأخطاء عند هذه الخطوة. إذا عاد الخطأ، فاختبر عنوان HTTP الصريح وراجع سجلات qBittorrent.

إذا وصلت إلى شاشة تسجيل الدخول، فحل مشكلة كلمة المرور بشكل منفصل

تمكّن مستخدم لاحق من الوصول إلى صفحة تسجيل الدخول إلى qBittorrent بعد إضافة http:// لكنّه جرّب بعد ذلك تركيبات من كلمة مرور ZimaOS وكلمة مرور فارغة و adminليست بيانات الاعتماد هذه مرتبطة بالضرورة.

غيّرت إصدارات qBittorrent الحديثة سلوك مصادقة WebUI عند التشغيل الأول. وتنص وثائق استرداد كلمة المرور الرسمية الحالية لـ qBittorrent على أن qBittorrent 4.6.1 والإصدارات الأحدث يمكنها توفير كلمة مرور WebUI مؤقتة عند عدم ضبط أي كلمة مرور.

في موضوع المجتمع، بدا نص سجل الحاوية ذي الصلة كما يلي:

اسم مستخدم مسؤول WebUI هو: admin
لم يتم تعيين كلمة مرور مسؤول WebUI.
يتم توفير كلمة مرور مؤقتة لهذه الجلسة:

تظهر كلمة المرور المؤقتة الفعلية في مخرجات الحاوية بعد تلك الرسالة.

كيفية الحصول على كلمة مرور qBittorrent المؤقتة في ZimaOS

اقترحت إجابة في المجتمع فتح الطرفية المستندة إلى الويب في ZimaOS وتشغيل:

docker logs qbittorrent

قد يختلف اسم الحاوية الدقيق، لذا إذا أفاد هذا الأمر بأن الحاوية غير موجودة، فحدّد اسمها أولًا:

docker ps --format '{{.Names}}' | grep -i qbit

ثم اقرأ سجلات الحاوية المناسبة.

بعد تسجيل الدخول، عيّن فورًا كلمة مرور WebUI قوية من اختيارك ضمن خيارات WebUI في qBittorrent. فكلمة المرور المؤقتة التي ينشئها النظام للجلسة ليست مخصّصة لتصبح بيانات اعتمادك الدائمة.

للاطلاع على سلوك الاسترداد الحالي في الإصدار الأساسي، راجع وثائق استرداد كلمة مرور WebUI في qBittorrent.

ماذا تفعل إذا أعاد docker logs رسالة «تم رفض الإذن»؟

أفادت آخر إجابة في موضوع المجتمع بما يلي:

تحذير: تعذّر تحميل ملف الإعدادات: تم رفض الإذن لفتح /DATA/.docker/config.json

تم رفض الإذن أثناء محاولة الاتصال بمقبس عفريت Docker على unix:///var/run/docker.sock

هذه مشكلة في أذونات Docker على المضيف، وليست خطأً في كلمة مرور qBittorrent. مستخدم الصدفة الذي يشغّل سجلات docker ليس لديه إذن للتواصل مع عفريت Docker.

استخدم سير عمل الطرفية الإدارية المعتمَد في ZimaOS لتشخيص Docker. لا تقم /var/run/docker.sock قابلة للكتابة من الجميع، ولا توسّع أذونات المضيف على نطاق واسع لمجرد قراءة سجل واحد.

لا تفترض أن adminadmin هي كلمة المرور الافتراضية الحالية

كانت وثائق وإصدارات qBittorrent الأقدم تستخدم عادةً:

اسم المستخدم: admin
كلمة المرور: adminadmin

تميّز وثائق استرداد qBittorrent الحالية بين الإصدارات السابقة واللاحقة للإصدار 4.6.1. في الإصدارات الأحدث، يؤدي حذف كلمة المرور المكوّنة أو فقدانها إلى طباعة qBittorrent كلمة مرور مؤقتة بدلًا من استعادة كلمة مرور دائمة متوقعة ببساطة.

لذلك، عندما يخبرك ZimaOS بـ «الحصول عليها من السجل»، استخدم سجلات الحاوية بدلًا من المحاولة المتكررة adminadmin.

عيّن اسم مستخدم وكلمة مرور دائمين لـ WebUI

بعد أن تتمكن من تسجيل الدخول:

  1. افتح Tools > Options > WebUI.
  2. عيّن كلمة مرور قوية لـ WebUI.
  3. احتفظ باسم مستخدم المسؤول أو غيّره وفقًا للخيارات المتاحة في الإصدار المثبت لديك.
  4. احفظ الإعدادات.
  5. افتح جلسة متصفح جديدة وتأكد من عمل بيانات الاعتماد الجديدة.

اقترح الرد المجتمعي أيضًا تجاوز المصادقة للعملاء المحليين. لا تفعّل تجاوز المصادقة على نطاق أوسع من المطلوب. يمكن لـ qBittorrent WebUI إضافة التنزيلات وتغيير إعدادات التطبيق، لذا يجب أن يظل الوصول مقتصرًا على العملاء الموثوق بهم.

لا تعطل حماية ترويسة Host أو CSRF كحل أول

يتضمن qBittorrent وسائل حماية لترويسة Host وCSRF لسبب وجيه. قد يؤدي تعطيلها عالميًا إلى توسيع نطاق تعرّض WebUI، وقد يخفي وجود وكيل عكسي أو رابط لوحة معلومات تم تكوينه بشكل غير صحيح.

إذا كان الوصول المباشر عبر:

http://ZIMAOS_LAN_IP:PORT

يعمل، لكن النطاق المخصص أو رابط الوكيل العكسي يعرض رسالة «غير مصرّح به»، فاضبط الوكيل لإرسال معلومات المضيف/المصدر الصحيحة واتبع إرشادات qBittorrent الحالية بشأن الوكيل العكسي. تجنّب ضبط أحرف بدلًا شاملة متساهلة لمجرد إزالة الخطأ.

تحقّق من سجلات qBittorrent لمعرفة سبب رفض WebUI المحدد

يسجّل رمز qBittorrent WebUI الحالي حالات مثل ترويسات Host غير الصالحة أو عدم تطابق المصدر. إذا عرض المتصفح رسالة «غير مصرّح به» قبل صفحة تسجيل الدخول، فاقرأ سجلات الحاوية أثناء إعادة إنتاج الطلب.

قد ترى رسائل تشير إلى:

  • التحقق من ترويسة Host؛
  • عدم تطابق Origin أو Referer؛
  • فشل المصادقة؛
  • إنشاء كلمة مرور مؤقتة؛
  • أو مشكلة غير ذات صلة عند بدء تشغيل التطبيق.

هذا أكثر موثوقية من اعتبار كل صفحة على نمط 401 مشكلة في ملفات تعريف الارتباط.

قائمة التحقق لاستكشاف خطأ Unauthorized في qBittorrent

  1. تأكّد من أن حاوية qBittorrent قيد التشغيل.
  2. تحقّق من منفذ المضيف الحالي في ZimaOS الخاص بـ WebUI في qBittorrent.
  3. افتح عنوان URL المحدد http://ZIMAOS_LAN_IP:PORT.
  4. جرّب نافذة متصفح خاصة فقط لتشخيص الجلسة/ذاكرة التخزين المؤقت.
  5. إذا ظهرت صفحة تسجيل الدخول، فتوقّف عن استكشاف أخطاء رؤوس Host واسترجع بيانات اعتماد qBittorrent الفعلية.
  6. في qBittorrent 4.6.1 والإصدارات الأحدث، تحقّق من سجلات الحاوية للعثور على كلمة المرور المؤقتة عند عدم تعيين كلمة مرور دائمة.
  7. عيّن كلمة مرور جديدة وقوية لـ WebUI بعد تسجيل الدخول.
  8. إذا نجح الوصول عبر عنوان IP مباشر وفشل عبر وكيل أو نطاق، فتحقّق من إعدادات Host/Origin في الوكيل العكسي.
  9. لا تُعطّل فحوصات أمان WebUI في qBittorrent على مستوى عام باعتبار ذلك الحل الأول.
  10. إذا تعذّرت قراءة سجلات Docker، فأصلح مشكلة الوصول الإداري إلى المضيف بشكل منفصل.

الأسئلة الشائعة حول خطأ Unauthorized في qBittorrent على ZimaOS

لماذا أدى إضافة http:// إلى إصلاح صفحة Unauthorized؟

أجبر المتصفح على استخدام مصدر HTTP المتوقع بدلًا من تفسير العنوان أو ترقيته بطريقة مختلفة. يُجري qBittorrent عملية تحقق من Host الخاص بـ WebUI ومن الطلبات الواردة من مواقع أخرى، لذلك يمكن للبروتوكول ورؤوس الطلبات أن يؤثرا في قبول الطلب.

ما كلمة مرور WebUI الخاصة بـ qBittorrent على ZimaOS؟

يعتمد ذلك على إصدار qBittorrent المثبّت وعلى الإعدادات الحالية. في الإصدارات الحديثة التي لا تحتوي على كلمة مرور مُعدّة، يمكن لـ qBittorrent إنشاء كلمة مرور مؤقتة وطباعتها في سجلات الحاوية. وقد يطلب منك ZimaOS صراحةً الحصول على كلمة المرور من تلك السجلات.

هل ما زالت admin/adminadmin هي القيم الافتراضية؟

لا تعتمد على ذلك في إصدارات qBittorrent الحالية. غيّر مشروع qBittorrent آلية التعامل مع كلمة المرور عند التشغيل الأول في الإصدار 4.6.1، بحيث يمكن أن تؤدي عدمُ تعيين كلمة مرور WebUI إلى إنشاء كلمة مرور مؤقتة بدلًا من ذلك.

ليس بالضرورة. ساعدت نافذة خاصة أحد مستخدمي المجتمع مؤقتًا، لكن الاختبارات اللاحقة لم تُثبت اختفاء المشكلة باستمرار. وقد تكون أيضًا هناك أسباب محتملة تتعلق بالتحقق من عنوان URL والبروتوكول وأمان WebUI من جهة الخادم.

لماذا يقول docker logs qbittorrent إن الوصول إلى مقبس Docker مرفوض؟

حساب الطرفية الحالي غير مخوّل للوصول إلى عفريت Docker. وهذا منفصل عن مصادقة qBittorrent. استخدم غلافًا إداريًا مخوّلًا بدلًا من إضعاف أذونات مقبس Docker.