แหล่งที่มา | คนอื่น ๆ |
รับผลการค้นหาของ Google แต่ไม่มีโฆษณา JavaScript ลิงก์แอมป์คุกกี้หรือการติดตามที่อยู่ IP ปรับใช้ได้อย่างง่ายดายในคลิกเดียวเป็นแอพ Docker และปรับแต่งได้ด้วยไฟล์กำหนดค่าเดียว ใช้งานง่ายและง่ายต่อการใช้งานเพื่อแทนที่เครื่องมือค้นหาหลักทั้งบนเดสก์ท็อปและมือถือ
สารบัญ
!<tag> <query>
) การค้นหา*ไม่มี JavaScript บุคคลที่สาม Whoogle สามารถใช้กับ JavaScript ที่ปิดใช้งานได้ แต่ถ้าเปิดใช้งานให้ใช้ JavaScript สำหรับสิ่งต่าง ๆ เช่นการนำเสนอคำแนะนำการค้นหา
** ไม่มีคุกกี้ของบุคคลที่สาม Whoogle ใช้คุกกี้ฝั่งเซิร์ฟเวอร์ (เซสชัน) เพื่อจัดเก็บการตั้งค่าการกำหนดค่าที่ไม่ไวต่อความรู้สึกเช่นธีมภาษา ฯลฯ เช่นเดียวกับ JavaScript คุกกี้สามารถปิดใช้งานได้และไม่ส่งผลกระทบต่อฟังก์ชั่นการค้นหาของ Whoogle
*** หากปรับใช้กับเซิร์ฟเวอร์ระยะไกลหรือกำหนดค่าให้ส่งคำขอผ่าน VPN, Tor, Proxy ฯลฯ
มีหลายวิธีในการเริ่มต้นใช้แอพขึ้นอยู่กับความชอบของคุณ:
จัดเตรียมให้:
หมายเหตุ:
https
ตรวจสอบให้แน่ใจว่าได้นำทางไปยังแอพรุ่น https
ของคุณก่อนที่จะเพิ่มเป็นเครื่องมือค้นหาเริ่มต้นสร้างบัญชีบน render.com และนำเข้า Whoogle Repo ด้วยการตั้งค่าต่อไปนี้:
Python 3
pip install -r requirements.txt
./run
หมายเหตุ: ต้องมีบัญชีแก้ไข (ฟรี)
จัดเตรียมให้:
คุณจะต้องมีบัญชี fly.io เพื่อปรับใช้ Whoogle
flyctl auth login
flyctl launch --image benbusby/whoogle-search:latest
การปรับใช้ครั้งแรกจะไม่สำเร็จเนื่องจากค่าเริ่มต้น internal_port
ไม่ถูกต้อง ในการแก้ไขปัญหานี้ให้เปิดไฟล์ fly.toml
ที่สร้างขึ้นให้ตั้ง services.internal_port
เป็น 5000
และเรียกใช้ flyctl launch
อีกครั้ง
แอพของคุณพร้อมใช้งานที่ https://<app-name>.fly.dev
หมายเหตุ:
ใช้หนึ่งในคำแนะนำต่อไปนี้เพื่อติดตั้ง Whoogle บน Koyeb:
การติดตั้งแบบถาวร:
pipx install https://github.com/benbusby/whoogle-search/archive/refs/heads/main.zip
อินสแตนซ์ชั่วคราวของ Sandboxed:
pipx run --spec git+https://github.com/benbusby/whoogle-search.git whoogle-search
pip install whoogle-search
$ whoogle-search --help
usage: whoogle-search [-h] [--port < port number > ] [--host < ip address > ] [--debug] [--https-only] [--userpass < username:password > ]
[--proxyauth < username:password > ] [--proxytype < socks4 | socks5 | http > ] [--proxyloc < location:port > ]
Whoogle Search console runner
optional arguments:
-h, --help Show this help message and exit
--port < port number > Specifies a port to run on (default 5000)
--host < ip address > Specifies the host address to use (default 127.0.0.1)
--debug Activates debug mode for the server (default False)
--https-only Enforces HTTPS redirects for all requests
--userpass < username:password >
Sets a username/password basic auth combo (default None)
--proxyauth < username:password >
Sets a username/password for a HTTP/SOCKS proxy (default None)
--proxytype < socks4 | socks5 | http >
Sets a proxy type for all connections (default None)
--proxyloc < location:port >
Sets a proxy location for all connections (default None)
ดูตัวแปรสภาพแวดล้อมที่มีอยู่สำหรับการกำหนดค่าเพิ่มเติม
หมายเหตุ: ส่วนหัว Content-Security-Policy
สามารถส่งโดย woogle ถ้าคุณตั้งค่า WHOOGLE_CSP
libcurl4-openssl-dev
และ libssl-dev
brew install openssl curl-openssl
sudo apt-get install -y libcurl4-openssl-dev libssl-dev
pacman -S curl openssl
โคลน repo และเรียกใช้คำสั่งต่อไปนี้เพื่อเริ่มแอพในสภาพแวดล้อมท้องถิ่นเท่านั้น:
git clone https://github.com/benbusby/whoogle-search.git
cd whoogle-search
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
./run
ดูตัวแปรสภาพแวดล้อมที่มีอยู่สำหรับการกำหนดค่าเพิ่มเติม
หลังจากสร้างสภาพแวดล้อมเสมือนจริงแล้วคุณสามารถเพิ่มบางอย่างเช่นต่อไปนี้ไปยัง /lib/systemd/system/whoogle.service
เพื่อตั้งค่าบริการระบบค้นหา Whoogle:
[Unit]
Description =Whoogle
[Service]
# Basic auth configuration, uncomment to enable
# Environment=WHOOGLE_USER=<username>
# Environment=WHOOGLE_PASS=<password>
# Proxy configuration, uncomment to enable
# Environment=WHOOGLE_PROXY_USER=<proxy username>
# Environment=WHOOGLE_PROXY_PASS=<proxy password>
# Environment=WHOOGLE_PROXY_TYPE=<proxy type (http|https|proxy4|proxy5)
# Environment=WHOOGLE_PROXY_LOC=<proxy host/ip>
# Site alternative configurations, uncomment to enable
# Note: If not set, the feature will still be available
# with default values.
# Environment=WHOOGLE_ALT_TW=farside.link/nitter
# Environment=WHOOGLE_ALT_YT=farside.link/invidious
# Environment=WHOOGLE_ALT_RD=farside.link/libreddit
# Environment=WHOOGLE_ALT_MD=farside.link/scribe
# Environment=WHOOGLE_ALT_TL=farside.link/lingva
# Environment=WHOOGLE_ALT_IMG=farside.link/rimgo
# Environment=WHOOGLE_ALT_WIKI=farside.link/wikiless
# Environment=WHOOGLE_ALT_IMDB=farside.link/libremdb
# Environment=WHOOGLE_ALT_QUORA=farside.link/quetre
# Environment=WHOOGLE_ALT_SO=farside.link/anonymousoverflow
# Load values from dotenv only
# Environment=WHOOGLE_DOTENV=1
# specify dotenv location if not in default location
# Environment=WHOOGLE_DOTENV_PATH=<path/to>/whoogle.env
Type =simple
User =<username>
# If installed as a package, add:
ExecStart =<python_install_dir>/python3 <whoogle_install_dir>/whoogle-search --host 127.0.0.1 --port 5000
# For example:
# ExecStart=/usr/bin/python3 /home/my_username/.local/bin/whoogle-search --host 127.0.0.1 --port 5000
# Otherwise if running the app from source, add:
ExecStart =<whoogle_repo_dir>/run
# For example:
# ExecStart=/var/www/whoogle-search/run
WorkingDirectory =<whoogle_repo_dir>
ExecReload =/bin/kill -HUP $MAINPID
Restart =always
RestartSec =3
SyslogIdentifier =whoogle
[Install]
WantedBy =multi-user.target
แล้ว,
sudo systemctl daemon-reload
sudo systemctl enable whoogle
sudo systemctl start whoogle
หากการกำหนดเส้นทางคำขอของคุณผ่าน TOR คุณจะต้องทำการปรับเปลี่ยนต่อไปนี้ เนื่องจากลักษณะของการมีปฏิสัมพันธ์กับ Google ผ่าน Tor เราจะต้องสามารถส่งสัญญาณไปยัง Tor และตรวจสอบความถูกต้องด้วย
มีสองวิธีการตรวจสอบรหัสผ่านและคุกกี้ คุณจะต้องทำการเปลี่ยนแปลง Torrc ของคุณ:
คุกกี้
ไม่เกี่ยวกับการยกเลิกหรือเพิ่มบรรทัดต่อไปนี้ใน torrc ของคุณ:
ControlPort 9051
CookieAuthentication 1
DataDirectoryGroupReadable 1
CookieAuthFileGroupReadable 1
ทำให้คุกกี้ Tor Auth อ่านได้:
whoogle
กับผู้ใช้นั้นchmod tor:whoogle /var/lib/tor
chmod tor:whoogle /var/lib/tor/control_auth_cookie
รีสตาร์ทบริการ Tor:
systemctl restart tor
ตั้งค่าตัวแปรสภาพแวดล้อม TOR เป็น 1, WHOOGLE_CONFIG_TOR
อ้างถึงส่วนตัวแปรสภาพแวดล้อมสำหรับรายละเอียดเพิ่มเติม
WHOOGLE_CONFIG_TOR=1
รหัสผ่าน
เรียกใช้คำสั่งนี้:
tor --hash-password {Your Password Here}
; ใส่รหัสผ่านของคุณแทน {Your Password Here}
ไม่เกี่ยวกับการยกเลิกหรือเพิ่มบรรทัดต่อไปนี้ใน torrc ของคุณ:
ControlPort 9051
HashedControlPassword {Place output here}
; ใส่เอาต์พุตของคำสั่งก่อนหน้าแทน {Place output here}
ตอนนี้ใช้รหัสผ่านจากขั้นตอนแรกและวางไว้ในไฟล์ control.conf ภายในไดเรกทอรีการทำงานของ Whoogle เช่น misc/tor/control.conf
WHOOGLE_TOR_CONF
อ้างถึงส่วนตัวแปรสภาพแวดล้อมสำหรับรายละเอียดเพิ่มเติมจำกัด การเข้าถึงการควบคุมอย่างหนักเพื่อให้สามารถอ่านได้โดยผู้ใช้ที่ใช้ whoogle:
chmod 400 control.conf
ในที่สุดก็ตั้งค่าตัวแปรสภาพแวดล้อม TOR และใช้ตัวแปรรหัสผ่านเป็น 1, WHOOGLE_CONFIG_TOR
และ WHOOGLE_TOR_USE_PASS
อ้างถึงส่วนตัวแปรสภาพแวดล้อมสำหรับรายละเอียดเพิ่มเติม
WHOOGLE_CONFIG_TOR=1
WHOOGLE_TOR_USE_PASS=1
sudo usermod -aG docker yourusername
docker ps
ควรส่งคืนบางสิ่งบางอย่างนอกเหนือจากข้อผิดพลาด หากคุณพบข้อผิดพลาดที่บอกว่า daemon ไม่ทำงานให้ลอง sudo systemctl start docker
(Linux) หรือตรวจสอบให้แน่ใจว่าเครื่องมือ Docker กำลังทำงานอยู่ (Windows/MacOS)ผ่าน Hub Docker:
docker pull benbusby/whoogle-search
docker run --publish 5000:5000 --detach --name whoogle-search benbusby/whoogle-search:latest
หรือกับนักเทียบท่า:
git clone https://github.com/benbusby/whoogle-search.git
cd whoogle-search
docker-compose up
หรือโดยการสร้างตัวเอง:
git clone https://github.com/benbusby/whoogle-search.git
cd whoogle-search
docker build --tag whoogle-search:1.0 .
docker run --publish 5000:5000 --detach --name whoogle-search whoogle-search:1.0
นอกจากนี้คุณยังสามารถเปิดใช้งานตัวแปรสภาพแวดล้อมต่อไปนี้เพื่อปรับแต่งอินสแตนซ์ของคุณเพิ่มเติม:
docker run --publish 5000:5000 --detach --name whoogle-search
-e WHOOGLE_USER=username
-e WHOOGLE_PASS=password
-e WHOOGLE_PROXY_USER=username
-e WHOOGLE_PROXY_PASS=password
-e WHOOGLE_PROXY_TYPE=socks5
-e WHOOGLE_PROXY_LOC=ip
whoogle-search:1.0
และฆ่าด้วย: docker rm --force whoogle-search
heroku login
heroku container:login
git clone https://github.com/benbusby/whoogle-search.git
cd whoogle-search
heroku create
heroku container:push web
heroku container:release web
heroku open
คำสั่งชุดนี้อาจใช้เวลาสักครู่ แต่เมื่อคุณเรียกใช้หนึ่งครั้งคุณไม่ควรเรียกใช้อีกครั้ง คำสั่งสุดท้าย heroku open
จะเปิดแท็บในเว็บเบราว์เซอร์ของคุณซึ่งคุณสามารถทดสอบ Whoogle และตั้งค่าเป็นเครื่องมือค้นหาหลักของคุณ นอกจากนี้คุณยังสามารถแก้ไขตัวแปรสภาพแวดล้อมจากแท็บการตั้งค่าแอปของคุณในแผงควบคุม Heroku
มีแพ็คเกจ AUR ให้บริการรวมถึงแพ็คเกจอัปเดตที่สร้างไว้ล่วงหน้าและทุกวันที่ Chaotic-Aur
เพื่อใช้แผนภูมิ Helm Kubernetes:
>=3.0.0
helm install whoogle ./charts/whoogle
มีวิธีอื่น ๆ สำหรับการปรับใช้คอนเทนเนอร์ Docker ที่ระบุไว้อย่างดีในบทความนี้ แต่มีมากเกินไปที่จะอธิบายการตั้งค่าสำหรับแต่ละที่นี่ โดยทั่วไปแล้วควรจะใช้ความพยายามเท่ากันกับการใช้งาน Heroku
ขึ้นอยู่กับความชอบของคุณคุณสามารถปรับใช้แอพด้วยตัวเองในโครงสร้างพื้นฐานของคุณเอง เส้นทางนี้จะต้องใช้ขั้นตอนพิเศษสองสามขั้นตอน:
มีตัวแปรสภาพแวดล้อมเสริมบางอย่างสำหรับการปรับแต่งอินสแตนซ์ Whoogle สิ่งเหล่านี้สามารถตั้งค่าด้วยตนเองหรือคัดลอกไปยัง whoogle.env
และเปิดใช้งานสำหรับวิธีการปรับใช้ที่คุณต้องการ:
WHOOGLE_DOTENV=1
ก่อนทำงานdocker-compose
: uncomment ตัวเลือก env_file
docker build/run
: เพิ่ม --env-file ./whoogle.env
ไปยังคำสั่งของคุณตัวแปร | คำอธิบาย |
---|---|
Whoogle_url_prefix | คำนำหน้า URL ที่จะใช้สำหรับอินสแตนซ์ Whoogle (เช่น "/woogle") |
Whoogle_dotenv | โหลดตัวแปรสภาพแวดล้อมใน whoogle.env |
Whoogle_dotenv_path | เส้นทางไปยัง whoogle.env หากไม่อยู่ในตำแหน่งเริ่มต้น |
Whoogle_user | ชื่อผู้ใช้สำหรับการรับรองความถูกต้องพื้นฐาน จะต้องตั้งค่า whoogle_pass หากใช้ |
Whoogle_Pass | รหัสผ่านสำหรับการรับรองความถูกต้องพื้นฐาน จะต้องตั้งค่า whoogle_user ด้วย |
Whoogle_proxy_user | ชื่อผู้ใช้ของพร็อกซีเซิร์ฟเวอร์ |
woogle_proxy_pass | รหัสผ่านของพร็อกซีเซิร์ฟเวอร์ |
Whoogle_proxy_type | ประเภทของพร็อกซีเซิร์ฟเวอร์ สามารถเป็น "Socks5", "Socks4" หรือ "HTTP" |
Whoogle_proxy_loc | ตำแหน่งของพร็อกซีเซิร์ฟเวอร์ (โฮสต์หรือ IP) |
Whoogle_user_agent | ตัวแทนผู้ใช้เดสก์ท็อปที่จะใช้ ค่าเริ่มต้นเป็นหนึ่งที่สร้างขึ้นแบบสุ่ม |
Whoogle_user_agent_mobile | ตัวแทนผู้ใช้มือถือที่จะใช้ ค่าเริ่มต้นเป็นหนึ่งที่สร้างขึ้นแบบสุ่ม |
Whoogle_use_client_user_agent | เปิดใช้งานเพื่อใช้ตัวแทนผู้ใช้ของคุณเองสำหรับคำขอทั้งหมด ค่าเริ่มต้นเป็นเท็จ |
Whoogle_redirects | ระบุไซต์ที่ควรเปลี่ยนเส้นทางที่อื่น ดูการเปลี่ยนเส้นทางที่กำหนดเอง |
expose_port | พอร์ตที่จะถูกเปิดเผย |
https_only | บังคับใช้ https (ดูที่นี่) |
Whoogle_alt_tw | ทางเลือก Twitter.com ที่จะใช้เมื่อเปิดใช้งานทางเลือกไซต์ในการกำหนดค่า ตั้งค่าเป็น "" เพื่อปิดการใช้งาน |
Whoogle_alt_yt | ทางเลือก YouTube.com ที่จะใช้เมื่อเปิดใช้งานทางเลือกไซต์ในการกำหนดค่า ตั้งค่าเป็น "" เพื่อปิดการใช้งาน |
Whoogle_alt_rd | ทางเลือก Reddit.com ที่จะใช้เมื่อเปิดใช้งานทางเลือกไซต์ในการกำหนดค่า ตั้งค่าเป็น "" เพื่อปิดการใช้งาน |
Whoogle_alt_tl | Google แปลทางเลือกที่จะใช้ สิ่งนี้ใช้สำหรับการค้นหา "แปล ____" ทั้งหมด ตั้งค่าเป็น "" เพื่อปิดการใช้งาน |
Whoogle_alt_md | ทางเลือก Medium.com ที่จะใช้เมื่อเปิดใช้งานทางเลือกไซต์ในการกำหนดค่า ตั้งค่าเป็น "" เพื่อปิดการใช้งาน |
Whoogle_alt_img | ทางเลือก imgur.com ที่จะใช้เมื่อเปิดใช้งานทางเลือกไซต์ในการกำหนดค่า ตั้งค่าเป็น "" เพื่อปิดการใช้งาน |
Whoogle_alt_wiki | ทางเลือก wikipedia.org ที่จะใช้เมื่อเปิดใช้งานทางเลือกไซต์ในการกำหนดค่า ตั้งค่าเป็น "" เพื่อปิดการใช้งาน |
Whoogle_alt_imdb | ทางเลือก imdb.com ที่จะใช้เมื่อเปิดใช้งานทางเลือกไซต์ในการกำหนดค่า ตั้งค่าเป็น "" เพื่อปิดการใช้งาน |
Whoogle_alt_quora | ทางเลือก quora.com ที่จะใช้เมื่อเปิดใช้งานทางเลือกไซต์ในการกำหนดค่า ตั้งค่าเป็น "" เพื่อปิดการใช้งาน |
Whoogle_alt_so | ทางเลือก stackoverflow.com ทางเลือกที่จะใช้เมื่อเปิดใช้งานทางเลือกไซต์ในการกำหนดค่า ตั้งค่าเป็น "" เพื่อปิดการใช้งาน |
Whoogle_autocomplete | ควบคุมการมองเห็นคำแนะนำการเติมข้อความอัตโนมัติ/การค้นหา ค่าเริ่มต้นเปิด - ใช้ '0' เพื่อปิดการใช้งาน |
Whoogle_minimal | ลบทุกอย่างยกเว้นการ์ดผลลัพธ์พื้นฐานจากคำค้นหาทั้งหมด |
Whoogle_csp | ตั้งค่าชุดเริ่มต้นของส่วนหัว 'นโยบายความปลอดภัยเนื้อหา' |
Whoogle_results_per_page | ตั้งค่าจำนวนผลลัพธ์ต่อหน้า |
Whoogle_tor_service | เปิด/ปิดใช้งานบริการ TOR เมื่อเริ่มต้น ค่าเริ่มต้นเปิด - ใช้ '0' เพื่อปิดการใช้งาน |
Whoogle_tor_use_pass | ใช้การตรวจสอบรหัสผ่านสำหรับพอร์ตควบคุม TOR |
Whoogle_tor_conf | เส้นทางที่แน่นอนไปยังไฟล์กำหนดค่าที่มีรหัสผ่านสำหรับพอร์ตควบคุม TOR ค่าเริ่มต้น: ./misc/tor/control.conf whoogle_tor_pass ต้องเป็น 1 สำหรับสิ่งนี้ในการทำงาน |
Whoogle_show_favicons | แสดง/ซ่อน favicons ถัดจาก URL ผลการค้นหา เริ่มต้น |
Whoogle_update_check | เปิด/ปิดใช้งานการตรวจสอบรายวันอัตโนมัติสำหรับ Whoogle เวอร์ชันใหม่ เริ่มต้น |
whoogle_fallback_engine_url | ตั้งค่า URL ของเครื่องมือค้นหาทางเลือกเมื่อมีข้อผิดพลาดเซิร์ฟเวอร์ภายในหรืออินสแตนซ์ จำกัด อัตรา ข้อความค้นหาถูกผนวกเข้ากับ URL (เช่น https://duckduckgo.com/?k1=-1&q=) |
ตัวแปรสภาพแวดล้อมเหล่านี้อนุญาตให้ตั้งค่าค่าเริ่มต้นเริ่มต้น แต่สามารถเขียนทับด้วยตนเองได้ด้วยตนเองโดยใช้เมนูการกำหนดค่าโฮมเพจ สิ่งเหล่านี้อนุญาตให้มีทางลัดสำหรับการทำลาย/สร้างอินสแตนซ์ไปยังสถานะการกำหนดค่าเดียวกันทุกครั้ง
ตัวแปร | คำอธิบาย |
---|---|
Whoogle_config_disable | ซ่อนการกำหนดค่าจาก UI และไม่อนุญาตให้มีการเปลี่ยนแปลงการกำหนดค่าโดยไคลเอนต์ |
Whoogle_config_country | กรองผลลัพธ์โดยโฮสติ้งประเทศ |
Whoogle_config_Language | ตั้งค่าภาษาอินเทอร์เฟซ |
Whoogle_config_search_language | ตั้งค่าภาษาผลการค้นหา |
Whoogle_config_block | บล็อกเว็บไซต์จากผลการค้นหา (ใช้รายการที่คั่นด้วยเครื่องหมายจุลภาค) |
Whoogle_config_block_title | ผลการค้นหาบล็อกด้วยตัวกรอง regex ในชื่อเรื่อง |
Whoogle_config_block_url | บล็อกผลการค้นหาด้วยตัวกรอง regex บน URL |
Whoogle_config_theme | ตั้งค่าโหมดธีม (แสงมืดหรือระบบ) |
Whoogle_config_safe | เปิดใช้งานการค้นหาที่ปลอดภัย |
Whoogle_config_alts | ใช้ทางเลือกไซต์โซเชียลมีเดีย (Nitter, Invidious ฯลฯ ) |
Whoogle_config_near | จำกัด ผลลัพธ์เฉพาะผู้ที่อยู่ใกล้เมืองใดเมืองหนึ่ง |
Whoogle_config_tor | ใช้การกำหนดเส้นทาง TOR (ถ้ามี) |
Whoogle_config_new_tab | เปิดผลลัพธ์ในแท็บใหม่เสมอ |
Whoogle_config_view_image | เปิดใช้งานตัวเลือกภาพดู |
Whoogle_config_get_only | ค้นหาโดยใช้ Get Requests เท่านั้น |
Whoogle_config_url | URL รากของอินสแตนซ์ ( https://<your url>/ |
Whoogle_config_style | CSS แบบกำหนดเองที่จะใช้สำหรับสไตล์ (ควรเป็นบรรทัดเดียว) |
Whoogle_config_preferences_encrypted | เข้ารหัสโทเค็นการตั้งค่าต้องการคีย์การตั้งค่า |
Whoogle_config_preferences_key | กุญแจสำคัญในการเข้ารหัสการตั้งค่าใน URL (จำเป็นต้องแสดง URL) |
Whoogle_config_anon_view | รวมตัวเลือก "มุมมองที่ไม่ระบุชื่อ" สำหรับผลการค้นหาแต่ละรายการ |
เช่นเดียวกับเครื่องมือค้นหาส่วนใหญ่ยกเว้นการกรองตามช่วงเวลา
หากต้องการกรองตามช่วงเวลาต่อท้าย ": อดีต" ถึงจุดสิ้นสุดของการค้นหาของคุณซึ่งอาจเป็น hour
day
month
หรือ year
ตัวอย่าง: coronavirus updates :past hour
หมายเหตุ: หากคุณใช้พร็อกซีย้อนกลับเพื่อเรียกใช้การค้นหา Whoogle ตรวจสอบให้แน่ใจว่าตัวเลือกการกำหนดค่า "รูท URL" ในโฮมเพจถูกตั้งค่าเป็น URL ของคุณก่อนที่จะทำตามขั้นตอนเหล่านี้
การตั้งค่าเบราว์เซอร์:
http[s]://<your whoogle url>/search?q=%s
https://<your whoogle url>/search?q=%s
ไปที่ Alfred Preferences
> Features
> Web Search
และคลิก Add Custom Search
จากนั้นกำหนดค่าการตั้งค่าเหล่านี้
https://<your whoogle url>/search?q={query}
Whoogle for '{query}'
(หรืออะไรก็ตามที่คุณต้องการ)whoogle
ไปที่ Default Results
และคลิกปุ่ม Setup fallback results
คลิก +
และเพิ่ม Whoogle จากนั้นลากไปด้านบน
<whoogle url>/search?q=%s
ค้นหา URL การค้นหาที่จัดรูปแบบ คุณสามารถตั้งค่าการเปลี่ยนเส้นทางไซต์ที่กำหนดเองโดยใช้ตัวแปรสภาพแวดล้อม WHOOGLE_REDIRECTS
เว็บไซต์จำนวนมากเช่น Twitter, Reddit ฯลฯ มีการเปลี่ยนเส้นทางไปยังลิงก์ Farside แต่คุณอาจต้องการกำหนดของคุณเอง
ในการทำเช่นนี้คุณสามารถใช้ไวยากรณ์ต่อไปนี้:
WHOOGLE_REDIRECTS="<parent_domain>:<new_domain>"
ตัวอย่างเช่นหากคุณต้องการเปลี่ยนเส้นทางจาก "badsite.com" เป็น "goodsite.com":
WHOOGLE_REDIRECTS="badsite.com:goodsite.com"
สามารถใช้สำหรับหลาย ๆ ไซต์ได้เช่นกันโดยมีการแยกเครื่องหมายจุลภาค:
WHOOGLE_REDIRECTS="badA.com:goodA.com,badB.com:goodB.com"
หมายเหตุ: อย่ารวม "http (s): //" เมื่อกำหนดการเปลี่ยนเส้นทางของคุณ
คุณสามารถสร้าง Bangs ที่กำหนดเองของคุณเอง โดยค่าเริ่มต้น Bangs จะถูกเก็บไว้ใน app/static/bangs
ดูตัวอย่าง 00-whoogle.json
สิ่งเหล่านี้จะถูกแยกวิเคราะห์ตามลำดับตัวอักษรพร้อมไฟล์ในภายหลังที่มีการเอาชนะ Bangs ที่ตั้งอยู่ในไฟล์ก่อนหน้านี้ยกเว้นว่า DDG Bangs (ดาวน์โหลดไปยัง app/static/bangs/bangs.json
) จะถูกแยกวิเคราะห์ก่อนเสมอ ดังนั้นการเรียบที่กำหนดเองใด ๆ จะแทนที่ DDG
ส่วนหนึ่งของข้อตกลงกับระดับฟรีของ Heroku คือคุณได้รับการจัดสรร 550 ชั่วโมง/เดือน (หมายความว่ามันไม่สามารถใช้งานได้ตลอด 24/7) และแอพจะปิดตัวลงชั่วคราวหลังจากไม่มีการใช้งาน 30 นาที เมื่อมันไม่ได้ใช้งานการค้นหา Whoogle ใด ๆ จะยังคงใช้งานได้ แต่จะต้องใช้เวลาเพิ่มอีก 10-15 วินาทีเพื่อให้แอพกลับมาออนไลน์ก่อนที่จะแสดงผลลัพธ์ซึ่งอาจทำให้หงุดหงิดถ้าคุณรีบร้อน
ทางออกที่ดีสำหรับเรื่องนี้คือการตั้งค่า cronjob ง่าย ๆ บนอุปกรณ์ใด ๆ ที่บ้านของคุณที่ใช้พลังงานอย่างต่อเนื่องและเชื่อมต่อกับอินเทอร์เน็ต (ในกรณีของฉัน pihole ทำงานได้อย่างสมบูรณ์) อุปกรณ์ทั้งหมดต้องทำคือดึงเนื้อหาแอปอย่างสม่ำเสมอเพื่อให้แอปมีชีวิตอยู่ในหน้าต่าง ~ 17 ชั่วโมงที่คุณต้องการ (17 ชั่วโมง * 31 วัน = 527 หมายความว่าคุณยังมี 23 ชั่วโมงที่เหลือในแต่ละเดือนหาก คุณค้นหานอกหน้าต่างเป้าหมายของคุณ)
ตัวอย่างเช่นการเพิ่ม */20 7-23 * * * curl https://<your heroku app name>.herokuapp.com > /home/<username>/whoogle-refresh
จะดึงหน้าแรกของแอพทุก ๆ 20 นาที ระหว่าง 7 โมงเช้าถึงเที่ยงคืนอนุญาตให้หยุดทำงานตั้งแต่เที่ยงคืนถึง 7 โมงเช้า และอีกครั้งนี่จะไม่ จำกัด อย่างหนัก - คุณยังคงมีเวลาอีกหลายชั่วโมงที่เหลืออยู่ในแต่ละเดือนในกรณีที่คุณค้นหาหลังจากปิดหน้าต่างนี้
เนื่องจากอินสแตนซ์ถูกทำลายและสร้างใหม่หลังจากไม่มีการใช้งานการตั้งค่าการกำหนดค่าจะถูกรีเซ็ตเมื่อแอปเข้าสู่การหยุดทำงาน หากคุณมีการตั้งค่าการกำหนดค่าที่ใช้งานอยู่ที่คุณต้องการเก็บระหว่างช่วงเวลาหยุดทำงาน (เช่นโหมดมืด) คุณสามารถเพิ่ม */20 7-23 * * * curl -d "dark=1" -X POST https://<your heroku app name>.herokuapp.com/config > /home/<username>/whoogle-refresh
เพื่อให้การตั้งค่าเหล่านี้ถาวรมากหรือน้อยและยังคงป้องกันไม่ให้แอปเข้าสู่การหยุดทำงานเมื่อคุณใช้งาน
จำเป็นเฉพาะในกรณีที่การตั้งค่าของคุณต้องการขวดเพื่อเปลี่ยนเส้นทางไปยัง HTTPS ด้วยตัวเอง - โดยทั่วไปนี่เป็นสิ่งที่ไม่จำเป็นต้องได้รับการจัดการโดยการค้นหา Whoogle
หมายเหตุ: คุณควรมีชื่อโดเมนของคุณเองและใบรับรอง HTTPS เพื่อให้สิ่งนี้ทำงานได้อย่างถูกต้อง
Root URL
ในหน้าแรกเริ่มต้นด้วย https://
และไม่ใช่ http://
--build-arg use_https=1
ถึงคำสั่ง Run ของคุณ--https-only
Flag ไปยังจุดสิ้นสุดของคำสั่ง whoogle-search
run
ใช้เริ่มต้น: แก้ไขสคริปต์ในเครื่องเพื่อรวมค่าสถานะ --https-only
ที่ส่วนท้ายของคำสั่ง python run น่าเสียดายที่คอนเทนเนอร์ Firefox ไม่ได้ผ่านคำขอ POST
(ค่าเริ่มต้น) ไปยังเครื่องยนต์และ Firefox แคชเทมเพลต OpenSearch บนโหลดหน้าเริ่มต้น ในการแก้ไขปัญหานี้คุณสามารถทำตามขั้นตอนต่อไปนี้เพื่อให้ทำงานได้ตามที่คาดไว้:
GET Requests Only
ใน whoogle configนี่คือตัวอย่าง nginx config สำหรับ woogle:
server {
server_name your_domain_name.com;
access_log /dev/null;
error_log /dev/null;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-Host $http_host;
proxy_pass http://localhost:5000;
}
}
จากนั้นคุณสามารถเพิ่มการสนับสนุน SSL โดยใช้ LetSenCrypt โดยทำตามคำแนะนำเช่นนี้
ภายใต้ประทุน Whoogle เป็นแอพขวดพื้นฐานที่มีโครงสร้างต่อไปนี้:
app/
routes.py
: จุดเข้าใช้แอพหลักมีเส้นทาง API ทั้งหมดrequest.py
: จัดการคำขอขาออกทั้งหมดรวมถึงการเชื่อมต่อพร็อกซี/ทอร์filter.py
: ฟังก์ชั่นและยูทิลิตี้ที่ใช้สำหรับการกรองเนื้อหาจากผลการค้นหาของ Google อัปสตรีมutils/
bangs.py
: ตรรกะทั้งหมดที่เกี่ยวข้องกับการจัดการแบบสอบถาม "Bang" สไตล์ DDG "results.py
: ฟังก์ชั่นยูทิลิตี้สำหรับการตีความ/แก้ไขผลการค้นหาแต่ละรายการsearch.py
: สร้างและจัดการคำค้นหาใหม่session.py
: วิธีเบ็ดเตล็ดที่เกี่ยวข้องกับเซสชันผู้ใช้templates/
index.html
: เทมเพลตโฮมเพจdisplay.html
: เทมเพลตผลการค้นหาheader.html
: ส่วนหัวแบบสอบถาม "ด้านบน" ทั่วไป "สำหรับเดสก์ท็อปและมือถือsearch.html
: หน้าค้นหา iframe-ablelogo.html
: เทมเพลตที่ประกอบด้วยโลโก้ whoogle ส่วนใหญ่เป็น SVG (แยกออกเพื่อช่วยเก็บ index.html
ทำความสะอาดเล็กน้อย)opensearch.xml
: เทมเพลตที่ใช้สำหรับรองรับ OpenSearchimageresults.html
: เทมเพลต "ทดลอง" ที่ใช้สำหรับรองรับคุณสมบัติภาพ "ขนาดเต็ม" บนเดสก์ท็อปstatic/<css|js>
static/settings
หากคุณยังใหม่กับโครงการวิธีที่ง่ายที่สุดในการเริ่มต้นคือลองแก้ไขรายงานข้อผิดพลาดแบบเปิด หากไม่มีการเปิดใด ๆ หรือถ้ามีการเปิดค้างเกินไปให้ลองใช้คำขอคุณสมบัติ โดยทั่วไปหากคุณสามารถเขียนสิ่งที่มีศักยภาพในการทำลายในอนาคตคุณควรเขียนการทดสอบ
โครงการดังต่อไปนี้คู่มือสไตล์ PEP 8 แต่มีแนวโน้มที่จะเปลี่ยนแปลง ควรใช้การพิมพ์แบบคงที่เสมอเมื่อเป็นไปได้ เอกสารฟังก์ชั่นได้รับการชื่นชมอย่างมากและโดยทั่วไปจะเป็นไปตามรูปแบบด้านล่าง:
def contains ( x : list , y : int ) -> bool :
"""Check a list (x) for the presence of an element (y)
Args:
x: The list to inspect
y: The int to look for
Returns:
bool: True if the list contains the item, otherwise False
"""
return y in x
ปัจจุบัน Whoogle รองรับการแปลโดยใช้ translations.json
ค่าภาษาในไฟล์นี้จำเป็นต้องตรงกับ "ค่า" ของภาษาตาม languages.json
(เช่น "lang_en" สำหรับภาษาอังกฤษ "lang_es" สำหรับภาษาสเปน ฯลฯ ) หลังจากที่คุณเพิ่มชุดการแปลใหม่เป็น translations.json
ให้เปิดการประชาสัมพันธ์ด้วยการเปลี่ยนแปลงของคุณและพวกเขาจะถูกรวมเข้าด้วยกันโดยเร็วที่สุด
อะไรคือความแตกต่างระหว่างสิ่งนี้กับ Searx?
Whoogle มีจุดประสงค์เพื่อนำไปใช้กับอินสแตนซ์ส่วนตัวโดยบุคคลที่มีภูมิหลังใด ๆ ด้วยความพยายามเพียงเล็กน้อยที่สุดเท่าที่จะเป็นไปได้ ความรู้ก่อนหน้าเกี่ยวกับ/ประสบการณ์กับบรรทัดคำสั่งหรือการปรับใช้แอปพลิเคชันไม่จำเป็นต้องปรับใช้ Whoogle ซึ่งไม่ใช่กรณีของ Searx เป็นผลให้ Whoogle ขาดคุณสมบัติบางอย่างของ Searx เพื่อให้ง่ายต่อการปรับใช้มากที่สุด
Whoogle ยังใช้ผลการค้นหาของ Google เท่านั้นไม่ใช่ Bing/Quant/ฯลฯ และใช้ UI การค้นหาของ Google ที่มีอยู่เพื่อให้การเปลี่ยนแปลงจากการค้นหาของ Google โดยไม่สามารถสังเกตได้มากที่สุด
ฉันเป็นแฟนตัวยงของ Searx และกระตุ้นให้ทุกคนใช้สิ่งนั้นแทนหากพวกเขาต้องการเข้าถึงเครื่องมือค้นหาอื่น ๆ/UI/การกำหนดค่าที่แตกต่างกัน
เหตุใดหน้าผลลัพธ์ของภาพจึงดูแตกต่างกัน?
ขณะนี้แอพจำนวนมากในขณะนี้ Piggybacks เกี่ยวกับการสนับสนุนที่มีอยู่ของ Google สำหรับการดึงหน้าผลลัพธ์ด้วยการปิดใช้งาน JavaScript สำหรับเครดิตของพวกเขาพวกเขาได้ทำงานที่ยอดเยี่ยมด้วยหน้าสไตล์ แต่ดูเหมือนว่าหน้าผลลัพธ์ภาพ - โดยเฉพาะบนมือถือ - ค่อนข้างหยาบ ก้าวไปข้างหน้าด้วยความสนใจมากพอฉันต้องการเปลี่ยนไปใช้ผลลัพธ์และแยกวิเคราะห์พวกเขาเป็นอินเทอร์เฟซที่ไม่เหมือนใครซึ่งฉันสามารถจัดสไตล์ตัวเองได้
หมายเหตุ: ใช้อินสแตนซ์สาธารณะตามดุลยพินิจของคุณเอง ผู้ดูแลของ Whoogle ไม่ได้ตรวจสอบความสมบูรณ์ของอินสแตนซ์อื่น ๆ เป็นการส่วนตัว อินสแตนซ์สาธารณะที่ได้รับความนิยมมีแนวโน้มที่จะ จำกัด อัตราหรือถูกบล็อก
เว็บไซต์ | ประเทศ | ภาษา | เมฆ |
---|---|---|---|
https://search.albony.xyz | - ใน | หลายทางเลือก | |
https://search.garudalinux.org | - FI | หลายทางเลือก | |
https://search.dr460nf1r3.org | - เดอ | หลายทางเลือก | |
https://s.tokhmi.xyz | - เรา | หลายทางเลือก | |
https://search.sethforprivacy.com | - เดอ | ภาษาอังกฤษ | |
https://whoogle.dcs0.hu | - หู | หลายทางเลือก | |
https://gowogle.voring.me | - เรา | หลายทางเลือก | |
https://whoogle.privacydev.net | - FR | ภาษาอังกฤษ | |
https://wg.vern.cc | - เรา | ภาษาอังกฤษ | |
https://whoogle.hxvy0.gq | - แคลิฟอร์เนีย | ตุรกีเท่านั้น | |
https://whoogle.hostux.net | - FR | หลายทางเลือก | |
https://whoogle.lunar.icu | - เดอ | หลายทางเลือก | |
https://wgl.frail.duckdns.org | - BR | หลายทางเลือก | |
https://whoogle.no-logs.com | - SE | หลายทางเลือก | |
https://whoogle.ftw.lol | - เดอ | หลายทางเลือก | |
https://whoogle-search-Replitcomreside.repl.co | - เรา | ภาษาอังกฤษ | |
https://search.notrustverify.ch | - ch | หลายทางเลือก | |
https://whoogle.datura.network | - เดอ | หลายทางเลือก | |
https://whoogle.yepserver.xyz | - ua | หลายทางเลือก | |
https://search.nezumi.party | - มัน | หลายทางเลือก | |
https://search.snine.nl | - NL | หลายทางเลือก |
เว็บไซต์ | ประเทศ | ภาษา |
---|---|---|
http://whoglqjdkgt2an4tdepberwqz3hk7tjo4kqgdnuj77rt7nshw2xqhqad.onion | - เรา | หลายทางเลือก |
http://nuifgsnbb2mcyza74o7illtqmuaqbwu4flam3cdmsrnudwcmkqur37qd.onion | - เดอ | ภาษาอังกฤษ |
http://whoogle.vernccvbvyi5qhfzyqengccj7lkove6bjot2xHHHHHHHHHHHHHHHAJHWVIDQAFCZRAD.ONION | - เรา | ภาษาอังกฤษ |
http://whoogle.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid.onion | - FR | ภาษาอังกฤษ |
http://whoogle.daturab6drmkhyeia4ch5gvfc2f3wgo6bhjrv3pz6n7kxmvoznlkq4yd.onion | - เดอ | หลายทางเลือก |
เว็บไซต์ | ประเทศ | ภาษา |
---|---|---|
http: //verneks7rfjptpz5fpii7n7nrxilsidi2qxepeuuf66c3tsf4nhq.b32.i2p | - เรา | ภาษาอังกฤษ |