Language: th
SearXNG: เสิร์ชเอนจินของคุณเองบน VPS โดยไม่ติดตามผู้ใช้
เสิร์ชเอนจินทั่วไปอาจเชื่อมโยงคำค้นหากับที่อยู่ IP คุกกี้ และประวัติการใช้งาน SearXNG เปลี่ยนเส้นทางนี้: เบราว์เซอร์เชื่อมต่อกับอินสแตนซ์ของคุณ ซึ่งจะส่งคำค้นหาไปยังเสิร์ชเอนจินภายนอกหลายแห่ง แล้วรวมคำตอบไว้ในหน้าเดียว
แหล่งข้อมูลภายนอกจะเห็นที่อยู่ของเซิร์ฟเวอร์ SearXNG แทนที่จะเห็นคุกกี้ของผู้ใช้ ตัวบริการเองไม่ได้สร้างโปรไฟล์เพื่อโฆษณา อย่างไรก็ตาม นี่ไม่ใช่การไม่เปิดเผยตัวตนอย่างสมบูรณ์: เจ้าของอินสแตนซ์สาธารณะสามารถเก็บล็อกได้ในทางเทคนิค และเมื่อคุณเปิดลิงก์แล้ว เว็บไซต์ปลายทางจะติดต่อกับเบราว์เซอร์อีกครั้ง
บทความนี้จะสำรวจความสามารถของ SearXNG และติดตั้งอินสแตนซ์ของคุณเองบน VPS พร้อม HTTPS และการป้องกันด้วยรหัสผ่าน
SearXNG คืออะไรและทำงานอย่างไร
SearXNG เป็นเมตาเสิร์ชเอนจินฟรีและโอเพนซอร์ส มันไม่ได้ดูแลดัชนีเว็บไซต์ของตัวเอง แต่ดึงผลลัพธ์จากเสิร์ชเอนจินและแหล่งข้อมูลเฉพาะทางที่กำหนดค่าไว้ ปรับรูปแบบให้เป็นมาตรฐาน และแสดงผ่านอินเทอร์เฟซเดียว
Browser → your SearXNG → search engines
↓
combined resultsสำหรับแต่ละคำค้นหา SearXNG จะ:
- ระบุหมวดหมู่การค้นหา เช่น เว็บ รูปภาพ ข่าว วิดีโอ หรือหมวดหมู่อื่น;
- ติดต่อแหล่งข้อมูลที่เลือกในนามของเซิร์ฟเวอร์;
- ไม่ส่งคุกกี้ของผู้ใช้ไปยังแหล่งข้อมูล และใช้โปรไฟล์เบราว์เซอร์แบบสุ่มสำหรับคำขอขาออก;
- รวมคำตอบเป็นหน้าผลการค้นหาเดียว
ความเร็วขึ้นอยู่กับระบบภายนอก: ระบบเหล่านั้นอาจตอบช้า แสดง CAPTCHA หรือบล็อกที่อยู่ IP SearXNG เป็นชั้นตัวกลางที่จัดการให้ ไม่ใช่ดัชนีอิสระ
ทำไม SearXNG จึงน่าสนใจกว่าเสิร์ชเอนจินเดียว
รวมแหล่งข้อมูลต่าง ๆ ในหน้าผลการค้นหาเดียว
คุณสามารถรวมเสิร์ชเอนจินทั่วไปกับแหล่งข้อมูลเฉพาะทาง เช่น สารานุกรม แผนที่ สิ่งพิมพ์วิชาการ รีโพสitory บริการข่าว หรือแค็ตตาล็อกรูปภาพได้ ช่วยได้เมื่อหน้าผลการค้นหาทั่วไปเต็มไปด้วยหน้า 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 หากผู้ดูแลระบบเปิดใช้รูปแบบที่จำเป็น
อินสแตนซ์เดียวสามารถเป็นแบ็กเอนด์การค้นหาให้แดชบอร์ดภายใน บอต สคริปต์ค้นคว้า หรือผู้ช่วย AI ในเครื่องได้ ควรเปิด API หลังตั้งค่าการยืนยันตัวตนและจำกัดอัตราคำขอแล้วเท่านั้น
SearXNG มีความเป็นส่วนตัวแค่ไหน
| สิ่งที่ทำได้ | สิ่งที่ทำไม่ได้ |
|---|---|
| ไม่ส่งคุกกี้เบราว์เซอร์ไปยังเสิร์ชเอนจินภายนอก | ไม่ได้ให้การไม่เปิดเผยตัวตนอย่างสมบูรณ์ |
| ซ่อน IP ของผู้ใช้ไว้หลัง IP ของเซิร์ฟเวอร์ | ไม่ปกป้องผู้ใช้หลังเปิดเว็บไซต์ผลการค้นหา |
| ลบโฆษณาจากบุคคลที่สามและพารามิเตอร์ติดตามบางส่วน | ไม่รับประกันว่าเจ้าของเซิร์ฟเวอร์ของผู้อื่นจะไม่เก็บล็อก |
| พร็อกซีรูปภาพได้ | ไม่ใช่สิ่งทดแทน VPN, Tor หรือการป้องกันของเบราว์เซอร์ |
อินสแตนซ์สาธารณะสะดวกสำหรับทดลองใช้บริการ แต่คุณต้องไว้วางใจผู้ดูแลระบบ และ IP ที่ใช้ร่วมกันมีโอกาสถูกจำกัดอัตราคำขอมากกว่า
เซิร์ฟเวอร์ของคุณเองให้การควบคุมล็อก แหล่งข้อมูล และการเข้าถึง แต่ไม่ได้ทำให้เบราว์เซอร์ไม่เปิดเผยตัวตน
อินสแตนซ์สาธารณะ เซิร์ฟเวอร์ที่บ้าน หรือ VPS
| ตัวเลือก | ข้อดี | ข้อจำกัด |
|---|---|---|
| อินสแตนซ์สาธารณะ | ไม่ต้องติดตั้งอะไร | ต้องเชื่อใจเจ้าของ โหลดเกิน และ CAPTCHA |
| เซิร์ฟเวอร์ที่บ้าน | ควบคุมได้เต็มที่โดยไม่ต้องเช่า VPS | ต้องเปิดอุปกรณ์ตลอดเวลา การตั้งค่าการเข้าถึงภายนอกยากกว่า |
| VPS ของคุณเอง | ทำงาน 24/7 มีโดเมน HTTPS และเข้าถึงจากอุปกรณ์ต่าง ๆ | ต้องอัปเดตคอนเทนเนอร์และดูแลความปลอดภัย |
อินสแตนซ์ SearXNG ของคุณเองมีประโยชน์สำหรับครอบครัว ทีม นักพัฒนา หรือเครื่องมือ AI ในเครื่อง หากค้นหาเป็นครั้งคราว อินสแตนซ์สาธารณะจะง่ายกว่า
SearXNG ต้องใช้ VPS แบบใด
โหลดขึ้นอยู่กับจำนวนผู้ใช้ แหล่งข้อมูล และคำค้นหาที่ทำงานพร้อมกัน ค่าเริ่มต้นที่ใช้งานได้จริงมีดังนี้:
| สถานการณ์ | 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 พร้อมโดเมนและ secret แบบสุ่ม:
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 เฉพาะเมื่อจำเป็น และอย่าปล่อย API โดยไม่มีรหัสผ่านและการจำกัดอัตรา
ข้อผิดพลาดที่พบบ่อย
| ข้อผิดพลาด | ผลที่ตามมา | วิธีแก้ |
|---|---|---|
| เปิดอินสแตนซ์เป็นสาธารณะ | บอตสร้างโหลด และ IP ถูกจำกัดบ่อยขึ้น | ใช้รหัสผ่าน VPN หรือ single sign-on |
| เปิดใช้แหล่งข้อมูลมากเกินไป | ผลลัพธ์ช้าและหมดเวลา | เก็บเอนจินที่เสถียรไว้เพียงไม่กี่ตัว |
| คิดว่า SearXNG มีดัชนีของตัวเอง | ผลลัพธ์บางส่วนหายไปเมื่อระบบภายนอกล้มเหลว | คำนึงถึงการพึ่งพาแหล่งข้อมูล |
| คาดหวังการไม่เปิดเผยตัวตนอย่างสมบูรณ์ | เว็บไซต์ปลายทางยังติดตามเบราว์เซอร์ได้ | ใช้การป้องกันเบราว์เซอร์ VPN หรือ Tor |
| รันโดยไม่มี HTTPS | คำค้นหาและรหัสผ่านถูกส่งอย่างไม่ปลอดภัย | ใช้รีเวิร์สพร็อกซีพร้อม TLS |
สรุป
SearXNG รวมแหล่งข้อมูลต่าง ๆ ไว้ในอินเทอร์เฟซเดียว ลดการปรับผลลัพธ์เฉพาะบุคคล และให้บริการค้นหาเดียวสำหรับเบราว์เซอร์ สคริปต์ หรือ AI ในเครื่อง อินสแตนซ์สาธารณะเพียงพอสำหรับการทดลองใช้ แต่สำหรับการใช้งานเป็นประจำ เซิร์ฟเวอร์ของคุณเองพร้อม HTTPS การยืนยันตัวตน ตัวจำกัดอัตรา และแหล่งข้อมูลเสถียรไม่กี่แห่งเป็นตัวเลือกที่ดีกว่า
เริ่มด้วย RAM 1 GB ได้ เพิ่มทรัพยากรเมื่อจำนวนผู้ใช้เพิ่มขึ้น เมื่อเปิดใช้ API หรือเมื่อรันคอนเทนเนอร์เพิ่มเติม
FAQ
SearXNG ไม่เปิดเผยตัวตนอย่างสมบูรณ์หรือไม่?
ไม่ มันซ่อนข้อมูลบางส่วนจากเสิร์ชเอนจินภายนอก แต่ผู้ดูแลอินสแตนซ์อาจเก็บล็อกได้ เมื่อคุณเปิดเว็บไซต์ กลไกติดตามของเว็บไซต์นั้นจะเริ่มทำงาน
SearXNG ดีกว่า Google หรือไม่?
มันแก้ปัญหาคนละแบบ Google มักเร็วกว่าและปรับผลลัพธ์ตามบุคคลมากกว่า SearXNG ให้คุณควบคุมได้มากขึ้น รวมแหล่งข้อมูลได้ และพึ่งพาโปรไฟล์ผู้ใช้น้อยกว่า
ใช้ SearXNG โดยไม่มี VPS ได้หรือไม่?
ได้ คุณสามารถใช้อินสแตนซ์สาธารณะ คอมพิวเตอร์ที่บ้าน NAS หรือเซิร์ฟเวอร์ขนาดเล็ก VPS จำเป็นเมื่อคุณต้องการเข้าถึงตลอด 24 ชั่วโมงจากทุกเครือข่าย
ต้องใช้ RAM เท่าไร?
สำหรับผู้ใช้หนึ่งคน เริ่มที่ 1 GB เป็นค่าที่เหมาะสม สำหรับครอบครัว ทีม API หรือคอนเทนเนอร์เพิ่มเติม ควรใช้ 2–4 GB
เชื่อมต่อ SearXNG กับเบราว์เซอร์หรือ AI ได้หรือไม่?
ได้ เบราว์เซอร์ใช้ OpenSearch ได้ ส่วนแอปพลิเคชันใช้ HTTP API ได้ การเข้าถึง API ควรป้องกันด้วยการยืนยันตัวตนและตัวจำกัดอัตรา
