// ==UserScript==
// @name Google検索結果に時期指定、再生時間指定、画像サイズ指定、日本語のみボタンを設置する
// @description 画面解像度が高い人向き ニコ動・ヤフオク・ヨドバシ検索結果にも並べ替えボタンを設置 (実験的:Google検索結果にGoogle NewsやTwitter検索へのRSSリンクを追加)
// @include *://www.google.tld/search?*
// @include *://www.nicovideo.jp/search/*
// @include *://www.nicovideo.jp/tag/*
// @include *://www.nicovideo.jp/mylist_search/*
// @include *://www.nicovideo.jp/mylist/*
// @match https://www.nicovideo.jp/user/*/video*
// @include *://auctions.yahoo.co.jp/search/*
// @include *://auctions.yahoo.co.jp/category/list/*
// @match *://www.ebay.com/sch/*
// @match *://www.yodobashi.com/*
// @match https://duckduckgo.com/?q=*
// @match https://togetter.com/search?t=q&q=*
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @version 0.7.18
// @grant none
// @run-at document-idle
// @namespace https://greasyfork.org/users/181558
// @downloadURL none
// ==/UserScript==
(function() {
const CUSTOM_SITES = [
//{ name: "AlternativeTo", site: "alternativeto.net", separator: "
" },
//{ name: "Slant", site: "www.slant.co" },
//{ name: "ナゾロジー", site: "nazology.net", separator: " " },
//{ name: "カラパイア", site: "karapaia.com" },
//{ name: "GIGAZINE", site: "gigazine.net -site:gigazine.net/news/*-headline/" },
//{ name: "lifehacker", site: "www.lifehacker.jp" },
//{ name: "らばQ", site: "labaq.com", separator: " " },
//{ name: "BuzzFeed", site: "www.buzzfeed.com" },
//{ name: "360", site: "the360.life", separator: " " },
//{ name: "mybest", site: "my-best.com" },
//{ name: "", site: "" },
//{ name: "", site: "" },
//{ name: "", site: "" },
]; // name:リンクの表示名 site:絞り込むサイトのURL separator:前項目との仕切り文字,無指定だと| place:リンクを付ける場所(#paper,#vox)
var customSites = setCustomSites(CUSTOM_SITES);
function setCustomSites(sites, mes) {
var pa = pref("customSites") || [];
// var a = [...pa]
// sites.forEach(e => { if (e.name && e.site) { a.push(e) } })
var a = []
sites.forEach(e => { if (e.name && e.site) { a.push(e) } })
pa.forEach(e => { if (e.name && e.site) { a.push(e) } })
var customSitesTemp = a.reduce((a, v) => { if (!a.some((e) => (e.name === v.name || e.site === v.site))) { a.push(v); } return a; }, []); // uniq
if (customSitesTemp.length && JSON.stringify(pa) !== JSON.stringify(customSitesTemp)) {
pref("customSites", customSitesTemp);
alert("カスタムsite:リンクをGM_setValue領域に登録しました\nconst CUSTOM_SITES = […] の中身を削除しても構いません\n\n" + jsb(customSitesTemp) + (mes || ""));
}
return customSitesTemp;
}
// const NITTER_INSTANCES = ["nitter.net","nitter.42l.fr","nitter.pussthecat.org","nitter.nixnet.services","nitter.tedomum.net","nitter.fdn.fr","nitter.kavin.rocks","tweet.lambda.dance","nitter.cc","nitter.unixfox.eu","nitter.domain.glass","nitter.himiko.cloud","nitter.eu","nitter.namazso.eu","nitter.mastodont.cat","nitter.mailstation.de","nitter.actionsack.com","nitter.cattube.org","birdsite.xanny.family","nitter.40two.app","nitter.skrep.in","nitter.hu","nitter.database.red"]; // 使うnitterのインスタンス(https://github.com/zedeus/nitter/wiki/Instances)
const NITTER_INSTANCES = ["nitter.42l.fr", "nitter.pussthecat.org", "nitter.nixnet.services", "nitter.tedomum.net", "nitter.fdn.fr", "nitter.kavin.rocks", "tweet.lambda.dance", "nitter.cc", "nitter.unixfox.eu", "nitter.himiko.cloud", "nitter.namazso.eu", "nitter.mastodont.cat", "nitter.mailstation.de", "nitter.actionsack.com", "nitter.cattube.org", "birdsite.xanny.family", "nitter.skrep.in", "nitter.database.red"]; // 使うnitterのインスタンス(https://github.com/zedeus/nitter/wiki/Instances)
const NITTER_INSTANCE = NITTER_INSTANCES[Math.floor(Math.random() * (NITTER_INSTANCES.length))];
if (location.href.indexOf('https://togetter.com/search?t=q&q=') !== -1) {
addLink("togetter", '//div[@class="search_input_box"]', "none", " ", "関連度高", "", /\&sort=.*/, "&sort=relation");
addLink("togetter", '//div[@class="search_input_box"]', "none", " ", "ビュー多", "", /\&sort=.*/, "&sort=view_count");
addLink("togetter", '//div[@class="search_input_box"]', "none", "|", "ビュー少", "", /\&sort=.*/, "&sort=view_count_asc");
addLink("togetter", '//div[@class="search_input_box"]', "none", " ", "新しい", "", /\&sort=.*/, "&sort=created_at");
addLink("togetter", '//div[@class="search_input_box"]', "none", "|", "古い", "", /\&sort=.*/, "&sort=created_at_asc");
return;
}
var p = eleget0('//button[@aria-label="Google 検索"]|//input[@name="q" and @aria-label="Search"]');
if (p) {
var e = document.createElement("div");
e.id = "gkbPanel";
e.style = "position:absolute;top:0.7em;left:860px; z-index:330;line-height:1.3em;";
document.body.appendChild(e);
resizeWindow();
window.addEventListener('resize', resizeWindow);
function resizeWindow() {
let subele = eleget0('//div[2]/button[@type="submit"]|//div[2]/button[@type="button"]|//button[@value="検索" and @type="submit"]');
let e = document.getElementById("gkbPanel")
e.style.left = subele ? (subele.getBoundingClientRect().right + 8) + "px" : "860px";
}
addLink("google", "//div[@id='gkbPanel']", "none", "", "全て", "|", /&tbs=qdr(%3A|:)[hdwmy]\d*|.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|&lr=lang_en|&lr=lang_ja/, "");
addLink("google", "//div[@id='gkbPanel']", "", "", "1時間以内", "|", /&tbs=qdr(%3A|:)[hdwmy]\d*/, "&tbs=qdr:h1");
addLink("google", "//div[@id='gkbPanel']", "", "", "24時間以内", "|", /&tbs=qdr(%3A|:)[hdwmy]\d*/, "&tbs=qdr:d1");
addLink("google", "//div[@id='gkbPanel']", "", "", "1週間以内", "|", /&tbs=qdr(%3A|:)[hdwmy]\d*/, "&tbs=qdr:w1");
addLink("google", "//div[@id='gkbPanel']", "", "", "1ヶ月以内", "|", /&tbs=qdr(%3A|:)[hdwmy]\d*/, "&tbs=qdr:m1");
addLink("google", "//div[@id='gkbPanel']", "", "", "1年以内", "
", /&tbs=qdr(%3A|:)[hdwmy]\d*/, "&tbs=qdr:y1");
addLink("google", "//div[@id='gkbPanel']", "&tbm=vid", "", "動画", "|", /&tbs=qdr(%3A|:)[hdwmy]\d*/, "");
addLink("google", "//div[@id='gkbPanel']", "&tbm=vid", "", "4分未満", "|", /&tbs=dur:[sml]/, "&tbs=dur:s");
addLink("google", "//div[@id='gkbPanel']", "&tbm=vid", "", "4~20分", "|", /&tbs=dur:[sml]/, "&tbs=dur:m");
addLink("google", "//div[@id='gkbPanel']", "&tbm=vid", "", "20分以上", " ", /&tbs=dur:[sml]/, "&tbs=dur:l");
// addLink2(/^https?:\/\/www\.google\..*\/search\?/, "//div[@id='gkbPanel']", "", "", "YouTube", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com/, "https://www.youtube.com/results?search_query=***");
addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "YouTube", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://www.youtube.com/results?search_query=***");
addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "ニコニコ動画", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://www.nicovideo.jp/search/***?sort=f&order=d");
addLink("google", "//div[@id='gkbPanel']", "&tbm=isch", "", "画像", "|", /&tbs=isz:[iml]/, "");
addLink("google", "//div[@id='gkbPanel']", "&tbm=isch", "", "アイコンサイズ", "|", /&tbs=isz:[iml]/, "&tbs=isz:i");
addLink("google", "//div[@id='gkbPanel']", "&tbm=isch", "", "中", "|", /&tbs=isz:[iml]/, "&tbs=isz:m");
addLink("google", "//div[@id='gkbPanel']", "&tbm=isch", "", "大", "|", /&tbs=isz:[iml]/, "&tbs=isz:l");
addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "Pinterest", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://www.pinterest.jp/search/pins/?q=***&rs=typed");
addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "twitter", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://twitter.com/search?q=***%20(filter:images OR filter:videos)&src=typd&f=live&vertical=default");
addLink("google", "//div[@id='gkbPanel']", "", "", "日本語のみ", "|", /&lr=lang_en/, "&lr=lang_ja");
addLink("google", "//div[@id='gkbPanel']", "", "", "英語のみ", "", /&lr=lang_ja/, "&lr=lang_en");
addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "reddit", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://www.google.co.jp/search?q=***+site:reddit.com", "notJP");
addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "Quora", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://www.google.co.jp/search?q=***+site:quora.com", "notJP");
//addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "PubMed", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com/, "https://pubmed.ncbi.nlm.nih.gov/?term=***", "notJP");
addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "PubMed", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://www.google.co.jp/search?q=***+site:pubmed.ncbi.nlm.nih.gov", "notJP");
// addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "Scholar", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com/, "https://scholar.google.co.jp/scholar?hl=ja&as_sdt=0%2C5&q=***&btnG=");
// addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "Scholar", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://scholar.google.co.jp/scholar?q=***");
addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "Scholar", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://scholar.google.co.jp/scholar?q=***");
//addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "LINKdeDIET", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://www.google.co.jp/search?q=***+site:www.nibiohn.go.jp");
addLink2(/www\.google\./, "//div[@id='gkbPanel']", "", "", "Trends", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://trends.google.co.jp/trends/explore?date=all&q=***");
addLink2(/^https?:\/\/www\.google\..*\/search\?/, "//div[@id='gkbPanel']", "", "", "twitter", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:.*/, "https://twitter.com/search?q=***&src=typd&f=live&vertical=default");
//addLink2(/^https?:\/\/www\.google\..*\/search\?/, "//div[@id='gkbPanel']", "", "", "togetter", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:.*/, "https://www.google.co.jp/search?q=***+site:togetter.com");
addLink2(/^https?:\/\/www\.google\..*\/search\?/, "//div[@id='gkbPanel']", "", "", "togetter", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:.*/, "https://www.google.co.jp/search?q=***+site:togetter.com");
//addLink2(/^https?:\/\/www\.google\..*\/search\?/, "//div[@id='gkbPanel']", "", "", "はてな", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:.*/, "https://www.google.co.jp/search?q=***+site:anond.hatelabo.jp");
customSites.forEach((e, i) => {
addLink2(/^https?:\/\/www\.google\..*\/search\?/, e.place || "#gkbPanelSiteLF", "", (e.separator || "|"), e.name, "", /\ssite:.*/, "https://www.google.co.jp/search?q=***+site:" + e.site, e.language || null);
});
addCSbutton(/^https?:\/\/www\.google\..*\/search\?/, "//span[@id='gkbPanelSiteLF']");
}
var p = eleget0('//input[@name="q" and @tabindex="1" and @id="search_form_input"]');
if (p) {
var e = document.createElement("div");
e.id = "ddgPanel";
e.style = "position:absolute;top:0.7em;left:880px; z-index:330;line-height:1.3em;";
document.body.appendChild(e);
addLink("duckduckgo", "//div[@id='ddgPanel']", "none", "", "全て", "|", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])|.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/g, "");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "24時間以内", "|", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&df=d");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "1週間以内", "|", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&df=w");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "1ヶ月以内", "|", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&df=m");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "1年以内", "", /(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&df=y");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "動画", "|", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&iar=videos&iax=videos&ia=videos");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "短い", "|", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&iar=videos&iax=videos&ia=videos&iaf=videoDuration%3Ashort");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "中", "|", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&iar=videos&iax=videos&ia=videos&iaf=videoDuration%3Amedium");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "長い", " ", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&iar=videos&iax=videos&ia=videos&iaf=videoDuration%3Along");
addLink2(/^https:\/\/duckduckgo.com\/\?q=/, "//div[@id='ddgPanel']", "", "", "YouTube", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://www.youtube.com/results?search_query=***");
addLink2(/^https:\/\/duckduckgo.com\/\?q=/, "//div[@id='ddgPanel']", "", "", "ニコニコ動画", "", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://www.nicovideo.jp/search/***?sort=f&order=d");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "画像", "|", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&iax=images&ia=images");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "小", "|", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&iax=images&ia=images&iaf=size%3ASmall");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "中", "|", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&iax=images&ia=images&iaf=size%3AMedium");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "大", "|", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&iax=images&ia=images&iaf=size%3ALarge");
addLink("duckduckgo", "//div[@id='ddgPanel']", "", "", "壁紙", "|", /(&iaf=.*)|(&iax=.*)|(&iar=.*)|(&ia=.*)|(&df=[hdwmy])/g, "&iax=images&ia=images&iaf=size%3AWallpaper");
addLink2(/^https:\/\/duckduckgo.com\/\?q=/, "//div[@id='ddgPanel']", "", "", "Pinterest", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://www.pinterest.jp/search/pins/?q=***&rs=typed");
addLink2(/^https:\/\/duckduckgo.com\/\?q=/, "//div[@id='ddgPanel']", "", "", "twitter", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://twitter.com/search?q=***%20(filter:images OR filter:videos)&src=typd&f=live&vertical=default");
addLink2(/^https:\/\/duckduckgo.com\/\?q=/, "//div[@id='ddgPanel']", "", "", "reddit", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://duckduckgo.com/?q=***+site:reddit.com", "notJP");
addLink2(/^https:\/\/duckduckgo.com\/\?q=/, "//div[@id='ddgPanel']", "", "", "Quora", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://duckduckgo.com/?q=***+site:quora.com", "notJP");
//addLink2(/^https:\/\/duckduckgo.com\/\?q=/, "//div[@id='ddgPanel']", "", "", "PubMed", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com/, "https://pubmed.ncbi.nlm.nih.gov/?term=***", "notJP");
addLink2(/^https:\/\/duckduckgo.com\/\?q=/, "//div[@id='ddgPanel']", "", "", "PubMed", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://duckduckgo.com/?q=***+site:pubmed.ncbi.nlm.nih.gov", "notJP");
addLink2(/^https:\/\/duckduckgo.com\/\?q=/, "//div[@id='ddgPanel']", "", "", "Scholar", " ", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:pubmed\.ncbi\.nlm\.nih\.gov|.site:togetter\.com|.site:.*/, "https://scholar.google.co.jp/scholar?hl=ja&as_sdt=0%2C5&q=***&btnG=");
addLink2(/^https:\/\/duckduckgo.com\/\?q=/, "//div[@id='ddgPanel']", "", "", "twitter", "|", /.site:reddit\.com|.site:quora\.com|.site:https:\/\/www\.ted\.com\/.*|.site:.*/, "https://twitter.com/search?q=***&src=typd&f=live&vertical=default");
addLink2(/^https:\/\/duckduckgo.com\/\?q=/, "//div[@id='ddgPanel']", "", "", "togetter", "