
Juste un travail personnel, peut-être ne vous convient pas.
| Installer via Chrome Web Store | Installer via graisseurs | Installer via des addons Firefox |
|---|---|---|



? Hoothin.github.io
? Search.Hoothin.com
Vous pouvez également télécharger le code source, double-cliquez sur start.cmd pour compiler, puis entrez la page de configuration via LocalHost: 3000
Vous pouvez également télécharger le code source dans la zone locale et double-cliquez sur start.cmd, et accéder à LocalHost: 3000 après avoir compilé via NPM pour entrer la configuration.
Veuillez aider à localiser cette extension [1] [2] à la langue que vous connaissez!
Entièrement open source, pas de collecte de confidentialité, de publicité ou de bibliothèques tierces désordonnées, toutes les données sont locales, pas d'interaction de serveur
Vous pouvez rechercher des images, des liens, des vidéos, des audios, des pages, etc. ( appuyez à long terme et cliquez avec le bouton droit sur l'objet correspondant)
Prend en charge la recherche de marquage de mots sur n'importe quelle page (nécessite un long clic droit , ou vous pouvez le modifier pour sélectionner dans les paramètres et l'appeler immédiatement)
Soutenir la recherche dans le site
Vous pouvez utiliser des touches de raccourci (touches simples ou touches combinées) pour activer la recherche (comme la recherche sur Google ALT + G, vous pouvez le personnaliser à volonté)
Cliquez avec le bouton droit sur l'icône de la catégorie pour ouvrir la même catégorie par lots
shift + Click gauche sur l'icône de la catégorie pour ouvrir les lots dans une nouvelle fenêtreMaintenez
shiftgauche-cliquez sur l'icône de la catégorie à ouvrir en lots dans une nouvelle fenêtre
ctrl + Click gauche sur l'icône de la catégorie pour ouvrir dans l'onglet d'arrière-planMaintenir
ctrlCliquez sur Cliquez sur la page d'onglet d'arrière-plan de l'icône de la catégorie s'ouvre en lots
alt + Cliquez sur Cliquez sur une icône de catégorie pour ouvrir plusieurs fenêtres séparéesMaintenez
altCliquez sur l'icône de la catégorie à ouvrir en lots avec plusieurs fenêtres séparées
ctrl + shift + Click gauche sur l'icône de la catégorie pour ouvrir les lots dans la fenêtre IncognitoMaintenez
ctrl + shiftCliquez sur Cliquez sur l'icône de la catégorie s'ouvre par lots dans la fenêtre invisible
alt + shift + Click gauche sur l'icône de la catégorie pour ouvrir les lots intégrésHold
alt + shiftCatégorie de clic gauche Icône Icône Batch incorpation ouverte
shift + Click gauche sur l'icône du site à ouvrir dans une nouvelle fenêtreHold
shiftet cliquez à gauche le site pour ouvrir la page de résultats dans une nouvelle fenêtre
ctrl + (clic gauche / raccourci / glisser) sur l'icône du site à ouvrir dans l'onglet d'arrière-planMaintenez la page d'onglet
ctrl(clic gauche / raccourci / glisser) Page d'arrière-plan du site pour ouvrir la page de résultat
alt + (clic gauche / raccourci / glisser) sur l'icône du site à prévisualiser dans une petite fenêtreMaintenez
alt(clic gauche / raccourci / glisser) pour prévisualiser les résultats dans une petite fenêtre
ctrl + shift + (clic gauche / raccourci / glisser) Site unique / Appuyez sur la touche de raccourci pour ouvrir dans la fenêtre Incognito.Maintenez
ctrl + shift(Click gauche / touche de raccourci / glisser) Le site s'ouvre dans la fenêtre invisible
ctrl + Entrez pour rechercher sans verrouillage.Lorsqu'il n'y a pas de sélection de texte ou d'image, vous pouvez appeler la boîte de recherche du site en appelant la touche de raccourci.
La catégorie ne peut être affichée que sur des sites spécifiés via des paramètres réguliers
Cliquez avec le bouton droit sur le visage Xiao Meng pour masquer complètement la barre d'outils
Cliquez sur le visage de Xiao Meng pour ouvrir la page de configuration
Vous pouvez faire glisser et laisser tomber le visage mignon à volonté et sélectionner la position pour la placer à volonté, comme le milieu supérieur, le milieu inférieur, le haut à gauche, le haut à droite, le haut à gauche, le haut à droite, etc.
Exportation de configuration de support et partage rapide
Prise en charge de l'arrière-plan médian pour ouvrir le lien
Prend en charge les styles personnalisés
Soutenir l'encodage complet des caractères
Poste de support, poste en page et sans poste de saut
Fonctions de personnalisation complètes, veuillez consulter les [paramètres de recherche inférieurs]
Aucune bibliothèque de dépendances tierces
Développez la catégorie actuelle et avance
Pas de falsification de la page d'origine
Gagnez-vous pour rechercher la catégorie actuelle (texte / image / lien).



| paramot | détails | Description détaillée |
|---|---|---|
%s | Rechercher le mot-clé | ? ️ Recherche de mots clés |
%S | Mot-clé de recherche en cache | ? ️ Les derniers mots clés de recherche |
%sl | Rechercher le mot-clé avec des lettres minuscules | ? ️ Conditions de recherche de lettres minuscules |
%su | Rechercher le mot-clé avec des lettres de case supérieur | ? ️ Conditions de recherche de lettres de majuscules |
%u | URL du site Web actuel | ? ️ URL du site Web actuel |
%h | Hôte du site Web actuel | ? ️ Hôte du site Web actuel |
%t | cibler src | ? ️ SRC pointant vers l'objet |
%i | base64 de l'image cible | ? ️ pointez la base64 de l'image |
%s.replace | Remplacez les mots clés par regexp, comme% sr.replace (/ [^ d] / g, "") .replace (/ ( d) / g, "1 $") signifie remplacer les mots clés bruts en numéros, puis rejoindre tous les chiffres avec l'espace, supporter% sl% sr% su% t% u | ? ️ remplacer les mots clés de recherche par la régularité, tels que% sr.replace (/ [^ d] / g, "") .replace (/ ( d) / g, "1 $") représente l'extraction de tous |
%p{params} | Post corps, comme% p {x = 1 & y =% s} | ? ️ Corps de paramètre post, par exemple% p {x = 1 & y =% s} |
%P{params} | Publier sans navigation | ? ️ Poster mais pas sauter |
%input{tips} | saisir quelque chose, comme% d'entrée {love who ?, vous} | ? ️ Entrez dans l'espace réservé, par exemple% d'entrée {Veuillez saisir votre mesure, 90 55 90} |
#p{params} | Publier dans la page, comme #p { #input =% u & sleep (500) & cliquez ( .Submit )}, signifie: Entrez l'URL actuelle sur "#input", puis attendez 500 ms, puis cliquez sur ".Submit". | ? ️ publication sur la page, vous pouvez utiliser le sélecteur [CSS] pour remplir les paramètres et soumettre des requêtes sur la page. Vous pouvez utiliser & = dans le contenu pour représenter & = |
["siteName1","siteName2"] | Lot ouvert par nom de site que vous avez créé | ? ️ Ouvrir par lots via le nom du site que vous avez créé, comme ["Yahoo Search", "Google Search"] |
%element{} | Élément de requête pour InnerText à partir de sélecteur ou xpath, comme% élément {.maintitle} | ? ️ Crawl des éléments via le sélecteur CSS ou le contenu du texte XPATH et de retour, tels que% élément {.maintitle} |
%element{}.prop() | RETOUR VALEUR PROP pour l'élément interrogé, comme% élément {.maintitle} .prop (href)% élément {.maintitle} .prop (innerHtml) | ? ️ Obtenez la valeur d'attribut de l'élément capturé, par exemple% élément {.maintitle} .prop (href)% élément {.maintitle} .prop (innerHtml) |
%element{}.replace() | Remplacer, identique à ci-dessus, comme% élément {.maintitle} .prop (href) .replace (/ https / i, "") | ? ️ remplacement régulier, par exemple% élément {.maintitle} .prop (href) .replace (/ https / i, "") |
# popclip extension for SearchJumper
name : SearchJumper
icon : search filled S
url : https://search.hoothin.com/all#***Sélectionnez le texte ci-dessus, PopClip offrira une action "Installer Extension".
https://search.hoothin.com/all?kw=keywords&engine=someengine signifie des mots clés de recherche avec moteur de recherche nommé SomeNingine et ouvrir dans un nouvel onglet.https://search.hoothin.com/all?kw=keywords&engine=someengine&self=1 signifie des mots clés de recherche avec moteur de recherche nommé de la langue et ouvrir dans l'onglet actuel. {
"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) "
}Cliquez sur Rechercher la zone d'entrée avec
ctrl + shiftAppuyez et maintenezctrl + shiftShift Cliquez sur la zone d'entrée de recherche dans la page actuelle
Cliquez sur l'icône SearchJumper Face dans la liste des sites sur MycroftProject Cliquez sur l'icône de la sauce de recherche dans la liste des sites sur MycroftProject
Mettez en surbrillance toute l'URL du texte sur n'importe quel site met en surbrillance URL texte sur n'importe quel site Web
{
"*" : {
"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} "
]
}
}Mettez en surbrillance AVID sur le numéro de surbrillance T66Y sur 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/ avec cas ignoreLe régulier
^https://t66y\.com/htm_data/qui correspond à l'URL de Caoliu prend effet après qu'il ne soit pas sensible à la casse
Séparés par # car il y a des espaces dans les mots clés ci-dessous
Tout d'abord, recherchez le nombre selon le "[0-9a-za-z] + - d +", puis ajouter le style "Background: Unset; Border-Bottom: 5px Disted Red;"
Masquer l'utilisateur par ID cible sur xxxx.com Bloquer les éléments sur un site Web en fonction d'un nom d'utilisateur ou d'un ID utilisateur donné
{
"@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/ avec cas ignorerL'URL correspond à la fonction régulière
^https://xxxx\.com/yyyy/et prend effet, et est insensible à la casse
Séparé par |
Recherchez l'indice d'utilisateur défini dans le modèle @Someuserid (le L régulier représente le lien filtre), puis masquez l'élément contenant cet ID dans le lien, et recherchez également le nom d'utilisateur défini dans le modèle @someUsername et masquez l'élément

// 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 , puis soumettez-vous.D:Program FilesBBDown"D:Program FilesBBDownBBDown.exe" %u -tv sur la commande d'appel, cliquez pour générer un correctif de registrePatch de registre à appeler Lux par 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 "Modifier le chemin par vous-même Modifiez le répertoire dans le patch, enregistrez-le en tant que lux.reg et double-cliquez pour importer le registre.
Ouvrez la page de la vidéo et téléchargez avec lux://%u après la fin, vous pouvez créer un nouveau site et appeler lux en utilisant lux://%u pour télécharger la page Web en cours
config.yml , avec le contenu suivant: 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
icône de catégorie shift + Cliquez
alt + shift + Icône de catégorie de clics
Icône de la catégorie alt + Cliquez 