您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Buttons that redirect DuckDuckGo searches to other search engines.
当前为
- // ==UserScript==
- // @name UnDuckButton
- // @namespace Violentmonkey Scripts
- // @match https://duckduckgo.com/*
- // @grant none
- // @version 0.2
- // @author noarch
- // @description Buttons that redirect DuckDuckGo searches to other search engines.
- // @license WTFPL
- // ==/UserScript==
- // Searx instances from https://searx.neocities.org/nojs.html
- // Updated 2021-01-15
- var searxes = [
- "https://searx.ir/?q=",
- "https://search.stinpriza.org/?q=",
- "https://search.privacytools.io/searx/?q=",
- "https://search.azkware.net/?q=",
- "https://searx.openpandora.org/?q=",
- "https://trovu.komun.org/?q=",
- "https://searx.nakhan.net/?q=",
- "https://searx.nixnet.services/?q=",
- "https://searx.libmail.eu/?q=",
- "https://searx.elukerio.org/?q=",
- "https://searx.info/?q=",
- "https://searx.foo.li/?q="
- ];
- var randomSearx = searxes[Math.floor(Math.random() * searxes.length)];
- // Add more search engines here
- var searchEngines = {
- "Bing": "https://www.bing.com/search?q=",
- "Google": "https://www.google.com/search?q=",
- "Random Searx": randomSearx,
- "Startpage": "https://startpage.com/sp/search?query="
- };
- function getSearchQuery() {
- var input = document.getElementById("search_form_input").value;
- var inputEncoded = encodeURIComponent(input);
- return inputEncoded;
- }
- function addButton(text, href) {
- var btn = document.createElement("button");
- btn.innerHTML = text;
- btn.onclick = function() {
- window.location = href;
- };
- return btn;
- }
- function main() {
- // Create styles for the <div> containing the buttons
- var styles = ".redirectors {display: block; margin: 60px auto auto auto; right: 4px; position: absolute; bottom: 0; top: 0;}";
- var styleSheet = document.createElement("style");
- styleSheet.type = "text/css";
- styleSheet.innerText = styles;
- searchQuery = getSearchQuery(); // Failing here (if not on a result page) is fine, and intended
- var div = document.createElement("div");
- div.classList.add("redirectors");
- for (var searchEngine in searchEngines) {
- href = searchEngines[searchEngine] + searchQuery;
- div.appendChild(addButton(searchEngine, href));
- }
- document.head.appendChild(styleSheet);
- document.getElementById("header_wrapper").appendChild(div);
- }
- main();