
Apenas um trabalho pessoal, talvez não seja adequado a você.
| Instale via Chrome Web Store | Instale via Greasyfork | Instale via Firefox Addons |
|---|---|---|



? Hoothin.github.io
?
Você também pode baixar o código-fonte, clique duas vezes em start.cmd para compilar e depois inserir a página de configuração através do localhost: 3000
Você também pode baixar o código-fonte para a área local e clicar duas vezes em start.cmd e acessar localhost: 3000 depois de compilar o NPM para inserir a configuração.
Por favor, ajude a localizar esta extensão [1] [2] com o idioma com o qual você está familiarizado!
Bibliotecas totalmente abertas, sem privacidade, publicidade ou bibliotecas de terceiros, todos os dados são locais, sem interação do servidor
Você pode procurar fotos, links, vídeos, áudios, páginas, etc. ( Pressionar e clicar com o botão direito do mouse no objeto correspondente)
Suporta a pesquisa de marcação de palavras em qualquer página (requer clique com o botão direito do mouse , ou você pode alterá-lo para selecionar nas configurações e chamá-lo imediatamente)
Apoie a pesquisa no site
Você pode usar teclas de atalho (teclas únicas ou teclas de combinação) para ativar a pesquisa (como Alt+G Google Search, você pode personalizá -la à vontade)
Clique com o botão direito do mouse no ícone da categoria para abrir a mesma categoria em lotes
shift + Left Click no ícone da categoria para abrir lotes na nova janelaMantenha
shiftClick Left, clique o ícone da categoria para abrir em lotes na nova janela
ctrl + Left Click On Category para abrir na guia BackgroundSegure o clique com a esquerda
ctrlna guia de fundo do ícone da categoria abre em lotes
alt + clique com o botão esquerdo de um ícone de categoria para abrir várias janelas separadasSegure
altesquerdo do clique no ícone da categoria para abrir em lotes com várias janelas separadas
ctrl + shift + Click Left no ícone da categoria para abrir lotes na janela IncognitoSegure
ctrl + shiftCLAGO DA CLASLECE O ÍCON Categoria abre em lotes na janela invisível
alt + shift + Left Click On Category Icon para abrir lotes incorporadosHold
alt + shiftLeft Click Category Icon lote Incorpore
shift + Left Clique no ícone do site para abrir em nova janelaMantenha
shifte o clique esquerdo no site para abrir a página de resultado em uma nova janela
ctrl + (clique esquerdo/atalho/arrasto) no ícone do site para abrir na guia BackgroundMantenha pressionada a página de fundo
ctrl(clique com o botão esquerdo/tecla de atalho/arrasto) para abrir a página de resultado
alt + (Click/Shortcut/Drag) no ícone do site para visualizar em pequena janelaMantenha pressionado
alt(Clique com o botão esquerdo/shortcut/drag) para visualizar os resultados em uma pequena janela
ctrl + shift + (Click/Shortcut/Drag/Drag) Site/Pressione a tecla de atalho para abrir na janela Incognito.Segure
ctrl + shift(tecla de clique/atalho/arrasto do clique esquerdo) O site é aberto na janela invisível
ctrl + Enter para pesquisar sem bloqueio.Quando não houver um texto ou seleção de imagens, você pode chamar a caixa de pesquisa do site chamando a tecla de atalho.
A categoria pode ser exibida apenas em sites especificados através de configurações regulares
Clique com o botão direito do mouse Xiao Meng face para esconder completamente a barra de ferramentas
Clique à esquerda em Xiao Meng Face para abrir a página de configuração
Você pode arrastar e soltar o rosto fofo à vontade e selecionar a posição para colocá -lo à vontade, como o meio superior, o meio inferior, o canto superior esquerdo, o canto superior direito, o canto superior esquerdo, o canto superior direito, etc.
Apoie a exportação de configuração e compartilhamento rápido
Apoie o fundo da chave média para abrir o link
Suporta estilos personalizados
Apoiar a codificação de personagem completo
Apoia postagem, postagem na página e sem pós-salto
Funções abrangentes de personalização, consulte os parâmetros inferiores [de pesquisa]
Nenhuma biblioteca de dependência de terceiros
Expandir a categoria atual e avançar
Sem adulteração com a página original
Arraste e solte para pesquisar a categoria atual (texto/imagem/link).



| param | detalhes | Descrição detalhada |
|---|---|---|
%s | Pesquise palavra -chave | ? Sustct por palavras -chave |
%S | Palavra -chave de pesquisa em cache | ? Aste as últimas palavras -chave de pesquisa |
%sl | Pesquise palavra -chave com letras minúsculas | ? Aste minúscula letra de letra de termos de pesquisa |
%su | Pesquise palavra -chave com letras maiúsculas | ? Aste termos de pesquisa de carta capital |
%u | URL do site atual | ? ️ URL atual do site |
%h | Host atual do site | ? Aste Host atual do site |
%t | alvo src | ? Aste src apontando para o objeto |
%i | base64 da imagem alvo | ? Aste apontar para a base64 da imagem |
%s.replace | Substitua as palavras -chave por regexp, como %sr.place (/[^ d]/g, "") .place (/( d)/g, "$ 1") significa substituir palavras -chave brutas em números e, em seguida | ? ️ substituir palavras -chave de pesquisa por regularidade, como %sr.place (/[^ d]/g, "") .place (/( d)/g, "$ 1") Representa a extração de todos os números na palavra -chave original e separando -os com espaços, suportando %s %sl Sr %su % |
%p{params} | Poste o corpo, como %p {x = 1 & y = %s} | ? ️ Pós -parâmetro Post Body, por exemplo %p {x = 1 & y = %s} |
%P{params} | postar sem navegação | ? Aste postagem, mas não pular |
%input{tips} | Insira algo, como %entrada {love who?, você} | ? Aste Digite o espaço reservado, por exemplo, %de entrada {digite sua medição, 90 55 90} |
#p{params} | Publique na página, como #P { #Input =%u & Sleep (500) e clique em ( .submit )}, significa: insira URL atual para "#Input" e aguarde 500ms e clique em ".SubMIT". | ? Aste Post na página, você pode usar o seletor [CSS] para preencher os parâmetros e enviar consultas na página. Você pode usar & = no conteúdo para representar & = = |
["siteName1","siteName2"] | lote aberto pelo nome do site que você criou | ? Aste aberto em lotes através do nome do site que você criou, como ["Yahoo Search", "Google Search"] |
%element{} | Elemento de consulta para o InnerText de seletor ou xpath, como %elemento {.Maintitle} | ? Sust elementos de rastreamento através do seletor CSS ou XPath e Retornar conteúdo de texto, como %elemento {.Maintitle} |
%element{}.prop() | Retorne o valor do suporte para o elemento consultado, como %elemento {.Maintitle} .Prop (href) %elemento {.Maintitle} .Prop (innerHtml) | ? ️ obter o valor do atributo do elemento capturado, por exemplo %elemento {.maintitle} .prop (href) %elemento {.maintitle} .prop (innerhtml) |
%element{}.replace() | Substitua, o mesmo que acima, como %elemento {.Maintitle} .Prop (href) .place (/https/i, "") | Substituição regular, por exemplo, elemento {.Maintitle} .Prop (href) .Reguplace (/https/i, "") |
# popclip extension for SearchJumper
name : SearchJumper
icon : search filled S
url : https://search.hoothin.com/all#***Selecione o texto acima, o PopClip oferecerá uma ação "Instalar Extensão".
https://search.hoothin.com/all?kw=keywords&engine=someengine significa pesquisar palavras -chave com mecanismo de pesquisa chamado algumengine e aberto na nova guia.https://search.hoothin.com/all?kw=keywords&engine=someengine&self=1 significa pesquisar palavras -chave com mecanismo de pesquisa chamado algumengine e abrir na guia atual. {
"name" : " Open link in text " ,
"url" : " %sr.replace(/(点|。)/g, " . " ).replace(/[^ \ s \ w \ -_ \ .~! \ *';:@&= \ + \ $, \ / \ ?# \ [ \ ]%]/g, "" ).replace(/https: \ / \ /pan \ .baidu \ .com \ /s \ //, "" ).replace(/.*([ \ s::]|^)(1[a-z_0-9]{22,})[ \ s \ S]*? \ b([a-z0-9]{4} \ b|$).*/i, " https://pan.baidu.com/s/$2?pwd=$3 " ).replace(/ /g, "" ).replace(/^/, " http:// " ).replace(/^http: \ / \ /(https?:)/, " $1 " ) " ,
"kwFilter" : " \ w \ S* \ . \ S* \ w| \ w.*[点。].* \ w|1[a-zA-Z0-9]{22,} "
}{
"name" : " Send to phone " ,
"url" : " https://s.hoothin.com/#p{wait(x-peer)&rclick(x-peer)&#textInput=%s&click(#textInput+div>button)} "
}{
"name" : " ⌨️ 按行輸入" ,
"url" : " #p{@=%s[]} "
}{
"name" : " ?USD to RMB " ,
"url" : " showTips:https://api.exchangerate.host/convert?from=USD&to=CNY&amount=1 n {name}<br/><i>%sr USD = {json.result|*%sr.replace(/ \ D/,'')} RMB</i> " ,
"kwFilter" : " \ d \ $| \ $ \ d "
}{
"name" : " ?Currency convert " ,
"url" : " showTips:http://apilayer.net/api/convert?from=%input{From currency/US Dollar/Euro/Japanese Yen/China Yuan,USD/EUR/JPY/CNY}&to=%input{Target currency/US Dollar/Euro/Japanese Yen/China Yuan,USD/EUR/JPY/CNY}&amount=1&access_key=%template{apilayer key} n {name}<br/><i>%sr {json.query.from} = {json.result|*%sr.replace(/ \ D/,'')} {json.query.to}</i> "
}{
"name" : " ? AV預覽" ,
"url" : " showTips:https://www.javbus.com/%sr.replace(/^( \ w+?)[ \ -_]?( \ d+)$/, " $1-$2 " ) n <span style='font-size:22px;line-height:1.2;'>{h3}</span> n <p style= " margin: 0; font-size: 18px; font-weight: normal; " >{.info>p:nth-child(2)}</p> n <p style= " margin: 0; font-size: 18px; font-weight: normal; " >{.info>p:nth-child(6)}</p> n <p style= " margin: 0; " >{.genre a|<mark style= " white-space: nowrap;margin: 5px; font-size: 16px; border-radius: 5px; padding: 2px; box-shadow: 0px 0px 10px 0px #000; " >()</mark>}</p> n <img src='https://www.javbus.com{a.bigImage>img|src}' referrerpolicy='no-referrer'/> " ,
"kwFilter" : " ^[0-9a-zA-Z]+[ \ -_]? \ d+$ "
}{
"name" : " ? Japanese romaji " ,
"url" : " showTips:https://translate.googleapis.com/translate_a/single%p{client=gtx&dt=t&dt=bd&dj=1&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=at&sl=ja&tl=zh_CN&q=%s} n <h3 style='margin: 0;'>{name}</h3> n {json.sentences.all.trans} n <br> n <font style='display: block;' color='antiquewhite'>{json.sentences.all.orig}</font> n <font style='display: block;' color='yellow'>{json.sentences.-1.src_translit}</font> n <span style= " cursor:pointer;color:#f9690e; " data-read= " %sr.replace(/ " /g, " " " ) " data-lang= " ja " data-rate= " 1 " data-volume= " 1 " >?Read</span> " ,
"kwFilter" : " [ \ u3040- \ u309F \ u30A0- \ u30FF] "
}{
"name" : " ? Mile to km " ,
"url" : " showTips: n <i>%sr.replace(/( \ d+)(英里|英?哩|mi(le)?)/, " $1 " ) mi = {%sr.replace(/( \ d+)(英里|英?哩|mi(le)?)/, " $1 " )*1.609344} km</i> " ,
"kwFilter" : " \ d+ \ s*(英里|英?哩|mi(le)? \ b) "
}Clique em Pesquisar caixa de entrada com
ctrl + shiftctrl + shift
Clique no ícone da face de SearchJumper na lista de sites no mycroftproject clique no ícone de molho de pesquisa na lista de sites no mycroftproject
Destaque todo o URL de texto em qualquer site Destaque URL de texto em qualquer site
{
"*" : {
"words" : [
" /(https?: \ / \ /|www \ .)[^ \ s " ' \\ {} \ ( \ ) \ [ \ ]#]+ \ .[^ \ s " ' \\ {} \ ( \ ) \ [ \ ]#]+/i$s{unset;border-radius:unset;border-bottom-width:5px;border-bottom-style:dotted;border-bottom-color:red;}$t{@popup} "
]
}
}Destaque todo o ávido no número de destaque T66Y no Caoliu
{
"/^https://t66y \ .com/htm_data//i" : {
"sep" : " # " ,
"words" : [
" /([a-z] \ w+ \ -?| \ d{5,} \ -) \ d{2,}/i$s{unset;border-radius:unset;border-bottom:5px dotted red;}$t{@popup(? AV预览)}$in{.tpc_content} "
]
}
}^https://t66y\.com/htm_data/ com caso ignoreO regular
^https://t66y\.com/htm_data/que corresponde ao url caoliu entra em vigor depois que não é sensível ao caso
Separado por # porque existem espaços nas palavras -chave abaixo
Primeiro, procure o número de acordo com o regular "[0-9A-ZA-Z]+- d+", depois adicione estilo "Background: Unset; Border-Bottom: 5px Red Dotted;
Ocultar o usuário por ID de destino no xxxx.com elementos em um site com base em um determinado nome de usuário ou ID de usuário
{
"@someUserID" : " /12345|54321/l " ,
"@someUserName" : " /jack|adam|rose/i " ,
"/^https://xxxx \ .com/yyyy//i" : {
"sep" : " | " ,
"words" : [
" @someUserID$p{0} " ,
" @someUserName$p{0} "
]
}
}^https://xxxx\.com/yyyy/ com caso ignoreO URL corresponde aos regulares
^https://xxxx\.com/yyyy/e entra em vigor, e é insensível ao caso
Separado por |
Encontre o ID do usuário definido no modelo @womeUserID (o L regular representa o link do filtro), depois oculte o elemento que contém esse ID no link e também encontre o nome de usuário definido no modelo @someusername e oculte o elemento

// search by google
const siteName = 'Google search' ;
const searchJumperEvent = new CustomEvent ( 'searchJumper' , {
detail : {
action : 'search' ,
name : siteName
}
} ) ;
document . dispatchEvent ( searchJumperEvent ) ; const searchJumperEvent = new CustomEvent ( 'searchJumper' , {
detail : {
action : 'show'
}
} ) ;
document . dispatchEvent ( searchJumperEvent ) ; const searchJumperEvent = new CustomEvent ( 'searchJumper' , {
detail : {
action : 'showAll'
}
} ) ;
document . dispatchEvent ( searchJumperEvent ) ; const siteOrder = 2 ;
let currentSite = document . querySelector ( `.search-jumper-type:not(.search-jumper-hide)>a:nth-of-type( ${ siteOrder } )` ) ;
if ( currentSite ) {
const searchJumperEvent = new CustomEvent ( 'searchJumper' , {
detail : {
action : 'search' ,
name : currentSite . dataset . name ,
key : { altKey : true }
}
} ) ;
document . dispatchEvent ( searchJumperEvent ) ;
} const searchJumperEvent = new CustomEvent ( 'searchJumper' , {
detail : {
action : 'search' ,
key : { ctrlKey : true }
}
} ) ;
document . dispatchEvent ( searchJumperEvent ) ; const siteOrder = 2 ;
const searchJumperEvent = new CustomEvent ( 'searchJumper' , {
detail : {
action : 'search' ,
index : siteOrder ,
key : { ctrlKey : true , altKey : true }
}
} ) ;
document . dispatchEvent ( searchJumperEvent ) ; "D:Program Filesluxlux.exe" %u e envie.D:Program FilesBBDown"D:Program FilesBBDownBBDown.exe" %u -tv no comando de chamada, clique para gerar um patch de registroPatch de registro para ligar para Lux by SearchJumper
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTlux]
@= " URL:lux Protocol "
" URL Protocol " = " "
[HKEY_CLASSES_ROOTluxDefaultIcon]
@= " cmd.exe,1 "
[HKEY_CLASSES_ROOTluxshell]
[HKEY_CLASSES_ROOTluxshellopen]
[HKEY_CLASSES_ROOTluxshellopencommand]
@= " cmd /c set m=%1 & call set m=%%m:lux://=%% & d: & cd " D:\Program Files\lux " & call lux.exe %%m%% & pause "Modifique o caminho por si mesmo, modifique o diretório no patch, salve-o como lux.reg e clique duas vezes para importar o registro.
Abra a página do vídeo e faça o download com lux://%u após a conclusão, você pode criar um novo site e ligar para lux usando lux://%u para baixar o vídeo da página da web atual
config.yml , com o seguinte conteúdo: address: 伺服器地址
port: 伺服器端口
cors:
enabled: true
credentials: true
allowed_headers:
- '*'
allowed_hosts:
- https://hoothin.github.io
allowed_methods:
- '*'
exposed_headers:
- Content-Length
- Content-Range
users:
- username: 用戶名
password: 密碼
scope: webdav 同步文件夾路徑
modify: true
ICON de categoria de shift + clique
alt + shift + Click Category Icon
alt + Click Category Icon 