نحوه استفاده از SearXNG: از اولین جستجو تا تسلط بر خود میزبانی
اگر همیشه نتایجی شبیه به گوگل را بدون ردیابی میخواستید، SearXNG موتور جستجوی فرادادهای شماست که حریم خصوصی را در اولویت قرار میدهد. این موتور نتایج را از دهها منبع جمعآوری میکند—بدون اینکه برای شما پروفایل بسازد—و به شما کنترل کاملی بر فیلترها، موتورها و حتی میزبانی میدهد. در این راهنما، سه مسیر را بررسی خواهیم کرد: استفاده از یک نمونه عمومی، سفارشیسازی تجربه جستجوی خود و استقرار SearXNG خصوصی خود برای حداکثر کنترل.
برای اینکه این راهنما کاربردی باشد، رویکردی عملی و راهحلمحور با گامهای عملی، تنظیماتی که میتوانید کپی کنید و اشتباهات رایجی که باید از آنها اجتناب کنید، در پیش خواهیم گرفت.
SearXNG چیست و چرا باید از آن استفاده کرد؟
SearXNG یک موتور جستجوی فرادادهای متنباز است. به جای اینکه خودش وب را بخزد، از سایر موتورهای جستجو پرس و جو میکند و نتایج را در یک رابط کاربری یکپارچه ارائه میدهد. نکته جالب: ردیابی را حذف میکند، تبلیغات را حذف میکند (در اکثر نمونهها) و به شما کنترل دقیقی بر اینکه کدام موتورها را شامل کنید، کدام دستهها را جستجو کنید (وب، تصاویر، ویدیوها، فایلها، IT، اخبار، علم) و چگونه نتایج ارائه شوند، میدهد.
- بدون ردیابی یا پروفایلسازی به طور پیشفرض
- موتورها و دستههای قابل تنظیم
- قابل خود-میزبانی برای کنترل کامل
- API-دوستانه برای توسعهدهندگان و اتوماسیونها.
شروع سریع: استفاده از یک نمونه عمومی SearXNG
میتوانید با یک نمونه عمومی شروع کنید (یک سرور SearXNG که توسط داوطلبان اداره میشود). جریان معمول:
- یک نمونه عمومی قابل اعتماد را باز کنید (برای یافتن سرورهای فعال و معتبر، عبارت «لیست نمونههای SearXNG» یا موضوعات انجمن را جستجو کنید). زمان آپتایم، محدودیتهای نرخ و بیانیههای حریم خصوصی را ارزیابی کنید.
- پرس و جوی خود را تایپ کنید و دستهها (به عنوان مثال، وب، تصاویر، اخبار) را از طریق تبهای بالا انتخاب کنید.
- از Preferences (نماد چرخ دنده) برای تنظیم موارد زیر استفاده کنید:
- از «bangs» و عملگرها استفاده کنید:
!g your query موتور گوگل را مجبور میکند (اگر در آن نمونه فعال باشد)
!ddg، !bing، !yt، !wp و غیره، بسته به پیکربندی نمونه
- عملگرهای استاندارد مانند نقل قول،
site:، filetype:pdf، inurl:، intitle: در بسیاری از موتورها کار میکنند
- نمونه مورد علاقه خود را نشانکگذاری کنید و Preferences را به عنوان یک JSON blob در صورت پشتیبانی توسط UI صادر/وارد کنید.
نکته حرفهای: نمونههای عمومی میتوانند کاربران ناشناس را محدود کنند تا از خود در برابر سوء استفاده محافظت کنند. اگر captchas یا کندی مشاهده کردید، یک نمونه دیگر را امتحان کنید یا خودتان میزبانی کنید.
حرکات کاربر قدرتمند در رابط کاربری
- تغییر موتورها در پرواز: در Preferences → Engines، منابع خاص را برای هر دسته تغییر دهید.
- تنظیم نتایج: مخفی کردن موارد تکراری، تغییر محدوده زمانی (به عنوان مثال، سال گذشته)، مرتبسازی بر اساس مرتبط بودن یا تاریخ.
- تغییر حریم خصوصی: هر موتوری را که نمیخواهید از آن پرس و جو شود، غیرفعال کنید. برخی از موتورها به کلیدهای API نیاز دارند. در صورت عدم وجود، به سادگی استفاده نخواهند شد.
- میانبرهای صفحه کلید: بسیاری از تمهای SearXNG از
/ برای فوکوس کردن روی جعبه جستجو و کلیدهای جهت دار برای پیمایش نتایج پشتیبانی میکنند.
نحوه خود-میزبانی SearXNG (روش Docker)
خود-میزبانی به شما قابلیت اطمینان، سرعت و کنترل بر اینکه از کدام موتورها استفاده کنید، میدهد. مسیر Docker سادهترین است.
الزامات
- یک Linux VPS یا یک سرور خانگی (2 vCPU/2 GB RAM برای استفاده سبک راحت است)
- Docker و Docker Compose نصب شده
- یک دامنه/زیردامنه و پروکسی معکوس اختیاری (Caddy/Traefik/Nginx) برای HTTPS
مراحل
- مخزن استقرار SearXNG را کلون کنید (یا از یک فایل Compose حداقلی استفاده کنید):
version: "3.8"
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
environment:
- BASE_URL=
- SEARXNG_SECRET_KEY=change_me_to_a_long_random_value
volumes:
- ./searxng:/etc/searxng
ports:
- "8080:8080"
restart: unless-stopped
- یک
SEARXNG_SECRET_KEY قوی تولید کنید (به عنوان مثال، openssl rand -hex 32).
- پروکسی معکوس را با HTTPS پیکربندی کنید (مثال Caddy):
search.example.com {
reverse_proxy 127.0.0.1:8080
}
Caddy به طور خودکار TLS را از طریق Let’s Encrypt تهیه میکند.
- از ` بازدید کنید و تأیید کنید که بارگیری میشود.
پیکربندی اصلی: settings.yml
پس از اولین اجرا، پیکربندی را در زیر حجم mount شده خود خواهید داشت (به عنوان مثال، ./searxng/settings.yml). بخشهای کلیدی:
general: نام، حالت اشکالزدایی، تعداد نتایج
server: کلید مخفی، آدرس bind، محدودیتهای نرخ
engines: فعال/غیرفعال کردن موتورها، دستهها، تایماوتها
ui: تم، اسکرول بینهایت، تکمیل خودکار
search: پیشفرضهای جستجوی ایمن، زبان، locale
نمونه قطعه:
general:
instance_name: "SearXNG خصوصی من"
server:
secret_key: "<same as env or longer>"
image_proxy: true
rate_limit: "60/minute"
search:
safe_search: 1 # 0 off, 1 moderate, 2 strict
autocomplete: "duckduckgo"
ui:
default_theme: "simple"
<a12>infinite_scroll: true</a13>engines:
- name: duckduckgo
engine: duckduckgo
categories: .
### Quick Example
- Endpoint: `/search`
- Methods: GET or POST
- Parameters: `q` (query), `categories`, `language`, `format=json`, `time_range`, `safesearch`
```bash
curl "
پاسخ شامل نتایج ارگانیک، موتورهای استفاده شده و زمانبندیها است. عالی برای ساخت اتوماسیونهای تحقیقاتی، داشبوردهای محلی و رابطهای کاربری سفارشی.
تنظیم موتورها و دستهها
- منابع سریع و دوستدار حریم خصوصی را ترجیح دهید (به عنوان مثال، Wikipedia، Stack Exchange، MDN، DuckDuckGo، Brave در صورت مجاز، APIهای رسمی برای YouTube/Reddit/Mastodon).
- موتورهایی را که captchas مکرر یا تأخیر بالا در شبکه شما دارند، غیرفعال کنید.
- از پیشفرضهای هر دسته استفاده کنید. به عنوان مثال، GitHub، Stack Overflow و PyPI را در زیر «IT» فعال کنید، arXiv/Crossref را در زیر «Science» فعال کنید و
time_range را برای «اخبار» روی recent تنظیم کنید.
چک لیست عیبیابی
- مشاهده captchas یا نتایج خالی؟ موتورهایی را که باعث ایجاد بلوک میشوند، کاهش دهید یا بچرخانید. تایماوتها را کمی افزایش دهید. ذخیرهسازی را فعال کنید.
- درخواستهای API با شکست مواجه میشوند؟ هدرهای پروکسی معکوس و CORS را بررسی کنید. تأیید کنید
format=json.
- UI کند است؟ تعداد نتایج در هر صفحه را کاهش دهید. موتورهای سنگین را غیرفعال کنید. حافظه پنهان Redis را فعال کنید.
- حلقه راهاندازی مجدد Docker؟ نحو
settings.yml و متغیرهای محیطی خود را اعتبارسنجی کنید.
بهترین شیوهها برای تیمها و کاربران قدرتمند
settings.yml خود را صادر و کنترل نسخه کنید (بدون اسرار) تا تغییرات را پیگیری کنید.
- از مدیران اسرار یا فایلهای
.env برای کلیدهای API استفاده کنید.
- برای همگام ماندن با تغییرات موتور، بهروزرسانیهای هفتگی کانتینر را برنامهریزی کنید.
- لاگها را برای خطاهای موتور یا ضربههای محدودیت نرخ نظارت کنید.
- اگر SearXNG را در برنامهها جاسازی میکنید، از تلاش مجدد خودداری کنید و تأخیرها را تصادفی کنید تا از ممنوعیت جلوگیری کنید.
اختیاری: اتصال SearXNG به ابزارهای دیگر
- از JSON API در دفترچههای یادداشت تحقیقاتی یا گردش کارهای چت خود استفاده کنید.
- جستجوی وب مبتنی بر برنامه را از طریق نمونه خصوصی خود مسیریابی کنید تا حریم خصوصی حفظ شود.
- برخی از رابطهای کاربری AI/web میتوانند برای مرور از طریق نقطه پایانی خودتان به SearXNG متصل شوند (URL پایه و پارامترهای API را بر این اساس پیکربندی کنید).
شایان ذکر است: اگر در حال ساخت گردش کارهای تحقیقاتی یا خلاصهسازی نتایج در مقیاس بزرگ هستید، ابزاری مانند Sider.AI میتواند مرحله خواندن و خلاصهسازی را در چندین تب یا پرس و جو ساده کند. میتوانید مرور خود را به یک نقطه پایانی خصوصی SearXNG هدایت کنید، سپس از Sider.AI برای ثبت بینشها، پیشنویس خلاصهها یا تدوین خودکار استنادها استفاده کنید، که در هنگام اجرای بسیاری از جستجوها پشت سر هم، در وقت شما صرفهجویی میکند. امنیت و اخلاق
- به شرایط موتورهایی که فعال میکنید احترام بگذارید.
- نمونه خود را در معرض سوء استفاده عمومی قرار ندهید. محدودیت نرخ و در صورت نیاز، دسترسی را محدود کنید.
- به اعضای تیم در مورد انتظارات حریم خصوصی اطلاع دهید. لاگها را میتوان به گونهای پیکربندی کرد که از ذخیره IPها یا پرس و جوها جلوگیری شود.
اولین تنظیم 15 دقیقهای شما: یک چک لیست کوچک
- Docker را بچرخانید و یک فایل Compose ایجاد کنید
SEARXNG_SECRET_KEY را تنظیم کنید
- کانتینر را شروع کنید و تأیید کنید که
:8080 کار میکند
- آن را با یک پروکسی پشت HTTPS قرار دهید
settings.yml را ویرایش کنید تا موتورهایی را که به آنها اعتماد دارید فعال کنید
- دستهها و SafeSearch پیشفرض را تنظیم کنید
- API را با یک درخواست
curl تست کنید
- نمونه خود را نشانکگذاری کنید و آن را با تیم خود به اشتراک بگذارید
نکات کلیدی
- SearXNG بدون نوشتن خزنده، حریم خصوصی، کنترل و انعطافپذیری را به شما میدهد.
- با یک نمونه عمومی شروع کنید، سپس برای قابلیت اطمینان و سفارشیسازی خودتان میزبانی کنید.
- موتورها و دستهها را برای سرعت و ارتباط تنظیم کنید.
- JSON API، SearXNG را برای تحقیق و اتوماسیون ایدهآل میکند.
- استقرار خود را با HTTPS، محدودیتهای نرخ و حداقل لاگبرداری سخت کنید.
مراجع و مطالعه بیشتر
- بررسی اجمالی رسمی API جستجو برای پارامترها و قالبها.
- راهنمای گام به گام خود-میزبانی و آموزشهای انجمن میتواند برای تنظیمات Docker و Windows مفید باشد.
- ادغام SearXNG در گردش کارها و ابزارهای برنامه اغلب از همان الگوی API استفاده شده در بالا پیروی میکند.
سوالات متداول
Q1: SearXNG چیست و چگونه کار میکند؟
SearXNG یک موتور جستجوی فرادادهای متمرکز بر حریم خصوصی است که از منابع متعدد پرس و جو میکند و نتایج را بدون ردیابی کاربران جمعآوری میکند. میتوانید از یک نمونه عمومی استفاده کنید یا خودتان برای کنترل کامل موتورها، فیلترها و تنظیمات حریم خصوصی میزبانی کنید.
Q2: چگونه SearXNG را با Docker خود-میزبانی کنم؟
یک سرویس Docker Compose با استفاده از تصویر رسمی ایجاد کنید، یک کلید مخفی قوی تنظیم کنید و آن را در پشت یک پروکسی معکوس با HTTPS قرار دهید. settings.yml را ویرایش کنید تا موتورها را فعال کنید، دستهها را پیکربندی کنید و گزینههای حریم خصوصی را تنظیم کنید.
Q3: آیا میتوانم از SearXNG برای جستجوهای برنامهنویسی از طریق API استفاده کنم؟
بله. با پارامترهایی مانند q، categories و format=json با /search تماس بگیرید تا نتایج JSON را برای اتوماسیونها و برنامهها دریافت کنید. این برای خطوط لوله تحقیق و ابزارهای داخلی ایدهآل است.
Q4: چگونه یک نمونه عمومی SearXNG ایمن را انتخاب کنم؟
به دنبال نمونههای فعال و معتبر با بیانیههای حریم خصوصی واضح، زمان آپتایم خوب و حداقل captchas باشید. همچنین اگر با محدودیتهای نرخ یا مشکلات قابلیت اطمینان مواجه شدید، میتوانید نمونهها را تغییر دهید یا خودتان میزبانی کنید.
Q5: کدام عملگرهای جستجو در SearXNG کار میکنند؟
عملگرهای رایج مانند نقل قول، site:، filetype:، inurl: و intitle: به طور کلی کار میکنند و به موتورهای زیربنایی منتقل میشوند. همچنین میتوانید از میانبرهای bang (به عنوان مثال، !g، !ddg، !yt) استفاده کنید اگر نمونه از آنها پشتیبانی کند.