Searx কি মৃত? SearXNG ইনস্টল করবেন কেন
Searx-এর সর্বশেষ code commit April 2023-এ। README-তে লেখা “Searx is no longer maintained.” status যাচাই করুন এবং নতুন SearXNG instance-এ কী বদলেছে জানুন।
Searx নাকি SearXNG: কোনটি ইনস্টল করবেন?
Searx এবং SearXNG প্রায় একই নামের দুটি ভিন্ন প্রকল্প। বর্তমানে শুধু একটিতেই সংশোধনী প্রকাশিত হয়। SearXNG ইনস্টল করুন। মূল Searx প্রকল্পে April 2023-এর পর আর কোনো code commit হয়নি। তাদের নিজস্ব README-তে বিষয়টি এক লাইনে বলা আছে: "Searx is no longer maintained."
এটি দার্শনিক প্রশ্ন নয়; ব্যবহারিক সমস্যা। দুটি প্রকল্পের screenshot, configuration file-এর বড় অংশ এবং নামের অর্ধেক একই। তাই একটি প্রকল্পের জন্য লেখা guide অন্যটির ক্ষেত্রেও প্রযোজ্য বলে মনে হয়। আসলে তা নয়। settings file অন্য স্থানে থাকে, bot protection নতুন, এবং বর্তমান Ubuntu-তে package name আর নেই। নিচে দুটি প্রকল্পের পার্থক্য, নিজে status যাচাই করার commands এবং একটি instance চালু করার ক্ষেত্রে যেসব পরিবর্তন গুরুত্বপূর্ণ সেগুলোর তালিকা দেওয়া হলো।
Searx কী এবং SearXNG কোথা থেকে এসেছে
Searx একটি metasearch engine। এটি নিজস্ব কোনো index সংরক্ষণ করে না। এটি আপনার query নিয়ে Bing, DuckDuckGo বা Wikipedia-এর মতো অন্য search service-এ পাঠায়। এরপর সেখান থেকে পাওয়া ফল একত্র করে একটি results page তৈরি করে। এর সুবিধা হলো, ওই service-গুলো আপনার address-এর বদলে server-এর address দেখতে পায়। এর বিনিময়ে maintenance-এর প্রয়োজন হয়। প্রতিটি engine হলো এমন একটি ছোট code module, যা অন্য কারও HTML বা API parse করে। তাই upstream পরিবর্তিত হলেই engine অকার্যকর হয়ে যায়। কোনো metasearch engine তার engine module ঠিক করে এমন লোকদের কাজের মানের চেয়ে বেশি নির্ভরযোগ্য হতে পারে না।
searx repository October 2013-এ তৈরি হয়। April 2021-এ একজন সাবেক maintainer সেটির fork হিসেবে SearXNG শুরু করেন। "NG" বলতে next generation বোঝায়। searx-এর নিজস্ব README-তে দুটি project পাশাপাশি বর্ণনা করা হয়েছে। fork-এর পার্থক্যের সবচেয়ে স্পষ্ট সারাংশ এখনও সেটিই:
SearxNG হলো searx-এর একটি fork, যা searx-এর একজন সাবেক maintainer তৈরি করেছেন।
SearxNG-তে rolling release রয়েছে, dependency আরও ঘন ঘন update করা হয়, এবং engine আরও দ্রুত ঠিক করা হয়।
fork তৈরির পেছনের মতপার্থক্য ছিল diagnostics নিয়ে। Searx মনে করত, কোনো instance-এর usage data সংরক্ষণ করা উচিত নয়। এর default settings-এ সেটি স্পষ্টভাবে বলা আছে: enable_stats: False # activate /stats page - note: it may leak usage data। SearXNG বিপরীত সিদ্ধান্ত নেয় এবং default settings-এ enable_metrics: true অন্তর্ভুক্ত করে। এই metrics-ই response time bar এবং error page-এর তথ্য সরবরাহ করে। এর ফলে অকার্যকর engine সহজে শনাক্ত ও ঠিক করা যায়। দুটি অবস্থানেরই যুক্তি আছে। তবে code প্রকাশ অব্যাহত রেখেছিল একটিই project।
Searx কি মৃত? নিজেই কীভাবে যাচাই করবেন
“মৃত” GitHub-এ দেখানো কোনো status নয়। তাই যে দুটি signal আছে, সেগুলো পড়ে সিদ্ধান্ত নিন। প্রথমটি হলো repository archived কি না এবং সর্বশেষ কখন সেখানে 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-এ প্রথম command-টি false এবং 2026-05-14T10:02:22Z দেখায়। দ্বিতীয়টি false এবং command চালানোর দিনের একটি timestamp দেখায়। প্রথম value-টি লক্ষ্য করুন। searx repository archived নয় এবং কেউ এটিকে lock করেনি। তাই এই প্রশ্ন বারবার ফিরে আসে।
pushed_at একা একটি দুর্বল signal। কারণ যেকোনো branch-এ push হলে, এমনকি এক লাইনের documentation পরিবর্তন হলেও, এটি পরিবর্তিত হয়। এর বদলে commit list পড়ুন।
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-এ সাধারণ development বন্ধ হয়ে যায়। September 2023-এর commit-এ maintainers README-তে notice যোগ করেন। এরপরের একমাত্র commit-টি documentation-সংক্রান্ত। কারণ original author Hister-এ চলে গেছেন। এটি এমন একটি search tool, যা অন্য search engine-এ query না করে আপনার বেছে নেওয়া page ও file index করে। এটি ভিন্ন ধারণা। আপনি যদি আসলে নিজের content-এর ওপর একটি ব্যক্তিগত search engine চান, তাহলে এটি কার্যকর হতে পারে।
দ্বিতীয় signal হলো packaging। অধিকাংশ পুরোনো tutorial নীরবে packaging-এর ওপর নির্ভর করে।
- PyPI-তে একটি
searxrelease আছে: version 0.17.0, যা July 2020-এ upload করা হয়েছিল।pip install searxসফল হয় এবং fork তৈরি হওয়ার নয় মাস আগের code আপনাকে দেয়। - Debian 12 (bookworm)-এ Debian searx 1.1.0 ship করেছে এবং unstable-এ এখনও এটি রাখে। October 2023-এ এটি testing থেকে সরিয়ে নেওয়া হয়েছিল। তাই Debian 13 (trixie)-তে searx package নেই।
- Ubuntu সর্বশেষ 22.04-এ এটি ship করেছে, version 1.0.0 হিসেবে। Ubuntu 24.04-এ
sudo apt install searx,E: Unable to locate package searxদিয়ে শেষ হয়। - searx.space, যে public instance directory-তে project সবসময় মানুষকে পাঠাত, এখন SearXNG instance তালিকাভুক্ত করে।
তাই সৎ status হলো: code public, এটি এখনও চলে, এবং আজই আপনি clone করে start করতে পারেন। কিন্তু engine fix বা security update পাবেন না। একটি metasearch engine-এর মূল কাজই এগুলো। অন্য পক্ষের schedule অনুযায়ী search engine-গুলোর কার্যকারিতা ধীরে ধীরে নষ্ট হয়। অরক্ষণাবেক্ষিত instance-এ server-এ কেউ হাত না দিলেও প্রতি মাসে কম result ফেরত আসে।
নতুন instance-এর জন্য fork-এ যা পরিবর্তিত হয়েছে
Settings file সরানো হয়েছে এবং এখন এটি একটি overlay
Searx-এ source tree-এর ভেতরে searx/settings.yml সম্পাদনা করতেন। SearXNG-এ file-টি /etc/searxng/settings.yml-এ থাকে, এবং process SEARXNG_SETTINGS_PATH environment variable-এর মাধ্যমে এটি খুঁজে পায়। Installer সেখানে যে template কপি করে, সেটি সংক্ষিপ্ত:
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/0use_default_settings: true হলো আপনার কাজের পদ্ধতি পরিবর্তন করা line। এটি থাকলে আপনার file-এ শুধু override থাকে, আর বাদ দেওয়া প্রতিটি key package-এর ভেতরে থাকা default থেকে আসে। এটি না থাকলে আপনার file-এ engine অনুযায়ী সম্পূর্ণ configuration লিখতে হয়। এভাবেই এমন instance তৈরি হয়, যা cleanly start হয় কিন্তু কিছু খুঁজে পায় না। পুরোনো Searx settings file এই path-এ paste করলে সেটি ভিন্ন key name-সহ একটি complete configuration হয়ে যায়। ফলে এটি দ্বিতীয় পদ্ধতি অনুসরণ করে এবং ভুলভাবে ব্যর্থ হয়।
Secret key process থামিয়ে দেয়
sudo -H sed -i -e "s/ultrasecretkey/$(openssl rand -hex 16)/g" \
"/etc/searxng/settings.yml"Template কপি করার পরে এটি একবার চালান। এটি বাদ দিলে SearXNG একটি line log করে status 1-এ exit করে, কারণ কিছু serve করার আগে webapp.py template value-এর সঙ্গে key-টি তুলনা করে:
server.secret_key is not changed. Please use something else instead of ultrasecretkey.general.debug true হলে এই check বাদ যায়। তাই debug session-এ instance ঠিকমতো চলতে পারে, কিন্তু systemd-এর অধীনে বা container-এ start হতে অস্বীকার করতে পারে। docker compose logs-এ ওই line থাকলে loop-এর মধ্যে container restart হওয়া এই check চালু হওয়ার ফল, broken image-এর কারণে নয়।
Limiter নতুন এবং এর জন্য Valkey প্রয়োজন
Searx application-এর ভেতরে rate limiting ছিল না। Public Searx instance-গুলো সামনে আলাদা service ব্যবহার করত: request filtering-এর জন্য filtron এবং result content proxy করার জন্য morty। উভয় repository-তেই সর্বশেষ commit হয়েছিল 2023 সালে।
SearXNG নিজেই এই কাজ করে। Rate limiting এবং bot detection হলো limiter-এর কাজ, যা server.limiter দিয়ে চালু করা হয়। Shipped defaults-এ এটি false এবং installer-এর template-এ true। Counters সংরক্ষণ করতে এর একটি Valkey database প্রয়োজন। Valkey হলো Redis-এর একটি fork, এবং Ubuntu 24.04 এটি package হিসেবে দেয়:
sudo apt install -y valkey-serverserver:
limiter: true
valkey:
url: valkey://localhost:6379/0Rename-এর আগের লেখা guide-গুলো এর পরিবর্তে redis: block configure করে। তাই বর্তমান limiter documentation থেকে key name কপি করুন। সূক্ষ্ম configuration /etc/searxng/limiter.toml দ্বিতীয় file-এ থাকে, আর server.public_instance: true public instance-এর প্রয়োজনীয় কঠোর bot detection চালু করে। এর মধ্যে link token method-ও রয়েছে। এর দৃশ্যমান ফল হলো কিছু request result-এর পরিবর্তে HTTP 429 response পায়। Instance-এর বিরুদ্ধে script চালালে আপনার নিজের request-ও এর মধ্যে পড়তে পারে। এ বিষয়ে আলাদা page আছে: কেন SearXNG instance 429 Too Many Requests উত্তর দেয়।
Engine নিজে suspend হয় এবং timeout দীর্ঘ
কোনো upstream service CAPTCHA বা rate limit page দিয়ে উত্তর দিলে SearXNG একটি typed exception তৈরি করে। এরপর block হওয়ার দিকে আবার retry না করে নির্দিষ্ট সময়ের জন্য ওই engine-এ request পাঠানো বন্ধ করে। Default-গুলো searx/settings.yml-এর মধ্যে search.suspended_times-এর অধীনে থাকে। August 2026 অনুযায়ী প্রকাশিত 6টি value হলো:
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"
}
]সাধারণ access denied উত্তর engine-টিকে 180 সেকেন্ডের জন্য স্থগিত রাখে। CAPTCHA এটিকে 3,600 সেকেন্ডের জন্য স্থগিত রাখে। Cloudflare CAPTCHA এটিকে 1,296,000 সেকেন্ডের জন্য স্থগিত রাখে, যা পনেরো দিন। Google reCAPTCHA-এর ক্ষেত্রে সময় হলো 604,800 সেকেন্ড, অর্থাৎ এক সপ্তাহ। এই দীর্ঘ সময় ইচ্ছাকৃত। কোনো service address-টিকে flag করার পরে আবার request পাঠালে instance-এর IP স্থায়ীভাবে block হতে পারে।
কোনো engine suspended থাকলে results page সেটিকে বাদ দেয় এবং "Messages from the search engines" শিরোনামের sidebar block-এ তা জানায়। কী ব্যর্থ হয়েছে তা /stats/errors তালিকাভুক্ত করে। নতুন instance থেকে কম ফলাফল পাওয়া গেলে সাধারণত এটাই ঘটছে; install ভাঙেনি।
JSON API default-ভাবে বন্ধ
Shipped default হলো formats: [html] এবং আর কিছু নয়। তাই প্রতিটি script যে API ব্যবহার করতে চায়, সেটি আপনি চালু না করা পর্যন্ত বন্ধ থাকে।
curl -s -o /dev/null -w '%{http_code}\n' \
'http://127.0.0.1:8888/search?q=test&format=json'এটি 403 print করে, কারণ চাওয়া format search.formats-এ তালিকাভুক্ত না থাকলে search route flask.abort(403) call করে। Format যোগ করে service restart করুন:
search:
formats:
- html
- jsonSearx settings file-এ formats key একেবারেই নেই। তাই JSON output চাইলেই পাওয়া যেত। সেই সময়ের প্রতিটি script এবং snippet একই আচরণ ধরে নেয়। ফলে ব্যর্থ হলে কোনো ব্যাখ্যা ছাড়াই শুধু 403 পাওয়া যায়। কোনো instance-কে tooling-এর সঙ্গে যুক্ত করলে search করার জন্য কোনো agent-কে SearXNG endpoint দেওয়া এই setting দিয়েই শুরু হয়।
কপি-পেস্ট করা Searx tutorial কেন ব্যর্থ হয়
এই প্রতিটি লাইন এখনও search result-এ থাকা guide-গুলোতে দেখা যায়, কিন্তু বর্তমান install-এ এগুলো ব্যর্থ হয় বা বিভ্রান্ত করে।
sudo apt install searxUbuntu 24.04-এE: Unable to locate package searx-এ গিয়ে থেমে যায়, কারণ package-টি সর্বশেষ 22.04-এ release হয়েছিল।pip install searxসফলভাবে চলে এবং July 2020-এর 0.17.0 install করে। এটি fork-এর আগের version—এ বিষয়ে কোনো সতর্কতা দেখানো হয় না।git clone https://github.com/asciimoo/searxএখনও কাজ করে, কারণ GitHub পুরোনো owner name-টি redirect করে এবং April 2023-এর tree ব্যবহার করে।- Source tree-তে
searx/settings.ymlসম্পাদনা করার ধাপগুলো SearXNG-এ কোনো পরিবর্তন আনে না, কারণ SearXNG/etc/searxng/settings.ymlপড়ে। - filtron বা morty install করার ধাপগুলো SearXNG-এর অন্তর্ভুক্ত অংশগুলো আবার তৈরি করে।
- Limiter-এর জন্য একটি
redis:URL বর্তমানvalkey:key-এর তুলনায় একটি rename পিছিয়ে আছে।
SearXNG-এর guide-গুলোও পুরোনো হয়ে যায়। কোনো guide-এর সময়কাল বোঝার দ্রুততম উপায় হলো clone URL পরীক্ষা করা। Compose file-গুলো আগে আলাদা searxng-docker repository-তে থাকত। Repository-টি March 2026-এ archived করা হয় এবং এর file-গুলো main repository-এর container/-এ সরিয়ে নেওয়া হয়। Documentation-এ থাকা বর্তমান container quickstart হলো:
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শেষ command চালানোর আগে .env সম্পাদনা করুন। Image environment variable-গুলোকে settings key-তে রূপান্তর করে। তাই SEARXNG_SECRET হয়ে যায় server.secret_key এবং SEARXNG_BASE_URL হয়ে যায় server.base_url। Script-ভিত্তিক host install একই ফল পাওয়ার ভিন্ন পদ্ধতি:
git clone https://github.com/searxng/searxng.git searxng
cd searxng
sudo -H ./utils/searxng.sh install allএটি searxng user, /usr/local/searxng-এর অধীনে virtual environment এবং uWSGI service তৈরি করে। SearXNG documentation-এ এটিই reference setup। এই পদ্ধতির বিস্তারিত নির্দেশনা নিজের VPS-এ SearXNG install করা অংশে রয়েছে।
Public instance অথবা নিজের instance
একটি public instance হলো অন্য কারও server, যেখানে আপনার TLS (transport layer security) connection terminate হয়। তাই সেখানকার software আপনার query plain text হিসেবে পড়তে পারে। SearXNG-এর নিজস্ব documentation-এ trust-এর বিষয়টি স্পষ্টভাবে বলা হয়েছে: আপনাকে administrator-কে trust করতে হবে, এবং requests log করা, aggregate করা বা third party-কে পাঠানো হচ্ছে কি না, তা আপনি জানতে পারবেন না। দৃশ্যমান তালিকাটি সংক্ষিপ্ত এবং সম্পূর্ণ। Operator-এর stack query text, সময়, request যে IP address থেকে এসেছে, browser user agent এবং আপনার settings ধরে রাখা preference cookie দেখতে পারে। Operator code-ও নিয়ন্ত্রণ করেন। তাই তিনি যে কোনো patch প্রয়োগ করলে, সেটি সেখানে করা আপনার প্রতিটি search-এর ক্ষেত্রে চলবে।
একটি default-এর কারণে ভুল করে log করা আরও সহজ হয়। Searx search POST হিসেবে পাঠাত। SearXNG ships method: "GET", এবং comment-এ বলা আছে যে POST search query-কে browser history-এর বাইরে রাখে, কিন্তু usability সমস্যা তৈরি করে। GET ব্যবহার করলে query request line-এ থাকে। ফলে default হিসেবে এটি reverse proxy access log এবং browser history-তে চলে যায়। এটি সাধারণ web server-এর আচরণ। কার server-এ এটি ঘটবে, তা বেছে নেওয়ার আগে বিষয়টি জানা দরকার।
নিজের instance চালালে trust সরানো হয় না, কেবল trust-এর স্থান পরিবর্তিত হয়। আপনি code এবং logs নিয়ন্ত্রণ করেন। কোনো একক user-এর box-এর জন্য hostname বা TLS certificate public করতে না চাইলে v3 onion service-এর মাধ্যমে এতে পৌঁছানো ব্যবহার করতে পারেন। এতে instance public DNS-এর বাইরে থাকে, কিন্তু আপনি যেকোনো স্থান থেকে এতে পৌঁছাতে পারেন। এর বিনিময়ে upstream engine-গুলো আপনার সব search-এর জন্য একটি address দেখতে পায়। একটি single user instance-এ প্রতিটি query আপনার সঙ্গে যুক্ত থাকে; অন্য user-দের ভিড়ে মিশে যায় না। একটি ব্যস্ত public instance সেই ভিড় দেয় এবং logs আপনার নিয়ন্ত্রণের বাইরে রাখে। আপনি যে বৈশিষ্ট্যটিকে বেশি গুরুত্ব দেন, সেটি বেছে নিন। আগে পুরো ঝুঁকির তালিকা দেখতে চাইলে SearXNG ব্যবহার করা নিরাপদ কি না সেটি বিস্তারিতভাবে ব্যাখ্যা করে।
VPS-এর জন্য একটি বাস্তব বিষয় মনে রাখুন। Home connection-এর তুলনায় datacentre address range দ্রুত flag হয়। তাই নতুন instance-এ প্রথম কয়েকটি search-এর মধ্যেই কিছু engine-এ CAPTCHA দেখা দিতে পারে। এটি উপরে বর্ণিত suspension behaviour-এর স্বাভাবিক ফল, misconfiguration নয়।
আপনি যদি ইতিমধ্যে একটি Searx instance চালান
আপনি এটি পড়ার দিনেই কিছু নষ্ট হবে না। পরবর্তী upstream পরিবর্তনে অন্য কোনো engine নষ্ট না হওয়া পর্যন্ত সার্ভারটি কাজ করতে থাকবে; এরপর সেটিও অচল থাকবে। স্থানান্তরের পরিকল্পনা করুন এবং configuration file port করবেন না। SearXNG template দিয়ে শুরু করুন। এরপর ইচ্ছাকৃতভাবে পরিবর্তন করা বিষয়গুলোই আবার যোগ করুন: instance name, safe_search, নাম অনুযায়ী enabled বা disabled করা engine-গুলো এবং আপনার interface default। fork-এ engine name ও option পরিবর্তিত হয়েছে। তাই key-টি এখনও আছে ধরে না নিয়ে বর্তমান documentation-এর সঙ্গে প্রতিটি key যাচাই করুন। Filtron rule এবং morty URL-এর কোনো equivalent নেই, কারণ এই কাজগুলো application-এর ভেতরে স্থানান্তরিত হয়েছে।
পুরোনো instance চালু থাকা অবস্থায় নতুন instance-টি ভিন্ন port-এ চালান। Front page 200 ফেরত দিলে, একটি search একাধিক engine থেকে result ফেরত দিলে এবং /stats/errors খালি থাকলে অথবা আপনার বোঝা failure দেখালে বুঝবেন এটি কাজ করছে। এরপর reverse proxy নতুন instance-এ সরিয়ে পুরোনো service বন্ধ করুন।
FAQ
Searx কি 2026 সালে মৃত?
রিপোজিটরিটি archived নয়, তাই এটি clone করতে কোনো বাধা নেই। তবে project-টি আর maintained নয়। সর্বশেষ code commit April 2023-এ যোগ হয়েছে, এবং README-তে লেখা আছে, "Searx is no longer maintained." curl -s https://api.github.com/repos/searx/searx | jq -r '.pushed_at' দিয়ে নিজেই পরীক্ষা করুন। এরপর সাম্প্রতিক commit message পড়ুন, কারণ শুধু push date দেখলে সেটি documentation edit-এর তারিখও হতে পারে। একটি metasearch engine-এর ক্ষেত্রে unmaintained হওয়ার অর্থ হলো ফলাফল ধীরে ধীরে খারাপ হবে। কারণ প্রতিটি engine module এমন একটি upstream site-এর ওপর নির্ভর করে, যেটি নিয়মিত পরিবর্তিত হয়।
আমি কি এখনও apt বা pip দিয়ে Searx install করতে পারি?
বর্তমান system-এ নয়। যেখানে install করা যায়, সেখানেও এটি কার্যকর নয়। Ubuntu সর্বশেষ 22.04-এ version 1.0.0 সহ searx package করেছিল। তাই 24.04-এ sudo apt install searx চালালে E: Unable to locate package searx ফেরত দেয়। Debian 12-এ 1.1.0 ship করেছিল এবং October 2023-এ testing থেকে এটি বাদ দিয়েছে। তাই Debian 13-এ কোনো package নেই। PyPI এখনও July 2020-এর 0.17.0 serve করে, যা fork-এর নিজের চেয়েও পুরোনো। এর পরিবর্তে SearXNG install করুন।
আমার পুরোনো searx settings.yml কি SearXNG-এ কাজ করবে?
না। File-টি copy করবেন না; শুধু value-গুলো নিন। SearXNG /etc/searxng/settings.yml পড়ে এবং উপরে use_default_settings: true প্রত্যাশা করে। তাই আপনার file shipped defaults-এর ওপর overlay হিসেবে কাজ করে। পুরোনো searx file-টি ভিন্ন key name-সহ সম্পূর্ণ configuration। এতে limiter নেই, valkey block নেই এবং formats list নেই। utils/templates/etc/searxng/settings.yml-এর template থেকে শুরু করুন এবং একবারে একটি করে আপনার পরিবর্তন যোগ করুন।
আমার নিজের SearXNG instance কেন একটি public instance-এর চেয়ে কম ফলাফল দেয়?
কিছু engine suspended থাকে। কোনো engine CAPTCHA বা rate limit page দিয়ে উত্তর দিলে SearXNG নির্দিষ্ট সময়ের জন্য সেটিকে query করা বন্ধ করে। সাধারণ refusal-এর ক্ষেত্রে এই সময় 180 seconds থেকে শুরু করে Cloudflare CAPTCHA-এর ক্ষেত্রে 1,296,000 seconds পর্যন্ত হতে পারে। Results page-এ এটি "Messages from the search engines"-এর অধীনে দেখানো হয়। /stats/errors failure-গুলো এবং তাদের কারণের তালিকা দেখায়। Datacentre address-গুলো home connection-এর তুলনায় দ্রুত flag হয়। তাই নতুন VPS instance-এ এই সমস্যা আগে দেখা যায়।
আমার কি একটি public SearXNG instance ব্যবহার করা উচিত, নাকি নিজে চালানো উচিত?
Code এবং log-এর ওপর নিয়ন্ত্রণ চাইলে নিজস্ব instance চালান। তবে মনে রাখবেন, এতে upstream engine-গুলো আপনার সব search-এর জন্য একটি address দেখতে পাবে। আপনার query অন্য মানুষের query-র সঙ্গে মিশে থাকাটা যদি logged data জানা থেকে বেশি গুরুত্বপূর্ণ হয়, তাহলে public instance ব্যবহার করুন। Public instance-এ operator query text, সময়, আপনার IP address এবং user agent দেখতে পারে। তারা ইচ্ছামতো code পরিবর্তনও করতে পারে। বাইরে থেকে কোনো ঘোষিত logging policy যাচাই করা যায় না।