SearXNG: محرك البحث الخاص بك من دون تتبع على خادم VPS
يمكن لمحرك البحث التقليدي ربط الاستعلام بعنوان IP وملفات تعريف الارتباط وسجل النشاط. يغيّر SearXNG هذا المسار: يتصل المتصفح بنسختك الخاصة، ثم تستعلم النسخة من عدة محركات بحث خارجية وتجمع ردودها في صفحة واحدة.
ترى المصادر الخارجية عنوان خادم SearXNG بدلًا من ملفات تعريف ارتباط المستخدم. ولا تنشئ الخدمة نفسها ملفًا إعلانيًا للمستخدم. لكنها لا توفر إخفاءً كاملًا للهوية: يستطيع مالك النسخة العامة تقنيًا الاحتفاظ بالسجلات، وبعد فتحك لرابط ما تتفاعل موقع الوجهة مجددًا مع المتصفح مباشرةً.
سنستعرض إمكانات SearXNG ونثبّت نسختنا الخاصة على خادم VPS مع HTTPS وحماية بكلمة مرور.
ما هو SearXNG وكيف يعمل؟
SearXNG محرك بحث تجميعي مجاني ومفتوح المصدر. ولا يحتفظ بفهرس خاص للمواقع؛ إذ يحصل على النتائج من محركات البحث والمصادر المتخصصة التي جرى إعدادها، ويوحّدها، ثم يعرضها في واجهة واحدة.
Browser → your SearXNG → search engines
↓
combined resultsمع كل استعلام، ينفذ SearXNG ما يلي:
- يحدد فئة البحث: الويب أو الصور أو الأخبار أو الفيديو أو فئة أخرى؛
- يتصل بالمصادر المحددة نيابةً عن الخادم؛
- لا يرسل إليها ملفات تعريف ارتباط المستخدم، ويستخدم ملف متصفح عشوائيًا للطلبات الصادرة؛
- يجمع الردود في صفحة نتائج واحدة.
تعتمد السرعة على الأنظمة الخارجية: فقد تتأخر في الرد، أو تعرض CAPTCHA، أو تحظر عنوان IP. SearXNG طبقة وسيطة مُدارة، وليس فهرسًا مستقلًا.
لماذا SearXNG أكثر فائدة من محرك بحث واحد؟
مصادر مختلفة في صفحة نتائج واحدة
يمكنك الجمع بين محركات البحث العامة والمصادر المتخصصة مثل الموسوعات والخرائط والمنشورات العلمية والمستودعات وخدمات الأخبار أو فهارس الصور. يفيد ذلك عندما تكون صفحة النتائج التقليدية مليئة بصفحات SEO أو تجد صعوبة في الوصول إلى مواد متخصصة.
عند إعداد هذه المقالة، ذكرت الوثائق 272 عملية تكامل، كان 83 منها مفعّلًا افتراضيًا. وهذا لا يعني أن جميعها مستقرة بالدرجة نفسها.
تعتمد المجموعة على الإعدادات. وعادةً ما تعمل بضعة مصادر مستقرة بسرعة أكبر من تفعيلها كلها دفعة واحدة.
أوامر الاختصار
تتيح الاختصارات اختيار محرك أو فئة أو لغة مؤقتًا:
!wp docker compose — search Wikipedia
!images northern lights — search for images
:en !wp proxy server — search Wikipedia in Englishيوجّه الأمر !! المستخدم مباشرةً إلى محرك بحث خارجي. وفي هذا الوضع لا تعود حماية SearXNG سارية.
البحث للمتصفح وأدواتك الخاصة
يدعم SearXNG معيار OpenSearch، ولذلك يمكن تعيينه محرك البحث الافتراضي في المتصفح. كما تتوفر واجهة HTTP API بردود JSON أو CSV أو RSS إذا فعّل المسؤول الصيغ المطلوبة.
يمكن لنسخة واحدة أن تعمل كخلفية بحث للوحة تحكم داخلية أو روبوت أو برنامج نصي للبحث أو مساعد ذكاء اصطناعي محلي. ولا ينبغي إتاحة API إلا بعد إعداد المصادقة وحدود معدل الطلبات.
إلى أي حد يحافظ SearXNG على الخصوصية؟
| ما يفعله | ما لا يفعله |
|---|---|
| لا يرسل ملفات تعريف ارتباط المتصفح إلى محركات البحث الخارجية | لا يوفر إخفاءً كاملًا للهوية |
| يخفي عنوان IP الخاص بالمستخدم خلف عنوان IP للخادم | لا يحمي المستخدم بعد فتح موقع النتائج |
| يزيل إعلانات الجهات الخارجية وبعض معاملات التتبع | لا يضمن أن مالك خادم شخص آخر لا يحتفظ بالسجلات |
| يمكنه تمرير الصور عبر وكيل | لا يحل محل VPN أو Tor أو حماية المتصفح |
تسهّل النسخة العامة تجربة الخدمة، لكن عليك الوثوق بمسؤولها، كما أن العنوان المشترك أكثر عرضة لتقييد معدل الطلبات.
يمنحك خادمك الخاص تحكمًا في السجلات والمصادر والوصول، لكنه لا يجعل المتصفح مجهولًا.
نسخة عامة أم خادم منزلي أم VPS؟
| الخيار | المزايا | القيود |
|---|---|---|
| نسخة عامة | لا تحتاج إلى تثبيت أي شيء | الثقة بالمالك، الحمل الزائد، CAPTCHA |
| خادم منزلي | تحكم كامل من دون استئجار VPS | يجب أن يعمل الجهاز باستمرار؛ إعداد الوصول الخارجي أصعب |
| خادم VPS خاص بك | تشغيل على مدار الساعة، نطاق، HTTPS، والوصول من أجهزة مختلفة | يجب تحديث الحاويات ومراقبة الأمان |
تفيد نسخة SearXNG الخاصة بالعائلة أو الفريق أو المطور أو الأدوات المحلية المعتمدة على الذكاء الاصطناعي. أما للبحث العرضي، فتبقى النسخة العامة أبسط.
ما مواصفات خادم VPS التي يحتاج إليها SearXNG؟
يعتمد الحمل على عدد المستخدمين والمصادر والاستعلامات المتزامنة. وهذه تهيئات ابتدائية عملية:
| السيناريو | CPU | RAM | التخزين |
|---|---|---|---|
| مستخدم واحد | 1 vCPU | 1 GB | 10 GB |
| عائلة أو فريق صغير | 2 vCPU | 2 GB | 20 GB |
| API وخدمات إضافية | 2–4 vCPU | من 4 GB | من 30 GB |
لا تحتاج إلى قرص كبير. فجودة الشبكة وعنوان IP المستقر وذاكرة RAM الاحتياطية أهم.
يصلح Linux VPS من tropic.host لهذا السيناريو: يمكنك البدء بتهيئة صغيرة وزيادة الموارد مع إضافة مستخدمين أو إتاحة API. عند اختيار الخطة، من الأفضل الاستثمار في ذاكرة RAM وجودة الشبكة بدل دفع تكلفة إضافية لسعة تخزين لا تحتاج إليها.
تثبيت SearXNG على خادم VPS باستخدام Docker Compose
يستخدم هذا المثال Ubuntu 24.04 LTS وsearch.example.com وValkey وCaddy. وجّه سجل DNS من نوع A إلى الخادم وافتح المنفذين 80 و443.
1. تثبيت Docker وإنشاء مجلد
sudo apt update
sudo apt install -y docker.io docker-compose-v2 openssl
sudo systemctl enable --now docker
sudo mkdir -p /opt/searxng/searxng
cd /opt/searxngأنشئ ملف .env يحتوي على النطاق وسر عشوائي:
printf 'SEARXNG_HOSTNAME=search.example.com\nSEARXNG_SECRET=%s\n' \
"$(openssl rand -hex 32)" | sudo tee .env >/dev/null
sudo chmod 600 .env2. إنشاء docker-compose.yml
name: searxng
services:
searxng:
image: docker.io/searxng/searxng:latest
restart: unless-stopped
environment:
SEARXNG_BASE_URL: https://${SEARXNG_HOSTNAME}/
SEARXNG_SECRET: ${SEARXNG_SECRET}
SEARXNG_VALKEY_URL: valkey://valkey:6379/0
volumes:
- ./searxng:/etc/searxng:rw
- searxng-cache:/var/cache/searxng
depends_on: [valkey]
valkey:
image: docker.io/valkey/valkey:9-alpine
restart: unless-stopped
command: valkey-server --save 30 1 --loglevel warning
volumes:
- valkey-data:/data
caddy:
image: docker.io/caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
environment:
SEARXNG_HOSTNAME: ${SEARXNG_HOSTNAME}
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy-data:/data
- caddy-config:/config
depends_on: [searxng]
volumes:
searxng-cache:
valkey-data:
caddy-data:
caddy-config:3. إعداد SearXNG
أنشئ الملف searxng/settings.yml:
use_default_settings: true
general:
instance_name: "Private Search"
search:
safe_search: 1
autocomplete: ""
formats: [html]
server:
limiter: true
image_proxy: true
valkey:
url: valkey://valkey:6379/0أنشئ الملف searxng/limiter.toml:
[botdetection]
trusted_proxies = [
"127.0.0.0/8",
"::1",
"172.16.0.0/12",
]يقلل المحدِّد خطر أن تتسبب الروبوتات في تحميل زائد على النسخة، وأن تجعل محركات البحث الخارجية تقيّد عنوان IP قبل الأوان.
4. إضافة كلمة مرور وHTTPS
أنشئ تجزئة لكلمة مرور قوية:
sudo docker run --rm caddy:2-alpine \
caddy hash-password --plaintext 'REPLACE_WITH_PASSWORD'أدخل التجزئة الناتجة في Caddyfile:
{$SEARXNG_HOSTNAME} {
basic_auth {
searchuser INSERT_HASH_HERE
}
reverse_proxy searxng:8080 {
header_up X-Real-IP {remote_host}
}
}يخزن Caddy التجزئة بدلًا من كلمة المرور النصية. وبدل Basic Auth، يمكن أيضًا تقييد الخدمة بشبكة VPN.
5. تشغيل الحاويات
sudo docker compose config
sudo docker compose pull
sudo docker compose up -d
sudo docker compose psافتح https://search.example.com. سيحصل Caddy تلقائيًا على شهادة TLS، وبعدها سيطلب المتصفح اسم المستخدم searchuser وكلمة المرور. تتوفر سجلات SearXNG باستخدام الأمر:
sudo docker compose logs -f searxngما الذي ينبغي إعداده بعد التشغيل؟
أبقِ المصادر المفيدة فقط، واختر اللغة وإعداد SafeSearch، ثم أضف SearXNG إلى المتصفح عبر OpenSearch. لتحديثه، شغّل:
sudo docker compose pull
sudo docker compose up -dأنشئ نسخة احتياطية من .env وCaddyfile ومجلد searxng. فعّل JSON API عند الحاجة فقط، ولا تتركه من دون كلمة مرور وتحديد لمعدل الطلبات.
أخطاء شائعة
| الخطأ | النتيجة | الحل |
|---|---|---|
| جعل النسخة عامة | تنشئ الروبوتات حملًا ويُقيّد العنوان كثيرًا | استخدم كلمة مرور أو VPN أو تسجيل دخول موحد |
| تفعيل مصادر كثيرة جدًا | نتائج بطيئة ومهلات انتظار | أبقِ على بضعة محركات مستقرة |
| التعامل مع SearXNG كأنه فهرس خاص به | تختفي بعض النتائج عند تعطل الأنظمة الخارجية | ضع اعتماده على المصادر في الحسبان |
| توقع إخفاء هوية كامل | ما زال موقع الوجهة قادرًا على تتبع المتصفح | استخدم حماية المتصفح أو VPN أو Tor |
| تشغيله من دون HTTPS | تنتقل الاستعلامات وكلمة المرور بطريقة غير آمنة | استخدم وكيلًا عكسيًا مع TLS |
الخلاصة
يجمع SearXNG مصادر مختلفة في واجهة واحدة، ويقلل التخصيص، ويوفر خدمة بحث واحدة للمتصفح أو البرامج النصية أو الذكاء الاصطناعي المحلي. تكفي النسخة العامة لتجربته. أما للاستخدام المنتظم، فالأفضل تشغيل خادمك الخاص مع HTTPS والمصادقة والمحدِّد ومجموعة صغيرة من المصادر المستقرة.
يمكنك البدء بذاكرة RAM قدرها 1 GB. زد الموارد مع ارتفاع عدد المستخدمين أو عند تفعيل API أو تشغيل حاويات إضافية.
FAQ
هل SearXNG مجهول الهوية تمامًا؟
لا. فهو يخفي بعض البيانات عن محركات البحث الخارجية، لكن يستطيع مسؤول النسخة الاحتفاظ بالسجلات. وبعد فتح موقع ما، تنطبق آليات التتبع الخاصة به.
هل SearXNG أفضل من Google؟
إنه يحل مشكلة مختلفة. عادةً ما يكون Google أسرع ويخصص النتائج بدرجة أكبر. يمنحك SearXNG تحكمًا أكبر، ويتيح جمع المصادر، ويعتمد بدرجة أقل على ملف المستخدم.
هل يمكن استخدام SearXNG من دون VPS؟
نعم. يمكنك استخدام نسخة عامة أو حاسوب منزلي أو NAS أو خادم صغير. تحتاج إلى VPS إذا أردت الوصول إليه على مدار الساعة من أي شبكة.
ما مقدار ذاكرة RAM المطلوبة؟
لمستخدم واحد، يُعد البدء بذاكرة 1 GB خيارًا مناسبًا. أما للعائلة أو الفريق أو API أو الحاويات الإضافية، فمن الأفضل تخصيص 2–4 GB.
هل يمكن ربط SearXNG بالمتصفح أو بالذكاء الاصطناعي؟
نعم. يستطيع المتصفح استخدام OpenSearch، بينما يمكن للتطبيقات استخدام HTTP API. يجب حماية الوصول إلى API بالمصادقة وبمحدِّد لمعدل الطلبات.
