Searx أم SearXNG: هل مات Searx؟
لم يُسجّل Searx الأصلي أي commit منذ April 2023، وREADME يقول: "لم يعد Searx قيد الصيانة". تعرّف إلى البديل وما تغيّر عند تثبيت instance جديد.
Searx أم SearXNG: أيهما ينبغي أن تثبّت؟
Searx وSearXNG مشروعان مختلفان يحملان اسماً متقارباً جداً، لكن مشروعاً واحداً منهما فقط ما زال يتلقى الإصلاحات. ثبّت SearXNG. لم يشهد Searx الأصلي أي commit برمجي منذ April 2023، ويذكر ملف README الخاص به الموقف بوضوح في سطر واحد: "لم يعد Searx قيد الصيانة".
وهذا يطرح مشكلة عملية، لا فلسفية. يشترك المشروعان في لقطة شاشة، وفي معظم ملف الإعداد، وفي نصف الاسم، لذلك قد يبدو الدليل المكتوب لأحدهما مناسباً للآخر. لكنه ليس كذلك. يوجد ملف الإعداد في مكان آخر، وحماية bot جديدة، ولم يعد اسم الحزمة متاحاً في Ubuntu الحالي. يوضح ما يلي الفرق بين المشروعين، والأوامر التي يمكنك استخدامها للتحقق من الحالة بنفسك، وقائمة التغييرات التي تهمك عند تشغيل instance.
ما هو Searx ومن أين جاء SearXNG
Searx هو محرّك بحث ميتا. لا يحتفظ بفهرس خاص به. يأخذ استعلامك، ويمرّره إلى خدمات بحث أخرى مثل Bing وDuckDuckGo أو Wikipedia، ثم يدمج النتائج في صفحة نتائج واحدة. الفائدة هي أن هذه الخدمات ترى عنوان الخادم بدلاً من عنوانك. أما التكلفة فهي الصيانة. كل محرّك عبارة عن جزء صغير من التعليمات البرمجية يحلّل HTML أو API تابعاً لجهة أخرى، لذلك يتعطل المحرّك كلما غيّرت تلك الجهة واجهتها. لا يكون محرّك البحث الميتا سليماً إلا بقدر سلامة الأشخاص الذين يصلحون وحدات محرّكاته.
أُنشئ مستودع searx في أكتوبر 2013. وفي أبريل 2021، بدأ مشرف سابق SearXNG باعتباره نسخة متفرعة منه. تشير "NG" إلى الجيل التالي. يصف README الخاص بـSearx المشروعين جنباً إلى جنب، ولا يزال ذلك الوصف أوضح ملخص للانقسام:
SearxNG هو نسخة متفرعة من searx، أنشأها مشرف سابق على searx.
تصدر SearxNG إصدارات متتابعة، وتحدّث التبعيات بوتيرة أعلى، وتُصلح المحرّكات بسرعة أكبر.
كان الخلاف الذي أدى إلى إنشاء النسخة المتفرعة متعلقاً بالتشخيص. اعتبر 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'في 22 August 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])'اعتباراً من August 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 Bump selenium from 4.7.2 to 4.8.3 (#3490)اقرأها من الأسفل إلى الأعلى. يتوقف العمل المعتاد في April 2023. أما commit في September 2023 فهو كتابة المشرفين للإشعار في README. والـcommit الوحيد منذ ذلك الحين يخص التوثيق، لأن المؤلف الأصلي انتقل إلى Hister، وهي أداة بحث تفهرس الصفحات والملفات التي تختارها بدلاً من الاستعلام من محركات أخرى. هذه فكرة مختلفة، وقد تكون مفيدة إذا كان ما تريده فعلاً هو محرك بحث شخصي لمحتواك الخاص.
الإشارة الثانية هي الحزم، وتعتمد معظم الشروحات القديمة عليها بهدوء.
- يحتوي PyPI على إصدار واحد من
searx، وهو الإصدار 0.17.0، وقد رُفع في July 2020. ينجحpip install searxويمنحك شيفرة تعود إلى تسعة أشهر قبل إنشاء الـfork. - أصدرت Debian الحزمة searx 1.1.0 في Debian 12 (bookworm)، وما زالت تحملها في unstable. أُزيلت الحزمة من testing في October 2023، ولذلك لا تحتوي Debian 13 (trixie) على حزمة searx إطلاقاً.
- كان آخر إصدار له في Ubuntu ضمن 22.04، بالإصدار 1.0.0. وفي Ubuntu 24.04 ينتهي
sudo apt install searxبـE: Unable to locate package searx. - يعرض searx.space، وهو دليل الـinstances العامة الذي كان المشروع يوجّه المستخدمين إليه دائماً، الآن instances الخاصة بـSearXNG.
إليك الحالة الفعلية. الشيفرة عامة، وما زالت تعمل، ويمكنك استنساخها وتشغيلها اليوم. لكنك لن تحصل على إصلاحات للمحركات أو تحديثات أمنية، وهذا هو جوهر العمل في محرك metasearch. تتدهور المحركات وفق جدول زمني يحدده الآخرون. ويعيد الـinstance غير المُصان نتائج أقل كل شهر من دون أن يلمس أحد الخادم.
ما الذي تغيّر في fork عند إنشاء مثيل جديد
انتقل ملف الإعدادات، وأصبح الآن ملفاً تراكبياً
في 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 لهما في 2023.
ينفّذ SearXNG هذه المهمة بنفسه. ويشمل ذلك تحديد المعدل واكتشاف الروبوتات، وهما جزء من المحدِّد الذي يُفعّل عبر server.limiter. وهو false في الإعدادات الافتراضية المُوزّعة، وtrue في قالب المثبّت، ويحتاج إلى قاعدة بيانات Valkey لحفظ عدّاداته. Valkey هو fork من Redis، وتوفّره حزم Ubuntu 24.04:
sudo apt install -y valkey-serverserver:
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 حتى August 2026:
The data behind this chart
[
{
"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 ثانية. أما Cloudflare CAPTCHA فتوقفه لمدة 1,296,000 ثانية، أي خمسة عشر يوماً، بينما توقفه Google reCAPTCHA لمدة 604,800 ثانية، أي أسبوعاً. هذه القيم الطويلة مقصودة، لأن إعادة الطلب بعد أن تكون الخدمة قد علّمت العنوان هي الطريقة التي تؤدي إلى حظر عنوان IP الخاص بالمثيل نهائياً.
أثناء تعليق المحرك، تتجاوزه صفحة النتائج وتعرضه في الكتلة الجانبية المعنونة "رسائل من محركات البحث"، كما يسرد /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، لأن آخر إصدار للحزمة صدر مع 22.04.- ينجح
pip install searxويثبّت الإصدار 0.17.0 الصادر في July 2020. ولا يحذرك من أنّه أقدم من المشروع المتفرع. - لا يزال
git clone https://github.com/asciimoo/searxيعمل، لأن GitHub يعيد توجيه اسم المالك القديم، ويجلب لك شجرة April 2023. - لا تغيّر الخطوات التي تعدّل
searx/settings.ymlفي شجرة المصدر شيئاً في SearXNG، لأنّه يقرأ/etc/searxng/settings.yml. - تعيد الخطوات التي تثبّت filtron أو morty إنشاء أجزاء يحتوي عليها SearXNG مسبقاً.
- يتأخر عنوان URL من نوع
redis:الخاص بأداة تحديد المعدل عن اسم المفتاح الحاليvalkey:بإعادة تسمية واحدة.
تتقادم أدلة SearXNG أيضاً، ويُعد عنوان clone أسرع طريقة لمعرفة عمر الدليل. كانت ملفات compose موجودة سابقاً في مستودع searxng-docker منفصل. أُرشف ذلك المستودع في 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 قبل تنفيذ الأمر الأخير. تحوّل الصورة متغيرات البيئة إلى مفاتيح الإعدادات، لذلك يصبح 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 URL، لأن هذه المهام انتقلت إلى داخل التطبيق.
شغّل النسخة الجديدة على منفذ مختلف بينما لا تزال النسخة القديمة قيد التشغيل. تكون النسخة الجديدة عاملة عندما تعيد الصفحة الرئيسية الحالة 200، ويعيد البحث نتائج من أكثر من محرك، ويكون /stats/errors فارغاً أو يعرض حالات فشل تفهمها. بعد ذلك انقل الـreverse proxy إلى النسخة الجديدة وأوقف الخدمة القديمة.
FAQ
هل مات Searx في 2026؟
المستودع غير مؤرشف، لذلك لا شيء يمنعك من نسخه، لكن المشروع غير مُصان. أُجري آخر commit للشفرة في April 2023، ويتضمن README العبارة: "Searx is no longer maintained." تحقّق من ذلك بنفسك باستخدام curl -s https://api.github.com/repos/searx/searx | jq -r '.pushed_at'، ثم اقرأ رسائل الـcommit الحديثة، لأن تاريخ الـpush وحده قد ينتج عن تعديل في الوثائق. بالنسبة إلى محرّك بحث موحّد، يعني عدم الصيانة أن النتائج تتدهور تلقائياً، لأن كل وحدة محرّك تعتمد على موقع upstream يستمر في التغيّر.
هل ما زال بإمكاني تثبيت Searx باستخدام apt أو pip؟
ليس على الأنظمة الحالية، ولا بطريقة مفيدة حيثما كان ذلك ممكناً. أدرجت Ubuntu آخر حزمة searx في 22.04 بالإصدار 1.0.0، لذلك يعرض sudo apt install searx على 24.04 القيمة E: Unable to locate package searx. أصدرت Debian الإصدار 1.1.0 في Debian 12، ثم أزالته من testing في October 2023، لذلك لا تحتوي Debian 13 على حزمة له. ما زال PyPI يوفّر الإصدار 0.17.0 من July 2020، وهو أقدم من المشروع المتفرع نفسه. ثبّت SearXNG بدلاً منه.
هل سيعمل ملف settings.yml القديم الخاص بـsearx في SearXNG؟
لا. انسخ القيم، وليس الملف. يقرأ SearXNG /etc/searxng/settings.yml ويتوقع وجود use_default_settings: true في الأعلى، لذلك يعمل ملفك كطبقة overlay فوق الإعدادات الافتراضية المضمّنة. ملف searx القديم عبارة عن إعداد كامل بأسماء مفاتيح مختلفة، ولا يتضمن limiter أو كتلة valkey أو قائمة formats. ابدأ من القالب الموجود في utils/templates/etc/searxng/settings.yml، ثم أعد إضافة تغييراتك واحداً تلو الآخر.
لماذا يعرض مثيل SearXNG الخاص بي نتائج أقل من مثيل عام؟
تكون بعض المحرّكات معلّقة. عندما يجيب أحد المحرّكات بـCAPTCHA أو بصفحة تحدّ من معدل الطلبات، يتوقف SearXNG عن الاستعلام منه مدة محددة، تبدأ من 180 ثانية عند الرفض العادي، وتصل إلى 1,296,000 ثانية عند ظهور CAPTCHA من Cloudflare. تعرض صفحة النتائج ذلك ضمن "Messages from the search engines"، وتسرد /stats/errors حالات الفشل مع أسبابها. تُعلَّم عناوين مراكز البيانات في وقت أبكر من اتصالات المنازل، لذلك يلاحظ مثيل VPS جديد هذه المشكلة سريعاً.
هل ينبغي أن أستخدم مثيل SearXNG عاماً أم أشغّل مثيلي الخاص؟
شغّل مثيلك الخاص إذا كنت تريد التحكم في الشفرة والسجلات، وتقبل أن ترى المحرّكات upstream عندئذ عنواناً واحداً لكل عمليات البحث التي تجريها. استخدم مثيلاً عاماً إذا كان خلط استعلاماتك باستعلامات الآخرين أهم بالنسبة إليك من معرفة ما يُسجَّل. في المثيل العام يستطيع المشغّل رؤية نص الاستعلام ووقته وعنوان IP الخاص بك ووكيل المستخدم، كما يستطيع تغيير الشفرة متى شاء. لا يمكن التحقق من سياسة تسجيل معلنة من خارج المثيل.