feat(userscripts/kagi-for-safer): redirect from yahoo instead of duckduckgo

There's legit reasons why I might want to search with DuckDuckGo, and no
reason why I might want to search with Yahoo. Specially as Yahoo now
uses Bing to provide search results.

Also, in my very basic testing, Yahoo actually produces a smaller and
faster to load results page. So I might as well use that for the sake of
performance, though I doubt it makes much of a difference, as the
redirect logic runs immediately as the page starts loading.
This commit is contained in:
2022-04-20 23:49:11 +01:00
parent b76ea17bd6
commit 5ae29310c8

View File

@@ -1,21 +1,23 @@
// ==UserScript== // ==UserScript==
// @name Kagi Search (DuckDuckGo redirect) // @name Kagi Search (Yahoo redirect)
// @description Redirects DuckDuckGo searches to Kagi.com. Only relevant for desktop Safari users. // @description Redirects Yahoo searches to Kagi.com. Only relevant for desktop Safari users.
// @version 0.0.2 // @version 0.0.3
// @namespace jimeh.me // @namespace jimeh.me
// @downloadURL https://github.com/jimeh/dotfiles/blob/main/userscripts/kagi-for-safari.user.js // @downloadURL https://github.com/jimeh/dotfiles/blob/main/userscripts/kagi-for-safari.user.js
// @run-at document-start // @run-at document-start
// @match https://duckduckgo.com/* // @match https://yahoo.com/search*
// @match https://search.yahoo.com/search*
// @match https://*.search.yahoo.com/search*
// ==/UserScript== // ==/UserScript==
(function () { (function () {
if ( if (
navigator.vendor.match(/apple/i) && // Only activate in Safari. navigator.vendor.match(/apple/i) && // Only activate in Safari.
window.location.hostname == "duckduckgo.com" && window.location.hostname.slice(-16) == "search.yahoo.com" &&
window.location.pathname == "/" window.location.pathname == "/search"
) { ) {
let q = (new URL(window.location)).searchParams.get("q"); let q = (new URL(window.location)).searchParams.get("p");
if (q) { if (q) {
console.log("Redirecting DuckDuckGo search to Kagi.com"); console.log("Redirecting Yahoo search to Kagi.com");
window.location.href = "https://kagi.com/search?q=" + q; window.location.href = "https://kagi.com/search?q=" + q;
} }
} }