SSD Nodes Learn Hosting plans →
الأدلة Matt Connorبقلم Matt Connor

Searx أم SearXNG: هل مات Searx؟

لم يتلقَّ Searx أي commit منذ أبريل 2023، بينما يواصل SearXNG التطور. تحقّق من الحالة بنفسك وتعرّف إلى تغييرات التثبيت وإنشاء instance جديد.

‏Searx أم SearXNG: أيّهما ينبغي تثبيته؟

Searx وSearXNG مشروعان مختلفان يحملان اسماً متشابهاً جداً، لكن مشروعاً واحداً منهما فقط ما زال يتلقى الإصلاحات. ثبّت SearXNG. لم يتلقَّ Searx الأصلي أي commit برمجي منذ April 2023، ويذكر ملف README الخاص به ذلك بوضوح في سطر واحد: "لم يعد Searx قيد الصيانة."

وهذا يطرح مشكلة عملية، لا فلسفية. يشترك المشروعان في لقطة شاشة واحدة، وفي معظم ملف الإعداد، وفي نصف الاسم، لذلك قد يبدو الدليل المكتوب لأحدهما صالحاً للآخر. لكنه ليس كذلك. يوجد ملف الإعداد في مكان آخر، وأصبحت حماية bot جديدة، ولم يعد اسم الحزمة متاحاً في Ubuntu الحالي. يوضح ما يلي الفرق بين المشروعين، والأوامر اللازمة للتحقق من الحالة بنفسك، وقائمة التغييرات التي تهم من ينشئ instance.

ما هو Searx، ومن أين جاء SearXNG

Searx هو محرك بحث تجميعي. لا يحتفظ بفهرس خاص به. يأخذ استعلامك، ويمرّره إلى خدمات بحث أخرى مثل Bing أو DuckDuckGo أو Wikipedia، ثم يدمج النتائج في صفحة نتائج واحدة. الفائدة هي أن هذه الخدمات ترى عنوان الخادم بدلاً من عنوانك. أما التكلفة فهي الصيانة. كل محرك عبارة عن جزء صغير من التعليمات البرمجية يحلّل HTML أو API تابعاً لجهة أخرى، لذلك يتعطل المحرك كلما غيّرت تلك الجهة بنيتها. ولا يكون محرك البحث التجميعي سليماً إلا بقدر سلامة الأشخاص الذين يصلحون وحدات محركاته.

أُنشئ مستودع searx في October 2013. وفي April 2021 بدأ مسؤول صيانة سابق مشروع SearXNG باعتباره fork منه. وتشير "NG" إلى الجيل التالي. يصف README الخاص بـSearx المشروعين جنباً إلى جنب، ولا يزال ذلك الوصف أوضح ملخص للانقسام:

SearxNG هو fork من searx، أنشأه مسؤول صيانة سابق في searx.
يوفّر SearxNG إصدارات متتابعة، ويحدّث التبعيات بوتيرة أكبر، ويصلح المحركات بسرعة أكبر.

كان الخلاف الذي أدى إلى إنشاء fork متعلقاً بالتشخيص. اعتبر Searx أن بيانات الاستخدام شيء لا ينبغي للمثيل الاحتفاظ به، وتوضح إعداداته الافتراضية ذلك صراحةً: enable_stats: False # activate /stats page - note: it may leak usage data. أما SearXNG فاتخذ القرار المعاكس، ويضمّن enable_metrics: true في إعداداته الافتراضية. وهذه المقاييس هي التي تملأ أشرطة زمن الاستجابة وصفحات الأخطاء، مما يجعل العثور على المحرك المعطل وإصلاحه أمراً سهلاً. يمكن الدفاع عن كلا الموقفين. لكن أحدهما فقط واصل إصدار التعليمات البرمجية.

هل مات Searx؟ كيف تتحقق بنفسك

«ميت» ليست حالة يعرضها GitHub، لذلك اقرأ الإشارتين المتاحتين واتخذ قرارك. الإشارة الأولى هي ما إذا كان المستودع مؤرشفاً، ومتى تلقى آخر push.

curl -s https://api.github.com/repos/searx/searx | jq -r '.archived, .pushed_at'
curl -s https://api.github.com/repos/searxng/searxng | jq -r '.archived, .pushed_at'

في 18 October 2026 يطبع الأمر الأول false و2026-05-14T10:02:22Z. ويطبع الأمر الثاني false وطابعاً زمنياً حديثاً، عادةً من اليوم الماضي أو اليومين الماضيين. انتبه إلى القيمة الأولى. مستودع searx غير مؤرشف، ولم يقفل أحد الوصول إليه، ولذلك يتكرر هذا السؤال.

pushed_at إشارة ضعيفة بمفردها، لأنها تتغير عند إجراء push إلى أي فرع، بما في ذلك تغيير من سطر واحد في التوثيق. اقرأ قائمة commits بدلاً من ذلك.

curl -s 'https://api.github.com/repos/searx/searx/commits?per_page=5' \
  | jq -r '.[] | .commit.committer.date[:10] + "  " + (.commit.message | split("\n")[0])'

اعتباراً من 18 October 2026، يطبع ذلك:

2026-05-14  [doc] add hister reference
2023-09-07  Searx is no longer maintained
2023-04-05  Fix quoting issue in search_operator plugin (#3479)
2023-04-04  Bump pallets-sphinx-themes from 2.0.2 to 2.0.3 (#3450)
2023-04-04  Update searx.data - update_wikidata_units.py (#3454)

اقرأها من الأسفل إلى الأعلى. يتوقف العمل المعتاد في April 2023. ويمثل commit في September 2023 قيام المشرفين بكتابة الإشعار في README. أما commit الوحيد منذ ذلك الحين فهو خاص بالتوثيق، لأن المؤلف الأصلي انتقل إلى Hister، وهي أداة بحث تفهرس الصفحات والملفات التي تختارها بدلاً من الاستعلام في محركات أخرى. هذه فكرة مختلفة، وقد تكون مفيدة إذا كان ما تريده فعلاً هو محرك بحث شخصي لمحتواك أنت.

الإشارة الثانية هي الحزم، وتعتمد معظم الدروس القديمة عليها بصمت.

  • يحتوي PyPI على twenty searx إصدارات، من 0.1.2 في January 2014 إلى 0.17.0 في July 2020، ولا يزال تنزيل كل إصدار منها ممكناً. ينجح pip install searx ويمنحك أحدث هذه الإصدارات، وهو 0.17.0، أي شفرة تعود إلى تسعة أشهر قبل وجود fork.
  • أصدرت Debian الحزمة searx بالإصدار 1.1.0 في Debian 12 (bookworm)، ولا تزال توفرها في unstable. أُزيلت من testing في October 2023، لذلك لا تحتوي Debian 13 (trixie) على حزمة searx إطلاقاً.
  • أصدرت Ubuntu الحزمة آخر مرة في 23.10 (mantic)، بالإصدار 1.1.0. وآخر إصدار LTS يتضمنها هو 22.04، بالإصدار 1.0.0، وقد حُذفت الحزمة من 24.04 قبل صدور ذلك الإصدار. في Ubuntu 24.04، ينتهي sudo apt install searx بـ E: Unable to locate package searx.
  • يعرض searx.space، وهو دليل instances العامة الذي كان المشروع يوجّه المستخدمين إليه دائماً، الآن instances الخاصة بـ SearXNG.

إليك الحالة الفعلية. الشفرة عامة، ولا تزال تعمل، ويمكنك إجراء clone لها وتشغيلها اليوم. لكنك لن تحصل على إصلاحات لمحركات البحث أو تحديثات أمنية، وهاتان هما الوظيفة الأساسية لمحرك metasearch. تتدهور المحركات وفق جدول زمني يحدده طرف آخر. ويعيد instance غير المُدار نتائج أقل كل شهر، من دون أن يلمس أحد الخادم.

ما الذي تغيّر في الـfork عند إنشاء مثيل جديد

انتقل ملف الإعدادات، وأصبح الآن ملف overlay

في Searx كنت تعدّل searx/settings.yml داخل شجرة المصدر. أما في SearXNG، فيوجد الملف في /etc/searxng/settings.yml، وتتعرف العملية عليه عبر متغير البيئة SEARXNG_SETTINGS_PATH. والقالب الذي ينسخه المثبّت إلى ذلك المسار قصير:

use_default_settings: true

general:
  debug: false
  instance_name: "SearXNG"

search:
  safe_search: 2
  autocomplete: 'duckduckgo'
  formats:
    - html

server:
  # Is overwritten by ${SEARXNG_SECRET}
  secret_key: "ultrasecretkey"
  limiter: true
  image_proxy: true

valkey:
  # URL to connect valkey database. Is overwritten by ${SEARXNG_VALKEY_URL}.
  url: valkey://localhost:6379/0

السطر use_default_settings: true هو الذي يغيّر طريقة عملك. بوجوده، يحتوي ملفك على التجاوزات فقط، بينما تأتي كل قيمة لا تدرجها من الإعدادات الافتراضية المضمّنة في الحزمة. بدونه، يجب أن يصف ملفك الإعداد الكامل، محركاً بعد محرك. هكذا ينتهي الأمر بمستخدمين إلى مثيل يبدأ بصورة سليمة ولا يعثر على أي شيء. إن لصق ملف إعدادات Searx قديم في هذا المسار ينشئ إعداداً كاملاً بأسماء مفاتيح مختلفة، لذلك يسلك المسار الثاني ويفشل فيه بشدة.

يوقف المفتاح السري العملية

sudo -H sed -i -e "s/ultrasecretkey/$(openssl rand -hex 16)/g" \
              "/etc/searxng/settings.yml"

شغّل ذلك مرة واحدة بعد نسخ القالب. إذا تخطّيته، فسيسجّل SearXNG سطراً واحداً ويخرج بالحالة 1، لأن webapp.py يقارن المفتاح بقيمة القالب قبل أن يقدّم أي خدمة:

server.secret_key is not changed. Please use something else instead of ultrasecretkey.

يُتخطّى الفحص عندما تكون general.debug صحيحة، لذلك قد يعمل المثيل بصورة سليمة في جلسة تصحيح، ثم يرفض البدء تحت systemd أو داخل حاوية. إذا كانت الحاوية تعيد التشغيل في حلقة وكان ذلك السطر موجوداً في docker compose logs، فهذا يعني أن الفحص هو الذي يفشل، وليس أن الصورة معطوبة.

أداة الحدّ جديدة، وتحتاج إلى Valkey

لم يكن لدى Searx حدّ لمعدل الطلبات داخل التطبيق. وكانت مثيلات Searx العامة تضع خدمات منفصلة أمامه: filtron لتصفية الطلبات، وmorty للتوكيل الوسيط لمحتوى النتائج. لم يضم أي من المستودعين commit منذ January 2023: آخر commit لـfiltron يعود إلى ذلك الشهر، وآخر commit لـmorty يعود إلى April 2021.

ينفّذ SearXNG هذه المهمة بنفسه. حدّ معدل الطلبات واكتشاف الروبوتات هما أداة الحدّ، ويُفعّلان باستخدام server.limiter. وتكون قيمته false في الإعدادات الافتراضية المضمّنة، وtrue في قالب المثبّت، كما يحتاج إلى قاعدة بيانات Valkey لحفظ عدّاداته. Valkey هو fork من Redis، وتوفّره حزم Ubuntu 24.04:

sudo apt install -y valkey-server
server:
  limiter: true

valkey:
  url: valkey://localhost:6379/0

تضبط الأدلة المكتوبة قبل تغيير الاسم كتلة redis: بدلاً من ذلك، لذا انسخ اسم المفتاح من وثائق أداة الحدّ الحالية. توجد الضبطيات الدقيقة في ملف ثانٍ هو /etc/searxng/limiter.toml، ويؤدي server.public_instance: true إلى تفعيل اكتشاف الروبوتات الأكثر صرامة الذي يحتاج إليه المثيل العام، بما في ذلك طريقة رمز الرابط. والنتيجة الظاهرة هي أن بعض الطلبات تُجاب بـHTTP 429 بدلاً من النتائج، بما في ذلك طلباتك أنت إذا استخدمت برنامجاً نصياً للوصول إلى المثيل. توجد لذلك صفحة مستقلة هنا: لماذا يجيب مثيل SearXNG بالخطأ 429 Too Many Requests.

تعلّق المحركات عملها ذاتياً، والمهلات طويلة

عندما تجيب خدمة upstream بـCAPTCHA أو بصفحة حدّ للمعدل، يرفع SearXNG استثناءً محدداً ويوقف طلباته إلى ذلك المحرك لفترة زمنية محددة بدلاً من إعادة المحاولة حتى يُحظر. توجد الإعدادات الافتراضية في searx/settings.yml تحت search.suspended_times. هذه هي القيم المنشورة وعددها 6 حتى October 2026:

رسم بيانيSearXNG default engine suspension times, in seconds
البيانات وراء هذا الرسم البياني
[
  {
    "label": "SearxEngineAccessDenied",
    "suspend_seconds": "180"
  },
  {
    "label": "SearxEngineCaptcha",
    "suspend_seconds": "3,600"
  },
  {
    "label": "SearxEngineTooManyRequests",
    "suspend_seconds": "180"
  },
  {
    "label": "cf_SearxEngineCaptcha",
    "suspend_seconds": "1,296,000"
  },
  {
    "label": "cf_SearxEngineAccessDenied",
    "suspend_seconds": "86,400"
  },
  {
    "label": "recaptcha_SearxEngineCaptcha",
    "suspend_seconds": "604,800"
  }
]

تؤدي إجابة رفض وصول عادية إلى إيقاف ذلك المحرك لمدة 180 ثانية. وتؤدي CAPTCHA إلى إيقافه لمدة 3,600 ثانية. أما CAPTCHA الخاصة بـCloudflare فتوقفه لمدة 1,296,000 ثانية، أي خمسة عشر يوماً، بينما توقف Google reCAPTCHA المحرك لمدة 604,800 ثانية، أي أسبوعاً. هذه القيم الطويلة مقصودة، لأن إعادة الطلب بعد أن تكون خدمة ما قد علّمت العنوان هي الطريقة التي تؤدي إلى حظر عنوان IP الخاص بالمثيل نهائياً.

أثناء تعليق المحرك، تتجاهله صفحة النتائج وتعرضه في كتلة الشريط الجانبي المعنونة "Messages from the search engines"، وتعرض /stats/errors ما فشل. إذا كان المثيل الجديد يعرض نتائج قليلة، فعادةً ما يكون هذا هو السبب، وليس تثبيتاً معطوباً.

تكون واجهة JSON API معطّلة افتراضياً

الإعداد الافتراضي المضمّن هو formats: [html] ولا شيء غيره، لذلك تكون API التي يحتاج إليها كل برنامج نصي مغلقة حتى تفتحها.

curl -s -o /dev/null -w '%{http_code}\n' \
  'http://127.0.0.1:8888/search?q=test&format=json'

يطبع ذلك 403، لأن مسار البحث يستدعي flask.abort(403) عندما لا يكون التنسيق المطلوب مدرجاً في search.formats. أضف التنسيق ثم أعد تشغيل الخدمة:

search:
  formats:
    - html
    - json

لا يحتوي ملف إعدادات searx على مفتاح formats إطلاقاً، لذلك كان إخراج JSON متاحاً بمجرد طلبه. تفترض كل البرامج النصية والمقاطع البرمجية من تلك الحقبة الأمر نفسه، ويكون نمط الفشل هو 403 مجرداً من دون تفسير. إذا كنت تربط مثيلاً بأدوات أخرى، فابدأ من هذا الإعداد عند منح وكيل نقطة نهاية SearXNG للبحث باستخدامها.

لماذا تفشل أدلة Searx المنسوخة

تظهر كل واحدة من هذه السطور في أدلة ما زالت تتصدر نتائج البحث، لكنها تفشل أو تسبب تضليلاً عند التثبيت الحالي.

  • يتوقف sudo apt install searx على Ubuntu 24.04 عند E: Unable to locate package searx، لأن الحزمة أُصدرت آخر مرة في 23.10 وحُذفت من 24.04 قبل الإصدار.
  • ينجح pip install searx ويثبت الإصدار 0.17.0 الصادر في July 2020. لا يظهر أي تحذير يفيد بأن هذا الإصدار أقدم من التفرع.
  • لا يزال git clone https://github.com/asciimoo/searx يعمل، لأن GitHub يعيد توجيه اسم المالك القديم. لكنه يستنسخ الفرع الافتراضي الحالي، حيث يوجد commit توثيق من May 2026 فوق شيفرة تطبيق توقّف تغييرها في April 2023.
  • لا تغيّر الخطوات التي تعدّل searx/settings.yml في شجرة المصدر شيئاً في SearXNG، لأن SearXNG يقرأ /etc/searxng/settings.yml.
  • تعيد الخطوات التي تثبت filtron أو morty بناء أجزاء يحتويها SearXNG بالفعل.
  • يتأخر عنوان redis: الخاص بـlimiter بإعادة تسمية واحدة عن مفتاح valkey: الحالي.

تتقادم أدلة SearXNG أيضاً، ويُعد عنوان clone أسرع طريقة لتحديد عمر الدليل. كانت ملفات compose موجودة في مستودع searxng-docker منفصل. أُرشف هذا المستودع الآن، وكان آخر push له في March 2026، ونُقلت ملفاته إلى container/ في المستودع الرئيسي. أمر التشغيل السريع الحالي للحاوية في التوثيق هو:

mkdir -p ./searxng/core-config/
cd ./searxng/
curl -fsSL \
    -O https://raw.githubusercontent.com/searxng/searxng/master/container/docker-compose.yml \
    -O https://raw.githubusercontent.com/searxng/searxng/master/container/.env.example
cp -i .env.example .env
nano .env
docker compose up -d

عدّل .env قبل تنفيذ الأمر الأخير. تطابق image متغيرات البيئة مع مفاتيح الإعدادات، لذلك يصبح SEARXNG_SECRET هو server.secret_key، ويصبح SEARXNG_BASE_URL هو server.base_url. أما التثبيت النصي على المضيف فهو مسار مختلف يؤدي إلى النتيجة نفسها:

git clone https://github.com/searxng/searxng.git searxng
cd searxng
sudo -H ./utils/searxng.sh install all

ينشئ ذلك المستخدم searxng، والبيئة الافتراضية ضمن /usr/local/searxng، وخدمة uWSGI، وهي إعداد المرجع في توثيق SearXNG. يرد الشرح الأطول لهذا المسار في تثبيت SearXNG على VPS خاص بك.

المثيل العام أم مثيلك الخاص

المثيل العام هو خادم يملكه شخص آخر وينهي اتصال TLS ‏(أمان طبقة النقل) الخاص بك، لذلك يقرأ البرنامج الموجود عليه استعلامك كنص عادي. توضّح وثائق SearXNG مسألة الثقة مباشرة: يجب أن تثق بالمسؤول، ولا يمكنك معرفة ما إذا كانت الطلبات تُسجَّل أو تُجمَّع أو تُمرَّر إلى طرف ثالث. والقائمة الظاهرة قصيرة وكاملة. يمكن لمكدس المشغّل رؤية نص الاستعلام، والوقت، وعنوان IP الذي وصل منه الطلب، ووكيل مستخدم المتصفح، وملف تعريف الارتباط الخاص بالتفضيلات الذي يحتوي على إعداداتك. ويتحكم المشغّل أيضاً في الشيفرة، لذلك يعمل أي تصحيح يطبّقه على كل بحث تجريه هناك.

يجعل أحد الإعدادات الافتراضية تسجيل ذلك عرضياً أسهل. كان Searx يرسل عمليات البحث باستخدام POST. ويأتي SearXNG مع method: "GET"، مع تعليق يوضح أن POST يمنع ظهور استعلامات البحث في سجل المتصفح، لكنه يسبب مشكلات في سهولة الاستخدام. مع GET، يظهر الاستعلام في سطر الطلب، لذلك يُسجَّل افتراضياً في سجل وصول الـreverse proxy، وفي سجل المتصفح. هذا سلوك عادي لخادم الويب. ومن المفيد معرفته قبل أن تختار الخادم الذي ستُجرى عليه عمليات البحث.

يؤدي تشغيل نسختك الخاصة إلى نقل الثقة بدلاً من إلغائها. أنت تتحكم في الشيفرة والسجلات. وإذا كنت تفضّل عدم نشر اسم مضيف أو شهادة TLS لصندوق مستخدم واحد إطلاقاً، فإن الوصول إليها عبر خدمة onion من الإصدار v3 يُبقي النسخة خارج DNS العام، مع استمرار إمكانية الوصول إليها من أي مكان. في المقابل، ترى محركات البحث upstream عنواناً واحداً لجميع عمليات البحث التي تجريها. وفي النسخة المخصّصة لمستخدم واحد، يمكن ربط كل استعلام بك بدلاً من خلطه مع استعلامات مجموعة من المستخدمين. أما النسخة العامة النشطة، فتوفّر لك هذه المجموعة وتُخرج السجلات من نطاق إدارتك. اختر الخاصية التي تهمك. وإذا أردت مراجعة قائمة المخاطر كاملة أولاً، فإن هل استخدام SearXNG آمن يستعرضها. وينبغي التفكير في سجل المواقع بالطريقة نفسها، لكن المخاطر أعلى. فالهاتف الذي يبلّغ عن موقعه طوال اليوم يكشف معلومات أكثر من أي سجل بحث. وإذا أردت تخزين هذه البيانات على خادم تتحكم فيه، فابدأ من مقارنة متتبعات المواقع ذاتية الاستضافة.

ملاحظة عملية تخص VPS. تُحظَر نطاقات عناوين مراكز البيانات أسرع من اتصالات المنازل، لذلك يواجه المثيل الجديد اختبارات CAPTCHA في بعض المحركات خلال أولى عمليات البحث. هذا هو سلوك التعليق الموضح أعلاه وهو يؤدي وظيفته، وليس خطأ في الإعداد. إذا استمرت المحركات نفسها في الظهور محظورة بعد انتهاء مدة التعليق، فستوفر عليك قراءة الخطأ الفعلي قبل تغيير أي شيء التخمين عند البحث عن إصلاحات.

إذا كنت تشغّل نسخة من Searx

لن يتعطل شيء في اليوم الذي تقرأ فيه هذا النص. سيواصل الخادم عمله حتى يؤدي تغيير لاحق في upstream إلى تعطيل محرّك آخر، وعندها سيبقى معطلاً. خطّط للانتقال، ولا تنقل ملف الإعدادات. ابدأ من قالب SearXNG، ثم أعد إضافة ما غيّرته عن قصد فقط: اسم النسخة، وsafe_search، والمحرّكات التي فعّلتها أو عطّلتها بالاسم، والإعدادات الافتراضية لواجهة الاستخدام. تغيّرت أسماء المحرّكات وخياراتها في النسخة المتفرعة، لذلك تحقّق من كل خيار في الوثائق الحالية بدلاً من افتراض أن المفتاح ما زال موجوداً. لا توجد مكافئات لقواعد Filtron وعنوان morty، لأن هذه المهام انتقلت إلى داخل التطبيق.

شغّل النسخة الجديدة على منفذ مختلف بينما لا تزال النسخة القديمة قيد التشغيل. تكون النسخة الجديدة تعمل عندما تعيد الصفحة الرئيسية الحالة 200، ويعيد البحث نتائج من أكثر من محرّك، ويكون /stats/errors فارغاً أو يعرض حالات فشل تفهمها. بعد ذلك انقل إعدادات Reverse Proxy إلى النسخة الجديدة وأوقف الخدمة القديمة.

FAQ

هل مات Searx في 2026؟

المستودع غير مؤرشف، لذلك لا شيء يمنعك من استنساخه، لكن المشروع لم يعد يخضع للصيانة. أُجري آخر إيداع للتعليمات البرمجية في أبريل 2023، ويتضمن README العبارة: "لم يعد Searx يخضع للصيانة." تحقّق من ذلك بنفسك باستخدام curl -s https://api.github.com/repos/searx/searx | jq -r '.pushed_at'، ثم اقرأ رسائل الإيداعات الأخيرة، لأن تاريخ الدفع وحده قد يكون ناتجاً عن تعديل في التوثيق. في محرك بحث فوقي، يعني عدم وجود الصيانة أن النتائج تتدهور تلقائياً، لأن كل وحدة لمحرك بحث تعتمد على موقع upstream يستمر في التغيّر.

هل ما زال بإمكاني تثبيت Searx باستخدام apt أو pip؟

ليس على الأنظمة الحالية، ولا بطريقة مفيدة حيثما كان ذلك ممكناً. أدرجت Ubuntu آخر حزمة لـsearx في الإصدار 23.10، وكانت نسختها 1.1.0، وآخر إصدار LTS يتضمنها هو 22.04، وكانت نسختها 1.0.0. حُذفت الحزمة من 24.04 قبل الإصدار، لذلك يعرض sudo apt install searx على 24.04 النتيجة E: Unable to locate package searx. أصدرت Debian الحزمة 1.1.0 في Debian 12، وأسقطتها من testing في أكتوبر 2023، لذلك لا تتضمن Debian 13 هذه الحزمة. ما زال PyPI يوفّر كل إصدارات searx، وأحدثها هو 0.17.0 من يوليو 2020، وهو أقدم من الـfork نفسه. ثبّت SearXNG بدلاً من ذلك.

هل سيعمل ملف settings.yml القديم الخاص بـsearx في SearXNG؟

لا. انسخ القيم، لا الملف. يقرأ SearXNG /etc/searxng/settings.yml، ويتوقع وجود use_default_settings: true في الأعلى، لذلك يعمل ملفك كطبقة فوق الإعدادات الافتراضية المضمّنة. ملف searx القديم هو إعداد كامل بأسماء مفاتيح مختلفة، ولا يتضمن limiter ولا كتلة valkey ولا قائمة formats. ابدأ من القالب الموجود في utils/templates/etc/searxng/settings.yml، ثم أعد إضافة تغييراتك واحداً تلو الآخر.

لماذا يعرض مثيل SearXNG الخاص بي نتائج أقل من مثيل عام؟

بعض المحركات معلّقة. عندما يجيب أحد المحركات بصفحة CAPTCHA أو بصفحة تفيد ببلوغ حد معدل الطلبات، يتوقف SearXNG عن الاستعلام منه لمدة محددة، تبدأ من 180 ثانية عند الرفض البسيط، وتصل إلى 1,296,000 ثانية عند ظهور CAPTCHA من Cloudflare. تعرض صفحة النتائج ذلك ضمن "رسائل من محركات البحث"، وتسرد /stats/errors حالات الفشل مع أسبابها. تُعلَّم عناوين مراكز البيانات في وقت أبكر من اتصالات المنازل، لذلك يظهر الأمر سريعاً في مثيل VPS جديد.

هل أستخدم مثيل SearXNG عاماً أم أشغّل مثيلي الخاص؟

شغّل مثيلك الخاص إذا كنت تريد التحكم في التعليمات البرمجية والسجلات، وتقبل أن ترى محركات upstream عندها عنواناً واحداً لكل عمليات البحث التي تجريها. استخدم مثيلاً عاماً إذا كان خلط استعلاماتك باستعلامات الآخرين أهم بالنسبة إليك من معرفة ما يُسجَّل. في المثيل العام، يستطيع المشغّل رؤية نص الاستعلام ووقته وعنوان IP الخاص بك ووكيل المستخدم، كما يستطيع تغيير التعليمات البرمجية متى شاء. لا يمكن التحقق من سياسة تسجيل معلنة من خارج المثيل.