
Просто личная работа, может быть, не подходит вам.
| Установить через Chrome Web Store | Установите через Greasyfork | Установите через Addons Firefox |
|---|---|---|



Hoothin.github.io
?
Вы также можете загрузить исходный код, дважды щелкните start.cmd, а затем введите страницу конфигурации через Localhost: 3000
Вы также можете загрузить исходный код в локальную область и дважды щелкнуть start.cmd и получить доступ к Localhost: 3000 после компиляции через NPM для входа в конфигурацию.
Пожалуйста, помогите с локализацией этого расширения [1] [2] к языку, с которым вы знакомы!
Полностью открытый исходный код, без сбора конфиденциальности, рекламы или грязных сторонних библиотек, все данные локальные, без сервера взаимодействия
Вы можете искать изображения, ссылки, видео, аудио, страницы и т. Д. ( Long-Press и щелкнуть правой кнопкой мыши по соответствующему объекту)
Поддерживает поиск по маркировке слов на любой странице (требует длинного щелчка , или вы можете изменить ее, чтобы выбрать в настройках и немедленно вызвать его)
Поиск поддержки на сайте
Вы можете использовать короткие клавиши (отдельные клавиши или комбинированные клавиши) для включения поиска (например, Alt+G Google, вы можете настроить его по желанию)
Щелкните правой кнопкой мыши значок категории, чтобы открыть ту же категорию в партиях
shift + Щелкните влево на значок категории, чтобы открыть партии в новом окнеУстановите
shiftвлево, щелкните значок категории, чтобы открыть партии в новом окне
ctrl + Щелкните на значок категории, чтобы открыть в вкладке фонаУдерживайте
ctrlлевой щелчок.
alt + Щелкните значок категории, чтобы открыть несколько отдельных оконУстановите
altлевой щелчок значок категории, чтобы открыть партии с несколькими отдельными окнами
ctrl + shift + Щелкните на щелчок на значке категории, чтобы открыть партии в окне IncognitoУдерживайте
ctrl + shiftЩелкните левой кнопкой мыши. Значок категории открывается партиями в невидимом окне
alt + shift + Щелкните слева на значке категории, чтобы открыть встроенные партииУдерживайте
alt + shiftLeft Click
shift + Щелкните слева на значке сайта, чтобы открыть в новом окнеУстановите
shiftи щелкните левой кнопкой мыши сайт, чтобы открыть страницу результатов в новом окне
ctrl + (Щелкните слева/ярлык/перетаскивание) на значке сайта, чтобы открыть в вкладке фонаУдерживайте
ctrl(левый щелчок/клавиша сочетания/перетаскивание).
alt + (левый щелчок/ярлык/перетаскивание) на значке сайта для предварительного просмотра в небольшом окнеУдерживайте сайт
alt(левый щелкнутый/ярлык/перетаскивание), чтобы предварительно просмотреть результаты в небольшом окне
ctrl + shift + (левой кнопкой мыши/ярлык/перетаскивание) Одиночный сайт/нажмите клавишу ярлыка, чтобы открыть в окне Incognito.Удерживайте
ctrl + shift(левой кнопкой мыши/Клавиша ярлыка/перетаскивание) Сайт открывается в невидимом окне
ctrl + Enter для поиска без блокировки.Когда нет выбора текста или изображения, вы можете вызвать поле поиска на сайте, вызвав клавишу сочетания.
Категория может отображаться только на указанных сайтах через обычные настройки
Щелкните правой кнопкой мыши Сяо Мэн Лицо, чтобы полностью скрыть панель инструментов
Щелкните слева на лице Сяо Мэн, чтобы открыть страницу конфигурации
Вы можете перетаскивать симпатичное лицо по желанию и выбрать положение, чтобы поместить его по желанию, например, верхнюю середину, нижнюю середину, верхнюю левую, верхнюю правую, верхнюю левую, верхнюю правую и т. Д.
Экспорт конфигурации поддержки и быстрый обмен
Поддержите фон с средним ключом, чтобы открыть ссылку
Поддерживает пользовательские стили
Поддержка полного кодирования персонажа
Поддерживает сообщение, в страниц и без прыжков.
Комплексные функции настройки, см. Внизу [параметры поиска]
Нет сторонней библиотеки зависимостей
Расширить текущую категорию и аванс
Нет вмешивания в исходную страницу
Перетащите, чтобы найти текущую категорию (текст/изображение/ссылка).



| парамет | подробности | Подробное описание |
|---|---|---|
%s | Поиск ключевого слова | ? ️ Поиск ключевых слов |
%S | Кэшированный поисковый ключевой слово | ? ️ Последние ключевые слова поиска |
%sl | Поиск ключевого слова с буквами нижнего регистра | ? ️ Условия поиска строчных букв |
%su | Поиск ключевого слова с буквами верхнего регистра | ? ️ Стоимость |
%u | Текущий URL -адрес сайта | ? ️ текущий URL -адрес веб -сайта |
%h | Текущий хост сайта | ? ️ текущий хост сайта |
%t | Цель SRC | ? ️ SRC, указывающий на объект |
%i | BASE64 Целевого изображения | ? ️ указывать на базу64 картинки |
%s.replace | Замените ключевые слова REGEXP, например, %sr.replace (/[^ d]/g, "") .Replace (/( d)/g, "$ 1") означает заменить необработанные ключевые слова, а затем соедините все числа с пространством, поддержка %sr %sr %t %t %u | ? ️ Замените ключевые слова поиска с регулярностью, например, %sr.replace (/[^ d]/g, "") .Replace (/( d)/g, "$ 1") представляет собой извлечение всех чисел в исходное ключевое слово и разделение их пространствами, поддерживая %s %sr %s %t %u |
%p{params} | Post Body, например, %p {x = 1 & y = %s} | ? ️ Post Parameter Body, например, %p {x = 1 & y = %s} |
%P{params} | публиковать без навигации | ? ️ Пост, но не прыгай |
%input{tips} | Введите что -то, например, %input {love who?, You} | ? ️ Введите заполнитель, например, %ввода {введите свое измерение, 90 55 90} |
#p{params} | Разместите в странице, например, #P { #Input =%u & Sleep (500) & Click ( .submit )} | ️ Post На странице вы можете использовать [CSS Selection ] для заполнения параметров и отправить запросы на странице. Вы можете использовать & = в контенте для представления & = |
["siteName1","siteName2"] | партия открыта по имени сайта, которое вы создали | ? ️ Открыть партиями через имя сайта, которое вы создали, например [«Поиск Yahoo», «Google Search»] |
%element{} | Элемент запроса для внутреннего текста от селектора или xpath, например, %element {.maintitle} | ? ️ Элементы ползания через селектор CSS или XPath и возвращаемый текстовый содержимое, например, %элемента {.maintitle} |
%element{}.prop() | Значение return prop для запроса элемента, например, %element {.maintitle} .prop (href) %element {.maintitle} .prop (innerhtml) | ? |
%element{}.replace() | Замените, так же, как указано выше, например, %element {.maintitle} .prop (href) .replace (/https/i, "") | ? ️ Регулярная замена, например, %element {.maintitle} .prop (href) .replace (/https/i, "") |
# popclip extension for SearchJumper
name : SearchJumper
icon : search filled S
url : https://search.hoothin.com/all#***Выберите приведенный выше текст, PopClip предложит действие «Установка установки».
https://search.hoothin.com/all?kw=keywords&engine=someenginehttps://search.hoothin.com/all?kw=keywords&engine=someengine&self=1 {
"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) "
}Щелкните поле «Поиск» с
ctrl + shiftНажмите и удерживайтеctrl + shiftSHIFT Нажмите поле ввода поиска на текущей странице
Щелкните значок поискового значения лица в сайтах в MyCroftProject Нажмите значок Search Sauce в списке сайтов в MyCroftProject
Выделите все текстовые URL на любом сайте. Выделите URL -адрес текста на любом веб -сайте
{
"*" : {
"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} "
]
}
}Выделите все AVID на номере выделения T66Y на 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/ с делом игнорироватьРегулярный
^https://t66y\.com/htm_data/, который соответствует URL Caoliu вступает в силу после того, как он не чувствителен к корпусу
Разделены #, потому что в нижеприведенных словах есть места
Во-первых, ищите номер в соответствии с обычным «[0-9A-Za-Z]+- d+», затем добавьте стиль «Фон: unset; Border-Bottom: 5px dected Red;»
Скрыть пользователя по идентификатору Target на xxxx.com Элементы блокировки на веб -сайте на основе данного имени пользователя или идентификатора пользователя или идентификатора пользователя
{
"@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/ с делом игнорироватьURL-адрес соответствует обычным
^https://xxxx\.com/yyyy/и вступает в силу, и нечувствителен к случаям
Разделен по |
Найдите идентификатор пользователя в шаблоне @someuserid (обычный L представляет ссылку фильтра), затем скрыть элемент, содержащий этот идентификатор в ссылке, а также найдите имя пользователя, установленное в шаблоне @someusername и скрыть элемент

// 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 , затем отправьте.D:Program FilesBBDown"D:Program FilesBBDownBBDown.exe" %u -tv в команде Call, нажмите, чтобы сгенерировать патч реестраПатч реестра, чтобы позвонить Lux от 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 "Модифицируйте путь самостоятельно изменить каталог в патче, сохранить его как Lux.reg и дважды щелкните, чтобы импортировать реестр.
Откройте страницу видео и загрузите с lux://%u После завершения, вы можете создать новый сайт и позвонить Lux, используя lux://%u , чтобы загрузить текущую веб -страницу видео
config.yml , со следующим содержимым: 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
shift + Click Category Значок
alt + shift + Click Category Значок
alt + chick Category значок категории 