{"[Google_Images]":{"link":"^(?:(google\\.\\S+/imgres\\?\\S*imgurl=.+)|gi_redirect/\\?.+)","url":"data:,$&","res":":\nconst n = this.node\nn.IMGS_fallback_zoom = null\n$[1] = $[1] ? 'https://'+$[1] : n.closest('a')?.href\nreturn new URL($[1]).searchParams.get('imgurl')","img":"^(data:image|encrypted-tbn\\d\\.gstatic\\.com/images).+","loop":2,"to":":\nif (/^(?:www\\.)?google\\./.test(new URL(document.URL).hostname)) {\n if (\n /\\/search\\?\\S*tbm=isch/.test(document.URL) || // Google Images\n /\\/imgres\\?imgurl=/.test(document.URL) || // Google Images > Image page (Related images)\n /\\/search\\?\\S*(?:imgrc|vhid)=/.test(document.URL) // Google > Image Pack > Side frame (Related images)\n ) {\n const element = document.querySelector('a:hover[role=\"button\"]')\n if (element) {\n element.dispatchEvent(new MouseEvent('mousedown', { bubbles: true }))\n return element.href\n }\n }\n \n if (/\\/search\\?\\S*udm=2/.test(document.URL)) // New Google Images\n {\n const element = document.querySelector('div:hover[role=\"button\"]')\n if (element) {\n return '//gi_redirect/?'+$[0]\n }\n }\n\n // SERP Features: Image Pack | moz.com/learn/seo/serp-features#image-pack / dataforseo.com/serp-features#images\n if (/\\/search\\?/.test(document.URL)) {\n let id, n = this.node.parentNode?.parentNode\n if(id = n?.getAttribute('data-docid')||n?.parentNode?.parentNode?.parentNode?.getAttribute('data-docid')){\n const o = Object.values(JSON.parse(document.body.outerHTML.match(/var m=({.+?});/)[1]))\n return o.find(i=>Array.isArray(i[1]?.[0])&&i[1][0]?.find(x=>x[1]===id))?.[1][0].find(y=>y[1]===id)?.[3][0]||o.find(i=>i[1]?.[1]===id)?.[1][3][0]||''\n }\n function findByDocid(obj, str) {\n if (typeof obj?.[1] === 'string' && obj[1] === str) {\n return obj\n }\n for (let val of Object.values(obj)) {\n if (val && typeof val === 'object' && (val = findByDocid(val, str), val)) {\n return val\n }\n }\n }\n\n function W_jd() {\n const s = document.createElement('script')\n s.textContent = 'sessionStorage.setItem(\"W_jd\", JSON.stringify(window.W_jd)); document.currentScript.remove();'\n document.head.appendChild(s)\n const result = sessionStorage.getItem('W_jd')\n sessionStorage.removeItem('W_jd')\n return JSON.parse(result)\n }\n\n const element = document.querySelector('div:hover[data-docid]')\n if (element) {\n return findByDocid(W_jd(), element.dataset.docid)[3][0]\n }\n }\n}\n\nreturn $[0]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1bercv8/comment/l7sqtzz\nOLD\nhttps://www.reddit.com/r/imagus/comments/1cpdjsp/comment/l3kbg4h\nhttps://www.reddit.com/r/imagus/comments/1bercv8/comment/kxh2934\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1480#16\n\n\n!!!\nФильтр должен всегда располагаться перед [data:image].\n+\nДля увеличения видео в результатах поиска - курсор наводить на название ролика. Фильтр НЕ работает для результатов поиска в Инстаграм и Фейсбук.\n==\nThe sieve must be placed always before [data:image].\n+\nTo show video in the search results - hover over the title of the video. The sieve does NOT work for Instagram and Facebook search results.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.google.com/search?q=Wes+Anderson\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1480#14"},"[data:image]":{"link":"(^data:image.+)","img":"(^data:image.+)","to":"$1","note":"Rodny + hababr (fix) + Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=4000#16\n\nПРИМЕРЫ / EXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1980#20"},"[HLS_Player]":{"link":"^[^?]+\\.(m3u8|mpd)","loop":1,"url":"data:,$0","res":":\nthis.TRG.IMGS_ext_data = [\n '//' + 'data:image/svg+xml,',\n `Video`\n]\nreturn 'imagus://extension'","to":"64h\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1484&limit=1&m=3#1","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2560#11\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1484&limit=1&m=3#1\n\n!!!\nДинамически загружаемый Video.js (https://github.com/videojs/video.js), поддерживающий HLS, DASH и выбор разрешения.\n+\nNB! - Может вызвать проблемы с видео на Реддит (перехватывает интерфейс плеера), поэтому должен находиться ниже фильтра Reddit_video|v.redd.it\n==\nDynamically loaded Video.js (https://github.com/videojs/video.js), supporting HLS, DASH and resolution selection.\n+\nNB! - May cause problems with the video on Reddit (intercepts the player interface), so it should be below the Reddit_video|v.redd.it sieve.\n\nПРИМЕРЫ / EXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1480#6"},"[Extension]":{"link":"^imagus:\\/\\/extension","loop":1,"url":":'data:,' + this.TRG.IMGS_c_resolved.URL","res":":\n// debugger\nfunction inject(tag, id, content, parent) {\n const elem = document.createElement(tag)\n elem.setAttribute('id', id)\n elem.textContent = content\n return parent ? parent.appendChild(elem) : document.head.appendChild(elem)\n}\n\nfunction override(that) {\n function reset() {\n if (that.EXTENSION.VIME) {\n that.EXTENSION.VIME.remove()\n delete that.EXTENSION.VIME\n }\n\n if (that.EXTENSION.VIDEOJS) {\n that.EXTENSION.VIDEOJS.player?.dispose()\n that.EXTENSION.VIDEOJS.remove()\n delete that.EXTENSION.VIDEOJS\n }\n\n if (that.EXTENSION.IFRAME) {\n that.EXTENSION.IFRAME.remove()\n delete that.EXTENSION.IFRAME\n }\n\n that.EXTENSION.innerHTML = '';\n }\n\n function setSVG(width, height) {\n clearInterval(that.timers.onReady);\n that.set(`data:image/svg+xml,`)\n if (cfg.hz.capWH) {\n that.CAP.children[1].textContent = `${width}\\u00d7${height}`\n }\n }\n\n that.resetNode_original = that.resetNode\n that.resetNode = (node, keepAlbum) => {\n if (node === that.TRG) reset()\n return that.resetNode_original(node, keepAlbum)\n }\n\n that.reset_original = that.reset\n that.reset = preventImmediateHover => {\n reset()\n return that.reset_original(preventImmediateHover)\n }\n\n platform.onkeydown_original = platform.onkeydown\n platform.onkeydown = e => {\n const url = that.TRG?.IMGS_ext?.attributes?.['url']?.textContent\n if (url && [e.code.replace(/^Key/, ''), e.key].includes(cfg.keys.hz_open)) {\n Port.send({ cmd: 'open', url: url, nf: e.shiftKey })\n } else {\n return platform.onkeydown_original(e)\n }\n }\n\n window.removeEventListener(platform[\"wheel\"], that.wheeler, true)\n that.wheeler_original = that.wheeler\n that.wheeler = function (ev) {\n if (that.EXTENSION.scrollHeight > that.EXTENSION.clientHeight + 10 && that.EXTENSION.contains(ev.target)) {\n return\n }\n // if (!ev.ctrlKey) {\n // var fullZmBackup = that.fullZm\n // that.fullZm = 0\n // }\n return that.wheeler_original(ev)\n // that.fullZm = fullZmBackup ?? that.fullZm\n }\n window.addEventListener(platform[\"wheel\"], that.wheeler, { capture: true, passive: false })\n\n that.fzClickAct_original = that.fzClickAct\n that.fzClickAct = e => !that.EXTENSION.contains(e.target) ? that.fzClickAct_original(e) : undefined\n\n that.prepareCaption_original = that.prepareCaption\n that.prepareCaption = (trg, caption = '') => {\n const m = caption.match(/()?(.*)/s)\n const e = () => { const t = document.createElement('template'); t.innerHTML = m[1]; return t.content.firstChild; }\n trg.IMGS_ext = trg.IMGS_ext_from_url || m[1] ? e() : undefined\n if (that.CAP) that.CAP.style.zIndex = 1\n return that.prepareCaption_original(trg, m[2])\n }\n\n that.show_original = that.show\n that.show = (msg, delayed) => {\n if (msg === 'load') {\n if (that.EXTENSION.VIDEOJS || that.EXTENSION.IFRAME) {\n return\n } else {\n return that.show_original(msg, delayed)\n }\n } else if (msg === undefined) {\n return that.show_original(msg, delayed)\n }\n\n const ext = that.TRG.IMGS_ext\n that.EXTENSION.style.display = ext ? 'block' : 'none'\n that.DIV.style.transform = ''\n\n const res = that.show_original(msg, delayed)\n\n if (ext) {\n const type = ext.getAttribute('type').split('-')\n const url = ext.getAttribute('url')\n that.EXTENSION.className = 'imagus-' + type[0]\n that.EXTENSION_custom_style.textContent = ext.getAttribute('custom-style')\n\n const isYoutube = /^https?:\\/\\/(www\\.)?(youtube\\.com|youtu\\.be)\\//i.test(url);\n if (isYoutube && type[0] === 'videojs') {\n type[0] = 'iframe'\n }\n\n switch (type[0]) {\n case 'iframe':\n if (!url || that.EXTENSION.IFRAME) {\n break\n }\n\n let html;\n if (isYoutube) {\n const ytId = url.match(/(?:v=|embed\\/|shorts\\/)([a-zA-Z0-9_-]{11})/)[1]\n const t = url.match(/t=([\\d,]+)/)?.[1] || 0\n html = ``\n\n } else {\n html = ``\n }\n that.EXTENSION.innerHTML = `
Click to enable/disable iframe control
${html}`\n that.EXTENSION.IFRAME = that.EXTENSION.querySelector(':scope > iframe')\n const h = [1440, 1080, 720, 360].find(i => i <= window.innerHeight) || 360;\n setTimeout(setSVG, 10, h / 9 * 16, h);\n // setSVG(3840, 2160)\n\n that.EXTENSION.querySelector('.imagus-iframe-control').addEventListener('click', function (ev) {\n // that.EXTENSION.style.pointerEvents = that.EXTENSION.style.pointerEvents == 'none' ? 'auto' : 'none';\n that.EXTENSION.style.zIndex = that.EXTENSION.style.zIndex != 'auto' ? 'auto' : '-1';\n })\n break\n\n case 'sidebar':\n that.EXTENSION.innerHTML = ext.innerHTML\n that.EXTENSION.scrollTop = 0\n const rect = that.EXTENSION.getBoundingClientRect()\n const tfX = rect.left < 0 ? -rect.left : rect.right > window.innerWidth ? window.innerWidth - rect.right : 0\n const tfY = rect.top < 0 ? -rect.top : rect.bottom > window.innerHeight ? window.innerHeight - rect.bottom : 0\n if (tfX || tfY)\n that.DIV.style.transform = `translate(${tfX}px, ${tfY}px)`\n break\n\n case 'banner':\n that.EXTENSION.innerHTML = `\n \n \n \n
\n ${ext.getAttribute('text')}\n
\n
\n
\n
\n `.replace(/\\n\\s*/g, '')\n break\n\n case 'videojs':\n if (!url || that.EXTENSION.VIDEOJS) {\n break\n }\n\n if (!that.EXTENSION.VIDEOJS_status) {\n that.EXTENSION.VIDEOJS_status = 'loading'\n console.time('Load Video.js')\n\n if (typeof loadVideoJS === 'function') {\n loadVideoJS()\n that.EXTENSION.VIDEOJS_status = 'loaded'\n console.timeEnd('Load Video.js')\n createPlayer()\n break\n }\n\n const urlsCSS = [\n 'https://cdn.jsdelivr.net/npm/video.js@7.20.3/dist/video-js.min.css',\n 'https://cdn.jsdelivr.net/npm/videojs-max-quality-selector@0.9.1/dist/videojs-max-quality-selector.css'\n // 'https://unpkg.com/video.js@7.20.3/dist/video-js.min.css',\n // 'https://unpkg.com/videojs-max-quality-selector@0.9.1/dist/videojs-max-quality-selector.css'\n ]\n\n const urlsJS = [\n 'https://cdn.jsdelivr.net/npm/video.js@7.20.3/dist/video.min.js',\n 'https://cdn.jsdelivr.net/npm/videojs-hotkeys@0.2.28/videojs.hotkeys.min.js',\n 'https://cdn.jsdelivr.net/npm/videojs-contrib-quality-levels@2.2.0/dist/videojs-contrib-quality-levels.min.js',\n 'https://cdn.jsdelivr.net/npm/videojs-max-quality-selector@0.9.1/dist/videojs-max-quality-selector.min.js',\n // 'https://unpkg.com/video.js@7.20.3/dist/video.min.js',\n // 'https://unpkg.com/videojs-contrib-quality-levels@2.2.0/dist/videojs-contrib-quality-levels.min.js',\n // 'https://unpkg.com/videojs-max-quality-selector@0.9.1/dist/videojs-max-quality-selector.min.js'\n ]\n\n const urlGet = (url) => new Promise((resolve, reject) => {\n const xhr = new XMLHttpRequest()\n\n xhr.onload = () => {\n if (xhr.status === 200) {\n console.log(xhr.statusText, '|', url)\n resolve(xhr.responseText.replace(/\\n?\\/\\*.+?\\*\\/\\n?/gs, '').trim())\n } else {\n console.error(xhr.statusText, '|', url)\n reject(xhr.statusText)\n }\n }\n\n xhr.onerror = () => {\n console.error(xhr.statusText, '|', url)\n reject(xhr.statusText)\n }\n\n xhr.open('GET', url)\n xhr.send()\n })\n\n const pCSS = Promise.all(urlsCSS.map(urlGet)).then((result) => {\n document.head.insertAdjacentHTML('beforeend', ``)\n })\n\n const pJS = Promise.all(urlsJS.map(urlGet)).then((result) => {\n Function(result[0]\n .replace(\n 'new Uint8Array(t.data.data,i.byteOffset||0,i.byteLength||t.data.data.byteLength)',\n '/firefox/i.test(window.navigator.userAgent)?cloneInto(new Uint8Array(t.data.data,i.byteOffset||0,i.byteLength||t.data.data.byteLength),window):new Uint8Array(t.data.data,i.byteOffset||0,i.byteLength||t.data.data.byteLength)'\n )\n .replace(\n 'n[t].forEach', // _this6[idName].forEach\n 'structuredClone(n[t]).forEach' // https://caniuse.com/mdn-api_structuredclone\n ) +\n ';window.videojs = videojs;' + result[1] +\n result.slice(2).join(''))()\n })\n\n Promise.all([ pCSS, pJS ]).then(() => {\n that.EXTENSION.VIDEOJS_status = 'loaded'\n console.timeEnd('Load Video.js')\n createPlayer()\n })\n }\n\n if (that.EXTENSION.VIDEOJS_status === 'loaded') {\n createPlayer()\n }\n\n function createPlayer() {\n that.EXTENSION.VIDEOJS = document.createElement('video')\n that.EXTENSION.VIDEOJS.setAttribute('class', 'video-js')\n that.EXTENSION.VIDEOJS.setAttribute('id', 'imagus-player')\n that.EXTENSION.appendChild(that.EXTENSION.VIDEOJS)\n\n const playerOptions = {\n autoplay: 'any',\n controls: true,\n loop: true,\n preload: 'auto',\n inactivityTimeout: 0,\n plugins: {\n hotkeys: {},\n },\n }\n\n videojs(that.EXTENSION.VIDEOJS, playerOptions, () => {\n const player = that.EXTENSION.VIDEOJS.player = videojs.players['imagus-player']\n const qLevels = player.qualityLevels()\n const mqSelectorOptions = {\n autoLabel: 'Auto ',\n disableAuto: true,\n displayMode: 1,\n defaultQuality: 2,\n maxHeight: window.innerHeight,\n maxWidth: window.innerWidth,\n filterDuplicateHeights: false,\n filterDuplicates: false,\n showBitrates: true\n }\n const mqSelector = player.maxQualitySelector(mqSelectorOptions)\n\n const setPlayerSize = (width, height) => {\n if (!player.isFullscreen()) {\n setSVG(width, height)\n }\n }\n\n qLevels.on('change', (e) => {\n setPlayerSize(qLevels[qLevels.selectedIndex].width, qLevels[qLevels.selectedIndex].height)\n })\n\n player.on('resize', () => {\n const vWidth = player.videoWidth()\n const vHeight = player.videoHeight()\n player.width(vWidth)\n player.height(vHeight)\n setPlayerSize(vWidth, vHeight)\n })\n\n player.on('fullscreenchange', () => {\n if (!mqSelector.selectedIndexPrevious) {\n mqSelector.selectedIndexPrevious = mqSelector.selectedIndex\n mqSelector.options.disableAuto = false\n mqSelector.changeLevel(-1) // auto\n } else {\n mqSelector.changeLevel(mqSelector.selectedIndexPrevious)\n delete mqSelector.selectedIndexPrevious\n }\n })\n\n player.volume(cfg.hz.mediaVolume / 100)\n player.src(url)\n })\n }\n\n break\n\n }\n }\n\n return res\n }\n\n that.switchToHiResInFZ_original = that.switchToHiResInFZ\n that.switchToHiResInFZ = () => {\n if (that.fullZm === 1) {\n that.EXTENSION.style.pointerEvents = 'auto'\n if (that.EXTENSION.VIME || that.EXTENSION.VIDEOJS || that.EXTENSION.IFRAME) {\n that.EXTENSION.style.zIndex = 'auto'\n }\n\n const iControl = that.EXTENSION.querySelector('.imagus-iframe-control')\n if (iControl) iControl.style.display = 'block'\n that.EXTENSION.VIDEOJS?.focus()\n }\n if (that.fullZm === false) {\n that.EXTENSION.style.pointerEvents = ''\n that.EXTENSION.style.zIndex = ''\n }\n return that.switchToHiResInFZ_original()\n }\n}\n\nif (!this.EXTENSION) {\n const style = `\n #imagus-extension {\n pointer-events: none;\n }\n\n #imagus-extension.imagus-sidebar {\n background: padding-box rgb(31, 31, 31);\n border: ${this.DIV.style.border};\n border-radius: ${this.DIV.style.borderRadius};\n box-shadow: ${this.DIV.style.boxShadow};\n box-sizing: border-box;\n color: white;\n font: 13px / 1.3 sans-serif;\n left: calc(-360px + ${this.DIV.style.borderWidth} - 1px);\n padding: 5px 8px 6px;\n position: absolute;\n top: -${this.DIV.style.borderWidth};\n white-space: pre-wrap;\n width: 360px;\n z-index: -1;\n max-height: calc(100% + ${this.DIV.style.borderWidth} * 2);\n overflow-y: auto;\n overflow-wrap: break-word;\n overscroll-behavior: contain;\n scrollbar-color: auto;\n }\n #imagus-extension.imagus-sidebar > b {\n font-weight: bold;\n }\n\n #imagus-extension.imagus-sidebar a {\n color: #bbccff\n }\n\n #imagus-extension.imagus-banner {\n position: relative;\n top: -20%;\n }\n #imagus-extension.imagus-banner div {\n display: table;\n height: 100%;\n width: 100%;\n }\n #imagus-extension.imagus-banner span {\n color: white;\n display: table-cell;\n font: 18px sans-serif;\n vertical-align: middle;\n text-align: center;\n white-space: pre-wrap;\n }\n #imagus-extension.imagus-banner:hover span {\n color: #cceeff;\n text-decoration: underline;\n }\n\n #imagus-extension.imagus-videojs {\n height: 100%;\n position: relative;\n top: -100%;\n z-index: -1;\n }\n #imagus-extension.imagus-videojs > #imagus-player {\n --bottom: 0;\n --left: 0;\n --margin: auto;\n --position: absolute;\n --right: 0;\n --top: 0;\n height: 100%;\n width: 100%;\n }\n #imagus-extension .vjs-max-quality-selector-button .vjs-menu {\n width: 12em;\n }\n #imagus-extension .vjs-max-quality-selector-button .vjs-menu .vjs-menu-content {\n padding: 5px;\n }\n\n .imagus-iframe-control {\n pointer-events: auto;\n cursor: pointer;\n position: fixed;\n inset: 0 auto auto 0;\n width: 100%;\n height: 5vh;\n border-left-top-radius: 1vh;\n background: yellow;\n opacity: .1;\n line-height: 5vh;\n text-align: center;\n z-index: 2;\n font-family: sans-serif;\n display: none;\n }\n .imagus-iframe-control:hover {\n opacity: .7;\n }\n #imagus-extension.imagus-iframe {\n /* pointer-events: none; */\n height: 100%;\n position: relative;\n top: -100%;\n /* z-index: -1; */\n }\n #imagus-extension > iframe {\n width: 100%;\n height: 100%;\n border: none;\n }\n `.replace(/\\n\\s*/g, '')\n this.EXTENSION = inject('div', 'imagus-extension', null, this.DIV)\n inject('style', 'imagus-extension-style', style)\n this.EXTENSION_custom_style = inject('style', 'imagus-extension-custom-style')\n override(this)\n}\n\nconst url = new URL($[0])\nif (url.search) {\n const elem = document.createElement('imagus-extension')\n url.searchParams.forEach((val, key) => elem.setAttribute(key, val))\n this.TRG.IMGS_ext_from_url = elem\n}\n\nthis.TRG.IMGS_ext_data?.forEach?.(i => {\n if (i[0] === '') i[0] = 'data:image/svg+xml,'\n})\n\nreturn this.TRG.IMGS_ext_data","note":"64h + Hababr (fix)\nhttps://www.reddit.com/r/imagus/comments/1ehjpht/comment/lk80ebs\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2560#4\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2419&limit=1&m=1#1\n\n\n!!!\nДинамически загружаемый Video.js (https://github.com/videojs/video.js), поддерживающий HLS, DASH и выбор разрешения.\n+\nДля остановки зацикливания видео - установить в параметре loop значение \"false\":\nhttps://i.imgur.com/iMVa3OF.png\n+\nДля управления HLS плеером с помощью горячих клавиш (перемотка, громкость, пауза) рекомендуется использовать CTRL (CTRL+PAUSE, CTRL+UP и так далее)\n==\nDynamically loaded Video.js (https://github.com/videojs/video.js), supporting HLS, DASH and resolution selection.\n+\nTo stop video looping, set the loop parameter to \"false\":\nhttps://i.imgur.com/iMVa3OF.png\n+\nIt is recommended to use CTRL (CTRL+PAUSE, CTRL+UP and so on) to control the HLS player with hotkeys (rewind, volume, pause)\n\n\n\nПРИМЕРЫ / EXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1480#6\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1240#9"},"[Audio Formats]":{"link":"\\.(?:aac|ac3|amr|ape|flac|m4a|opus|ra|wav|wma)(?:[?&]|$)","to":"$&#mp3","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jrdn2ly"},"1x":{"useimg":1,"link":"^1x\\.com/photo/(\\d+)","res":"photos-feed-image-[^\"]+\" src=\"([^\"]+)\n([^<]+)\n","img":"^(?:([^.]+\\.1x\\.com/images/user/[\\da-f]{32}-)(?:s[dq]|ld)(?=\\.)|1x\\.com/[A-Za-z0-9]+$)","to":":\nreturn $[1] ? `#${$[1]}#hd2 hd4 sd2 sd4#\\n${$[1]}` : this.node.closest('tr')?.querySelector('img')?.src","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jr9iz3u\nOLD\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jns5il6\n\n!!!\nДля \"Thumbs mode\" работает как обычно. Для \"Flow mode\" - навести курсор на имя автора. \n==\nFor \"Thumbs mode\" works as usual. For \"Flow mode\" - hover the cursor over the author's name. \n\nEXAMPLES\nhttps://1x.com/gallery\nhttps://1x.com/gallery/latest/published\nhttps://1x.com/photo/51960/category/humour/latest-additions/wheels-and-heels"},"123rf":{"useimg":1,"link":"^123rf\\.com/photo_\\d+","res":"\"fileFormat\":\"image/[^\"]+\",\"url\":\"([^\"]+)\"\n<title>([^<]+)","img":"^us(\\.123rf\\.com/)450wm(/.*)","to":"previews$1images$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jns5il6\nOLD\nhttps://www.reddit.com/r/imagus/comments/co5d0k/comment/ewj7k9s\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.123rf.com/clipart-vector/music.html?imgtype=1&oriSearch=music\nhttps://www.123rf.com/clipart-vector/green_apple.html?imgtype=1"},"2GIS.ru":{"img":"^(i\\d+\\.photo\\.2gis\\.\\w+/images/\\S+)(?:_\\d+x\\d+\\.)(jpe?g|gif|png)","to":"$1.$2","note":"64h\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1100#5\n\nПРИМЕРЫ\nhttps://2gis.ru/moscow/gallery/firm/4504127908875338/photoId/30258560077653165?m=37.615442%2C55.760211%2F16.95\nhttps://2gis.ru/sochi/gallery/route/4222730366606936/photoId/30258560047830220?m=39.724498%2C43.58493%2F18.73"},"22pixx-x":{"link":"^(22pixx\\.xyz/)[^-]+-(\\w/[^?]+)\\.html.*","img":"^(22pixx\\.xyz/[or])s(/[^?]+).*","to":"$1$2","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/17ixrr3/comment/k6xuphr\nOLD\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/k0jqmfs\nhttps://www.reddit.com/r/imagus/comments/ipuury/22pixxxyz_sieve/\n\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1369&limit=1&m=1#1\nhttps://www.reddit.com/r/imagus/comments/17ixrr3/22pixxxyz_sieve_needs_updating"},"23hq":{"link":"^(23hq\\.com/(?:[^/]+/)?[^/]+/photo/\\d+)(\\?.*)?$","res":":\nlet o=($._.match(/var originalURL\\s*=\\s*\"([^\"]+)/)||[,''])[1]\nlet l=($._.match(/id=\"fn_img\" src=\"([^\"]+)/)||[,''])[1]\nreturn [[[o&&o.length?'#'+o:'',l]]]","img":"^(23hq\\.com/\\d+/\\d+_[\\da-f]{32}_)(?!large)[^\\.]+","to":"$1large","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jxydqur\n\nEXAMPLES\nhttps://www.23hq.com/tag/church?page=3\nhttps://www.23hq.com/photogroup/wgt/photos?orderby=posting_date&page=5\nhttps://www.23hq.com/photogroup/Iceland/user/MickPt?orderby=posting_date&page=8"},"220-volt.ru":{"link":"220-volt\\.ru/catalog-\\d+/","res":":\nvar i = $._.indexOf('<div style=\"display:none;\">');\nif(i<0) {return null; }\nvar t = $._.indexOf('</div>', i);\nif(t<0) {return null; }\nvar res = [];\nvar re = /href=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a)   {\n   res.push([a[1]]);\n   a = re.exec(data);\n}\nreturn res;\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3920#11\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#7\n\n\nПРИМЕРЫ\nhttps://www.220-volt.ru/catalog/benzopily/\nhttps://www.220-volt.ru/catalog/frezernye-stanki/\nhttps://www.220-volt.ru/catalog/gazonokosilki/"},"3DHentaiX-x-p":{"link":"^3dhentaix\\.com/.+/$","res":":\nvar id = $._.match(/id: \\'([^'])+/gm)[0].substring(5);\nvar nonce = $._.match(/nonce: \\'([^'])+/gm)[0].substring(8);\nvar p = this, x = new XMLHttpRequest;\nx.open('POST', 'https://3dhentaix.com/wp-admin/admin-ajax.php');\nx.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\nx.timeout = 3000;\nx.send(\"action=msv-get-sources&id=\"+id+\"&nonce=\"+nonce);\nx.onloadend = function() {\n const resolutions = JSON.parse(this.responseText).sources[\"video-source-0\"];\n p.prepareCaption(p.node, 'Test');\n p.set(resolutions + \"#mp4\");\n}\nreturn null","note":"Randlai + Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=560#15\nOLD\nhttps://www.reddit.com/r/imagus/comments/uobpsx/comment/i8hr3fc\n\nПРИМЕРЫ / EXAMPLES\nhttps://3dhentaix.com/school-girls/\nhttps://3dhentaix.com/uncensored/"},"35photo.pro":{"link":"^(.+\\.)?35photo\\.pro\\/photo_\\d+\\/(\\?nude=ok)?$","res":"id=\"mainPhoto\" src=\"([^\"]+)\"","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1560#2\n\nПРИМЕРЫ / EXAMPLES\nhttps://35photo.pro/photo_1334844/#author/1334844\nhttps://35photo.pro/naskens/albums/6699/\nhttps://35photo.pro/nevmerzhitskaya/albums/5981/"},"4chan-p":{"img":"^(i\\.4cdn\\.org/[\\da-z]+/\\d+)s\\..*","to":"$1.#jpg png webm gif#","note":"!!!\nFor the sieve to work on external links, you need a rule for SMH (see FAQ, p.12).\n\nEXAMPLES\nhttps://boards.4channel.org/vr/catalog\nhttps://boards.4channel.org/an/\nhttps://boards.4channel.org/g/\nhttps://boards.4chan.org/pol/"},"ADmagazine.ru-p":{"img":"^(media\\.admagazine\\.ru/photos/\\w+/master/w_)\\d+(,c_limit/\\S+\\.\\w{3,4})","to":"$110000$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3700#15\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2840#16\n\nПРИМЕРЫ\nhttps://www.admagazine.ru/interior/interer-s-oblozhki-v-gostyah-u-dekoratora-yulii-akimovoj\nhttps://www.admagazine.ru/article/novaya-domashnyaya-kollekciya-ot-la-doublej?utm_social-type=owned&utm_brand=ad-ru"},"4PDA_video-p":{"link":"^4pda\\.to/forum/dl/post/(\\d+)/.+\\.mp4","url":"https://4pda.to/forum/index.php?act=attach&id=$1","res":":\nreturn $._.match(/<a id=\"\\w+\" href=\"([^\"]+)\" target=\"_blank\">/)[1]+'#mp4';\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1580#9\n\nПРИМЕРЫ\nhttps://4pda.to/forum/index.php?showtopic=1033108&view=findpost&p=119337312\nhttps://4pda.to/forum/index.php?showtopic=1033108&view=findpost&p=119314713"},"4shared":{"link":"4shared\\.com/(?:s|all-images|photo|video)/.*","res":":\nif(/4shared\\.com\\/all-images\\//.test($.base)){\nif(!this.array){this.array = []}\nthis.array.push(...[...$._.matchAll(/<img class=\"jsImageThumbnailLink\" src=\"([^\"]+)/g)].map(i=>[i[1]]));\nreturn /<a class=\"jsAllImagesNext submit-gray no-line\" href=\"/.test($._) ? {loop:'https://www.4shared.com'+$._.match(/<a class=\"jsAllImagesNext submit-gray no-line\" href=\"([^\"]+)/)[1]} : (()=>{const res = this.array; delete this.array; return res})();\n} else {\nreturn $._.match(/(?:<img id=\"zoom_image\" src=\"|[^{]file: ')(https:\\/\\/[^.]+\\.4shared\\.com\\/img\\/[^'\"]+)/)[1]\n}","img":"((?:[^.]+\\.)?4shared\\.com/img/[^?]+/)s20(/.*)","to":"$1s23$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.4shared.com/s/fc-dAX9fsea\nhttps://www.4shared.com/s/fweqrZWJcea\nhttps://www.4shared.com/all-images/2fZt0j6U/Свечи.html"},"500px":{"img":"^(?:pp?|drs)cdn\\.500px\\.org/photo/.+","to":":\nreturn $[0]","note":"wa-Nadoo\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l78dgz7\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=940#16\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://500px.com/editors\nhttps://500px.com/discover/feed\nhttps://500px.com/p/kadirirkin?view=photos\nhttps://500px.com/search?q=yellow&type=photos&sort=relevance"},"8muses-x-p":{"link":"^(?:comics\\.)?8muses\\.(com/comics|io)/album/.+","res":":\nvar i = $._.indexOf('div class=\"gallery\"');\nif(i<0) { return null; }\nvar t = $._.indexOf('</div></a> </div></div>', i);\nif(t<0) t = $._.indexOf('<script src=\"', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /<img class=\"\\s?lazyload(?:ed)?\" data-src=\"([^\"]+)\"/gi\nvar a = re.exec( $._.substring(i,t) );\nwhile(a) {\n res.push(['https://'+($[1][0]==='i'?'8muses.io'+a[1].replace('/th_','/full_'):'comics.8muses.com'+a[1].replace('/th/','/fl/'))]);\n a = re.exec( $._.substring(i,t) );\n}\nreturn res;","img":"^((?:comics\\.)?8muses\\.(com|io)/(?:img/data|image)/)th","to":":\nreturn $[1]+($[2][0]==='i'?'full':'fl')","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/18bz31i/comment/kccr1w0\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2700#4\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://8muses.io/album/Zuleyka-3D-Comics\nhttps://8muses.io/album/Zuleyka-3D-Comics/Fail-Of-Lara\nhttps://comics.8muses.com/comics/album/Bad-Girls-Art-Comics\nhttps://comics.8muses.com/comics/album/MCC-Comics/Trigger-Warning/Issue-9\nhttps://comics.8muses.com/comics/album/Theme-Collections/The-Powerpuff-Girls"},"9GAG":{"link":"9gag\\.com/gag/\\w+","res":":\nvar i = $._.indexOf('JSON.parse');\nif(i<0) { return null; }\nvar t = $._.indexOf('\");</script>', i);\nif(t<0) { return null; }\nvar jsr=$._.substring(i+12,t).replace(/\\\\\"/g,'\"').replace(/\\\\\\\\/g,'');\nvar json=JSON.parse(jsr);\nif (json.data.post.type=='Animated')\n {return json.data.post.images.image460sv.vp9Url;}\nreturn json.data.post.images.image700.webpUrl;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3340#18\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/9gag.com/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3340#13\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3340#17"},"1688.com":{"link":"^d(?:etail\\.1688\\.com/offer/\\d+\\.html|j\\.1688\\.com/ci_bb\\?.+)","res":":\nconst video_first = false\n\n$=JSON.parse($._.match(/window\\.__INIT_DATA=([^\\n]+)/)[1]);\n$=Object.values($.data).find(i=>i.data?.offerImgList||i.data?.video)?.data||[];\n$=video_first ? [$.video?.videoUrl].concat($.offerImgList) : ($.offerImgList||[]).concat($.video?.videoUrl);\nreturn $.filter(Boolean).map(i=>[i])","img":"^(cbu\\d+\\.alicdn\\.com/img/[^.]+\\.)(?:\\d+x\\d+\\.)?","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lksuszh\nOLD\nhttps://www.reddit.com/r/imagus/comments/2xcn05/sieve_fo1688com\n\n\nEXAMPLES\nhttps://s.1688.com/selloffer/offer_search.htm?keywords=raspberry\nhttps://fuzhuang.1688.com/nanzhuang?spm=a262eq.12572798.jsczf959.1.4ad92fb14W4uGR\nhttps://show.1688.com/pinlei/industry/pllist.html?spm=a260j.12536027.jr60bfo3.25.2cd71ade0Hz9Og&&sceneSetId=856&sceneId=33706&bizId=217526&adsSearchWord=%E7%88%B8%E7%88%B8%E7%9F%AD%E8%A3%A4"},"Adultempire-x-p-b":{"img":"^(.*adultempire\\.com/products/\\d+/\\d+)m.*","to":"$1h.#jpg jpeg#","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3616#1\n\n\nEXAMPLES\nhttps://www.adultempire.com/sex-toys.html\nhttps://www.adultempire.com/385/category/milf-porn-videos.html\nhttps://www.adultempire.com/clips?scene_attribute=390"},"Aftershock.news":{"useimg":1,"img":"\\/files(\\/styles\\/(icon|teaser(large)?|avatar-mini)\\/public)","dc":2,"to":"/files","note":"atorn\nhttps://aftershock.news/?q=node/1031526&full\n\nПРИМЕРЫ\nава­та­ры, ти­зе­ры (из спис­ков, а не из ста­тьи), икон­ки раз­де­лов"},"AG.ru":{"link":"^ag\\.ru/screenshots/(\\w+/\\d+)","url":"http://www.ag.ru/screenshots/$1","res":"<td[^<]*?\\sstyle=\"background:url\\(([^\\)]+)\\)","img":"^(cdn\\.ag\\.ru\\/media\\/resize)\\/\\d+\\/(-\\/(screenshot|movie)s\\/\\w+\\/\\w+\\.\\w+)","to":":\nlet m;\nif($[3]==='movie'){\nm=document.body.outerHTML.match(/window\\.CLIENT_PARAMS\\s*=\\s*({.+?})<\\//)?.[1];\nm=m&&JSON.parse(m).initialState?.game?.movies?.results?.find(i=>RegExp(`${$[2].slice(2)}`).test(i.preview))?.data?.max;\n}\nreturn m ? m : $[1]+'/1920/'+$[2];","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lf0wn7y\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1140#3\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1560#18\n\nПРИМЕРЫ\nhttps://ag.ru/games/devastationzone-troopers/screenshots\nhttps://ag.ru/games/warlock-2-the-exiled/screenshots"},"AIBooru.online-x-q":{"useimg":1,"link":"^aibooru\\.online\\/posts\\/\\d+","res":":\nlet url;\n//if set to false, the largest possible media will be selected rather as opposed to web optimized media\nlet prefer_lowres=false;\nif(prefer_lowres){\n url = ($._.match(/(?:src|large-link\" href)=\"((?=https:\\/\\/cdn)[^\"]+)/) || [])[1];\n}else{\n url = ($._.match(/(?:secure_url\" content|original-link\" href)=\"([^\"]+)/) || [])[1];\n}\nconsole.log(url);\nreturn [url];","img":"^(?:s?(?:img|thumb|cdn)\\d?\\.|assets\\.)?(aibooru\\.online/+)(?:sample|thumb(?:nail)?|\\d+x\\d+)?/(\\w\\w/\\w\\w)/(?:thumbnail|sample-)?([\\da-f]+).*","to":"#cdn.$1/original/$2/$3.#png mp4 webm webp jpg gif jpeg#\ncdn.$1sample/$2/sample-$3.#png webp jpg gif jpeg#","note":"throwawayS251 + imqswt (edit)\nhttps://www.reddit.com/r/imagus/comments/1725bvc/comment/k3y81rr\nOLD\nhttps://www.reddit.com/r/imagus/comments/13fm75l/comment/jjzlfo6\nhttps://www.reddit.com/r/imagus/comments/11s43t5/aibooruonline_sieve_update\n\n!!!\nIn the sieve, you can select the image res:\n//if set to false, the largest possible media will be selected rather as opposed to web optimized media\nlet prefer_lowres=false;\n\nEXAMPLES\nhttps://aibooru.online/artists/903\nhttps://aibooru.online/posts?tags=bangs&z=2\nhttps://aibooru.online/posts?tags=animated&z=5\nhttps://aibooru.online/posts/45827?q=parent%3A45827"},"Airbnb":{"link":"^airbnb\\.(com|de|it|es|fr|com.br|dk|co.uk|ru|pl|co.kr|cz|hu|at|pt|gr|com.tr|nl|se|com.tw|com.hk|com.sg|co.id|com.my|com.au|jp|is|no|ch|co.nz|ca|be|fi|ie|cat|co.in|cn|mx|cl|co.cr|co.ve|com.ar|com.bo|com.bz|com.co|com.ec|com.gt|com.hn|com.ni|com.pa|com.pe|com.py|com.sv|com.mt|gy|ae|co.il|co.th|com.ph|com.vn|co.za|lu|com.hr|com.kh|com.ua|la|kg|al|am|az|ba|com.ee|com.ro|lt|lv|me|rs|si|org)/(rooms|luxury).*/\\d+(\\?|$)","res":":\nvar pics = /\"mediaItems\":(\\[.+?\\])/.exec($._);\npics = JSON.parse(pics[1]);\nreturn pics.map(p => [p.baseUrl.replace('/pictures/','/im/pictures/') + '?im_w=1920', p.accessibilityLabel]);\n","img":"^(..\\.muscache\\.com/im/pictures/.+\\.jpe?g\\?im_w)=\\d+","to":"$1=1920","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=660#4\n\nПРИМЕРЫ / EXAMPLES\n(ссылка в виде кода)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=660#3"},"Airplane-Pictures":{"img":"^(cdn\\.airplane-pictures\\.net\\/images\\/uploaded-images\\/\\d{4}\\/\\d+\\/\\d+\\/\\d+)\\w+(\\.jpg)$","to":"$1$2","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1680#8\n\nEXAMPLES\nhttps://www.airplane-pictures.net/"},"Alamy-p":{"link":"^alamy.com/[^.]+-(?:image)?\\d+\\.html","res":"=\"og:image\" content=\"([^\"]+)\n<title>([^<]+)","note":"https://www.reddit.com/r/imagus/comments/14ntai8/comment/jqbx2xe\n\nEXAMPLES\nhttps://www.alamy.com/stock-photo/red.html?sortBy=relevant\nhttps://www.alamy.com/stock-photo/green-energy.html?sortBy=relevant\nhttps://www.alamy.com/stock-photo/green-energy.html?imgt=2&sortBy=relevant"},"AlphaCoders-p":{"img":"^(\\w*\\.alphacoders\\.com/.+)thumb(?:big)?-(?:\\d+-)?(.+\\.)(\\w{3,4})$","to":"$1$2#$3 gif png jpg jpeg mp4#","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lgkwer7\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#11\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://alphacoders.com/anime-wallpapers\nhttps://alphacoders.com/dragon\nhttps://alphacoders.com/users/profile/239750/KanetyKun"},"Allanal|Analonly|Nympho|Swallowed_trailers-p-x":{"link":"(?:tour.)?(?:allanal|analonly|nympho|swallowed|trueanal).com/(?:view|scenes)/.*","res":"(?:src|href)=\"([^\"]+)\" (?:type|class)=(?:'video/mp4'|\"download-trailer\")","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1163&limit=1&m=1#1\n\nEXAMPLES\nhttps://tour.allanal.com/scenes\nhttps://tour.analonly.com/scenes\nhttps://tour.nympho.com/scenes\nhttps://tour.nympho.com/models/emma-starletto\nhttps://tour.swallowed.com/scenes"},"ALIEXPRESS":{"link":"(?:\\w\\w|www)?\\.?aliexpress\\.(com|ru)/item/(?:[\\w-]*?/)?(\\d+)\\.html.*","url":"aliexpress.$1/item/$2.html","res":":\nconst r = [];\nconst oldStyle=$._.match('data: ({.+})\\s*};');\nif (oldStyle) {\n const jsn=JSON.parse(oldStyle[1]);\n for (const url of jsn.imageModule.imagePathList) {\n r.push([url, '']);\n }\n}\ntry {\n const page = (new window.DOMParser()).parseFromString($._,'text/html');\n let imgs = Array.from(page.querySelectorAll('div[class^=\"gallery_Gallery__picture\"] > picture > img, div[class^=\"gallery_Gallery__video\"] > video'));\n if (imgs.length<1) {\n imgs = Array.from(page.querySelectorAll('div[class^=\"Product_GalleryBarItem\"] > img, div[class^=\"ProductDescription-module_wrapper\"] img'));\n }\n for (const i of imgs) {\n // filter out images inside links\n if (i.parentElement.nodeName === 'A') continue;\n let url = i.attributes.src.value.replace(/_\\d+x\\d+\\.(jpe?g|png)$/, '');\n url = url.replace('`','');\n r.push([url, '']);\n }\n const id = $[2];\n const x = new XMLHttpRequest;\n x.open('POST', 'https://aliexpress.ru/aer-jsonapi/review/v1/desktop/product/reviews?product_id=' + id +'&_bx-v=2.2.3', false);\n x.send('{\"productId\":\"' + id + '\",\"pageSize\":20,\"pageNum\":1,\"reviewFilters\":[\"ReviewFilter_WITH_PHOTO\"],\"starFilter\":\"StarFilter_ALL_STARS\",\"sort\":\"ReviewSort_USEFUL\"}');\n JSON.parse(x.responseText).data.reviews.forEach(f=>{\n if (f.additionalReview && f.additionalReview.images && f.additionalReview.images.length) {\n f.text += ' | 💬 ' + f.additionalReview.text;\n f.images = f.images.concat(f.additionalReview.images);\n }\n f.images.forEach(p => r.push([p.url, f.grade + '⭐ | ' + f.text]))\n });\n\n} catch (e) {}\n\nreturn r;","img":"(.*\\.alicdn\\.com/.+)_\\d+x\\d+\\.(jpe?g|png)","to":"$1","note":"hababr + Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1700#4\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1460#5\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1220#21\n\n\n!!!\nКурсор желательно наводить на название товара. Данный фильтр показывает не только фото товара, но и фотографии в отзывах покупателей с текстами их отзывов - но только если пользователь авторизован и прошел проверку (слайдер) + в домене COM может не работать.\n==\nIt is desirable to hover the cursor over the name of the product. This sieve shows not only photos of the product, but also photos in customer reviews with the texts of their reviews - but only if the user is authorized and has passed the check (slider) + it may not work in the COM domain.\n\nПРИМЕРЫ / EXAMPLES\nhttps://aliexpress.ru/popular/shockproof-armor-case.html\nhttps://aliexpress.ru/category/202000005/home-appliances.html?spm=a2g2w.home.category.3.75df5931pbFi9W\nhttps://aliexpress.com/w/wholesale-Shockproof-Armor-Case.html\nhttps://www.aliexpress.com/w/wholesale-TV.html?SearchText=TV&catId=200002397"},"ALIEXPRESS+TAOBAO":{"img":"^((?:img[^.]*|g(?:[^.]*\\.?){1,2}?|asearch|\\w\\w\\d\\d)\\.(?:taobao|tb|ali)cdn\\.c(?:om|n)/)(.+)_\\d+x\\d+.+","to":"$1$2"},"Allegroimg":{"link":"(\\w\\.allegroimg\\.com/)(?:original|s\\d+)(/.*)","img":"(\\w\\.allegroimg\\.com/)(?:original|s\\d+)(/.*)","to":"$1original$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"AlternativeTo.net":{"link":"^alternativeto\\.net/software/[^/]+/about/","res":":\nconst result = JSON.parse($._.match(/__NEXT_DATA__[^{]+([^<]+)/)[1]).props.pageProps.mainItem.images.filter((i) => i.type === 'Screenshot').map((i) => [i.signedImages[0].signedURL])\nreturn result.length > 0 ? result : false","img":"^d4\\.alternativeto\\.net.+\\/(\\w+)\\.\\w+$","to":":\nconst elem = document.createElement('script')\nelem.textContent = `{\n const s = JSON.stringify([\n window.__NEXT_DATA__.props.pageProps.mainItem?.images,\n window.__NEXT_DATA__.props.pageProps.items?.map((i) => i.images),\n window.next.router.components['/software/[urlName]']?.props.pageProps.mainItem?.images,\n window.next.router.components['/software/[urlName]']?.props.pageProps.items?.map((i) => i.images),\n window.next.router.components['/software/[urlName]/about']?.props.pageProps.mainItem?.images,\n window.next.router.components['/software/[urlName]/about']?.props.pageProps.items?.map((i) => i.images)\n ].filter(Boolean))\n const m = s.match(new RegExp('fileName\":\"([^\"]+)\",\"type\":\"(Screenshot|Icon)\"[^}]+${$[1]}'))\n sessionStorage.setItem('imagus-file', m[1] + ';;' + m[2])\n document.currentScript.remove()\n}`\ndocument.head.appendChild(elem)\nconst [ file_name, file_type ] = sessionStorage.getItem('imagus-file').split(';;')\nsessionStorage.removeItem('imagus-file')\nreturn `https://d2.alternativeto.net/dist/${file_type === 'Icon' ? 'icons' : 's'}/${file_name}?format=${/\\.gif$/.test(file_name) ? 'gif' : 'png'}`","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jyduj9s\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1500#15\n\n\n!!!\nФильтр работает на названиях программ в результатах поиска.\n\n\nПРИМЕРЫ\nhttps://alternativeto.net/software/pdf-expert/\nhttps://alternativeto.net/software/wiztree/?platform=windows&sort=addeddate"},"AmateurAlbum-x":{"link":"amateuralbum\\.net\\/showphoto\\.php\\?cat=\\d{1,5}&photo=\\d{1,10}.*","res":":\nlet imgurl=$._.match(/img id=\"resizable\".*?src=\"(.*?)\"/)[1];\n\nlet titlematches = $._.match(/class=\"boldfont\">([^<]*)<\\/div>/);\n\nlet title;\nif(titlematches != null) {\n title = titlematches[1];\n}\nelse {\n let titlematchesstyle2 = $._.match(/<title>([^<]*)<\\/title>/);\n title = titlematchesstyle2[1];\n}\n\nreturn [imgurl, title]; ","note":"iceiller9999\nhttps://www.reddit.com/r/imagus/comments/102rqm3/comment/j32iepd\nOLD\nhttps://www.reddit.com/r/imagus/comments/uw97ft/comment/iarowuj\n\nEXAMPLES\nhttps://www.amateuralbum.net/showgallery.php?cat=524\nhttps://www.amateuralbum.net/showgallery.php?cat=535"},"AMAZON":{"link":"^amazon\\.(?:com|de|fr|it|ca|co\\.uk|com\\.mx|co\\.jp|sg|ae|br|com\\.au|nl|in|sa|tr|se|pl)/(\\S+/dp|gp/slredirect)/\\S+","res":":\nconst n=this.node.offsetParent?.querySelector('img[class=\"s-image\"]')?.src?.replace(/(?:_AC)?_[A-Z]{2}\\d+_[^.]*\\./,'')\nvar i= $._.indexOf(\"{ 'initial':\");\nif (i<0) {return n||null;}\nvar t= $._.indexOf('}]},',i)\nif (t<0) {return n||null;}\nvar js= $._.substring(i,t+3).replaceAll(\"'\",'\"');\nvar imgArray=JSON.parse(js).initial;\nvar res=[];\nimgArray.forEach((item)=> {\n res.push([item.hiRes?.replace(/(?:_AC)?_[A-Z]{2}\\d+_[^.]*\\./,'')]);\n});\nreturn res;\n","img":"^((?:(?:images\\.|(?:images-[a-z]{2}\\.ssl-|(?![gz]-)[^.?]+\\.)images-)amazon|ia\\.media-imdb|m\\.media-amazon)\\.com/images/[^/]/[^.]+(?:(?!\\.[A-Za-z]{3,4}$)\\.[^A-Z_.]+)*)(?:$|(?!_(?:CB|V)\\d{4,}_\\.)[^?]*\\.([^?]*).*)","to":":\nvar x=$[2]||'#jpg png#'\nreturn '#' + $[1] + '.' + x +'\\n'+$[1] + '._SY1024_SX1024_.'+x","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1bkb9o3/comment/kw60y6p\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3780#11\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3360#2\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.amazon.com/s?k=gaming+mouse&_encoding=UTF8&ref=pd_gw_unk\nhttps://www.amazon.com/b?node=6669703011&ref=MARS_NAV_desktop_plswitcher\nhttps://www.amazon.com/s?k=face%2Foff+4K&crid=11KYSVKVE6FK5&sprefix=face%2Foff+4k%2Caps%2C409&ref=nb_sb_noss_1\nhttps://www.amazon.com/gp/new-releases/home-garden/3737201/ref=zg_bsnr_nav_home-garden_3_289814"},"Aminus3":{"img":"^((?:aminus3(?:\\.s3\\.amazonaws)?|img\\.aminus2)\\.com/image/g\\d+/u\\d+/i\\d+/[\\da-f]{32}_)(?!large)[^\\.]+(.+)","to":"$1giant$2","note":"EXAMPLES\nhttps://www.aminus3.com/featured-photography/?page=3\nhttps://www.aminus3.com/remix/?sort=recent"},"AnalVids-x-q-p":{"link":"analvids.com/watch/\\d+/.+","res":":\nmax_resolution = 1080;\n\nconst textObj = $._.match(/\"qualities\":(?<clips>\\[.+?\\])/i)?.groups?.clips;\nif (!textObj) return;\n\nconst res_map = {'1080p': 1080, hd: 720, vga: 480, web: 240};\nconst trailers = JSON.parse(textObj)\n .map(a => ({ res: res_map[a.quality], url: a.src }))\n .filter(a => a.res <= max_resolution)\n .sort((a, b) => a.res - b.res);\n\nreturn trailers.pop()?.url || null;\n","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3780#21\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3600#16\n\n\nChange max_resolution to your max preferred resolution.\ne.g.\n1080 will result in 1080p video\n900 will result in 720p video\n\nEXAMPLES\nhttps://www.analvids.com/"},"AnandTech":{"img":"^(images\\.anandtech\\.com/[^/]+/\\d+/[^?]+)_(?:thumb|\\d+px|\\d+x\\d+|carousel)","to":"$1","note":"EXAMPLES\nhttps://www.anandtech.com/"},"Ancensored-x":{"link":"^(ancensored\\.com/)clip/[^/]+/[^/]+/([\\da-f]+).*","url":": $[2] ? '//'+$[1]+'clip/-/-/'+$[2] : this.node.closest('a').href","res":":\nif($[2])return [$._.match(/<source type=\"video\\/mp4\"\\s+src=\"([^\"]+)/)?.[1]||'', $._.match(/=\"description\" content=([^\"]+)/)?.[1]||''];\n\n$._=$._.match(RegExp(`href=\"/([^\"]+)\" title=\"[^\"]*\" itemprop=\"contentUrl\" data-index=\"\\\\d+\" data-size=\"\\\\d+x\\\\d+\"><img src=\"/files/${$[3]}`))\nreturn $._[1] ? '//'+$[1]+$._[1] : ''\n","img":"^(ancensored\\.com/)files/(?:new_video/preview_sprite/\\d+/sprite-([^.]+).*|(images/\\d+/thumb_[a-f0-9]+)\\.png$)","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l9liuzp\nOLD\nhttps://www.reddit.com/r/imagus/comments/ecqqkd/comment/feyd0cn/\n\n!!!\nSometimes a website page does not respond to the Imagus sieve. Reloading the page helps.\n\n\nEXAMPLES\nhttp://ancensored.com/video\nhttp://ancensored.com/updates/content\nhttp://ancensored.com/movies/pics/2014-iCloud-Leak-Scandal\nhttp://ancensored.com/nude-appearance/voice-from-the-stone/Emilia-Clarke/"},"Anime-Pictures.net":{"link":"^anime-pictures\\.net/pictures/view_post/\\d+\\?lang=","res":"href=\"(/pictures/download_image/[^\"]+)\"\nhref=\"(/pictures/get_image/[^\"]+)\"","note":"Rodny\n\nПРИМЕРЫ\nhttps://anime-pictures.net/pictures/view_posts/0?lang=ru\nhttps://anime-pictures.net/posts?page=4&order_by=date&ldate=0&lang=ru"},"AOL-p":{"img":"^([os]\\d?\\.aolcdn\\.com/(?:(?:images/)?dims|hss|photo)(?:[^/]*/|\\?(?:[^&]*&)*?image_uri=([^&]+)).*|r\\.search\\.aol\\.com/(?:[^/]+/)*?RU=(http[^/]+).*)","dc":2,"loop":2,"to":":\nif($[2]||$[3])return $[2]||$[3]\nvar m=$[1].match(/(https?)(?::\\/\\/?|%3A(?:%2F){1,2})(?!.+https?:\\/)(.+)/)\nreturn m ? m[1]+'://'+m[2] : $[1]","note":"EXAMPLES\nhttps://www.aol.com/news/?icid=aol.com-nav\nhttps://www.aol.com/entertainment/?icid=aol.com-nav\nhttps://www.aol.com/sports/?icid=aol.com-nav"},"APKPure":{"link":"^apkpure\\.com/[\\w-%]+/[\\w.]+","res":":\nlet i = $._.indexOf('<div class=\"screenbox\">');\nif(i<0) { return null; }\nlet t = $._.indexOf('</div>', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /a href=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n if (a[1].startsWith('http')) {\n res.push([a[1]]);\n }\n a = re.exec(data);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1880#17\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=640#12\n\nПРИМЕРЫ / EXAMPLES\nhttps://apkpure.com/search?q=Metro&t=app\nhttps://apkpure.com/search?q=player&t=app"},"APNews-q":{"link":"^apnews\\.com/(article|video)/[\\w-]+","res":":\nif($[1]==='video'){\nconst max_resolution = 1080 // <- Set maximum video resolution\nlet x = new XMLHttpRequest()\nx.open('Get','https://cdn.jwplayer.com/v2/media/'+$._.match(/data-media-id=\"([^\"]+)/)[1],false)\nx.send()\nx = JSON.parse(x.responseText).playlist[0]\nconst t = [x.title,x.description].filter(Boolean).join(\" | \")\nx = x.sources\nx = x.filter(i=>i.type==='video/mp4'&&i.height<=max_resolution).sort((a,b) => b.height-a.height)\nreturn [[['#'+x.shift().file,x.filter(i=>i.height<=540)[0]?.file],t]]\n} else {\nlet m = [...new Map([...$._.matchAll(/<img class=\"Image\" alt=\"([^\"]+)\"\\s*data-flickity-lazyload-srcset=\"[^?]+\\?url=([^\\s\"]+)/g)].map(i=>[i[2].replace(\"https%3A%2F%2F\",\"https://\").replaceAll(\"%2F\",\"/\"),i[1]]))]\nif(m&&m.length)m.unshift(m.splice(m.findIndex(i=>i[0]===($._.match(/\"ImageObject\",\"height\":\\d+,\"url\":\"[^?]+\\?url=([^\"]+)/)||[,''])[1].replace(\"https%3A%2F%2F\",\"https://\").replaceAll(\"%2F\",\"/\")),1)[0])\nif(!(m&&m.length)){\nm = /\"og:image\" content=\"[^?]+\\?url=([^\"]+).+?\"og:image:alt\" content=\"([^\"]+)/gs.exec($._)\nm = m ? [m[1].replace(\"https%3A%2F%2F\",\"https://\").replaceAll(\"%2F\",\"/\"),m[2]] : ''\n}\nreturn m\n}","img":"^dims\\.apnews\\.com/dims[^?]+\\?url=https%3A%2F%2F([^%]+%[a-f0-9/%]+)","dc":2,"loop":2,"to":":\nconst n = this.node.offsetParent.parentNode.attributes.url?.textContent\nreturn n&&/\\/video\\//.test(n) ? n : '//'+$[1]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z7c5sl/comment/jqtwyhf\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1500#15\n\n!!!\nВ фильтре можно определить качество видео - установите нужное значение в этой строке:\nconst max_resolution = 1080 // <- Set maximum video resolution\nМожно переключать качество видео клавишей TAB.\n==\nIn the sieve, you can determine the quality of the videos - set the desired value in this line:\nconst max_resolution = 1080 // <- Set maximum video resolution\nYou can switch the video quality by pressing TAB.\n\n\nEXAMPLES\nhttps://apnews.com/hub/travel\nhttps://apnews.com/hub/sports\nhttps://apnews.com/video"},"Apteka.ru":{"link":"^apteka\\.ru/product/.*/","res":":\n$=JSON.parse($._.match(/window\\.__INITIAL_STATE__\\s*=\\s*({.+?})</)[1]).product.groupinfo.groupItems[0].itemInfos[0].fileInst;\nreturn $.map(i=>[i.photos?.original])","img":"^(images\\.apteka\\.ru\\/)medium(_.+\\.jpeg)","to":"$1original$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lay54no\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1660#20\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2860#3\n\n\nПРИМЕРЫ\nhttps://apteka.ru/search/?q=витамины"},"Arca.live-p":{"link":"^(arca\\.live/b/\\w+/\\d+).*","url":"$1","res":":\n$=[...new DOMParser().parseFromString($._,\"text/html\").querySelector('div[class=\"article-body\"]')?.querySelectorAll('video,iframe,img:not([class=\"twemoji\"])')]||[];\nif($.some(i=>i.nodeName==='IFRAME')){\nthis.TRG.IMGS_ext_data=$.map(i=>i.nodeName==='IFRAME'?['',`<imagus-extension type=\"iframe\" url=\"${i.src}\"></imagus-extension>`]:[i.src,'']);\nreturn {loop:'imagus://extension'};\n}\nreturn $.map(i=>[i.src])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1da2doe/comment/l7htf31\nOLD\nhttps://www.reddit.com/r/imagus/comments/172yg3u/comment/k43f7ro\nhttps://www.reddit.com/r/imagus/comments/16qjg5w/comment/k1yn6rt\n\nEXAMPLES\nhttps://arca.live/b/singbung/108176176\nhttps://www.reddit.com/r/imagus/comments/15qpek4/comment/jw4wvh1"},"Artvee":{"link":"^artvee\\.com/(dl|artist)/[\\w-]+/","url":": $[0]+($[1][0]==='a'?'?per_page=70':'')","res":":\nif($[1]==='artist'){\nconst t=$._.match(/description blrclass\"><p>(.+?)<\\/div>/s)?.[1].replace(/<\\/?p>/,'')||'';\nreturn [...$._.matchAll(/class=\"lazy\"\\s+src=\"(https:\\/\\/[^\\/]+\\/)[a-z]+(\\/\\d+[a-z]{2})([^\"]+)/g)].map(i=>[['#'+i[1]+'sdl'+i[2]+'sdl'+i[3],i[1]+'sftb'+i[2]+i[3]],t])\n}\n$=[...$._.matchAll(/(?:rel=\"nofollow\" href|\"og:image\" content)=\"([^\"]+)\"(?:>Download<\\/a|\\s*\\/)>/g)];\nreturn [[['#'+$[$.length-1][1],$[0][1]]]]","img":"^(mdl\\.artvee\\.com/)[a-z]+(/\\d+[a-z]{2})","to":"#$1sdl$2sdl\n$1sftb$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1c2fdia/comment/kzctjaw\n\n!!!\nIf an artists name is hovered over, it shows the first 70 images as an album and the biography as the caption.\n\n\nEXAMPLES\nhttps://artvee.com/c/mythology/"},"Apple_music":{"link":"music\\.apple\\.com/\\w\\w/album/[^/]+/\\d+","res":"<meta property=\"og:image:secure_url\" content=\"([^\"]+)\">","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3560#9\n\n!!!\nНаводить курсор на название альбома. Поддержки видео пока нет.\n==\nHover over album name. There is no video support yet.\n\nEXAMPLES\nhttps://music.apple.com/ru/search?term=Beautiful\nhttps://music.apple.com/ru/search?term=green"},"Arazu.io":{"link":"^arazu\\.io/\\w+/","res":"<source src=\"([^\"]+)\" id=\"clip-source\"","img":"(r2\\.cdn\\.arazu\\.io\\/[^.]+)\\.webp","to":":\nreturn $[1] + \".mp4\"","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jv5cpmr\nOLD\nhttps://www.reddit.com/r/imagus/comments/zj5yo3/comment/izvkc7g\n\n\nEXAMPLES\nhttps://www.reddit.com/domain/arazu.io/new"},"Archive.org":{"link":"^archive\\.org/details/.+","res":":\nvar video=$._.match(/<meta property=\"og:video\" content=\"([^\"]+)\">/);\nif (video) return video[1];\nvar i = $._.indexOf('aria-label=\"Item image slideshow\">');\nif(i<0) { return null; }\nvar t = $._.slice(t).search(/<\\/div>\\s+<\\/section>\\s+<\\/div>/gi);\nif(t<0) { return null; }\nt=t+i;\nvar res = [];\nvar re = /<a class=\"carousel-image-wrapper\" href=\"([^\"]+)\"[\\s\\S]+?<div class=\"carousel-caption\">(?:\\s+)?(.+)<\\/div>/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push(['https://archive.org'+a[1],a[2].trim()]);\n a = re.exec(data);\n}\nreturn res;","img":"^archive\\.org/start/(\\d+/)end/(\\d+)","to":":\nreturn JSON.parse(document.querySelector('input[class=\"js-tv3-init\"]').value)['TV3.clipstream_clips'].find(i=>i.match(/t=\\d+\\/\\d+/)[0]==='t='+$[1]+$[2]).replace(/(t=\\d+\\/)(\\d+)/,function(a,b,c){return b+((parseInt(c)+300).toString())})","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/15sfn4j/comment/jydt067\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=60#3\n\n!!!\nИзображения в настоящее время не поддерживаются, только видео.\n==\nImages are not currently supported, only videos.\n\nПРИМЕРЫ / EXAMPLES\nvideo\nhttps://archive.org/details/CNNW_20230218_090000_CNN_Newsroom_Live/\nphoto\nhttps://archive.org/details/vintage_cartoons?and%5B%5D=year%3A%5B1920+TO+1939%5D\nhttps://archive.org/search.php?query=mediatype:image&sort=-publicdate&and[]=languageSorter:%22Spanish%22"},"Archived.moe-p":{"link":"^archived\\.moe/\\w{1,5}/redirect/","res":"; url=([^\"]+)","note":"!!!\nДля корректной работы необходимо правило для SMH (см.ЧаВо, п.12).\n==\nTo work correctly, you need a rule for SMH (see FAQ, p.12).\n\n\nEXAMPLES\nhttps://archived.moe/h/thread/6528287/"},"ArtLimited":{"img":"^(artlimited\\.net/+user/(?:\\d/){7}\\d+/.*-)medium(-open\\.webp)","to":"$1large$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jnit0kk\n\n\nEXAMPLES\nhttps://www.artlimited.net/23835\nhttps://www.artlimited.net/painting\nhttps://www.artlimited.net/selections/favourites/"},"ArtStation":{"link":"^(artstation\\.com/)artwork(/[^/]+).*","url":"$1projects$2.json","res":":\n$=JSON.parse($._)\nif (!$.user) return null;\n$.s = $.software_items.map(function(i) {return i.name}).join(', ')\n$.c = [$.title, $.description.replace(/^<p>(.*)<\\/p>$/, '$1')].filter(function(x) {return !!x.trim()}).join(' - ') + ' by ' + $.user.username;\nreturn $.assets.map(function(x, i){\n var u=[x.image_url], k=u[0].replace('/large/', '/4k/')\n if(k!=u[0])u.unshift(k)\n return [u, [(i ? '' : '[' + $.c + ($.s ? ' in ' + $.s : '') + ']'), (x.title||x.title_formatted||'')].join(' ')]\n})","note":"https://www.reddit.com/r/imagus/comments/gsaurz/comment/fsfm8un\n\nEXAMPLES\nhttps://www.artstation.com/timgrayson\nhttps://www.artstation.com/?sort_by=latest\nhttps://www.artstation.com/search?sort_by=relevance&query=YELLOW"},"ArtUntamed-x":{"link":"^artuntamed\\.com/index\\.php\\?media/[\\w-.]+/","res":":\nlet i = $._.indexOf('<div class=\"p-body-content\">');\nif(i<0) { return null; }\nlet t = $._.indexOf('<div class=\"block-outer block-outer--after\">', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /data-src=\"([^\"]+)\"/gi\nlet data = $._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","note":"Baton34V\n\n!!!\n- Для корректной работы фильтра нужно войти в аккаунт.\n- В результатах поиска курсор нужно наводить на название изображения. \n==\n- For the sieve to work correctly, you need to log in to your account.\n- In the search results, the cursor should be hovered over the name of the image.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://artuntamed.com/index.php?media/featured\nhttps://artuntamed.com/index.php?members/odastein.34/#xfmgAlbums\nhttps://artuntamed.com/index.php?search/75126/&q=blondes&t=xfmg_media&o=date\nhttps://artuntamed.com/index.php?search/75130/&q=black&t=xfmg_album&o=date"},"ArtUntamed_attach-x":{"link":"^artuntamed\\.com/index\\.php\\?attachments/[\\w-.]+/","note":"Baton34V\n\nПРИМЕРЫ / EXAMPLES\nhttps://artuntamed.com/index.php?ams/blender-3-0-and-a-new-era-has-started.59"},"Aryion-x-p-b":{"url":"$1view$2","res":"=\"og:image:secure_url\" content=\"([^\"]+)\n=\"og:title\" content=\"([^\"]+)","img":"^(?:static\\.)?(aryion\\.com/g4/)(?:data|derivative|thumb)(/\\d+).*","note":"https://www.reddit.com/r/imagus/comments/he202z/comment/fvqxxyx\n\nEXAMPLES\nhttps://aryion.com/g4/view/205050\nhttps://aryion.com/g4/favorites/HungrySuccubus\nhttps://aryion.com/g4/latest.php?type_search=Images"},"aShemale-x-p":{"link":"^ashemale\\.one\\/vids\\/\\d+\\/","res":"<video src=\"([^\"]+)","note":"DracoSerge\nhttps://www.reddit.com/r/imagus/comments/150zrnk/nsfw_i_want_to_share_sieves_some_i_made_and_some/\n\n!!!\nNo HD support:\nhttps://ashemale.one/best/hd/\n\n\nEXAMPLES\nhttps://ashemale.one/find/solo/"},"aShemaleTube-x-p":{"link":"^(?:[a-z]*\\.)*ashemaletube\\.com\\/videos\\/\\d+\\/[\\w\\-\\/?=&]+","res":"<source src=\"([^\"]+)","note":"DracoSerge\nhttps://www.reddit.com/r/imagus/comments/150zrnk/nsfw_i_want_to_share_sieves_some_i_made_and_some/\n\n!!!\nno album support:\nhttps://www.ashemaletube.com/pics/cartoon/best-recent/\n\n\nEXAMPLES\nhttps://www.ashemaletube.com/videos/big-cock/best-recent/\nhttps://www.ashemaletube.com/model/domino-presley-796/"},"ASK.fm":{"useimg":1,"link":"^ask\\.fm/[^/]+/answers?/\\d+/photo","res":"\" src=\"([^\"]+)\"","img":"^((?:(?:d2hhj3gz5jljkm|dok7xy59qfw9h)\\.cloudfront\\.net|(?:ak)?(?:photo|img)\\d\\.ask\\.fm)/[^.]+/)[^/]+(/\\w+\\.)","to":"$1#large original normal#$2","note":"!!!\nНужен аккаунт\n==\nAn account needed."},"Astronomy.ru_forum":{"link":"astronomy\\.ru/forum/index\\.php.+action=media;sa=media;in=\\d+","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2600#13\n\nПРИМЕРЫ\nhttps://astronomy.ru/forum/index.php?action=media;sa=album;in=32\nhttps://astronomy.ru/forum/index.php?action=media;sa=album;in=34"},"Auchan.ru":{"link":"(www\\.)?auchan\\.ru/product/[\\w-]+/","res":":\nvar i = $._.indexOf('<div class=\"swiper-container\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('</picture></div></div>', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /img src=\"([^\"]+)\" alt/gi\nvar a = re.exec( $._.substring(i,t) );\nwhile(a) {\n res.push([a[1]]);\n a = re.exec( $._.substring(i,t) );\n}\nreturn res;\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3040#9\n\nПРИМЕРЫ\nhttps://www.auchan.ru/catalog/hlebnaya-vypechka/\nhttps://www.auchan.ru/catalog/zootovary/"},"Auction.ru":{"link":"auction\\.ru\\/offer\\/.+\\.html","res":":\nvar i = $._.indexOf('<div class=\"fotorama\"');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"offer__block\">', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /href=\"(https:\\/\\/static\\.auction\\.ru\\/offer_images\\/(?:\\w+\\/)?\\d{4}(?:\\/\\d\\d){3}\\/big\\/\\w\\/\\w+\\/\\w+\\.\\w+)\"/gi\nvar a = re.exec( $._.substring(i,t) );\nwhile(a) {\n res.push([a[1]]);\n a = re.exec( $._.substring(i,t) );\n}\nreturn res;\n","img":"(static\\.auction\\.ru\\/offer_images\\/(?:\\w+\\/)?\\d{4}(?:\\/\\d\\d){3}\\/)small(\\/\\w\\/\\w+\\/\\w+\\.\\w+)","to":"$1big$2","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2000#5\n\nПРИМЕРЫ\nhttps://auction.ru/listing/offer/plastinki-101689\nhttps://auction.ru/listing/offer/tovary_dlja_doma_i_sporta-17"},"AusCelebs_forums":{"useimg":1,"link":"^(forums\\.auscelebs\\.net/acnet-)files/(image)\\.php\\?id=(\\d+).*","res":"(//$1$2s/[^\"]+$3[^\"]+)","img":"^(forums\\.auscelebs\\.net/acnet-images/\\d+/)thumbs/","to":"$1","note":"https://www.reddit.com/r/imagus/comments/evfzau/comment/fggbg3p\n\nEXAMPLES\nhttps://forums.auscelebs.net/viewtopic.php?f=75&t=20772"},"Auto.ru":{"link":"^auto\\.ru/(?:\\w+/)+[\\da-f-]+/","url":"data:,$&","res":":\nconst x=new XMLHttpRequest();\nx.open('Get',$[0],false);\nx.send();\nreturn [...x.responseText.matchAll(/\"1200x900n\":\"([^\"]+)/g)].map(i=>[[['#'+i[1].replace('1200x900n','orig'),i[1]]]])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/landzre\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=180#5\n\n\nПРИМЕРЫ\nhttps://auto.ru/scooters/all/\nhttps://auto.ru/cars/all/body-allroad/"},"Auto.RIA.com-p":{"link":"auto\\.ria\\.com\\/.+\\.html","res":":\nvar i = $._.indexOf('div class=\"carousel-inner\"');\nconsole.log(i);\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"preview-gallery mhide\">', i);\nconsole.log(t);\nif(t<0) { return null; }\nvar res = [];\n\nvar re = /<img class=\"outline m-auto\" src=\"([^\"]+)\"/gi\nvar a = re.exec( $._.substring(i,t) );\nwhile(a) {\n res.push([a[1].replace('s.jpg','f.jpg')]);\n a = re.exec( $._.substring(i,t) );\n}\nreturn res;\n","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2160#6\n\nПРИМЕРЫ / EXAMPLES\nhttps://auto.ria.com/car/opel/astra/"},"Auto.RIA.com_2-p":{"link":"auto\\.ria\\.com\\/newauto\\/.+\\.html","res":":\nvar i = $._.indexOf('window.initialState=');\nif(i<0) { return null; }\nvar t = $._.indexOf('};</script>', i);\nif(t<0) { return null; }\nvar sources=JSON.parse($._.substring(i+20,t+1));\nvar res = [];\nfor (var k in sources.photos) {\n var url='https://auto.ria.com/photos/'+ sources.photos[k].src;\n res.push([url]);\n}\nreturn res;\n","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2160#6\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://auto.ria.com/car/opel/astra/"},"AutoTrader.co.uk-p-b":{"img":"^((?:m|ec)\\.atcdn\\.co\\.uk/(?:a/)?media/)(?:[^/]+/)?([^?]+).*","to":"$1$2","note":"https://www.reddit.com/r/imagus/comments/gph1ts/comment/frmipmi\n\nEXAMPLES\nhttps://www.autotrader.co.uk/car-search?sort=price-desc&postcode=nr32ha&radius=1500&make=Mercedes-Benz&include-delivery-option=on&transmission=Manual&page=2\nhttps://www.autotrader.co.uk/car-search?postcode=NR32HA&radius=50&year-from=new&include-delivery-option=on&advertising-location=at_cars&page=1\nhttps://www.autotrader.co.uk/car-search?postcode=NR32HA&radius=100&year-from=new&make=BMW&model=1%20Series&include-delivery-option=on&advertising-location=at_cars&page=1"},"AVITO.ru":{"link":"^avito\\.ru/(?:[^/]+/[^/]+/.+_\\d{10,}|(web/5/user/[a-f0-9]+/ratings\\?limit=100(?:&offset=\\d+&sortRating=.+)?))","res":":\nif ($[1]) {\n $ = JSON.parse($._);\n this.avito_images = this.avito_images || [];\n this.avito_next_page = $.nextPage;\n this.avito_images.push(...$.entries.flatMap(i => i.type === 'rating' && i.value?.images ? i.value?.images : []));\n $ = this.avito_img_src;\n delete this.avito_img_src;\n return {loop: $};\n}\n\nlet res = [];\nlet media = [];\n\nconst data =\n $._.match(/__initialData__\">(.+?)<\\/script/)?. [1] ||\n decodeURIComponent($._.match(/__initialData__\\s*=\\s*\"(.+?)\"/)?. [1]);\nif (!data) console.dir($);\nconst data_json = JSON.parse(data);\n\nfor (const key in data_json) {\n if (key.includes('@avito/bx-item-view')) {\n media = data_json[key].buyerItem.galleryInfo.media;\n }\n}\n\nlet hasVideo = false;\nfor (imgs of media) {\n if (imgs.isVideo) {\n hasVideo = true;\n if (imgs.embededUrl.startsWith('//')) imgs.embededUrl = 'https:' + imgs.embededUrl\n // if (imgs.embededUrl.includes('youtube.com')) {\n // \tres.push(['', `<imagus-extension type=\"iframe\" url=\"${imgs.embededUrl}\"></imagus-extension>`]);\n // } else {\n res.push(['', `<imagus-extension type=\"videojs\" url=\"${imgs.embededUrl}\"></imagus-extension>`]);\n // }\n continue;\n }\n\n let best_quality = 0;\n let best_videoUrl = '';\n for (imgSize in imgs.urls) {\n let isa = imgSize.split('x');\n let quality = parseInt(isa[0]) * parseInt(isa[1]);\n if (quality > best_quality) {\n best_quality = quality;\n best_videoUrl = imgs.urls[imgSize];\n }\n }\n if (best_quality != 0) {\n res.push([best_videoUrl, '']);\n }\n}\n\nif (hasVideo) {\n this.TRG.IMGS_ext_data = res;\n return {\n loop: 'imagus://extension'\n };\n}\n\nreturn res;","img":"^\\d+\\.img\\.avito\\.st/image/1/1\\.[\\w-]+\\.[\\w-]+$","loop":2,"to":":\nlet id, img, imgs = [], n = this.node, img_url = 'https://' + $[0];\nif (!n.className?.startsWith('style-imageWrapper-')) return $[0];\nif (id = !this.avito_images && new URL(location.href)?.searchParams?.get('sellerId')) {\n this.avito_img_src = img_url;\n return 'https://www.avito.ru/web/5/user/' + id + '/ratings?limit=100';\n}\nimgs = this.avito_images;\nimg = imgs.find(i => Object.values(i).some(x => x === img_url)) || '';\nif (!img && this.avito_next_page?.length) {\n this.avito_img_src = img_url;\n return 'https://www.avito.ru' + this.avito_next_page;\n}\nreturn img['1280x960'] || '';","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l5qjb98\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2600#9\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2340#16\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#2\n\n\n!!!\nКурсор рекомендуется наводить на название товара.\n\n\nПРИМЕРЫ\nhttps://www.avito.ru/orel?bt=1&q=samsung\nhttps://www.avito.ru/orel/kvartiry/prodam/1-komnatnye/vtorichka-ASgBAgICA0SSA8YQ5geMUsoIgFk?context=H4sIAAAAAAAA_0q0MrSqLraysFJKK8rPDUhMT1WyLrYyt1JKTixJzMlPV7KuBQQAAP__dhSE3CMAAAA\nhttps://www.avito.ru/samara/avtomobili/bmw_x3_2.0_at_2019_125000km_3634614814\nhttps://www.avito.ru/brands/i1047444/all?sellerId=32f011bc19e1fe0f908fcdc295097da6"},"AwesomeScreenshot":{"link":"^awesomescreenshot\\.com/image/\\d+/","res":"<meta property=\"og\\:image\" content=\"([^\"]+)\"\n<meta name=\"twitter\\:image\" content=\"([^\"]+)\"","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=300#5\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/awesomescreenshot.com\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=280#20"},"AwesomeScreenshot_sharekey":{"useimg":1,"link":"^awesomescreenshot\\.com/(image|video)/(\\d+)\\?(key=\\w+)","url":": 'awesomescreenshot.com/api/v1/'+$[1]+'/load'+($[1]=='video' ? '_video' : '')+'?id='+$[2]+'&'+$[3];","res":":\nlet jsn=JSON.parse($._);\nlet fUrl=($[1]=='video' ? 'fileMP4URI':'imageFileURI');\nlet res = jsn.data[$[1]][fUrl] || jsn.data[$[1]].fileWebMURI;\nreturn res;","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2000#9\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=300#5\n\n\nПРИМЕРЫ / EXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=280#20"},"BAIDU":{"img":"^((?:imgs\\w+|[a-z].hiphotos)\\.baidu\\.com/(?:forum|image)/)[^=]+=[^/]+/([\\da-f]{40}.+)","to":"$1pic/item/$2"},"BAIDU_image":{"link":"^image\\.baidu\\.com/(?:i|search/detail)/?\\?(?:[^&]*&)*objurl=([^&]+).*","dc":1,"loop":1,"to":"$1"},"BakaSHOTS.me":{"img":"^(bakashots\\.me/[\\w-]{10,}=?=?)[./].+","to":"$1","note":"EXAMPLES\nhttps://bakashots.me/"},"Bayimg":{"link":"^(.*)bayimg\\.com/\\w{9}","res":"img src=\\\"/(.+(?:jpe?g|a?png|gif|svgz?|webp|w?bmp|xbm|pict|j(?:if|fif?)))\\\" id","to":"https://bayimg.com/$1","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1380#12\n\nПРИМЕРЫ / EXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1380#11"},"BBC-p":{"link":"^(?:open\\.live\\.)?bbc\\.[a-z.]{3,5}/(?:news/av|mediaselector/6/select/version/2.0/mediaset/pc/vpid)/.+","res":":\nif($._[0]!=='{'){\nthis.desc=($._.match(/name=\"description\" content=\"[^\"]+/)||[,''])[1]\nreturn /\"items\\\\\":\\[\\{\\\\\"id\\\\\":\\\\\"/.test($._)?{loop:'https://open.live.bbc.co.uk/mediaselector/6/select/version/2.0/mediaset/pc/vpid/'+$._.match(/\"items\\\\\":\\[\\{\\\\\"id\\\\\":\\\\\"(\\w+)/)[1]}:''\n}\nthis.TRG.IMGS_ext_data = [\n '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"960\" height=\"540\"></svg>',\n `<imagus-extension type=\"videojs\" url=\"${JSON.parse($._).media[1].connection[0].href}\"></imagus-extension>${this.desc}`\n]\nreturn {loop:'imagus://extension'}","img":"^(ichef(?:-\\d+)?\\.bbci\\.co\\.uk/news/)\\d+","to":"$12048","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jyil8u7\n\n!!!\nAs a workaround you can add a filter to your blocker (uBO):\nwww.bbc.com##a::after\nhttps://www.reddit.com/r/imagus/comments/j9gn22/comment/ga14d6b\n\n\nEXAMPLES\nhttps://www.bbc.com/news/world-us-canada-64461305"},"bdnews24":{"img":"^(media\\.assettype\\.com/bdnews[^?]+).*","to":":\nconst t=this, n=t.node, m='https://'+$[1];\nn.src+='';\nif(t.CNT?.srcset)t.CNT.srcset=m;\nif(t.IMG?.srcset)t.IMG.srcset=m;\nreturn m","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1bqm6b1/comment/kxdwstm\n\nEXAMPLES\nhttps://bdnews24.com/economy\nhttps://bdnews24.com/media-en/image"},"Bdsmlr-x":{"link":"\\w+\\.bdsmlr\\.com/post/\\d+$","res":":\nvar i = $._.indexOf('<div class=\"postholder\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"tags\">', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /class=\"sidepostimage\"\\s+src=\"([^\"]+)\">/gi\nvar a = re.exec($._.substring(i,t));\nwhile(a) {\n res.push([a[1]]);\n a = re.exec( $._.substring(i,t) );\n}\nreturn res;\n","note":"Baton34V\n(в ПМ)"},"Behance":{"link":"^behance\\.net/gallery/\\d+/.*","res":":\nvar res = [];\nconst page = (new window.DOMParser()).parseFromString($._,'text/html');\nconst imgs = Array.from(page.querySelectorAll('#project-modules img'));\nfor(const img of imgs) {\n res.push([img.dataset.src || img.src]);\n}\n\nreturn res;","img":"^(behance\\.vo\\.llnwd\\.net)(/profiles\\d+/\\d+/projects/\\d+/)([^/]+)(\\.(?:jpe?g|png|gif))$","to":"$1$2hd_$3$4","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2000#9\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3760#8\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3140#17\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.behance.net/vdpinto"},"BestBlades.ru":{"link":"^bestblades\\.ru/[\\w-]+/[\\w-]+/[\\w-]+/([\\w-]+)?","res":":\nvar i = $._.indexOf('<div class=\"product-gallery__previews');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"product-main__summary-cart', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /href=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1600#15\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#3\n\nПРИМЕРЫ\nhttps://bestblades.ru/brendi/adimanti/\nhttps://bestblades.ru/designers/eric-ochs/\nhttps://bestblades.ru/kuhonnye-nozhi/universalnye-kukhonnye-ru/"},"BidBaits.ru":{"link":"^bidbaits\\.ru/bids/\\d+/?","res":":\nvar i = $._.indexOf('<div class=\"item-gallery__preview\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('<i class=\"item-gallery__zoom-in jsGalleryZoomInBtn\">',i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /src=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1060#9\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3780#9\n\n\nПРИМЕРЫ\nhttps://bidbaits.ru/catalog/casting/\nhttps://bidbaits.ru/search?q=oneten%20110&c=&v=&min=&max=&filter=new|original&page=3"},"Bigl.ua-p":{"link":"^bigl\\.ua/p\\d+-.+$","res":":\nreturn JSON.parse(($._.match(/\"image\":(\\[[^\\]]+\\])/)||[,'[]'])[1]).map(i=>[i])","img":"^(images\\.prom\\.ua/\\d+)_w[12]00_h[12]00_(.+\\.jpg)$","to":"$1_w640_h640_$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jyil8u7\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=500#2\n\n\nПРИМЕРЫ\nhttps://bigl.ua/Mobilnye-telefony\nhttps://bigl.ua/t-Akkumulyatornye-batarei-k-noutbukam"},"Bild.de-p":{"img":"^(bilder\\.bild\\.de/fotos)-skaliert(/[^/]+/)(\\d+),(?!h=2000)[^.]+","to":"$1$2Bild/$3","note":"!!!\nVideo is not supported at this time.\n\nEXAMPLES\nhttps://www.bild.de/politik/ausland/politik-ausland/home-15683414.bild.html\nhttps://www.bild.de/lifestyle/startseite/lifestyle/lifestyle-15478526.bild.html"},"BING":{"useimg":1,"link":"^(bing\\.com/images/search\\?)(?:q|view)=(?:[^&]*&)+id=([\\dA-F]{40}).*","loop":3,"url":": $[0].indexOf('mediaurl=h')>0 ? '' : $[1] + 'view=detailV2&id=' + $[2]","res":":\nvar m = $[0].match(/mediaurl=(http[^&]+)/);\nif(m)return decodeURIComponent(m[1])\nm = $._.match(/class=\"mainImage\"[^>]+?src2=\"([^\"]+)/)\nif(m)return m[1]\nm = document.evaluate('./ancestor-or-self::a[contains(@m, \"imgurl\") or contains(@m, \"murl\")]/@m',this.node,null,2,null).stringValue\nreturn m && JSON.parse(m).imgurl || null","img":"^(tse[\\d-]+\\.mm\\.bing\\.net/th\\?id=[^&]+).*","to":":\nvar m = document.evaluate('./ancestor-or-self::a[contains(@m, \"imgurl\") or contains(@m, \"murl\")]/@m', this.node ,null,2,null).stringValue\nm = m && JSON.parse(m);\nm = m && (m.imgurl||m.murl)\nreturn (m ? m + '\\n' : '') + $[1]","note":"EXAMPLES\nhttps://www.bing.com/images/search?q=ghislaine+pierie&form=HDRSC2&first=1\nhttps://www.bing.com/images/search?q=French+People&form=RESTAB&first=1"},"BitChute-p-b":{"link":"(?:www\\.)?bitchute\\.com/video/\\w+/","res":"<source src=\"([^\"]+)\" type=\"video/mp4\"","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2520#9\n\nEXAMPLES\nhttps://www.bitchute.com/search/?query=alas&kind=video\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Bluesky|Bsky.app":{"img":"^(cdn\\.bsky\\.app/img/feed_)thumbnail","to":"#$1fullsize\n$&","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1bztu7c/comment/kyu7g9o\n\nEXAMPLES\nhttps://www.reddit.com/domain/bsky.app/new/\nhttps://bsky.app/profile/hhammerh.bsky.social"},"BoardGameGeek":{"useimg":1,"link":"^boardgamegeek\\.com/(image|video|geeklist|boardgame(?=/\\d+/[^/]+(?:/(images|videos)|$)))/(\\d+)[^?]*(?:\\?pageid=(\\d+))?.*","url":": $[1]==='video' ? $[0] : $[1]==='boardgame' ? `//api.geekdo.com/api/${$[2]||'images'}?ajax=1&gallery=all&nosession=1&objectid=${$[3]}&objecttype=thing&pageid=${$[4]||1}&showcount=60&size=original&sort=hot` : $[1]==='geeklist'? `https://api.geekdo.com/api/listitems?page=${$[4]||1}&listid=${$[3]}` : `//api.geekdo.com/api/images/${!Number($[1][0])?$[3]:$[1]}`","res":":\nif($[1]==='video')return {loop:$._.match(/=\"og:video\" content=\"([^\"]+)/)?.[1]||''};\n$._=JSON.parse($._);\nif($[1]==='boardgame'||$[1]==='geeklist'){\nthis.bgg_media=this.bgg_media||[];\nif($[2]==='videos'){\n$._.videos?.forEach(i=>this.bgg_media.push(['',`<imagus-extension type=\"iframe\" url=\"https://youtube.com/embed/${i.extvideoid}\"></imagus-extension>`]));\nif($._.videos?.length===50&&($[4]||0)<6)return {loop:$[0].match(/^[^?]+/)[0]+'?pageid='+(++$[4]||2)};\nthis.TRG.IMGS_ext_data=this.bgg_media;\n}else if($[1]==='geeklist'){\nconst x=new XMLHttpRequest();\n$._.data?.forEach(i=>{x.open('GET',`https://api.geekdo.com/api/images/${i.item?.imageid}`,false);x.send();const img=JSON.parse(x.responseText)?.images;this.bgg_media.push([['#'+img.original?.url,img.large?.url], `<imagus-extension type=\"sidebar\">${['<b>'+i.linkedImage?.alt+'</b>',i.body,i.item?.descriptors?.map(x=>(x.name[0]==='y'?'Year Published':x.name[0]==='r'?'Rank':i.name)+': '+x.displayValue?.replace('Rank ','')).join('\\n')].join('\\n\\n')}</imagus-extension>`])});\nif($._.data?.length===25&&($[4]||0)<4)return {loop:$[0].match(/^[^?]+/)[0]+'?pageid='+(++$[4]||2)};\nthis.TRG.IMGS_ext_data=this.bgg_media;\n}else{\n$._.images?.forEach(i=>this.bgg_media.push([['#'+i.imageurl, i.imageurl_lg], i.caption||'']));\nif($._.images?.length===60&&($[4]||0)<5)return {loop:$[0].match(/^[^?]+/)[0]+'?pageid='+(++$[4]||2)};\n$=this.bgg_media;\n}\ndelete this.bgg_media;\nreturn $._ ? {loop:'imagus://extension'} : $\n}\nreturn [[['#'+$._.images.original.url, $._.images.large.url], '['+ $._.href.substr($._.href.lastIndexOf(\"/\")+1).replace(/-/g,\" \").toUpperCase() +'] ' + $._.caption]]","img":"^cf\\.geekdo-images\\.com/(?:[^/?]+/)+?pic(\\d+).*","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lksuszh\nOLD\nhttps://www.reddit.com/r/imagus/comments/qj7cqo/improved_boardgamegeek_bggsieve/\n\n!!!\nHovering over a title in GeekLists displays all covers with descriptions (sidebar to the left of the cover). If the number is large, it may take a while to load. Also in the video section, hovering over a video shows Imagus videos and hovering over a title shows an album of images related to that game.\n\nEXAMPLES\nhttps://boardgamegeek.com/crowdfunding\nhttps://boardgamegeek.com/videos/boardgame/all\nhttps://boardgamegeek.com/geeklist/318487/mikkos-top-100-2023-edition\nhttps://boardgamegeek.com/geeklists?sort=hot&interval=twodays"},"Bon.ua-p":{"link":"^bon\\.ua\\/\\w\\w/obyavlenie\\/.+","res":":\nvar i = $._.indexOf('<div class=\"message-image swiper-container\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"swiper-pagination\"></div>', i);\nif(t<0) { return null; }\nlet data=$._.substring(i,t);\nvar res = [];\nvar re = /src=\"([^\"]+)\"/gi\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=500#2\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2060#14\n\nПРИМЕР\nhttps://bon.ua/ru/avtozapchasti/accesuari"},"BOOKING.COM":{"link":"^(?:(booking.com/hotel/.*\\.html)\\?.+$|booking_album/[^!]+!(.+))","url":": $[1]||'data:,'+$[0]","res":":\nif($[2])return $[2].split(\"!\").map(i=>[i]);\nreturn [...$._.matchAll(/highres_url:\\s*'(.+?)'/g)].map(i => [i[1], '']);","img":"^([^/]*bstatic\\.com/.*images/hotel)/(?:square\\d+|max\\d+(?:x\\d+)?)/(.*\\.jpg.*)","loop":2,"to":":\nconst show_thumbs_as_album = true\nconst start_album_at_hovered_image = true\n\nconst n=this.node;\nif(show_thumbs_as_album&&/^(?:js-hotel-thumb|bh-photo-)/.test(n.parentNode?.className||n.className||'')){\nlet m=(n.parentNode?.className||n.className||'').startsWith('js-hotel-thumb') ? [...n.parentNode.parentNode?.querySelectorAll('img')||[]].map(i=>i.src?.replace(/(?:square\\d+|max\\d+(?:x\\d+)?)/,'max2048x2048')) : [...document.documentElement.outerHTML.matchAll(/highres_url:\\s*'([^']+)/g)].map(i=>i[1]);\nif(start_album_at_hovered_image)m=m.slice(m.findIndex(i=>RegExp($[2].match(/^[^?]+/)[0]).test(i)));\nreturn m?.length ? '//booking_album/'+$[1]+'!'+m.join(\"!\") : `${$[1]}/max2048x2048/${$[2]}`\n}\nreturn `${$[1]}/max2048x2048/${$[2]}`","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1dm7373/comment/labwjrp\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=660#2\n\n!!!\nIt has two variables in the to field. show_thumbs_as_album enables the album function and start_album_at_hovered_image truncates the album so it starts at the image that's hovered over.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.booking.com/searchresults.ru.html?city=-126693\nhttps://www.booking.com/hotel/al/vila-golden-sand.ru.html"},"Booru.org|MSPAbooru-x":{"useimg":1,"link":"^(?:mspabooru\\.com|[\\da-z-]{1,30}\\.booru\\.org)/index\\.php\\?page=post&s=view&id=\\d+","res":"=\"(https?://(?:mspa|img\\.)booru\\.[^\"]+)\" id=\"image\"","img":"^thumbs\\d*\\.((?:booru\\.org|mspabooru\\.com)/)(?:([^/]+/)(?:thumbnails/+)?)?(\\d+/)thumbnail_([^?]+).*","to":":\nreturn ($[1][0]=='b'?'img.':'')+$[1]+($[2]||'')+'images/'+$[3]+$[4];","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3360\n\n!!!\nВ РФ может понадобиться американский прокси.\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/booru.org/new\nhttps://www.reddit.com/domain/mspabooru.com/new\nhttps://mspabooru.com/index.php?page=post&s=list&tags=all"},"BoundHub-x-p":{"link":"^boundhub\\.com/(album|video)s/\\d+/.+","res":":\nif($[1]==='album'){\nreturn [...$._.matchAll(/<a href=\"([^\"]+)\" class=\"item\"/g)].map(i=>[i[1]])\n}\n$=$._.match(/video_url: '([^']+)/)?.[1]||''\nreturn $?.length?$+'#mp4':''","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kwxhmsm\n\nEXAMPLES\nhttps://www.boundhub.com/search/skin/\nhttps://www.boundhub.com/categories/boots/\nhttps://www.reddit.com/domain/boundhub.com/new"},"Brazzers|Mofos|Realitykings|Twistys-x-q-p":{"link":"(?:brazzers|rk|realitykings|mofos|digitalplayground|twistys)\\.com\\/(?:video|scene|series)\\/(\\d+)\\/.+","res":":\nconst max_resolution = 1080;\n\nconst m = /jwt\":\"([^\"]+)/g.exec($._);\nconst token = m ? m[1] : null;\nif (!token) return;\n\nconst req = new XMLHttpRequest();\nreq.open(\n 'GET',\n `https://site-api.project1service.com/v2/releases/${$[1]}`,\n false\n);\nreq.setRequestHeader('instance', token);\nreq.send();\nif (req.status !== 200) return;\n\nlet data = {};\ntry {\n data = JSON.parse(req.responseText);\n} catch (e) {\n return;\n}\n\nlet streams = data.result.children.find(\n (c) => c.type.toLowerCase() === 'trailer'\n)?.videos?.full?.files;\n\nif (!streams) {\n streams = data?.result?.videos?.mediabook?.files;\n}\nif (!streams) return;\n\nconst trailers = Object.keys(streams)\n .map((key) => streams[key])\n .map((s) => ({\n res: Number(s.format.replace(/\\D/g, '')),\n url: s.urls.download,\n }))\n .filter((a) => a.res <= max_resolution)\n .sort((a, b) => b.res - a.res);\n\nif (!trailers.length) return;\nreturn trailers[0].url;\n","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2732&limit=1&m=1#1\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3780#4\n\n\nbrazzers.com\ndigitalplayground.com\nmofos.com\nrealitykings.com\nrk.com\ntwistys.com\n\nChange max_resolution to your max preferred resolution.\ne.g.\n1080 will result in 1080p video\n900 will result in 720p video\n\nEXAMPLES\nhttps://www.mofos.com/home\nhttps://www.brazzers.com/videos\nhttps://www.twistys.com/scenes\nhttps://www.digitalplayground.com/scenes?groups=9031"},"Brutalica.ru":{"link":"^brutalica\\.ru/[\\w-]+/[\\w-]+(/[\\w-]+)?","res":":\nvar i = $._.indexOf('<ul class=\"more-image\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('</ul>', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /href=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#3\n\nПРИМЕРЫ\nhttps://brutalica.ru/bestech/\nhttps://brutalica.ru/skladnie-nozhi/"},"Bugzilla":{"link":"^bug(?:s|zilla)\\.[^/]{5,20}/attachment\\.cgi\\?id=\\d+$","to":":\nvar n=this.node, p = n.parentNode, q = p&&p.parentNode; q = q && q.querySelector('.bz_attach_extra_info,.attach-info');\nlet ext = /[.\\/](jpe?g|png|gif|bmp|web[mp]|svg|mp4|ogv)(?:[\\n\\s]|$)/i.exec(n.title || n.textContent)?.[1];\nreturn q && ~q.textContent.indexOf('image/') || ext || n.classList.contains('lightbox') ? $[0] + (ext ? '#' + ext : '') : ''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lhtutsc\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2080#15\n\n\nEXAMPLES\nhttps://bugzilla.mozilla.org/show_bug.cgi?id=1833842\nhttps://bugzilla.mozilla.org/show_bug.cgi?id=1048286\nhttps://bugzilla.mozilla.org/show_bug.cgi?id=1605229"},"Bunkr-x-p":{"link":"^(?:[^.]+\\.)?bunkr+\\.[a-z]+/[vi]/.+","res":":\n$=$._.match(/(?:source|img)\\s+src=\"([^\"]+)/)?.[1]||''\nreturn $+'?__bunkr__'+(/\\.m[ok]v$/i.test($)?'#mp4':'')","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lkn7pep\nOLD\nhttps://www.reddit.com/r/imagus/comments/17cnl32/comment/l4v5vir\nhttps://www.reddit.com/r/imagus/comments/17cnl32/comment/kz8323g\nhttps://www.reddit.com/r/imagus/comments/17cnl32/bunkr_not_working/k5tgzdh\n\n\n!!!\nВ некоторых случаях фильтр может выдавать ошибку (красный спиннер) по разным причинам, например \"Too many requests\".\n==\nIn some cases, the sieve may throw an error (red spinner) for various reasons, for example \"Too many requests\".\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/bunkr.si/new/\nhttps://bunkr-albums.io/topvideos\nhttps://bunkr.si/a/uqZSLA31\nhttps://bunkr.si/a/w8rfEv3x"},"Casimages":{"link":"^casimages\\.com/(?:i/[^.]+\\.jpg\\.html|f/([A-Za-z0-9]+))","res":":\nreturn $[1] ? \"https://www.casimages.com/f_get.php?f=\"+$[1]+\"#mp4\" : ($._.match(/<a href=\"([^\"]+)\"><img border/)||[])[1]??''","img":"(nsm(?:\\d+)\\.casimages\\.com/img/\\d{4}/\\d{2}/\\d{2}//)mini_(\\d+\\.(?:jpe?g|a?png|gif))","to":"$1$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jnit0kk\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=40#15"},"Catalog.Onliner.by":{"link":"^catalog\\.onliner\\.by/\\w+/\\w+/\\w+","res":":\nvar i = $._.indexOf('<div id=\"product-gallery\"');\nif(i<0) {console.log('123');return null; }\nvar t = $._.indexOf('<div id=\"product-gallery-fotorama\"', i);\nif(t<0) {console.log('456');return null; }\nvar res = [];\nvar re = /data-original=\"([^\"]+)\"/gi\ndata=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a){\nconsole.log(a[1]);\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","img":"^(content2\\.onliner\\.by/catalog/device/)\\w+(/[0-9a-f]+\\.jpe?g)$","to":"$1main$2","note":"Rodny+Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#11\n\nПРИМЕРЫ\nhttps://catalog.onliner.by/notebook\nhttps://catalog.onliner.by/smartwatch/huawei/gt3protit46avsp/reviews"},"Celeb.gate.cc-x-b":{"img":"^(celeb\\.gate\\.cc/media/cache/)[^/]+","to":"$1original","note":"https://www.reddit.com/r/imagus/comments/8zq1dq/comment/e2l91z7\n\n\nEXAMPLES\nhttps://celeb.gate.cc/melissa-rauch/gallery.html\nhttps://celeb.gate.cc/oona-chaplin/gallery.html\nhttps://celeb.gate.cc/melissa-rauch/gallery.html#videos\nhttps://celeb.gate.cc/oona-chaplin/gallery.html#videos"},"Ceneo.pl":{"useimg":1,"link":"^(?:redirect\\.)?ceneo\\.pl/(?:products/)?\\d+","res":":\nlet o = JSON.parse(($._.match(/<script type=\"application\\/ld\\+json\">\\n(\\{.+?})\\n<\\//s)||[,'{}'])[1]);\nif (!o.image)return null;\nreturn o.image.map((i,n)=>!n?[i,o.description]:[i])","img":"^(image\\.ceneostatic\\.pl/data/products/\\d+/)[^i]","to":"$1i","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/joowxsu\n\n!!!\n- To see all the product photos, you need to hover the cursor over the product name.\n- Some products (rarely) may have a \"yellow indicator\".\n\n\nEXAMPLES\nhttps://www.ceneo.pl/Komputery\nhttps://www.ceneo.pl/Pokrycia_dachowe/Lokalizacja:Warszawa.htm\nhttps://www.ceneo.pl/Konsole_do_gier;szukaj-konsole+do+gier"},"ChipDip.ru":{"link":"(?:www\\.)?chipdip\\.ru\\/product\\d?\\/.+","res":":\nvar i = $._.indexOf('<div class=\"product__image-previews\" id=\"productphotobox\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"product_main-controls\">', i);\nif(t<0) { return null; }\nvar res=[];\nvar re = /span data-fancybox-href=\"([^\"]+)\" title=\"([^\"]+)\"/gi\nvar a = re.exec( $._.substring(i,t) );\nwhile(a) {\n res.push([a[1],a[2]]);\n a = re.exec( $._.substring(i,t) );\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2380#3\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2320#12\n\n!!!\nКурсор наводить на название товара.\n\nПРИМЕРЫ\nhttps://www.chipdip.ru/catalog-show/hand-tools-sets\nhttps://www.chipdip.ru/catalog-show/screwdrivers-with-attachments"},"Chromium.org_bugs":{"img":"^(bugs\\.chromium\\.org/p/chromium/issues/attachment\\?aid=\\d+(?:&[^&]+)*?&inline=[^&]+).*","to":"$1"},"CIAN.ru":{"link":"(\\w+\\.)?cian\\.ru/.*\\d+/","res":":\nvar i = $._.indexOf('\"photos\":');\nif(i<0) { \n i = $._.indexOf('\"gallery\":{\"imageList\":');}\nif(i<0) { return null; }\nvar t = $._.indexOf('}]', i);\nif(t<0) { return null; }\nvar res = [] \nvar re = /\"fullUrl\":\"([^\"]+)\"/gi\nvar a = re.exec( $._.substring(i,t) );\nwhile(a){\n res.push([a[1].replace(/\\\\u002F/g,'/')]);\n a = re.exec( $._.substring(i,t) );\n}\nreturn res;","img":"(cdn-p\\.cian\\.site/images/.+-)\\d(\\.jpe?g?)","to":"$11$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2920#9\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2920#6\n\n\n!!!\nКурсор наводить на название объекта.\n\n\nПРИМЕРЫ\nhttps://www.cian.ru/snyat-kvartiru/\nhttps://www.cian.ru/kupit-dom-moskovskaya-oblast/"},"CITILINK.ru":{"link":"^citilink\\.ru/product/[\\w-]+/","res":":\nreturn (JSON.parse($._.match(/\"__NEXT_DATA__\" type=\"application\\/json\">({.+?})<\\/script/)?.[1]||'{}').props?.initialState?.productPage?.productHeader?.payload?.productBase?.images||[]).map(i=>[i.sources.pop().url])","img":"^cdn\\.citilink\\.ru/[^/]+/resizing_type:fit/gravity:sm/width:\\d{2,3}/height:\\d{2,3}/plain/product-images/[^.]+\\.jpg","to":":\nthis.cl_imgs=this.cl_imgs||JSON.parse(document.body.outerHTML.match(/\"__NEXT_DATA__\" type=\"application\\/json\">({.+?})<\\/script/)?.[1]||'{}').props.initialState.productPage.productHeader.payload.productBase.images;\n$=this.cl_imgs.find(i=>i.sources.find(x=>x.url==='https://'+$[0])).sources;\nreturn $[$.length-1].url","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l3kklo1\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2100#8\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3380#20\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2860#7\n\nПРИМЕРЫ\nhttps://www.citilink.ru/catalog/noutbuki/?sorting=rating_desc&pf=discount.any%2Crating.any&f=discount.any%2Crating.any%2Chuawei\nhttps://www.citilink.ru/catalog/stiralnye-mashiny/?sorting=price_asc"},"Civitai":{"useimg":1,"link":"^civitai\\.com/(?:\\w+/\\d+/.+|(?:models|images)/\\d+)","res":":\nlet u = $._.match(/https:\\/\\/image\\.civitai\\.com\\/[^\\/]+\\//)?.[0];\nif(!u)u = 'https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/'\nlet o = JSON.parse($._.match(/\"application\\/json\">({.*?})</)[1]).props.pageProps.trpcState.json.queries[0].state.data;\nreturn o.pages ? o.pages[0].items.map(i=>[u+i.url+'/'+i.name]) : u+o.url+'/'+o.name","img":"^(image\\.civitai\\.com/[^/]+/[^/]+/)[^/]*width=\\d+","to":"$1original=true","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1e1g1s4/comment/lcu1dn3\n\n\nEXAMPLES\nhttps://civitai.com/articles\nhttps://civitai.com/tag/green\nhttps://civitai.com/user/no_data/models\nhttps://civitai.com/user/accforfun/images\nhttps://www.reddit.com/domain/civitai.com/new/"},"clip2net|c2n.me":{"link":"(?:^clip2net\\.com/s/|^c2n\\.me/)\\w+$","res":"<meta property=\"og:image\" content=\"([^\"]+)\">","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2580#13\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2320#18\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://clip2net.com/gallery_view.html\nhttps://www.reddit.com/domain/c2n.me/new/"},"clips4sale-x-p":{"link":"^clips4sale\\.com/(?:[a-z]{2}/)?studio/\\d+/\\d+","res":":\n$=JSON.parse($._.match(/window\\.__remixContext = ({.+?});/)?.[1]||'{}').state?.loaderData[\"routes/($lang).studio.$id_.$clipId.$clipSlug\"].clip\nreturn $.customPreviewUrl||$.cdn_preview_link||$.previewUrl?[$.customPreviewUrl||$.cdn_preview_link||$.previewUrl,$?.description||'']:[...$.description.matchAll(/\"(http[^\"]+\\.gif[^\"]*)/g)].map(i=>[i[1]])","img":"^imagecdn\\.clips4sale\\.com/.*(?:jpe?g|png|gif)","to":":\nconst img_elem = document.querySelector(`img[src*=\"${$[0]}\"]`);\nconst gif = img_elem.getAttribute(\"data-src\")\nreturn gif || img.elem.src;","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kzijd3q\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3620#12\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3616#1\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/clips4sale.com/new\nhttps://www.clips4sale.com/studio/122965/eva-de-vil\nhttps://www.clips4sale.com/studio/76569/goddess-lindsey"},"ComixZilla-x-p":{"link":"^comixzilla\\.com/en/comic-g/.*/$","res":":\nlet parser = new DOMParser();\nlet doc = parser.parseFromString($._, \"text/html\");\nlet images = doc.querySelectorAll('.dgwt-jg-item a');\nlet final = [];\nfor(image of images){\n final.push([image.href]);\n}\nreturn final;","note":"Randlai\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=620#12\n\nEXAMPLES\nhttps://comixzilla.com/en/art-a/fantasy/\nhttps://comixzilla.com/en/c-publisher/cartoon/"},"Communities.win":{"img":"^media\\.communities\\.win/preview/\\w+\\.\\w+","to":":\nlet urlNode=this.node.parentNode.parentNode.nextElementSibling.children[1].firstChild;\nconsole.log(urlNode.getAttribute('href'));\nreturn urlNode.getAttribute('href');","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1160#20\n\nEXAMPLES\nhttps://communities.win/c/all\nhttps://communities.win/c/Animals/"},"ComputerUniverse":{"link":"^computeruniverse\\.net/\\w\\w/p/\\d+","res":":\n$=JSON.parse($._.match(/<script id=\"__NEXT_DATA__\" type=\"application\\/json\" nonce=\"[a-f0-9-]+\">(.+?)<\\/script>/)[1]).props?.pageProps?.fullPageProps?.staticProps?.product?.ProductPictures||[];\nreturn $.map(i=>['https://img.computerunivers.net/cp/images/1000x1000/'+i.ImageUrlBig])","img":"^(img\\.computerunivers\\.net/(?:cp/)?images/)\\d+x\\d+","to":"$11000x1000","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/landzre\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1600#4\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1200#13\n\n\n\nEXAMPLES\nhttps://www.computeruniverse.net/ru/c/noutbuki-planshety-i-pk/bloknoty-i-aksessuary"},"Coomer|Kemono|Nekohouse-x-q-p":{"link":"^((beta\\.)?(?:kemono|coomer|nekohouse)\\.(?:party|su))/[^/]+/user/[^/]+/post/\\d+","res":":\nconst low_resolution_first = true\n\nreturn [...$._.matchAll(/(?:class=\"fileThumb\"[^\\w]+href|src(?==\"[^>]+type=\"video\\/[^\"]{3,4}\"))=\"([^\"]+)\"(?:[^>]+>[^>]+src=\"([^\"]+))?/g)].map(i=>[[(!low_resolution_first?'#':'')+i[1]?.replace(/^\\/[^\\/]/,'//'+$[1]+'$&'),(!low_resolution_first?'':'#')+i[2]?.replace(/^\\/[^\\/]/,'//'+$[1]+'$&')]])","img":"^img(\\.(?:coomer|kemono)\\.(?:party|su)/)thumbnail","to":"c2$1","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/1ebn1hr/comment/leu2kho\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l7ca8v1\nhttps://www.reddit.com/r/imagus/comments/14b0e93/comment/jt3vi50\n\n\n!!!\nВ фильтре есть возможность переключать высокое/среднее разрешение - клавишей TAB.\nТакже есть возможность установить средний размер загружаемых картинок (для быстрой загрузки):\nconst low_resolution_first = true\n==\nThe rule has the ability to switch high/medium resolution - with the TAB key.\nThere is also an option to set the average size of uploaded pictures (for quick loading):\nconst low_resolution_first = true\n\nEXAMPLES\nhttps://kemono.su/fanbox/user/16051830?o=100\nhttps://coomer.su/onlyfans/user/twinhentai\nhttps://nekohouse.su/fantia/user/32900\nhttps://www.reddit.com/domain/kemono.party/new\nhttps://www.reddit.com/domain/coomer.party/new"},"Coub":{"link":"^coub\\.com\\/view\\/\\w{4,6}","res":":\nvar i = $._.indexOf(\"<script id='coubPageCoubJson' type='text/json'>\");\nif(i<0) { return null; }\nvar t = $._.indexOf(\"script>\",i);\nif(t<0) { return null; }\nvar re=/{.*}/gi\nvar sourcesSTR = re.exec($._.substring(i,t));\nvar ulr;\nvar js1=JSON.parse(sourcesSTR)\nvar url = js1.file_versions.share?.default;\nif (url==null) {\n url=js1.file_versions.html5?.video?.higher?.url;\n}\nif (url==null) {\n url=js1.file_versions.html5?.video?.high?.url;\n}\nreturn url||''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kgkh2pt\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2600#3\n\n!!!\nКурсор следует наводить на название ролика.\n==\nThe cursor should be pointed at the title of the video.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://coub.com/hot\nhttps://coub.com/tags/crocodiles\nhttps://www.reddit.com/domain/coub.com/new/"},"Couchsurfing":{"img":"(blog\\.couchsurfing\\.com/wp-content/uploads/[^.]+\\.(?:jpe?g|png))","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jnit0kk\n\nEXAMPLES\nhttps://blog.couchsurfing.com/page/2/\nhttps://blog.couchsurfing.com/category/all/community/meet-a-host/\nhttps://blog.couchsurfing.com/category/all/couchsurfing-travel/travel-guides/"},"craigslist":{"link":"^[^.]+\\.(craigslist\\.[a-z]{2,3}/[^.]+/\\d+)\\.html","res":":\n$ = $._&&$._.match(/data-imgid=\"[^\"]+\" href=\"([^\"]+)/g)\nvar f=this.find, s = this.node.matches('img[src*=\"images.craigslist.org\"]') && this.node.src\nreturn $ && $.map(function(x){\n x=x.slice(x.lastIndexOf('\"') + 1)\n return [f({src: x})]\n}) || s && this.find({src: s}) || !1","img":"^(images\\.craigslist\\.org/\\w+_\\w+_)(?!1200x900)[^.]+","to":"$1#1200x900 600x450#","note":"EXAMPLES\nhttps://london.craigslist.org/search/off?lang=en&cc=us\nhttps://london.craigslist.org/search/sss?lang=en&cc=us"},"CSFD.cz|CSFD.sk":{"img":"^(image\\.pmgstatic\\.com/).+?(files/images.+)","to":"$1$2","note":"64h\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1100#3\n\n!!!\nIn some cases, the cursor needs to be hover again.\n+\nThe rule for uBO (Ublock Origin) extension - it is necessary for the sieve to work in Galleries:\ncsfd.cz,csfd.sk##.media-img > picture > img:style(pointer-events: auto !important)\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1080#13"},"CyberDrop.me-x":{"link":"^(?:(cyberdrop\\.me/)f/(\\w+)|api\\.cyberdrop\\.me/api/file/auth/\\w+)","url":": $[2] ? `https://api.${$[1]}api/file/info/${$[2]}` : $[0]","res":":\nif($[2]){\nthis.cd_type=JSON.parse($._).type\nreturn {loop:'https://api.cyberdrop.me/api/file/auth/'+$[2]}\n}\n$=JSON.parse($._).url+(this.cd_type.startsWith('video')?'#mp4':'')\ndelete this.cd_type\nreturn $","note":"https://www.reddit.com/r/imagus/comments/z0zyox/comment/l9liuzp\nOLD\nhttps://www.reddit.com/r/imagus/comments/1bs0clo/comment/kxis1yh\n\nEXAMPLES\nhttps://cyberdrop.me/a/v6NStYbB\nhttps://cyberdrop.me/a/PFB78qek"},"CyberFile.me":{"link":"^cyberfile\\.me/\\w+","res":":\nlet x=new XMLHttpRequest()\nx.open('POST','https://cyberfile.me/account/ajax/file_details',false)\nx.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded; charset=UTF-8\")\nx.send('u='+$._.match(/showFileInformation\\((\\d+)/)[1])\nreturn (x.responseText.match(/source src=\\\\\"([^\"]+)/)||[,''])[1].replaceAll('\\\\','')\n","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/k0jqmfs\n\n!!!\nДля работы с внешними ссылками в FireFox необходимо правило для SMH (см. ЧаВо, п.12).\nНа данный момент фильтр не работает на внешних ссылках в Хромиум-браузерах. \n==\nTo work with external links in Firefox, you need a rule for SMH (see FAQ, p. 12). At the moment, the rule does not work on external links in Chromium browsers.\n\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"DailyMail":{"link":"(dailymail\\.co\\.uk/.*)","url":": $[1]","res":":\n//console.log(\"imagus: reading \" + $[1]);\nvar doc = new DOMParser().parseFromString($._, \"text/html\");\n// dailymail has duplicates - correct one has data-src\nvar images = doc.querySelectorAll('img.img-share[data-src]');\nvar imgurls=Array.from(images).map(img => img.getAttribute(\"data-src\"));\nvar baseurl=$.base.replace(new RegExp('((https?://)?[/]).','gi'), '$1');\nvar dirurl=$.base.split(\"/\");\ndirurl.pop();\ndirurl=dirurl.join(\"/\");\nvar i=imgurls.map(function (item) {\n item = item.replace(/data-src=\"/gi, \"\");\n if ( item.search(/https?:\\/\\//) == -1) {\n if (item[0] == \"/\") item = baseurl + item; else item = dirurl + \"/\" + item;\n }\n return [item, item]; \n});\nreturn i;","note":"regexfan1245\nhttps://www.reddit.com/r/imagus/comments/tutndw/sieve_for_dailymailcouk_images/"},"DailyMotion-p":{"link":"dailymotion\\.com/(?:embed/)?video/(\\w+)","url":"https://www.dailymotion.com/player/metadata/video/$1","res":":\nconst json = JSON.parse($._);\nconst res = json.qualities?.auto.length?[json.qualities.auto[0].url,json.title]:''\nthis.TRG.IMGS_ext_data = [\n '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1280\" height=\"720\"></svg>',\n `<imagus-extension type=\"videojs\" url=\"${res}\"></imagus-extension>${json.title} | ${json.owner.screenname}`\n]\nreturn res.length ? {loop:'imagus://extension'} : ''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jns5il6\n\n!!!\nДля просмотра видео по внешним ссылкам на Хпромиум-браузерах требуется правило для SMH (см.ЧаВо п.12).\n==\nTo view video via external links on Chromium browsers, a rule for SMH is required (see FAQ p.12).\n\n\nEXAMPLES\nhttps://www.reddit.com/domain/dailymotion.com/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Danbooru.Donmai.us-x-p":{"link":"^(?:(?:safe|dan)booru\\.|hijiribe\\.|sonohara\\.)?(donmai\\.us)/post(?:s|/show)/(\\d+).*","url":"//danbooru.$1/posts/$2.json","res":":\nvar x = JSON.parse($._);\nreturn x&&x.file_url ? [x.file_url, (x.tag_string_general + (x.tag_string_artist ? ' by ' + x.tag_string_artist : '')).replace(/_/g, \" \")] : null","img":"^((?:(?:safe|dan)booru\\.|hijiribe\\.|sonohara\\.)?donmai\\.us/data/)[^/]+/(?:sample-)?([\\da-f]{32}\\.).+","to":"#$1$2#jpg png gif webm#\n$1sample/sample-$2#jpg png gif#","note":"ПРИМЕРЫ / EXAMPLES\nhttps://danbooru.donmai.us/artists/337081\nhttps://danbooru.donmai.us/posts?tags=yoshikirino\nhttps://danbooru.donmai.us/posts?page=3&tags=genshin_impact"},"Darudar":{"link":"^darudar\\.org/\\w+/\\d+","res":":\nreturn [...$._.matchAll(/href=\"([^\"]+)\"\\s+data-fancybox-group/g)].map(i=>[i[1]])","img":"^(static\\.daru-dar\\.org/s)\\d+(/[0-9a-f]{2}\\.[0-9a-f]{2}/[0-9a-f]{2}/[0-9a-f]{2}/[0-9a-f]{2}/[0-9a-f]+\\.jpe?g)$","ci":2,"to":"$11024$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jyil8u7\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=580#11\n\nПРИМЕРЫ\nhttps://darudar.org/"},"Daz3D-p":{"link":"^daz3d\\.com/[\\da-z-]+$","res":":\nvar r = $._.match(/data-fancybox-href=\"([^\"]+)/g) || !1, t = $._.match(/<h1>([^<]+)</)\nreturn r && r.map(function(x, i){\n return [x.slice(20).replace(/-thumb(-daz3d)/, '-main$1'), !i && t && t[1]]}\n)","img":"^daz3d\\.com/cdn-cgi/image/[^/]+/(https:.+)","to":":\nreturn $[1].replace(/-thumb(-daz3d)/, '-main$1')","note":"https://www.reddit.com/r/imagus/comments/jssrfx/daz3dcom_has_stopped_working/\n\nEXAMPLES\nhttps://www.daz3d.com/animals-and-creatures"},"dcinside":{"link":"^gall\\.dcinside\\.com/(?:(?:(?:[^/]+/)?board/view/|list\\.php)\\?id=[^&]+&no=|\\w+/)\\d+","res":":\nreturn [...new DOMParser().parseFromString($._,\"text/html\").querySelectorAll('img[src*=\"viewimage.php?\"][style][alt],img[src*=\"viewimage.php?\"][onError][alt]')].filter(i=>i.alt?.length).map(i=>[i.src]);","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/15qpek4/comment/jw9n6dy\n\n!!!\nВидео на данный момент не поддерживается / Video not supported at the moment.\n\nEXAMPLES\nhttps://gall.dcinside.com/board/lists/?id=food\nhttps://www.reddit.com/domain/dcinside.com/new/\nhttps://search.dcinside.com/movie/p/4/q/.EC.8B.9D.EC.82.AC"},"DeepSkyHosting":{"img":"(deepskyhosting\\.com/img/\\w/)\\d+(/\\d+\\.\\w+)","to":"$1full$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=700#11\n\nПРИМЕРЫ / EXAMPLES\nhttps://deepskyhosting.com/id621"},"Deezer":{"img":"((?:e-)?cdns?-images\\.dzcdn\\.net\\/images\\/(?:cover|playlist|artist|talk)\\/\\w+\\/)[^\\.]+\\.jpg","to":"$11200x1200-000000-95-0-0.jpg","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3520#5\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2460#12\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.deezer.com/ru/channels/module/3d720c8b-6256-4731-8f2f-28fafc60d0e1\nhttps://www.deezer.com/ru/playlist/1419215845"},"Defense.gov_photo":{"link":"defense\\.gov\\/Multimedia\\/Photos\\/igphoto\\/\\d{10}\\/","res":"<a class=\"details-url\" href=\"(https?:\\/\\/media\\.defense\\.gov\\/\\d{4}\\/\\w+\\/\\d{2}\\/\\d{10}\\/-1\\/-1\\/0\\/.+\\.\\w+)\">","img":"^(media\\.defense\\.gov/\\d+/\\w+/\\d+/\\d+)/\\d+/\\d+(/\\d+/[\\w-]+\\.(?:jpe?g|png|gif))$","ci":2,"to":"$1/2000/2000$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#11\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1540#12\n\n\nEXAMPLES\nhttps://www.defense.gov/Multimedia/Photos/"},"dePIC.me":{"link":"^depic\\.me/\\w+/.+","res":"<img src=\"([^\"]+)\"[^>]+id=\"pic\"","note":"Rodny+Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=180#3\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/depic.me/new/"},"Derpibooru|Furbooru|Trixiebooru-x":{"link":"^(derpiboo(?:ru\\.org|\\.ru)|(?:trixiebooru|furbooru)\\.org)/(?:images/)?(\\d+)[^.]*","url":"https://$1/api/v1/json/images/$2","res":":\n$ = JSON.parse($._).image\nvar r = $.representations\nreturn [[\n $.format=='gif' ? ['#'+r.webm, '#'+r.mp4, r.full] : $.width<1200 && $.height<1200 ? [r.full] : ['#' + r.full, r.large],\n ['['+$.created_at+']', $.name, $.description, $.tags, $.source_url].filter(Boolean).join(' | ')\n]]","img":"^((?:derpicdn\\.net|furrycdn\\.org)/img/)(?:view/)?(20\\d\\d/1?\\d/[123]?\\d/\\d+)[^?]*\\.([^?]+)","to":":\nreturn $[1]+'view/'+$[2]+'.'+($[3]=='gif'?'#webm mp4 gif#':$[3])","note":"https://www.reddit.com/r/imagus/comments/huqzdn/comment/fzavtn4\n\nEXAMPLES\nhttps://furbooru.org/tags/female\nhttps://derpibooru.org/images?page=5\nhttps://trixiebooru.org/galleries?page=10&gallery="},"DeviantArt-x-q-p":{"link":"^(?:(?:[^.]+\\.)?deviantart\\.com/(?:(?:[^/]+/)?art/[^#]+$|#/\\w+)|fav\\.me/(\\w+))","url":": $[1] ? 'http://fav.me/' + $[1] : $[0]","res":":\n//If set to true, the imagus style of media description will be used.\n//Example: {Dimensions} {Publish Date} | {Title} | {Author} | {Category} \n//Set to false to use the sieve author's preference. The description length is a useful indicator to tell if the post is worth clicking to read the description.\n//Example: {Title} | {Author} | {Description Length} \nconst imagus_description_style = true;\n\n//if set to true, the largest possible media will be displayed. Useful for downloading highest quality content.\n//if set to false, web-optimized media will be displayed. Best choice for fast browsing and low internet speeds.\nconst prefer_largest_media = true;\n\n//Set true to view debugging console messages\nconst debug = false;\n\n\nif(debug) console.log(\"DeviantArt Verbose Sieve V2.4\");\n\nlet pagedefinitionsJSON=$._.match(/\\.__INITIAL_STATE__\\s*=\\s*JSON\\.parse\\((\"[^\\n]+\")/)\nif(!pagedefinitionsJSON) //If page definitions could not be parsed, fallback to regex attempt\n{\n pagedefinitionsJSON=$._.match(/collect_rid=\"[^\"]+\" src=\"([^\"]+)\"[^>]+alt=\"([^\"]+)\"[^>]+=\"dev-content-full/)\n return pagedefinitionsJSON&&[pagedefinitionsJSON[1], pagedefinitionsJSON[2]]\n}\n\n//This deviationdefinition_all let is thorough information about the deviation, including the user and related deviations\nlet deviationdefinition_all=JSON.parse(eval(pagedefinitionsJSON[1]))['@@entities'];\n//if(debug) console.log(\"Deviation Definition (All)\", deviationdefinition_all);\n\n\n//Grab JSON extended deviation info\nlet deviationkey=Object.keys(deviationdefinition_all.deviationExtended)[0];\nlet deviationdefinition_extended=deviationdefinition_all.deviationExtended[deviationkey];\n//Grab JSON specific deviation info\nlet deviationdefinition_specific=deviationdefinition_all.deviation[deviationkey];\n\n\n//Set the media description text\nlet toptext;\n\nif(imagus_description_style) {//Imagus standard media description desired. Grab relevant info and create the top text.\n\n //Create media resolution string\n let resolutionstring = deviationdefinition_extended.originalFile.width + \"x\" + deviationdefinition_extended.originalFile.height;\n\n //Create friendly date string\n const parseddatetime = new Date();\n parseddatetime.setTime(Date.parse(deviationdefinition_specific.publishedTime));\n const months =[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec \"];\n let month = months[parseddatetime.getMonth()];\n let day = parseddatetime.getDate();\n let year = parseddatetime.getFullYear();\n let datestring = month + \" \" + day + \" \" + year\n\n //Create top 5 tags string\n let tagsstring = \"\";\n if(deviationdefinition_extended.tags) {\n for(let i=0; i<deviationdefinition_extended.tags.length; i++) {\n if(i > 0) tagsstring += \", \";//commas after the first tag\n tagsstring += deviationdefinition_extended.tags[i].name;\n\n if(i > 4) {//cut short if more than 5 tags assigned\n tagsstring += \" ...\";\n break;\n }\n }\n }\n else {\n //Assign friendly text if no tags assigned\n tagsstring = tagsstring == \"\" ? \"No Tags\" : tagsstring;\n }\n \n\n\n //Define the top text\n toptext = datestring + ' | ' + deviationdefinition_specific.title + ' | ' + \n deviationdefinition_all.user[deviationdefinition_specific.author].username;\n}\nelse{\n //get length of plain text description by letting the DOM parse it for us\n let description = deviationdefinition_all.deviationExtended[deviationkey].descriptionText.html.markup;\n\n if(debug) console.log(\"Description: \", description)\n\n let descriptionlength = 0;\n if(description != null) {//description is defined, use DOM trickery to get text length\n let tempDivElement = document.createElement(\"div\");\n tempDivElement.innerHTML = description; \n if(tempDivElement.textContent != null) {\n descriptionlength = tempDivElement.textContent.length; \n }\n else if(tempDivElement.innerText != null) {\n descriptionlength = tempDivElement.innerText.length;\n }\n }\n\n \n\n //Define the top text\n toptext = deviationdefinition_specific.title + \n ' | ' + deviationdefinition_all.user[deviationdefinition_specific.author].username + \n (descriptionlength == 0 ? \"\" : ' | ' + descriptionlength);\n \n} \n\n//The rest is parsing the correct media URLs\nlet mediadefinition=deviationdefinition_specific.media;\nlet baseuri=mediadefinition.baseUri;\nlet sizedpreviewdefinition=mediadefinition.types.filter(function(t){return !!t.c||!!t.b}).pop();\nlet mediatokens=mediadefinition.token;\nif(!baseuri)return;\n\nif(debug) console.log(\"deviationdefinition_all\", deviationdefinition_all);\nif(debug) console.log(\"deviationdefinition_specific\", deviationdefinition_specific);\nif(debug) console.log(\"deviationdefinition_extended\", deviationdefinition_extended);\nif(debug) console.log(\"mediadefinition\", mediadefinition);\nif(debug) console.log(\"baseuri\", baseuri);\nif(debug) console.log(\"sizedpreviewdefinition\", sizedpreviewdefinition);\nif(debug) console.log(\"mediatokens\", mediatokens);\n\n\n//There are 0 or 1 or 2 tokens in the mediatoken definition for some reason. Which one works is guesswork.\nlet mediatokenstring0=mediatokens?'?token='+mediatokens[0]:'';\nlet mediatokenstring1=mediatokens&&mediatokens[1]?'?token='+mediatokens[1]:mediatokenstring0;//define the second token if it exists, otherwise default to first token\n\nlet medialinkobject;//final goal is to fill in this object\n\nif(prefer_largest_media) {\n //If download info exists, use link directly. Handles most GIFs and images.\n if(deviationdefinition_all.deviationExtended[deviationkey].download) {\n if(debug) console.log(\"Direct download link found.\")\n let downloadlink = deviationdefinition_all.deviationExtended[deviationkey].download.url;\n\n if(downloadlink.match(/\\.(?:7z|rar|zip|pdf)\\?/) == null) {//Exclude filetypes not displayed with imagus\n medialinkobject = [downloadlink];\n\n //Construct the final return object\n let returnval = [\n [medialinkobject, toptext]\n ];\n if(debug) console.log(\"Final Return Value\", returnval)\n return returnval;\n }\n if(debug) console.log(\"Undisplayable filetype detected, skipping download link.\");\n }\n\n if(debug) console.log(\"Direct download link not found or not an Imagus media type.\")\n\n // Extract meaningful objects that contain identifiers\n let fullview;\n let preview;\n let largestvideo;\n let gif;\n let has_valid_definition = !!(mediadefinition.types);\n for(let i=0; i<mediadefinition.types.length; i++) {\n let currentdefinition = mediadefinition.types[i];\n if(currentdefinition.t == 'preview') {\n preview = currentdefinition;\n continue;\n }\n if(currentdefinition.t == 'fullview') {\n fullview = currentdefinition;\n continue;\n }\n if(currentdefinition.t == 'video') {\n //There may be multiple video definitions, keep the largest one\n if(largestvideo) {\n //compare widths to determine larger video, keep larger definition\n largestvideo = (largestvideo.w < currentdefinition.w) ? currentdefinition : largestvideo;\n }\n else { //assign first video definition as largest\n largestvideo = currentdefinition;\n }\n continue;\n }\n if(currentdefinition.t == 'gif') {\n gif = currentdefinition;\n continue;\n }\n }\n\n\n if(largestvideo) {// Video definition exists. Use this.\n if(debug) console.log(\"Video detected.\");\n medialinkobject = [largestvideo.b];\n }\n else if(gif) {// GIF definition exists\n if(debug) console.log(\"GIF detected.\");\n medialinkobject = [gif.b+mediatokenstring0];;\n }\n else if(fullview) {// Fullview exists\n if(debug) console.log(\"Fullview definition of image detected.\");\n if(debug) console.log(\"fullview\", fullview);\n if(fullview.b||fullview.c) { //url parts are in this definition\n medialinkobject = [baseuri+(fullview.b||fullview.c).replace('<prettyName>', deviationdefinition_specific.media['prettyName']) + mediatokenstring0];\n }\n else {\n if(debug) console.log(\"Fullview definition incomplete. Attempting basic url construction...\");\n medialinkobject = [baseuri+mediatokenstring0];\n }\n }\n else {//no valid definitions\n if(debug) console.log(\"No sized preview definition found. Attempting basic url construction...\");\n medialinkobject = [baseuri+mediatokenstring0];\n }\n}\nelse {//Attempt to get web optimized media instead\n\n //Get viewport to optimize against\n const viewportwidth = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n const viewportheight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0);\n if(debug) console.log(\"Viewport: \" + viewportwidth + \" by \" + viewportheight);\n\n if(mediadefinition.baseUri.includes(\".gif\")) {//handle GIFs special as they don't have a definition in the mediadefinition types\n if(debug) console.log(\"GIF detected.\");\n\n //Construct the final return object\n medialinkobject = [mediadefinition.baseUri+mediatokenstring0];\n let returnval = [\n [medialinkobject, toptext]\n ];\n \n if(debug) console.log(\"Final Return Value\", returnval)\n return returnval;\n }\n\n // Extract meaningful objects that contain identifiers\n let fullview;\n let preview;\n let bestvideosizematch;\n let bestvideosizecloseness = 10000.0;//large number is a bad fit, start this number with arbitrarily bad ratio\n let gif;\n let bestimagesizematch;\n let bestimagesizecloseness = 10000.0;//large number is a bad fit, start this number with arbitrarily bad ratio\n let has_valid_definition = !!(mediadefinition.types); \n for(let i=0; i<mediadefinition.types.length; i++) {\n let currentdefinition = mediadefinition.types[i];\n if(currentdefinition.t == 'preview') {//save preview definition as a default case\n preview = currentdefinition;\n }\n if(currentdefinition.t == 'video') {\n //There may be multiple video definitions, keep the best size fit\n if(bestvideosizematch == undefined) {\n bestvideosizematch = currentdefinition\n }\n else {\n let currentsizecloseness = Math.abs(1- (currentdefinition.h/viewportheight));\n if(debug) console.log(\"currentsizecloseness\", currentsizecloseness);\n if(currentsizecloseness < bestvideosizecloseness) {\n bestvideosizecloseness = currentsizecloseness;\n bestvideosizematch = currentdefinition;\n if(debug) console.log(\"New best match at closeness \", bestvideosizecloseness, \" type \", bestvideosizematch.t);\n }\n }\n continue;\n }\n if(currentdefinition.t == 'gif') {//GIFs only have one definition if they exist\n gif = currentdefinition;\n continue;\n }\n\n //If none of the special cases are matched, select the largest best size fit definition\n //Imagus evaluates height first so this section does as well\n if(bestimagesizematch == undefined) {\n bestimagesizematch = currentdefinition\n }\n else {\n let currentsizecloseness = Math.abs(1- (currentdefinition.h/viewportheight));\n if(debug) console.log(\"currentsizecloseness\", currentsizecloseness);\n if(currentsizecloseness < bestimagesizecloseness) {\n bestimagesizecloseness = currentsizecloseness;\n bestimagesizematch = currentdefinition;\n if(debug) console.log(\"New best match at closeness \", bestimagesizecloseness, \" type \", bestimagesizematch.t);\n }\n }\n\n }\n\n\n if(bestvideosizematch) {// Video definition exists. Takes precedence over other media types.\n if(debug) console.log(\"Video detected.\");\n medialinkobject = [bestvideosizematch.b];\n }\n else if(gif) {// GIF definition exists. Takes precedence over everything but video.\n if(debug) console.log(\"GIF detected.\");\n medialinkobject = [gif.b+mediatokenstring0];;\n }\n else{// Attempt image media definition\n \n if(bestimagesizematch.b||bestimagesizematch.c) { //Use bset size match if it has a complete definition\n medialinkobject = [baseuri+(bestimagesizematch.b||bestimagesizematch.c).replace('<prettyName>', deviationdefinition_specific.media['prettyName']) + mediatokenstring0];\n }\n else if(preview.b||preview.c) {//Best size match was not a complete definition, use preview definition as it seems reliably available.\n if(debug) console.log(\"Best sized definition incomplete. Using preview version...\");\n medialinkobject = [baseuri+(preview.b||preview.c).replace('<prettyName>', deviationdefinition_specific.media['prettyName']) + mediatokenstring0];\n \n }\n else {//Preview version also failed, attempt basic URL construction\n if(debug) console.log(\"No sized preview definition found. Attempting basic url construction...\");\n medialinkobject = [baseuri+mediatokenstring0];\n }\n }\n}\n\n\n\n//Construct the final return object\nlet returnval = [\n [medialinkobject, toptext]\n ];\nif(debug) console.log(\"Final Return Value\", returnval)\nreturn returnval;","img":"^images-wixmp-ed30a86b8c4ca887773594c2\\.wixmp\\.com/[a-z]/[\\da-f-]{36}/([\\da-z]+)-.*","note":"iceiller9999\nv2.4\nhttps://www.reddit.com/r/imagus/comments/15iej6p/deviantart_sieve_bug_fix/\nOLD\nhttps://www.reddit.com/r/imagus/comments/sjeohm/deviantart_comprehensive_sieve\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=240#4\n\n\n!!!\nУмеет открывать картинки в более высоком или низком разрешении (опционально) - см расшифровку \"флагов\" ниже (англ).\n==\nOpens pictures in a higher resolution (optional). See the explanation of the \"flags\" below:\n\n1. imagus_description_style. Set flag \"true\" to use Imagus description style. Set to \"false\" to use a more concise version. More details in the code comments.\n\n2. prefer_largest_media. Set flag \"false\" to load web optimized media, good for speed/bandwidth. Set flag \"true\" to load the largest media size possible, excellent for downloading."},"DeviantArt_sta.sh-x-p":{"link":"sta\\.sh/\\w+","res":":\nlet z=$._.match(/src=\"([^\"]+)\"[^>]+class=\"dev-content-full\">/);\nif (z!=null) {\n return z[1];\n}\nlet i = $._.indexOf('script><div class=\"stash-thumb-container');\nif(i<0) { return null; }\nlet t = $._.indexOf('<div id=\"empty-item\" class=\"invisible\">', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /data-super-full-img=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1440#7\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/sta.sh/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1369#1"},"Diberie_Rehost":{"img":"^(rehost.diberie.com/Picture/Get)/\\w/(\\d+)","to":"$1/f/$2","note":"mooms01\nhttps://www.reddit.com/r/imagus/comments/vlyl5u/sieve_for_imgsuperhfr_and_rehostdiberiecom\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"DimonVideo.ru":{"link":"^dimonvideo\\.ru/go\\?.+(png|bmp|jpe?g)$","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1600#12\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1000#8\n\nПРИМЕРЫ\n(\"дополнительный скрин\")\nhttps://dimonvideo.ru/uploader/484417\nhttps://dimonvideo.ru/uploader/485143\nhttps://dimonvideo.ru/uploader/486070"},"DirectUpload.net":{"useimg":1,"link":"^(?:s\\d+\\.)?directupload\\.net/file/[a-z]/\\d+/","res":"\"og:image\" content=\"([^\"]+)\n\"og:description\" content=\"([^\"]+)","img":"^((?:f?s\\d+b?\\.)?directupload\\.net/images/(?:user/)?\\d+/)temp/","to":"$1","note":"EXAMPLES\nhttps://www.reddit.com/domain/directupload.net/new/\nhttps://forum.mozilla-russia.org/viewtopic.php?pid=781530#p781530"},"DISCOGS":{"link":"^discogs\\.com/(?:\\w\\w/)?artist/[^\\/]+","res":":\nvar r = [];\n($._.match(/\"full\": \"[^\"]+/g) || r).forEach(function(i) {r.push([i.replace('\"full\": \"','')]);});\nif (r.length==0) {\n ($._.match(/<\\/span><img src=\"[^\"]+/g) || r).forEach(function(i) {r.push([i.replace('<\\/span><img src=\"','')]);});\n}\nreturn r;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1160#16\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3080#17\n\n\n!!!\nСрабатывает на именах в блоке \"Над релизом работали\", на названиях групп в других местах и на \"все изображения\".\n==\nIt works on the names in the \"Worked on the release\" block or on the names of groups in other places and on \"all images\".\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.discogs.com/ko/Various-Exotic-Rendezvous/release/14402447\nhttps://www.discogs.com/Story-Of-The-Year-Page-Avenue/master/382764\nhttps://www.discogs.com/Scooter-And-The-Beat-Goes-On/master/3018"},"DISCOGS_2":{"link":"^discogs\\.com/(?:\\w\\w/)?(release|master)/(\\d+)[^\\/?]+(?:(?:/|\\?)image(?:=(\\d+))?(?:.+))?","url":": 'https://www.discogs.com/internal/release-page/api/graphql?operationName='+ ($[3] || $[1]=='release' ? 'ReleaseAllImages' : 'MasterReleaseAllImages') +'&variables={\"discogsId\":' + ($[3] ? $[3] : $[2]) + ',\"count\":500}&extensions={\"persistedQuery\":{\"version\":1,\"sha256Hash\":\"'+ ($[3] || $[1]=='release' ? '13e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd' : '4faa70a6b17ca38aa060fd37ecb4ba5646706154d970c3b2ea9198c18be79a73') +'\"}}';","res":":\nlet res=[];\nconst json=JSON.parse($._);\nif (json.data.masterRelease) {\n json.data.masterRelease.keyRelease.images.edges.forEach(function(i) {\n res.push([i.node.fullsize.sourceUrl]);\n });\n return res;\n}\nelse if (json.data.release) {\n json.data.release.images.edges.forEach(function(i) {\n res.push([i.node.fullsize.sourceUrl]);\n });\n return res;\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1160#18\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3080#17\n\n\n!!!\nСрабатывает на обложках и в блоке \"Релизы\".\n==\nIt works on the covers and in the \"Releases\" block.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.discogs.com/artist/356282-Story-Of-The-Year"},"DISCOGS_3":{"link":"^discogs\\.com/.+/release/[\\d-\\w]+(?:#([\\da-zA-z=]+))*$","url":": $[1] ? atob($[1]): $[0];","res":":\nif ($[1]) {\n var c = $._;\n var i = c.indexOf('<ul class=\"thumbnails_');\n if(i<0) { return null; }\n var t = c.indexOf('</ul>', i);\n if(t<0) { return null; }\n var res = [];\n var re = /<img src=\"([^\"]+)\"/gi\n var a = re.exec( c.substring(i,t) );\n while(a) {\n res.push([a[1]]);\n a = re.exec( c.substring(i,t) );\n }\n return res;\n}\nelse {\n var re = /class=\".+\" href=\"([^\"]+)\"><div class=\".+\"><picture>/gi;\n var a = re.exec( $._);\n if (a==null) return null;\n const url_selector = $[0].split(\"/\").slice(3).join(\"/\");\n const a_elem = document.querySelector(`a[href*=\"${url_selector}\"]`);\n a_elem.href += `#${btoa(\"https://www.discogs.com\"+a[1])}`\n a_elem.style.cssText = \"border-bottom: 3px solid #ebff00; !important\";\n return;\n}","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1160#16\nBaton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2420#16\n\n\n!!!\nСрабатывает в блоке \"Рекомендации\".\n==\nIt works in the \"Recommendations\" block.\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.discogs.com/ru/master/625256-Story-Of-The-Year-The-Black-Swan\nhttps://www.discogs.com/ru/master/382764-Story-Of-The-Year-Page-Avenue"},"Discord_profile":{"img":"^(cdn\\.discordapp\\.com/(?:icons|avatars)/\\d+/[^?]+).*","to":"$1?size=4096"},"DMM.co.jp-x-p":{"link":"dmm.co.jp/digital/videoa/-/detail/=/cid=.+","res":":\nvar str = $._\nconsole.log(str);\nvar str1 = /href=\"(.+?pl\\.jpg)\"/i;\nconsole.log(str1);\nvar found = str.match(str1);\nconsole.log(found[1]);\nvar i = $._.indexOf('id=\"sample-image-block\"');\nif(i<0) {return null; }\nvar t = $._.indexOf('画像はイメージです', i);\nif(t<0) {return null; }\nvar res = [];\nvar re = /href=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nconsole.log(a);\nres.push([found[1]]);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nconsole.log(res);\nreturn res;","img":"(dmm\\.(co\\.jp|com)\\/.+)(ps|pt|-\\d+)\\.jpg","ci":2,"to":":\nif ($[3] == \"pt\" || $[3] == \"ps\") {\nconsole.log($[1] + \"pl.jpg\");\nreturn $[1] + \"pl.jpg\"\n} else {\nconsole.log($[1] + $[3] + \".jpg\");\nreturn $[1] + $[3] + \".jpg\"\n}\n","note":"loveqianool\nhttps://www.reddit.com/r/imagus/comments/116g0uo/comment/jcxris0\nOLD\nhttps://www.reddit.com/r/imagus/comments/xv9tah/comment/irl73ee\n\n!!!\nДля проверки нужен аккаунт.\n\n\nEXAMPLES\nhttps://www.dmm.co.jp/top/\nhttps://www.dmm.co.jp/digital/videoa/-/detail/=/cid=prvr00995\nhttps://www.dmm.co.jp/digital/videoa/-/detail/=/cid=waaa00224"},"DNS-shop.ru":{"link":"^(?:www\\.)?dns-shop\\.ru\\/product\\/[a-f0-9]{16}\\/.+\\/$","res":":\nvar re=/data-product-card=\"([^\"]+)\"/gi\nvar az=$._\nvar url=re.exec(az)[1];\nif (url==null) { return null; }\nx = new XMLHttpRequest();\nx.open('GET', 'https://www.dns-shop.ru/catalog/product/get-media-content/?id=' + url,false)\nx.send();\nif (x.readyState != 4) return;\nif (x.status != 200) return;\nvar rawJson=x.responseText;\nvar res=[];\nvar re1=/\"origSrc\":{\"orig\":\"([^\"]+)\"/gi\nvar a = re1.exec(rawJson);\nwhile(a) {\n res.push([a[1]]);\n a = re1.exec(rawJson);\n}\nreturn res;\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=100#2\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2900#4\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2520#12\n\nEXAMPLES\nhttps://www.dns-shop.ru/catalog/17a8cf4816404e77/massazhery/\nhttps://www.dns-shop.ru/catalog/recipe/ecb3d99d171a79ba/58---65/"},"DNS-shop.ru_club":{"link":"^club\\.dns-shop\\.ru/(?:review|digest)/(?:t-)?\\d+","res":":\nconst imgOrig = (m) => m.replace(/thumb\\/st1\\/fit\\/\\d+\\/d+\\/[^\\/]+/,'api/v1/image/getOriginal');\n$=JSON.parse($._.match(/type=\"application\\/ld\\+json\">({.+?})<\\//)?.[1]||'{}')['@graph'][0];\nconst t=[$.about,$.description].filter(Boolean).join(\" | \");\nconst imgs=$.image.map((i,n)=>[imgOrig(i),!n?t:'']);\nconst vids=$.video?.map(i=>['',`<imagus-extension type=\"iframe\" url=\"${i.embedUrl}\"></imagus-extension>`]);\n$=imgs.concat(vids)\nif(vids?.length){\nthis.TRG.IMGS_ext_data=$;\nreturn {loop:'imagus://extension'};\n}\nreturn $","img":"^\\w\\.dns-shop\\.ru/thumb/st\\d/(?:fit|crop)/\\d+/\\d+/\\w+/(\\w+\\.\\w+)(?:\\.\\w+)?$","to":"//club.dns-shop.ru/api/v1/image/getOriginal/$1\n\n","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lgkwer7\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/khngdf6\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=220#4\n\nПРИМЕРЫ\nhttps://club.dns-shop.ru/review/\nhttps://club.dns-shop.ru/review/t-116-myishi/120029-obzor-myishi-a4tech-fstyler-fb35c/\nhttps://club.dns-shop.ru/digest/120776-remeik-metal-gear-solid-3-sravnili-s-originalom/"},"DogDrip-p":{"link":"^dogdrip\\.net.*/\\d+","res":":\nreturn [...$._.matchAll(/<(?:video|img)[^>]+src=\"(\\/dvs\\/[^\"]+)/g)].map(i=>[i[1]])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/15sx7lx/comment/jwp1lwo\n\nEXAMPLES\nhttps://www.dogdrip.net/dogdrip\nhttps://www.dogdrip.net/dogdrip/503225703?sort_index=popular&page=2\nhttps://www.dogdrip.net/?_filter=search&act=&vid=&mid=dogdrip&category=&search_target=title&search_keyword=@@"},"DogfartNetwork-x-p":{"link":".*dogfartnetwork\\.com/tour/scenes/.+/.+/pics/\\d+\\.jpg\\?p=\\d+","res":"img src=\"(.*)\" alt=\"\"","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3616#1\n\nEXAMPLES\nhttps://www.dogfartnetwork.com/en/photos\nhttps://www.dogfartnetwork.com/en/videos/categories/amateur\nhttps://www.dogfartnetwork.com/en/videos/categories/femdom"},"Domclick.ru":{"link":"^domclick\\.ru/card/\\w+__\\w+__\\d+","url":": (()=>{if (!this.node.closest('[data-test=\"product-snippet-property-offer\"]')) throw ''; return $[0]})()","res":":\nvar res = [];\n\nconst data = JSON.parse($._.match(/window\\.(?:__SSR_STATE__|__PRELOADED_STATE__)\\s*=\\s*({.+})/)?.[1]?.replace(/:undefined/g, ':\"\"') || '\"\"');\n\nlet descr = data.productCard?.originalProduct?.object_info?.description || data.shell?.data?.newFlat?.objectInfoList?.description;\n\n[\n ...data.productCard?.originalProduct?.photos || [],\n ...data.shell?.data?.newFlat?.photo || [],\n ...data.shell?.data?.newFlat?.complexPhotos || []\n]\n.forEach(function (item, i) {\n res.push([\n 'https://img.dmclk.ru/s2000x2000q100' + (typeof item == 'string' ? item : item.url),\n i === 0 ? descr : ''\n ]);\n});\n\nreturn res;","img":"^img\\.dmclk\\.ru/s\\d+x\\d+q\\d+/(vitrina/.+.webp)","to":"img.dmclk.ru/$1","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2480#18\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2060#7\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3760#8\n\n!!!\n- Курсор наводить на название объекта.\n- На странице самого объекта работает только для \"Похожие объявления рядом\".\n\nПРИМЕРЫ\nhttps://domclick.ru/arenda/kvartiry/odnokomnatnaja\nhttps://spb.domclick.ru/search?deal_type=sale&category=living&offer_type=flat"},"Douban":{"img":"^(img\\d+\\.douban(?:io)?\\.com/)(?:(view/|img/)(?:photo|movie_poster_cover|(thing_review|commodity_story|celebrity))/(?!large)[^/]+|(icon/u(?=\\d))|[sm](?=pic/))","to":":\nreturn $[1] + ($[2] ? $[2] + ($[3]||'photo') + '/#large photo#' : (($[4]||'') + 'l'));","note":"EXAMPLES\nhttps://movie.douban.com\nhttps://www.douban.com/photos/album/82722476/\nhttps://www.douban.com/gallery/topic/3345004/?_dtcc=1"},"Doujins-x-p":{"link":"doujins\\.com\\/.+\\/.+-\\d+.*","res":":\nvar i = $._.indexOf('class=\"swiper-zoom-container\"');\nif(t<0) { return null; }\nvar t = $._.indexOf('class=\"swiper-button-next\"', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /data-src=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1].replace('amp;', '')]);\n a = re.exec( data );\n}\nreturn res;","img":"static.doujins\\.com\\/t2?-(\\w+)\\..+","to":":\nlet url=document.querySelector('.swiper-slide[data-hash=\"'+$[1]+'\"] img').getAttribute('data-src');\nreturn url;\n","note":"Baton34V\n(PM - 09/10/22)\nOLD\nhttps://www.reddit.com/r/imagus/comments/xv9tah/comment/ir1ohog\n\n!!!\nНеобходима установка расширения uBlock Origin (uBO) и правила для него / You need to install the uBlock Origin (uBO) extension and the rule for it:\ndoujins.com##.thumbnail-cover\n\nПРИМЕРЫ / EXAMPLES\nhttps://doujins.com/artists/Katou+Jun\nhttps://doujins.com/tags/Cheating?page=5\nhttps://doujins.com/searches?words=naruto&page=3\nhttps://doujins.com/doujins-original-series/sinistra-a-narrow-eyed-gentle-big-breasted-mama-54410"},"DPChallenge":{"img":"^(images\\.dpchallenge\\.com/images_[^/]+/\\d+-\\d+/\\d+/)120/","to":"$1800/","note":"EXAMPLES\nhttps://www.dpchallenge.com/photo_gallery.php?GALLERY_ID=24\nhttps://www.dpchallenge.com/photo_gallery.php?GALLERY_ID=17"},"DPreview":{"link":"^dpreview\\.com/sample-galleries/(\\d+)/(\\d+)?.*","url":": !this.json||$[1]!==this.pageId?'https://www.dpreview.com/sample-galleries/data/get-gallery?galleryId='+$[1]:'data:'+$[0]","res":":\nconst high_res_first = true\n\nthis.pageId=$[1]\nif($._[0]==='{')this.json=JSON.parse($._).images\nif(!this.json)return ''\nif(/one!$/.test($[0])){let m = this.json.find(i=>RegExp(`${$[2]}`).test(i.directUrl))\nreturn [[[(high_res_first?'#':'')+m.thumbnails[m.thumbnails.length-1].url,(high_res_first?'':'#')+m.thumbnails.toReversed().filter(i=>i.height<=1000)[0]?.url]]]\n}\nreturn this.json?.map(i=>[[(high_res_first?'#':'')+i.thumbnails[i.thumbnails.length-1].url,(high_res_first?'':'#')+i.thumbnails.toReversed().filter(i=>i.height<=1000)[0]?.url]])??''","img":"^\\d\\.img-dpreview\\.com/files/p/(?!TS\\d{4,})[^/]+~sample_galleries/(\\d+/\\d+).*","loop":2,"to":":\nreturn '//www.dpreview.com/sample-galleries/'+$[1]+'/one!'","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/gcji4p/comment/jz2wxwy\nOLD\nhttps://www.reddit.com/r/imagus/comments/gcji4p/support_dpreview/\n\nEXAMPLES\nhttps://www.dpreview.com/reviews/1107allinoneprinters"},"Dribbble":{"link":"dribbble\\.com/shots/[\\w-]+","res":":\nvar i = $._.indexOf('<ol class=\"');\nvar res = [];\nif(i<0) {\n i = $._.indexOf('<video');\n if(i<0) {\n var re = /data-photoswipe-image.+?href=\\\"(http[^?]+)\\?/gi\n var a = re.exec($._);\n if (a) {\n res.push([a[1]]);\n } else {\n var ree = /div class=\\\"media-content\\\".+data-animated-url=\\\"(http[^\\\"]+)/gis\n var b = ree.exec($._);\n if (b) {\n res.push([b[1]]);\n } else {\n return null;\n }\n }\n } else {\n var t = $._.indexOf('</video', i);\n if(t<0) {return null;}\n var part=$._.substring(i,t);\n var re = /data-video-large=\\\"(http[^\\\"]+)/gi\n var a = re.exec(part);\n if (a) {\n res.push([a[1]]);\n } else {\n var ree = / src=\\\"(http[^\\\"]+)/gi\n var b = ree.exec(part);\n res.push([b[1]]);\n }\n }\n} else {\n var t = $._.indexOf('</ol>', i);\n if(t<0) {return null;}\n var part=$._.substring(i,t);\n var re = /data-srcset=\\\"(http[^\\?]+)/gi\n var a = re.exec(part);\n if (a) {\n var doc = new DOMParser().parseFromString(part+\"</ol>\", \"text/html\");\n var imgs = Array.from(doc.querySelectorAll(\"img\"));\n for (const i of imgs) {\n var url = i.attributes[\"data-animated-url\"];\n if (url) {\n res.push([url.value]);\n } else {\n url = i.attributes[\"data-src\"];\n if (url == null) {\n url = i.attributes.src;\n }\n var ree = /(http(?=.*cdn\\.)[^\\?]+)/gi\n var b = ree.exec(url.value);\n if (b && (i.classList.length && \n i.classList[0].toLowerCase()===\"lazyload\")) {\n res.push([b[1]]);\n }\n }\n }\n } else {\n re = /div class=\\\"video-wrap\\\"/gi\n if (re.exec(part)) {\n var ree = /data-video-large=\\\"(http[^\\\"]+)/gi\n var b = ree.exec(part);\n res.push([b[1]]);\n }\n }\n}\n\nreturn res;","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1600#9\nOLD\nhttps://www.reddit.com/r/imagus/comments/c1vjns/comment/ers70h4\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3200#13\n\n!!!\nДля просмотра в некоторых режимах (например Поиск) необходимо зайти в аккаунт.\n==\nTo view in some modes (for example, Search), you need to log in to your account.\n\nEXAMPLES\nhttps://www.reddit.com/domain/dribbble.com/new/\nhttps://dribbble.com/riskified\nhttps://dribbble.com/shots/popular/animation\naccount needed:\nhttps://dribbble.com/search/green"},"Drive2.ru":{"link":"^drive2\\.ru/\\w/\\d+/","res":":\nconst src_img=$._.match(/([^\\/.]+)-\\d+\\./)?.[1];\n$=[...$._.matchAll(/ImageObject\"><a href=\"([^\"]+)/g)].map(i=>[i[1]]);\nif(src_img)$=$.concat($.splice(0,$.findIndex(i=>RegExp(src_img).test(i[0]))));\nreturn $","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lgkwer7\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3320#8\n\nПРИМЕРЫ\nhttps://www.drive2.ru/experience/renault/g3151/"},"Drom.ru":{"link":"\\w+\\.drom\\.ru/.+/.+/\\d+\\.html","res":":\nreturn [...new DOMParser().parseFromString($._,\"text/html\").querySelectorAll('[data-ftid=\"bull-page_bull-gallery_thumbnails\"] a')].map(i=>[i.href]);","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2120#8\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=160#17\n\nПРИМЕРЫ\nhttps://auto.drom.ru/mercedes-benz/\nhttps://uryupinsk.drom.ru/auto/\nhttps://baza.drom.ru/sankt-peterburg/wheel/\nhttps://moto.drom.ru/sankt-peterburg/atv/"},"Drom.ru_reviews":{"link":"drom\\.ru/reviews/.+/.+/\\d+/","res":":\nlet i = $._.indexOf('data-thumb-images');\nif(i<0) { return null; }\nlet t = $._.indexOf('<div data-preview-images', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /href=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=160#17\n\nПРИМЕРЫ\nhttps://www.drom.ru/reviews/"},"Dropbox":{"link":"^dropbox\\.com/.*\\.(?:(aac|flac|m(?:p3|4a)|w(?:av|ma))|(3g[2p]|a(?:mv|sf|vi)|drc|f(?:lv|4[vpab])|m[42ko]v|mng|mp[g42ev]|mpeg|m2?ts|ts|mxf|nsv|og[vg]|r(?:m(?:vb)?|oq)|svi|v(?:iv|ob)|w(?:ebm|mv)|yuv)|bmp|gif|heic|j(?:pe?g|f?if)|png|svgz?|tiff?|webp)\\b.*","ci":1,"to":":\nreturn $[0].replace('&dl=0','')+'&raw=1'+($[1] ? '#mp3' : $[2] ? '#mp4' : '')","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l9fjg9m\n\nEXAMPLES\nhttps://www.reddit.com/domain/dropbox.com/new"},"DTF.ru":{"img":"^(leonardo\\.osnova\\.io/[\\da-f-]+/)-/.+","to":"$1","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1600#19\n\nПРИМЕРЫ\nhttps://dtf.ru/cinema/1569252-zriteli-unichtozhili-reyting-novogo-multseriala-pro-velmu-iz-skubi-du"},"Dubz":{"link":"^(?:clip\\.)?dubz\\.[a-z]{2,4}/[a-z]{1,}/([a-z0-9]{6,})$","to":"https://dubzalt.com/storage/videos/$1.mp4","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/16s6g6c/comment/k283ned\nOLD\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jv5cpmr\n\nEXAMPLES\nhttps://www.reddit.com/domain/dubz.co/new/\nhttps://www.reddit.com/domain/dubz.link/new/"},"DuckDuckGo":{"img":"^(external-content\\.duckduckgo\\.com/iu/\\?u=.+)","loop":2,"to":":\nfunction inject(code) {\n const s = document.createElement('script');\n s.textContent = code;\n s.onload = function() { this.remove(); };\n (document.head || document.documentElement).appendChild(s);\n}\n\nconst thumb_url = (new URL('https://' + $[0])).searchParams.get('u');\nconst thumb_id = (new URL(thumb_url)).searchParams.get('id');\nconst tc = this.TRG.className;\n\nif (!(tc.includes('tile--img__img') || tc.includes('module--images__thumbnails__image'))) return thumb_url;\n\ninject('sessionStorage.setItem(\"DDGData\", JSON.stringify(window.DDG.Data.answers._definitions[1].model.items));');\n\nconst ddg_images = JSON.parse(sessionStorage.getItem('DDGData'));\n\nfor (const item of ddg_images) {\n if (item.thumbnail.includes(thumb_id)) return item.image;\n}","note":"64h\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1060#11\n\nEXAMPLES\nhttps://duckduckgo.com/?q=cat+pics\nhttps://duckduckgo.com/?q=cat+pics&ia=images&iax=images"},"Dumpert.nl":{"link":"^(dumpert\\.nl/)(?:mediabase|item)(/\\d+)[/_]([\\da-f]+)/?","url":"https://api-live.$1mobile_api/json/info$2_$3","res":":\nvar r=JSON.parse($._), x = r&&r.items&&r.items[0]\nreturn x.media.map(function(m,i){\n var v = {};\n m.variants.forEach(function(m){return v[m.version]=m.uri})\n return [v['720p'] || v.tablet || v.mobile || v.photo, !i && [x.date, x.title, x.description].filter(Boolean).join(' | ')]\n})","img":"^media\\.(dumpert\\.nl/)(?:sq_thumb|still)s/medium(/\\d+)_([\\da-f]+).+","note":"https://www.reddit.com/r/imagus/comments/dntaa7/comment/fexkxw6\n\nEXAMPLES\nhttps://www.dumpert.nl/toppers\nhttps://www.dumpert.nl/zoek/ANIMALS\nhttps://www.dumpert.nl/zoek/CHILD\nhttps://www.reddit.com/domain/dumpert.nl/new/"},"DZEN.ru":{"link":"^dzen\\.ru/(a|shorts|video/watch|news/story)/\\w+","res":":\nlet data, media = [];\nif($[1]==='news/story'){\nconst x = new XMLHttpRequest();\nlet stop = false;\ndata = JSON.parse($._.match(/=({.+?})<\\//)?.[1]||'{}').dataSource?.news?.story?.mediaBlock?.items||[];\ndata.forEach(i=>{\nif(i.type==='jingle')stop = true;\nif(!stop){\nif(i.type==='photo')media.push([i.original?.src?.replace(/\\d+x\\d+$/,'orig')]);\nif(i.type==='video'){\nx.open('GET','https://dzen.ru/embed/'+i.id+'.json',false);\nx.send();\ni=JSON.parse(x.responseText||'{}').content?.streams?.[0]?.url;\nif(i)media.push(['',`<imagus-extension type=\"videojs\" url=\"${i}\"></imagus-extension>`]);\n}\n}\n})\nthis.TRG.IMGS_ext_data = media;\n}else{\ndata = JSON.parse($._.match(RegExp(`\\\\(({\"data\":{\"${$[1]==='a' ? '__APP' : 'MICRO'}_.+?})\\\\)`))?.[1]||'{}').data;\nif($[1]==='a'){\n// article images\nconst img_data = data.__APP_STATE__.images, article_data = JSON.parse(data.__APP_STATE__.publication.content.articleContent.contentState)?.draftJsState?.blocks||[];\narticle_data.forEach(i=>{\ni=i.data;\nif(i?.embedData?.postUrl){\nmedia.push(['', `<imagus-extension type=\"iframe\" url=\"${i.embedData.postUrl}\"></imagus-extension>`]);\n}\nif(i?.image){\nconst x = i.title ? i.image : img_data[i.image.id]; u = '//avatars.dzeninfra.ru/get-'+[x.namespace, x.groupId, x.imageName].join('/');\nmedia.push([['#'+u+'/orig',u+'/scale_1200'],i.title||'']);\n}\n})\nthis.TRG.IMGS_ext_data = media;\n}else{\n// video\nmedia=data?.MICRO_APP_SSR_DATA?.settings?.exportData?.video;\nthis.TRG.IMGS_ext_data = [ '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"360\"></svg>', `<imagus-extension type=\"videojs\" url=\"${media?.video?.streams[1]}\"></imagus-extension>${media?.title}` ];\n}\n}\nreturn media ? {loop:'imagus://extension'} : null","img":"^(avatars\\.dzeninfra\\.ru/get-ynews/\\d+/[a-f0-9]+/)\\d+x\\d+$","loop":2,"to":":\nconst n=this.node;\nreturn location.hostname==='dzen.ru'&&n.closest('.news-media-block-redesign__previews-item-inner') ? n.baseURI+'?loop' : $[1]+'orig'","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lfmxc00\n\n!!!\nИногда может потребоваться повторное наведение курсора.\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"e621|e926|e6ai-x-p":{"link":"^e(621|926)\\.net/pools/\\d+","res":":\nlet i = $._.indexOf('<div id=\"posts-container\">');\nif(i<0) { return null; }\nlet t = $._.indexOf('<div class=\"paginator\">', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /data-file-url=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","img":"(static\\d\\.e(?:621|926|6ai)\\.net/data/)preview/(\\w+/\\w+/\\w+\\.)\\w+","to":"$1$2#png jpg webm gif#","note":"Baton34V + imqswt (edit)\nhttps://www.reddit.com/r/imagus/comments/17chaqm/comment/k5t8bhf\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=680#13\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=640#5\n\n\nEXAMPLES\nhttps://e6ai.net/posts\nhttps://e621.net/pools/gallery\nhttps://e621.net/pools/14205\nhttps://e621.net/posts?tags=keke_%28artist%29\nhttps://e621.net/posts?tags=kyrakupetsky"},"eApteka.ru":{"link":"eapteka\\.ru/([^/]+/)?goods/id\\d+/","res":":\nvar i = $._.indexOf('<div class=\"gallery__main-slick s-carousel\"');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"', i+20);\nif(t<0) { return null; }\nvar res = [];\nvar re = /<a href=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1340#20\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=100#15\n\n\nПРИМЕРЫ\nhttps://www.eapteka.ru/goods/vitaminy_i_bad/\nhttps://www.eapteka.ru/sochi/search/?q=эхинацея"},"EBAY":{"link":"^(?:(?:(?:be\\w\\w|viewitem\\.eim|cgi)\\.)?ebay\\.(?:a[pt]|[bd]e|c[ahnz]|co(?:m(?:\\.(?:au|hk|my|sg|tw))?|\\.(?:th|uk))|es|f[ir]|gr|[hr]u|i[ent]|n[lo]|p[hl]|vn)/(?:itm/)?[^/?]*[?/](?:item=)?|chodientu\\.vn/ebay-item-)(\\d{8,19}).*","res":":\nconst rx =\n /img src=\"([^\"]+)\" style=\"max\\-width:64px;max\\-height:64px\"\\s+index=\"\\d+\"/g;\nconst matches = [...$._.matchAll(rx)];\nif (matches.length)\n return matches.map(item => [item[1].replace(/s\\-l\\d+\\./, 's-l9999.'), '']);\n\nconst scriptSrc = $._.match(/mediaList\":(\\[.*?)<\\/script>/)?.[1];\nif (!scriptSrc) return;\n\n// Find where the mediaList array ends.\nlet counter = 0,\n end;\nfor (let i = 0; i < scriptSrc.length; i++) {\n if (scriptSrc[i] === '[') counter++;\n if (scriptSrc[i] === ']') counter--;\n if (counter === 0) {\n end = i + 1;\n break;\n }\n}\n\ntry {\n return JSON.parse(scriptSrc.slice(0, end)).map(m => [\n m?.image?.originalImg?.URL.replace(/s\\-l\\d+\\./, 's-l9999.'),\n m?.image?.originalImg?.title.trim(),\n ]);\n} catch (e) {\n console.log(`eBay Sieve didn't work. Error: ${e}`);\n return;\n}\n","img":"^((?:ssl)?i\\d*\\.ebayimg\\.com/)(?:(?:thumbs/)?(images/[a-z]/[^/]+/s-l)[^.]+|((?:t/[^/]+/)?\\d+/[^_]+(?:~~\\d*)?)_(?!32)\\d+\\.)","to":":\nreturn $[1]+($[2] ? $[2]+'1600' : $[3]+'_32.')","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1200#11\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1160#12\nhttps://www.reddit.com/r/imagus/comments/fjtjio/where_can_i_get_the_default_url_string_for_the/\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.ebay.co.uk/b/Fishfinders-GPS/29723/bn_10198555?LH_Auction=1&rt=nc\nhttps://www.ebay.co.uk/b/Samsung-Laptops-Netbooks/175672/bn_6385453\nhttps://www.ebay.co.uk/p/28044271993?iid=165595634146\nhttps://www.ebay.com/sch/i.html?_from=R40&_trksid=p2499334.m570.l1313&_nkw=sports+cars&_sacat=6001\nhttps://www.ebay.com/itm/AMD-Ryzen-Threadripper-3990X-Processor-4-3-GHz-64-Core-Socket-sTRX4/223937363515?epid=4036368896&hash=item3423b4fe3b:g:4qkAAOSwzCFeYRaa"},"E-Hentai|Exhentai-x-q-p":{"link":"^((?:g\\.e-|e[x-])hentai\\.org\\/(lofi\\/)?(g|s)\\/\\w+\\/(\\w+(-\\d+)?))(\\/\\?p=(\\d+))?","res":":\nif($[3]==='s'){\nvar get_original = true;\nreturn [[[get_original&&$._.match(/<a href=\"([^\"]+)\">Download original/)?.[1].replace(/.+/,'#$&'),$._.match(/<img id=\"img\" src=\"([^\"]+)/)[1]],$._.match(/<title>([^<]+)/)[1]]];\n}\nvar loadpage = 50;\nvar maxpages = $._.match(/Showing (\\d+) - (\\d+) of (\\d+) images/);\nvar res = this.res || [];\n\nfunction processLink(link) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', link, false);\n xhr.send();\n const matches = xhr.responseText.match(/src=\"(https:\\/\\/[\\w.]+\\.hath\\.network.+?)\"/);\n if (matches) {\n res.push([matches[1]]);\n }\n}\n\nvar pages = $._.match(/https:\\/\\/(?:g\\.e-|e[x-])hentai\\.org\\/(?:lofi\\/)?s\\/\\w+\\/\\d+-\\d+/g)?.slice(0, loadpage);\npages?.forEach(processLink);\nvar nextpage = $._.match(/<a href=\"([^\"]+)\" onclick=\"return false\">></);\nif(nextpage&&res.length<=80){\nthis.res = res;\nreturn {loop:nextpage[1]};\n}\ndelete this.res;\nconsole.log(pages);\nreturn res;","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/1d249wt/comment/l6am0ot\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kziooam\nhttps://www.reddit.com/r/imagus/comments/16fg1ks/comment/k3h5v9z\n\n\n\n!!!\nВ РФ нужен качественный прокси, на плохом периодически могут появляться ошибки (\"красный спиннер\").\n+\nВ результатах поиска фильтр показывает первые 100 картинок из галереи.\n+\nПо умолчанию фильтр находит и загружает картинки в максимальном разрешении. Если вам это не нужно (медленное соединение, прокси), то это можно отключить: \nvar get_original = false;\n(третье поле сверху, третья строка)\n====\nIn the search results, the sieve shows the first 100 pictures from the gallery.\n+\nBy default, the sieve finds and loads pictures at the maximum resolution. If you don't need it (slow connection, proxy), you can disable it: \nvar get_original = false;\n(third field from the top, third line)\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://e-hentai.org/tag/parody:blue+archive\nhttps://e-hentai.org/tag/character:silver+wolf\nhttps://e-hentai.org/g/2424971/440a74554f/\nhttps://e-hentai.org/g/2424915/97d240eb12/?p=2"},"ehentai.to|nhentai.to-x-p":{"link":"^[en]hentai\\.to/g/\\d+/?$","res":":\nvar i = $._.indexOf('id=\"thumbnail-container\"');\nif(i<0) { return null; }\nvar t = $._.indexOf('<script src=\"', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /data-src=\"([^\"]+)\"/gi\nvar a = re.exec( $._.substring(i,t) );\nvar data=$._.substring(i,t);\nwhile(a) {\n res.push([a[1].replace('t.','.')]);\n a = re.exec(data);\n}\nlet meta = document.querySelector('head > meta[name=\"referrer\"]');\nif (!meta) {\n meta = document.createElement('meta');\n meta.name = 'referrer';\n meta.content = 'same-origin';\n document.getElementsByTagName('head')[0].appendChild(meta);\n} else if (meta.attributes.content.value !== 'same-origin') {\n meta.attributes.content.value = 'same-origin';\n}\nreturn res;","img":"^((?:cdn\\.nload|zorocdn)\\.xyz/galleries/\\d+/\\d+)t(\\.\\w+)","to":"$1#.png .jpg .gif#","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ljoxgdx\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=740#5\n\n\nEXAMPLES\nhttps://nhentai.to/g/437793\nhttps://ehentai.to/g/400884/\nhttps://ehentai.to/tag/handjob/\nhttps://nhentai.to/tag/sole-male"},"eKnives.ru":{"link":"^eknives\\.ru/[\\w-]+/\\d+\\.html","res":":\nvar i = $._.indexOf('<div class=\"pps_hide\"');\nif(i<0) {return null; }\nvar t = $._.indexOf('</div>', i);\nif(t<0) {return null; }\nvar res = [];\nvar re = /<a href=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#18\n\nПРИМЕРЫ\nhttps://www.eknives.ru/brandMrblade/"},"Eksisozluk":{"link":"^(eksisozluk(.+)?\\.com/img|soz\\.lk/i)/[\\da-z]+","res":"property=\"og:image\" content=\"([^\"]+)","note":"mortyobnoxious\nhttps://www.reddit.com/r/imagus/comments/167b83i/comment/kergxj3\nOLD\nhttps://www.reddit.com/r/imagus/comments/167b83i/comment/k1jt9r8\nhttps://www.reddit.com/r/imagus/comments/167b83i/updated_rule_for_eksisozlukcom_that_will_work\n\n\nEXAMPLES\nhttps://www.reddit.com/r/imagus/comments/167b83i/comment/keqhmxf"},"EksiUp":{"link":"^(eksiup\\.com/)(?:p/)?([\\da-z]{9,12}).*","url":"$1p/$2","res":"=\"og:image\" content=\"([^\"]+)\n=\"og:title\" content=\"([^\"]+) - ","note":"https://www.reddit.com/r/imagus/comments/bjtmgz/comment/eme4v8k\n\n!!!\nNeed an account"},"Eldorado.ru":{"link":"^eldorado\\.ru/cat/detail/.+","url":"data:,$&","res":":\nconst x=new XMLHttpRequest();\nx.open('Get',$[0],false);\nx.send();\n$=JSON.parse(x.responseText.match(/\"__NEXT_DATA__\" type=\"application\\/json\">(.+?)<\\/script/)[1]).props.initialState;\nconst id=$['product-module'].id;\nreturn $['products-store-module'].products[id].images.map(i=>['https://static.eldorado.ru'+i.url])","img":"^(static\\.eldorado\\.ru/img\\d+/[^.]+\\.jpg)/resize/.+","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/landzre\nOLD\nhttps://www.reddit.com/r/imagus/comments/18n32dx/comment/kegj1ka\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3840#3\n\n\n!!!\nКурсор рекомендуется наводить на название товара.\n+\nНа данном сайте агрессивная защита, которая иногда приводит к блокированию работы фильтра (желтый спиннер), но возможно она срабатывает не всегда и не для всех.\n\n\nПРИМЕРЫ\nhttps://www.eldorado.ru/c/televizory/f/qled-technologiya/\nhttps://www.eldorado.ru/c/operativnaya-pamyat/?view=tile\nhttps://www.eldorado.ru/search/catalog.php?q=оперативная%20память"},"eMoviePoster":{"img":"^(emovieposter\\.com/images/[^/]+/(?:AA\\d{6}/)?)\\d+","to":"#$1\n$1550/","note":"https://www.reddit.com/r/imagus/comments/e6l53p/comment/feypzhw\n\nEXAMPLES\nhttps://www.emovieposter.com/agallery/archive.html\nhttps://www.emovieposter.com/agallery/archiveitem/12885732.html"},"ENF-CMNF-x":{"link":"^enf-cmnf\\.com/(?:tube/videos|\\d{4}/\\d{2})/.+","res":":\n$=$._.match(/(?:type=\"video\\/mp4\" src=\"|video_url: ')([^\"']+)/)?.[1]||''\nreturn $?.length?$+'#mp4':''","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kwxhmsm\n\nEXAMPLES\nhttps://enf-cmnf.com/tube/search/reporter/\nhttps://enf-cmnf.com/tube/categories/risky-outdoors/\nhttps://www.reddit.com/domain/enf-cmnf.com/new"},"EnterDesk":{"img":"^(up\\.enterdesk\\.com\\/edpic).+((?:\\/\\w\\w){3}\\/\\w{32}\\.jpg)$","to":"$1$2","note":"Rodny + Baton34V (fix)\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1560#5\n\nEXAMPLES\nhttps://www.enterdesk.com/tag-%E9%9D%99%E8%B0%A7/\nhttps://www.enterdesk.com/tag-%E7%BE%8E%E8%85%BF/\nhttps://www.enterdesk.com/tag-%E7%99%BE%E5%AE%B6%E5%A7%93/"},"Epicentrk.ua-p":{"link":"^epicentrk\\.ua/(?:ua/)?shop/.+\\.html","url":"data:,$&","res":":\nconst x=new XMLHttpRequest();\nx.open('Get',$[0],false);\nx.send();\n$=[...x.responseText.matchAll(/data-zoom=\"([^\"]+)/g)].map(i=>[i[1]])\nreturn [...new Map($)]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/landzre\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#10\n\n\nПРИМЕРЫ\nhttps://epicentrk.ua/ua/shop/velosipedy/\nhttps://epicentrk.ua/ua/shop/krossovki-i-kedy-muzhskie/"},"EpicGames":{"link":"^store\\.epicgames\\.com/[^/]+/(?:p|blog)/.+","res":":\nreturn [...new Map([...$._.matchAll(/img[^>]+(?:content|data-image|src)=\"(https:\\/\\/[^/]+\\/[^.\"]+\\.[^?\"]+)/g)].map(i=>[i[1]]))]","img":"^(cdn\\d\\.unrealengine\\.com/[^.]+\\.[^?]+).*","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/15qpek4/comment/jwjhnge\n\n!!!\nВ магазине курсор следует наводить на область чуть ниже постера (с названием типа игры).\n==\nIn the store, the cursor should be placed on the area just below the poster (with the name of the game type).\n\nEXAMPLES\nhttps://store.epicgames.com/ru/news?page=3\nhttps://store.epicgames.com/ru/collection/top-sellers\nhttps://store.epicgames.com/ru/browse?q=green&sortBy=relevancy&sortDir=DESC&count=40"},"Eporner-x-q-p":{"link":"^eporner\\.com/(?:hd-porn|video).*","res":":\nconst max_resolution = 1080;\n\nconst re = new RegExp(\n '<a href=\"(?<url>/dload.*?)\" >Download.*?\\\\((?<res>\\\\d+)',\n 'g'\n);\nconst streams = [...$._.matchAll(re)]\n .map(a => ({\n res: a.groups.res,\n url: `https://www.eporner.com${a.groups.url}`,\n }))\n .sort((a, b) => b.res - a.res)\n .filter(a => a.res <= max_resolution);\n\nif (streams.length) return streams[0].url;\nreturn;\n","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#8\nOLD\nhttps://www.reddit.com/r/imagus/comments/iv556b/nsfw_bunch_of_sieves_for_popular_adult_site_videos/\n\n\n!!!\n- Переключение качества видео (480/720/1080) в третьем поле сверху: const max_resolution = ;\n- Показ галерей (альбомов) на данный момент не работает.\n==\n- Switching video quality (480/720/1080) in the third field from the top: const max_resolution = ;\n- The gallery (album) display does not work at the moment.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/eporner.com/new\nhttps://www.eporner.com/search-photos/milf-mom/\nhttps://www.eporner.com/pornstar/brandi-love/photos/#toptopbel"},"EroMe-x-p":{"link":"^erome\\.com/[ai]/\\w+","res":":\nconst title = $._.match(/<h1>(.+)<\\/h1>/)?.[1] || '';\nconst vidRe = `(?:<source src=\"([^\"]+)\" type='video\\/mp4)`;\nconst imgRe = `(?:lasyload\" data-src=\"([^\"]+))\" src=\"data:image`;\nconst re = new RegExp(`${vidRe}|${imgRe}`, 'g');\n\nconst matches = [...$._.matchAll(re)].map(m => m?.[1] || m?.[2]);\nif (!matches.length) return;\n\nlet result = Array.from(new Set(matches));\nresult = result.map((item, idx) => [\n item,\n `${title} - ${idx + 1} of ${result.length}`,\n]);\nreturn result;\n","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1140#5\n\n!!!\nДля показа видео необходимо правило для SMH (см.ЧаВо, п.12).\n==\nTo show the video, you need a rule for SMH (see FAQ, p.12).\n\nEXAMPLES\nhttps://www.erome.com/Bootyallday3\nhttps://www.erome.com/search?q=michelle\nhttps://www.erome.com/explore/new?page=5"},"EroProfile-x-p":{"link":"eroprofile\\.com\\/[mp]\\/(videos|photos)\\/view\\/.*","res":":\nlet toptext = $._.match(/<h1 class=\"capMultiLine\">([^<]*)<\\/h1>/)[1];\n\nlet mediaurl = \"\";\n\nif($[1] == \"photos\") {\n mediaurl = $._.match(/<img class=\"photoPlayer\" src=\"([^\"]*)\" alt/)[1];\n}\nelse { //($[1] == \"videos\")\n mediaurl = $._.match(/<source src=\"([^\"]*)\" type/)[1];\n}\n\nreturn [mediaurl, toptext];","note":"iceiller9999\nhttps://www.reddit.com/r/imagus/comments/102rqm3/comment/j35bvzz\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3360\n\nEXAMPLES\nhttps://www.eroprofile.com/m/videos/home?pnum=4\nhttps://www.eroprofile.com/m/photos/popular\nhttps://www.eroprofile.com/m/photos/search?niche=12\nhttps://www.reddit.com/domain/eroprofile.com/"},"EtoRetro.ru":{"useimg":1,"link":"((www\\.)?etoretro\\.ru\\/pic\\d+\\.htm\\?sort_field=\\w+&sort=(DESC|ASC)(&time_range=\\w+)?&position=\\d+)","ci":1,"res":":\nconst rx = /src=\"(data\\/media\\/.*?\\.jpe?g)\"/g;\nconst m = [...$._.matchAll(rx)].map(e => [e[1], \"\"]);\nif (!m.length) return;\nreturn m;","img":"^(etoretro.ru/data/)thumbnails","to":"$1media","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/kd6jo2n\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#10\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1020#21\n\n\nПРИМЕРЫ\nhttps://www.etoretro.ru/id5421.htm\nhttps://etoretro.ru/id298.htm?page=4\nhttps://etoretro.ru/city5306.htm\nhttps://etoretro.ru/city5313.htm#z-z%7CDESC%7C6%7Cimage_date%7Call"},"Etsy-p":{"img":"^(i(?:mg\\d*)?\\.etsystatic\\.com/[^_]*/i[^_]+_)\\d+x[\\dN]+","to":"$1fullxfull","note":"EXAMPLES\nhttps://www.etsy.com/c/home-and-living/furniture/bedroom-furniture?ref=catnav-891\nhttps://www.etsy.com/search?q=handmade+clothing&mosv=sese&moci=1069619756788"},"Explosm":{"link":"^explosm\\.net/comics/(?:.+)","res":":\nlet comic;\n\ncomic = $._.match(/<img src=\"(https:\\/\\/(?:files|static)\\.explosm\\.net\\/(?:\\d{4}\\/\\d{2}\\/\\d+|comics\\/[^\\/]+)\\/[^\\.]+\\.(?:png|gif|jpg))/);\nif (comic)\n comic = comic[1];\n\n// This is a fallback in case the page dynamically loads the comic. It seems only a few pages do that (see notes for an example)\nelse\n comic = $._.match(/\\\\\"mediaItemUrl\\\\\":\\\\\"(https:\\/\\/(?:files|static)\\.explosm\\.net\\/(?:\\d{4}\\/\\d{2}\\/\\d+|comics\\/[^\\/]+)\\/[^\\.]+\\.(?:png|gif|jpg))\\\\\",/)[1];\n\nreturn comic;","note":"borderpeeved\nhttps://www.reddit.com/r/imagus/comments/xdzxo9/comment/iojot9a\n\nEXAMPLES\nhttps://explosm.net/\nhttps://www.reddit.com/r/CyanideandHappiness/search/?q=url%3Aexplosm.net&include_over_18=on&restrict_sr=on&t=all&sort=top"},"ExpornToons|Mat6tube|Noodle|Ukdevilz-x-q-p":{"link":"^(?:[^.]+\\.)?((?:mat6tube|noodlemagazine|ukdevilz)\\.com|exporntoons\\.net)/(v/video|watch)/.+","res":":\nif($[2]==='v/video')return {loop:$._.match(/id=\"player_box\" src=\"([^\"]+)/)?.[1]||''}\n$=JSON.parse($._.match(/window\\.playlist = ([^;]+)/)[1]).sources\nreturn [[['#'+$[0].file+'#mp4',$[1]?.file+'#mp4']]]","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ljoxgdx\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l7vwc8p\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kw0gdbt\n\n\n\n\n!!!\n- Для работы с внешними ссылками необходимо правило для SMH (см. ЧаВо, п.12).\n- Возможен выбор качества видео (по клавише TAB).\n- Иногда сайт требует пройти проверку на возраст (поставить галочку), без нее фильтр работать не будет.\n==\n- To work with external links, you need a rule for SMH (see FAQ, p. 12).\n- Possible choice of video quality, using the TAB key.\n- Sometimes the site requires an age verification (check the box), without it the sieve will not work.\n\n\nEXAMPLES\nhttps://www.reddit.com/domain/ukdevilz.com/new/\nhttps://www.reddit.com/domain/noodlemagazine.com/new/\nhttps://18.ukdevilz.com/video/haley%20reed\nhttps://main.noodlemagazine.com/v/category/documentary\nhttps://noodlemagazine.com/video/green\nhttps://hot.exporntoons.net/watch/-137573872_456240073\nhttps://red.mat6tube.com/watch/-151482683_456239147"},"F1CD.ru":{"img":"^(f1cd\\.ru/d/\\d+/\\d+/\\d+/\\d+/)(?:m|logo)_(\\d+\\.(?:jpe?g|png|gif|bmp))$","to":"$1$2\n$1m2_$2","note":"Rodny\n\nПРИМЕРЫ\nhttps://www.f1cd.ru/show/79979/\nhttps://www.f1cd.ru/input/reviews/a4tech_kd-600l/"},"FACEBOOK-p":{"link":"^(?:(?:m(?:basic)?\\.)?facebook\\.com/(?:photo(?:/download/|\\.php|s/\\w+/|\\/)\\?(?:fb|photo_)id=|([^/]+/photos/)(?:[a-z]+\\.[^/]+/)?)|lookaside\\.fbsbx\\.com/lookaside/crawler/media/\\?media_id=)(\\d+)","url":"data:,$&","res":":\nif(!((this.node.dataset || {}).ploi || (((this.node.parentNode || {}).dataset) || {}).ploi)){\nconst x=new XMLHttpRequest()\nx.open('Get','https://www.facebook.com/' + ($[1] ? $[1] + $[2] : 'photo/?fbid=' + $[2]),false)\nx.setRequestHeader(\"Accept\",\"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\")\nx.send()\n$._=x.responseText\n}\nif($._===void 0)return this.node.dataset.ploi||this.node.parentNode.dataset.ploi\nvar u=$._.match(RegExp('='+($[2]||$[1])+'(?:[^\">]+\"\\\\s+)+?data-ploi=\"([^\"]+)')) || $._.match(RegExp(',\"image\":{\"uri\":\"(https:[^\"]+)')) || $._.match(/=\"og:image\" content=\"([^\"]+)/)\nreturn u && u[1].replace(/\\\\/g, '') || !1","img":"^(?:fbcdn-s?photos[\\da-z-]+\\.akamaihd|s?(?:content|photos|origincache)[^/]+\\.fbcdn)\\.net/(?!h?vthumb-)[^_?]+/\\d+_(\\d+).*","loop":2,"to":":\nif($[0].indexOf('.mp4?')>0)return''\nvar p=this.node\nif(window.location.hostname.slice(-13)=='.facebook.com' && (document.evaluate('./ancestor::div[contains(@class, \"stageWrapper\")]', p, null, 9, null).singleNodeValue || p.matches('.UFICommentContent>div[data-testid], a>abbr>span.timestampContent, #fbProfileCover>a:first-child')))return''\np=p.pathname||(p=p.parentNode)&&p.pathname||(p=p.parentNode)&&p.pathname||p.closest('a')?.href\np=p&&p.match(/^\\/([\\w.-]+)\\/?$/)||p\nreturn 'https://facebook.com/' + (p?.[1].length>1?p[1].replace(/^\\w+-(\\d{8,})$/, '$1')+'/photos/' : 'photo.php?fbid=') + p?.match(/\\/photo\\D+(\\d+)/)?.[1]||$[1]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1ck5n2t/comment/l2spz0c\n\n\n!!!\nДля тех, у кого перестали загружаться фото на ФБ: отключите в SMH (см.Чаво, п.12) правило FB_2.\n==\nFor those who have stopped uploading photos to FB: disable the FB_2 rule in SMH (see FAQ, p.12).\n\n\nEXAMPLES\nhttps://www.facebook.com/NASA/photos\nhttps://www.facebook.com/NASA/albums\nhttps://www.facebook.com/media/set/?set=a.10154800530551772&type=3"},"FACEBOOK_fb-g+-ddg-proxy-p":{"img":"^(?:(?:(?:fbexternal-[a-z]\\.akamaihd|(?:s-|fb)?external[^.]*(?:\\.[-\\da-z]+)+?\\.fbcdn|platform\\.ak\\.fbcdn)\\.net|(?:l\\.)?facebook\\.com)/(?:safe_image|www/app_full_proxy|(l))\\.php|images\\d-focus-opensocial\\.googleusercontent\\.com/gadgets/proxy|^(?:images|external-content|proxy)\\.duckduckgo\\.com/iu/)\\?(?:[^&]+&)*?(?:u(?:rl)?|src)=(http[^&]+).*","to":":\nvar u=decodeURIComponent($[2].replace(/\\+/g,' ')),n\nthis.node.IMGS_fallback_zoom=u\nn=this.find({href: u, IMGS_TRG: this.node})\nreturn n&&typeof n!='number'||n===null? (Array.isArray(n) ? n.join('\\n') : n) : ($[1]?'':u)"},"FACEBOOK_vid-p":{"link":"^(?:facebook\\.com/.*(?:/videos/|\\?v=|reel/|watch/live/\\?ref=|profile\\.php\\?id=(\\d+)&sk=reels_tab&).+|fb\\.watch/[\\w-]+)","url":"data:,$&","res":":\nconst use_mp4_video = false // If set to true, the sieve uses lower quality MP4 video, false uses higher quality HLS video.\n\nif($[1]&&location.pathname==='/reel/'){\n$=JSON.parse(document.body.outerHTML.match(/\"(?:media|playback_video)\":({.+?\"browser_native_sd_url\".+?})(?:}\\]|,\"video_owner\")/)?.[1]||'{}')\nreturn $.browser_native_hd_url||$.browser_native_sd_url?[[[$.browser_native_hd_url?.replace(/.+/,'#$&'),$.browser_native_sd_url]]]:''\n}\nconst x=new XMLHttpRequest()\nx.open('Get',$[1]&&/\\/reel\\/\\d+/.test(location.pathname)?'https://www.facebook.com/reel/'+location.pathname.match(/\\/reel\\/(\\d+)/)[1]:$[0],false)\nx.setRequestHeader(\"Accept\",\"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\")\nx.send()\nconst t=x.responseText.match(/\"og:description\" content=\"([^\"]+)/)?.[1]||''\nif(!use_mp4_video&&!$[1]&&/\"dash_manifest_url\":\"/.test(x.responseText)){\nconsole.log('reel')\nconsole.log($._)\n$=x.responseText.match(/\"dash_manifest_url\":\"([^\"&]+)/)?.[1].replace(/\\\\/g,'')||''\nthis.TRG.IMGS_ext_data = ['//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"360\"></svg>',`<imagus-extension type=\"videojs\" url=\"${$}\"></imagus-extension>${t}`]\nreturn $?.length?{loop:'imagus://extension'}:''\n}else{\n$=JSON.parse(x.responseText.match(/\"(?:media|playback_video)\":({.+?\"browser_native_sd_url\".+?})(?:}\\]|,\"video_owner\")/)?.[1]||'{}')\nreturn $.browser_native_hd_url||$.browser_native_sd_url?[[[$.browser_native_hd_url?.replace(/.+/,'#$&'),$.browser_native_sd_url],t]]:''\n}","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1ck5n2t/comment/l3f6o9j\nOLD\nhttps://www.reddit.com/r/imagus/comments/1cutolb/comment/l4pp538\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=400#10\n\n!!!\nКурсор следует наводить на название ролика. Для Reels курсор наводить на имя пользователя (сверху).\n==\nThe cursor should be placed over the name of video. For Reels, the cursor should be hover over the username at the top of the video.\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.facebook.com/watch/\nhttps://www.reddit.com/domain/fb.watch/new\nhttps://www.facebook.com/reel/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Fandom-p":{"link":"^fandom\\.com/video/\\w+/[\\w-]+","res":":\n$=JSON.parse($._.match(/\"__NEXT_DATA__\"\\s+type=\"application\\/json\">({.*?})<\\//)?.[1]||'{}').props?.pageProps.ssrCurrentVideo||null\nif(!$)return ''\nconst t=[$.title,$.description].filter(Boolean).join(\" | \")\n$=$.sources.filter(i=>i.type===\"video/mp4\"&&i.height).sort((a,b)=>a.height-b.height)\nreturn [[['#'+$.pop().file,$?.[Math.floor($.length/2)]?.file||''],t]]","img":"^(static\\.wikia\\.nocookie\\.net/.+latest)(?:/scale-to-width-down/\\d{1,4})?(\\?cb=\\d{14})","to":"$1$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/k2v12dv\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#4\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.fandom.com/video\nhttps://swtor.fandom.com/wiki/Smuggler\nhttps://fallout.fandom.com/ru/wiki/Убежище_118#Галерея"},"FantLab.ru":{"img":"^(fantlab\\.ru\\/images\\/editions\\/)(?:\\w+)(\\/.*)","to":"$1orig$2\n$1big$2","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1140#3\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1680#8\n\nПРИМЕРЫ\nhttps://fantlab.ru/work1274\nhttps://fantlab.ru/edition117699"},"Fapello-x-p":{"useimg":1,"link":"^fapello\\.(?:com|su)/[\\w-]+/\\d+","res":"class=\"flex justify-between items-center\">[^\\\\]+?<(?:source[^>]+|img\\s+)src=\"([^\"]+)\n","img":"^(fapello\\.(?:com|su)/content/.+)_\\d+px\\..+","to":":\nconst n=this.node\nreturn $[1]+'.'+(n.firstElementChild?.src||n.height<150?'#mp4 jpg#':'jpg')","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/17jnh58/comment/k8rlphl\nOLD\nhttps://www.reddit.com/r/imagus/comments/17jnh58/comment/k72xm47\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://fapello.com/taylor-swift/\nhttps://fapello.com/videos/\nhttps://fapello.com/popular_videos/twelve_hours/\nhttps://fapello.com/trending/"},"Farpost.ru":{"link":"^farpost\\.ru/\\w+/\\w+/.+-\\d+\\.html","res":":\nlet i = $._.indexOf('<div class=\"image-gallery__big');\nif(i<0) { return null; }\nlet t = $._.indexOf('<div class=\"image-gallery__small', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /src=\"([^\"]+)_bulletin\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]+'_default']);\n a = re.exec(data);\n}\nreturn res;","img":"^(static\\.baza\\.farpost\\.ru/v/\\d+)_(block|hugeBlock|bulletin|thumbnail\\d+)$","to":"$1_default","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1600#9\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=160#17\n\nПРИМЕРЫ\nhttps://www.farpost.ru/vladivostok/tech/appliances/washers/\nhttps://www.farpost.ru/vladivostok/tech/audio_video/tv/+/Philips/\nhttps://www.farpost.ru/vladivostok/realty/sell_business_realty"},"fashionsnap":{"img":"(fashionsnap-assets\\.com/asset/format=auto),[^/]+(/article/images/[^.]+\\.jpg)","to":"$1$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/12q0d7y/comment/jniv20a\n\nEXAMPLES\nhttps://www.fashionsnap.com/article/2023-04-17/gap-popup/"},"Fastly":{"img":"^([^.]{2,20}\\.global\\.ssl\\.fastly\\.com|fastly\\.net/[^?]+\\.(jpe?g|gif|a?png))\\?.+","to":"$1","note":"!!!\nНевозможно проверить работу данного фильтра - нет примеров."},"FASTPIC":{"link":"^fastpic\\.(ru|org)/(?:full)?view/(\\d+)/(\\d{4}/\\d+)(/.?[\\da-f]{30}([\\da-f]{2})[^?#]+).*","url":"fastpic.$1/fullview/$2/$3$4","res":"loading_img = '([^']+)'","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3280#15\n\nПРИМЕРЫ\nhttps://rutracker.org/forum/viewtopic.php?t=6087782\nhttps://rutracker.org/forum/viewtopic.php?t=6087790\nhttps://rutracker.org/forum/viewtopic.php?t=6087791"},"FASTPIC_2":{"url":"fastpic.$2/fullview/$1/$3$4","res":"loading_img = '([^']+)'","img":"^i(\\d+)\\.fastpic\\.(ru|org)/(?:thumb|big)/(\\d{4}/\\d+)/[\\da-f]{2}(/.?[\\da-f]{30}([\\da-f]{2})[^?]+).*","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3280#15"},"FASTPIC_fpic.in":{"link":"^fpic\\.in/\\w+","res":"<img src=\"([^\"]+)\" class=\"image img-fluid\"","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3240#9\n\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3240#5"},"FASTPIC_go.php2":{"link":"fastpic\\.(ru|org)%2F(?:full)?view%2F(\\d+)%2F(\\d{4}%2F\\d+)(%2F.?[\\da-f]{30}([\\da-f]{2})\\.\\w+\\.html)","url":"fastpic.$1/fullview/$2/$3$4","res":"loading_img = '([^']+)","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=260#13\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3280#15\n\n\nПРИМЕРЫ\nhttps://v38.underver.se/viewtopic.php?t=171462\nhttps://rutracker.org/forum/viewtopic.php?t=6087782"},"Favim":{"link":"^favim2?\\.com/image/\\d+/$","res":"<link rel=\"preload\" href=\"([^\"]+)\"","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jv5cpmr\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3760#8\n\nПРИМЕРЫ\nhttps://favim.com/blanket/"},"Ferra.ru":{"img":"^(ferra\\.ru/)thumb/\\d+x\\d+/filters:quality\\(\\d+\\):[^/]+/(imgs/(?:\\d+/){5}[a-f0-9]+\\.[a-z]{3,4})","to":"$1$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l6ahcr8\n\nПРИМЕРЫ\nhttps://www.ferra.ru/news\nhttps://www.ferra.ru/review/tv"},"FetLife-x":{"link":"^fetlife\\.com/users/\\d+/pictures/\\d+","res":":\n$=JSON.parse($._.match(/\"story-data\" type=\"application\\/json\">({.+?})<\\//)[1]).attributes.pictures[0]\nreturn [[[$.src2x?.replace(/.+/,'#$&')||'',$.src1x]]]","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/18sefly/comment/kfjrb8d\nOLD\nhttps://www.reddit.com/r/imagus/comments/16kag6g/comment/k0yf12u\n\n\n!!!\nПлатное видео не поддерживается.\n==\nPaid video is not supported.\n\n\nEXAMPLES\nhttps://fetlife.com/search/pictures?page=3&q=BLOND\nhttps://fetlife.com/users/261021/pictures"},"FilePicker.io-CDN":{"link":"^((?:cdn\\.|www\\.)?filepicker\\.io/api/file/[^/]+).*","img":"^((?:cdn\\.|www\\.)?filepicker\\.io/api/file/[^/]+).*","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Files.fm":{"link":"^(?:[a-z]{2}\\.)?files\\.fm/([uf])/(\\w+)","res":":\nif($[1]==='u'){\nconst hosts=$._.match(/arrFileHost = \\[\"([^\\]]+)\"\\]/)?.[1].split('\",\"')\nreturn [...new DOMParser().parseFromString($._,\"text/html\").querySelectorAll('div[class^=\"item file video-item\"],div[class^=\"item file audio-item\"],div[class^=\"item file image-item\"]')].map(i=>{const id=i.attributes.file_hash.value;return ['//'+hosts[Math.floor(Math.random()*hosts.length)]+(i.classList[2]==='video-item'?'/thumb_video/'+id+'.mp4':i.classList[2]==='audio-item'?'/down.php?i='+id+'#mp3':'/thumb_show.php?i='+id)]})\n}\nconst host=$._.match(/arrFileHost = \\[\"([^\"]+)/)?.[1]||''\nconst type=$._.match(/arrFileTypes = \\[\"([^\"]+)/)?.[1]||''\nif(host){\nif(type==='video')return '//'+host+'/thumb_video/'+$[2]+'.mp4'\nif(type==='audio')return '//'+host+'/down.php?i='+$[2]+'#mp3'\nreturn $._.match(/\"og:image\" content=\"([^\"]+)/)?.[1]||''\n}\nreturn ''\n","img":"^([^.]+\\.failiem\\.lv/thumb)(\\.php\\?i=)","to":"$1_show$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ktwgt80\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1620#4\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=80#15\n\n\n!!!\nДля корректной работы внешних ссылок с видео необходимо правило для SMH. См. ЧаВо п.12.\n==\nFor external links to work correctly with videos, you need a rule for SMH. See FAQ, p.12.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/files.fm/new/\nhttps://files.fm/u/p3xcxzvhj"},"Filestack-CDN":{"link":"(cdn\\.filestackcontent\\.com/)(?:resize[^/]+/)?(.*)","img":"(cdn\\.filestackcontent\\.com/)(?:resize[^/]+/)?(.*)","to":"$1$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Finn.no":{"link":"^(?:finn\\.no/(?:[^.]+\\.html\\?finnkode=)?\\d+|(finn/album\\?gallery(.*))$)","url":": $[1]||/gallery/.test($[0])?'data:,'+Date.now():$[0]","res":":\nconst visible_gallery_image_first = true // <- Set to true for the visible image in the gallery to be the first image in the album, false to keep the first gallery image as the first album image.\n\nlet m, t, a = visible_gallery_image_first\nif($[1]||/gallery/.test($[0]))$._=document.body.outerHTML\nm=JSON.parse($._.match(/(?:__remixContext = |\"__NEXT_DATA__\"[^{]+?)({.+?});?</)?.[1]||'{}')\nm=(m.state?.loaderData?.root?.objectData||m.props?.pageProps?.swrFallback?.objectDataKey)?.images?.map(i=>[(i.uri||i.src).replace(/\\d{3,4}w|default/,'1600w'),i.description])||[...new Map([...$._.matchAll(/(?:background-image:url\\(|data-srcset=\")([^\\s\")]+)/g)])].map(i=>[i[1].replace(/\\d{3,4}w|default/,'1600w')])\nt=this.node.currentSrc?.match(/[^/]+$/)||$[2]\nreturn a&&t&&m?m.concat(m.splice(0,m.findIndex(i=>RegExp(`${t}`).test(i[0])))):m\n","img":"^([^.]*images\\.finncdn\\.no/dynamic/)[^/]+(/[^.]+\\.(?:jpe?g|png))(?!#)","loop":2,"to":":\nreturn /(?=.*object-contain)(?=.*object-center)/.test(this.node.attributes.class.value)?'finn/album?gallery'+$[2]:$[1]+'1600w'+$[2]+'#'","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/e2i020/comment/kd63kgm\nOLD\nhttps://www.reddit.com/r/imagus/comments/e2i020/comment/jymco9f\n\n\nEXAMPLES\nhttps://www.finn.no/bap/forsale/search.html?product_category=2.93.3215.45&sort=RELEVANCE\nhttps://www.finn.no/realestate/businessplots/search.html?sort=PUBLISHED_DESC\nhttps://www.finn.no/reise/feriehus-hytteutleie/norge/hvaler/\nhttps://www.finn.no/bap/forsale/ad.html?finnkode=309541670"},"FireFox_screenshot":{"link":"^screenshots\\.firefox\\.com/.+","res":":\n$=JSON.parse($._.match(/\">({\"[^\\n]+)</)[1])\nreturn [$.downloadUrl.replace(/\\?.*/, ''), [$.buildTime, $.title, $.urlIfDeleted].join(' | ')]","note":"EXAMPLES\nhttps://addons.mozilla.org/ru/firefox/addon/darkreader\nhttps://addons.mozilla.org/ru/firefox/addon/enhancer-for-youtube"},"FishingSib.ru":{"link":"(?:www\\.)?fishingsib\\.ru/forum/attachments/\\d+/","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2160#17\n\nПРИМЕРЫ\nhttps://www.fishingsib.ru/tidings/view/148346/\nhttps://www.fishingsib.ru/forum/threads/40914/"},"Fix-Price":{"link":"fix-price\\.com/catalog/[\\w-]+/[\\w-]+","res":":\nvar i = $._.indexOf('<div class=\"slider gallery\"');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div itemscope=\"itemscope\"', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /<link href=\"([^\"]+)\"/gi\nvar data =$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1800#7\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#7\n\n\nПРИМЕРЫ\nhttps://fix-price.com/catalog/igrushki?sort=abc&page=2\nhttps://fix-price.com/catalog/produkty-i-napitki/konservatsiya-myasnaya\nhttps://fix-price.com/search?q=мыло&sort=sold&page=3"},"F-List":{"img":"^(static\\.f-list\\.net/images/char)thumb/","to":"$1image/","note":"!!!\nНужен аккаунт."},"FlashTranny-x-p":{"link":"^flashtranny.com/(view|gallery)/(\\w|-)+","res":"<source src=\"([^\"]+)","note":"DracoSerge\nhttps://www.reddit.com/r/imagus/comments/150zrnk/nsfw_i_want_to_share_sieves_some_i_made_and_some/\n\nEXAMPLES\nhttps://www.flashtranny.com/search/isabella\nhttps://www.flashtranny.com/category/amateur\nhttps://www.flashtranny.com/pornstar/isabella-muniz"},"FLIC.KR":{"link":"^flic\\.kr/p/\\w","res":"(?:=\"og:image\" content|id=\"target\" src)=\"([^\"]+)\n<title>([^|]+)","note":"EXAMPLES\nhttps://www.reddit.com/domain/flic.kr/new/"},"FLICKR":{"link":"^(?:secure\\.)?flickr\\.com/photos/[^/]+/(\\d+)/?(?:in/.+|lightbox/?|sizes.+|\\?.+|#/photos/.+)?$","url":"https://api.flickr.com/services/rest/?photo_id=$1&method=flickr.photos.getSizes&format=json&nojsoncallback=1&api_key=9bb671af308f509d0c82146cbc936b3c","res":":\ntry {\n let res = [];\n let sizeAr = JSON.parse($._).sizes.size;\n let last = sizeAr.pop();\n if (last.media == 'video') {\n let best_quality = 0;\n let best_videoUrl = '';\n do {\n if (parseInt(last.height) > best_quality) {\n best_quality = parseInt(last.height);\n best_videoUrl = last.source;\n }\n last = sizeAr.pop();\n } while (last.media == 'video');\n res.push([best_videoUrl + '#mp4']);\n } else {\n res.push([last.source]);\n }\n return res;\n} catch(e) {\n console.log(e)\n const x = new XMLHttpRequest();\n x.open('Get', $[0], false);\n x.send();\n $._ = x.responseText;\n $ = $._.match(/params:\\s*({\"photoModel\"[^\\n]+})\\n/)?.[1];\n $ = $&&JSON.parse($).photoModel?.sizes||[];\n return Object.values($).sort((a,b)=>b.height-a.height)[0].src\n}","img":"^(?:(?:farm|c)\\d+\\.|live\\.)?static\\.?flickr\\.com/(?:\\d+/){1,2}(\\d+)_[\\da-f]+(?:_[sqtmn])?\\.jpg$","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/1enoaro/comment/lhfjyc7\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=140#9\n\n\n!!!\nExternal links to NSFW content don't work, as you need to log into an account on the site itself.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/flickr.com/new/\nhttps://www.flickr.com/photos/chris_rankin/\nhttps://www.flickr.com/search/?text=GREEN%20RIBBON\nhttps://www.flickr.com/photos/tags/sun\nhttps://www.flickr.com/photos/broadbottom/37828281391/in/dateposted/"},"FLICKR_albums":{"link":"^flickr\\.com/photos/(?:[^/]+/albums/(\\d+)$|(\\d+)/([a-f0-9]+)/(\\d+)(?:/([\\w@]+)/([\\w:]+))?/$)","url":": $[2] ? 'https://api.flickr.com/services/rest?extras=url_h%2Curl_k%2Curl_o%2Curl_3k%2Curl_4k%2Curl_5k%2Curl_6k%2Cpage=0&photoset_id='+$[2]+'&format=json&method=flickr.photosets.getPhotos&api_key='+$[3]+'&per_page='+$[4]+($[5] ? '&viewerNSID='+$[5]+'&csrf='+$[6] : '')+'&nojsoncallback=1' : $[0]","res":":\nif($[2]) {\n let res=[];\n let jsn=JSON.parse($._);\n for (img of jsn.photoset.photo) {\n res.push([img.url_6k || img.url_5k || img.url_4k || img.url_3k || img.url_o || img.url_k || img.url_h, img.title]);\n }\n return res;\n}\nlet api=$._.match(/root.YUI_config.flickr.api.site_key = \"([^\"]+)\";/)[1];\nconsole.log(api);\nlet length=$._.match(/<span class=\\\"photo-counts\\\">(\\d+) photos?<\\/span>/)[1];\nconsole.log(length);\nlet vnsid2=$._.match(/class=\"gn-title you\"\\s+href=\"\\/photos\\/([^\\/]+)\\/\"\\s/);\nlet vnsid=vnsid2 ? vnsid2[1] : null;\nlet csrf2=$._.match(/root.auth = {\"signedIn\":true,\"csrf\":\"([^\"]+)/);\nlet csrf=csrf2? csrf2[1] : null;\nreturn api&&{loop:'https://www.flickr.com/photos/' + $[1] + '/' + api + '/' + length +'/'+(csrf ? vnsid+'/'+csrf+'/' : \"\")};\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=340#17\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=340#11\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=340#3\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.flickr.com/photos/carolsgardenofphotos/albums\nhttps://www.flickr.com/photos/donthomaso84/albums"},"Flipkart-p":{"link":"^flipkart\\.com/.+?pid.+","res":":\nlet i = $._.search('<ul class=\"[^\"]+\" style=\"-webkit-transform');\nif(i<0) {return null; }\nlet t = $._.indexOf('</ul>', i);\nif(t<0) {return null; }\nlet res = [];\nlet re = /src=\"([^?]+)\\?q=\\d+\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1].replace('128/128','2000/2000')]);\n a = re.exec(data);\n}\nreturn res;\n","img":"^(rukminim\\d\\.flixcart\\.com/[^/]+/)\\d+/\\d+([^?]+).*","to":"#$12000/2000$2\n$11024/1024$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1480#4\n\n!!!\nКурсор наводить на наименование товара.\n==\nHover the cursor over the product name.\n\nEXAMPLES\nhttps://www.flipkart.com/search?q=mobiles&as=on&as-show=on"},"FMkorea":{"link":"^fmkorea\\.com/(?:index.php\\?.+|(?:[^/]+/)?\\d+)","res":":\nreturn [...$._.matchAll(/<(?:source|img)[^>]+=\"([^\"]+fmkorea\\.com\\/(?:files\\/|getfile\\.php\\?code=)[^\"]+)/g)].map(i=>[i[1]])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/15sx7lx/comment/jwp1lwo\n\nEXAMPLES\nhttps://www.fmkorea.com/starcraft\nhttps://www.fmkorea.com/index.php?mid=best&page=4\nhttps://www.fmkorea.com/index.php?mid=best&sort_index=pop&order_type=desc&document_srl=6081556548"},"FocalPrice":{"link":"focalprice\\.com/\\S+\\.html","res":":\nvar i = $._.indexOf('<ul id=\"thumbs_list_frame\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('</ul>', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /a href=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec( data );\n}\nreturn res;","img":"^(img\\.focalprice\\.com/+)(?!860x666)\\d+x\\d+/","to":"$1860x666/","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3360\n\nПРИМЕРЫ\nhttps://www.focalprice.com/toys-hobbies-43\nhttps://www.focalprice.com/xiaomi-120"},"Foobar2000.ru":{"link":"^foobar2000\\.ru/forum/download/file\\.php\\?id=\\d+&filename=([^?]+\\.(?:jpe?g|a?png|gif|svgz?|webp|w?bmp|ico|xbm|pict|j(?:if|fif?)))&mode=view","ci":1,"note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=720#12\n\nПРИМЕРЫ\nhttps://foobar2000.ru/forum/viewtopic.php?t=5470&start=920\nhttps://foobar2000.ru/forum/viewtopic.php?t=5470&start=980"},"Forest-Home.ru":{"link":"^forest-home\\.ru/product/[\\w-]+/","res":":\nvar i = $._.indexOf('<figure class=\"product');\nif(i<0) {return null; }\nvar t = $._.indexOf('</figure>', i);\nif(t<0) {return null; }\nvar res = [];\nvar re = /<a class=\"product-image-\\d+\" href=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\ni = $._.indexOf('<ul class=\"comments-branch reviews-branch\">');\nif(i<0) {return res; }\nt = $._.indexOf('</ul>', i);\nif(t<0) {return res; }\ndata=$._.substring(i,t);\nre = /src=\"([^\"]+)\"/gi\na = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#18\n\nПРИМЕРЫ\nhttps://forest-home.ru/category/nozhi/\nhttps://forest-home.ru/category/monocylyari/"},"FotoKto.ru":{"img":"^(s\\d+\\.fotokto\\.ru/(?:concurs/)?photo/)(?:large|preview)(/\\d+/\\d+\\.(?:jpe?g|png|gif))$","to":"$1full$2","note":"Rodny\n\nПРИМЕРЫ\nhttp://fotokto.ru/photo/new\nhttp://fotokto.ru/photo/concurs?id=107"},"Fotosklad.ru":{"link":"^fotosklad\\.ru/catalog/[\\w-]+\\.html","res":":\nlet i = $._.indexOf('<ul class=\"product-card__big\">');\nif(i<0) {return null; }\nlet t = $._.indexOf('</ul>', i);\nif(t<0) {return null; }\nlet res = [];\nlet re = /data-src=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","img":"^((?:cdn\\.)?fotosklad\\.ru\\/upload\\/iblock\\/\\w+\\/\\w+)_thumb_\\w+(\\.(?:jpe?g|png))$","ci":2,"to":"$1$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1460#17\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1680#8\n\n\nПРИМЕРЫ\nhttps://www.fotosklad.ru/catalog/noutbuki/\nhttps://www.fotosklad.ru/search/?q=фотоаппараты"},"Fotozavr.ru":{"link":"fotozavr\\.ru/image/\\d+.html","res":"<li class=\"zoom\"><a href=\"([^\"]+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jnrcrmb\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"forum.IXBT":{"link":"^(forum\\.ixbt\\.com/post\\.cgi\\?id=attach[0-9:]+\\.(?:jpe?g|gif|png))$","note":"Rodny\n\nПРИМЕРЫ\nhttp://forum.ixbt.com/topic.cgi?id=47:11704:3819#3819"},"forumimage.ru":{"link":"^(forumimage\\.ru/show/)\\d+$","res":"<img src=\"(http://forumimage\\.ru/uploads/\\d+/\\d+.jpg)\"","img":"^(forumimage\\.ru/)thumbs(/\\d+/\\d+\\.jpg)$","to":"$1uploads$2","note":"Rodny\n\nПРИМЕРЫ\nhttps://www.reddit.com/domain/forumimage.ru/"},"Fotoload.ru":{"link":"^(fotoload.ru/foto(set)?/(\\d+)/)(\\?fotosets)?","url":": $[2]&&!$[4]?'https://fotoload.ru/?action=ajaxfunc&sa=get_fotoset_fotos&fotoset_id='+$[3]+'&offset=0&fid=0':$[1]","res":":\nif($[4])return [...$._.matchAll(/src=\"([^\"]+)\" class=\"img-responsive center-block\"/g)].map(i=>[['#'+i[1].replace(/\\d+x\\d+/,'1920x1080'),i[1].replace(/\\d+x\\d+/,'1024x768')],'Gallery Cover Image'])\nif($[2]){\nlet lo=$._.match(/\"bb_link_\\d+x\\d{3}\">[^<]+/)?.[0]||[]\nif(!lo.length)return {loop:'https://'+$[1]+'?fotosets'}\n$=$._.match(/bb_link_\">[^<]+/g)?.reverse()[0]||[]\n$=[...$.matchAll(/\\[img\\]([^\\[]+)/g)].reverse()\nlo=lo.length?[...lo.matchAll(/\\[img\\]([^\\[]+)/g)].reverse():[]\nreturn $.map((i,n)=>[['#'+i[1],lo[n]?.[1]||'']])\n}\n$=[...$._.matchAll(/<a\\s+download\\s+href=\"([^\"]+)\">\\d+x(\\d+)/g)]\nreturn [[['#'+$.pop()[1],$.filter(i=>i[2]<1080).reverse()[0]]]]","img":"^(fs3\\.fotoload\\.ru/f/\\d+/\\d+/)\\d+x\\d+/(\\w+\\.jpg)","to":"#$1# 1920x1080/#$2\n$11024x768/$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/18157fp/comment/kaaxr1y\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2460#4\n\nПРИМЕРЫ\nhttps://fotoload.ru/user/4566/\nhttps://fotoload.ru/tags/51994/\nhttps://fotoload.ru/allfotos/?offset=60\nhttps://fotoload.ru/fotosets/695/\nhttps://fotoload.ru/fotoset/66758/"},"Foursquare":{"img":"^(i(?:gx|r?s\\d)\\.4sqi\\.net|playfoursquare\\.s3\\.amazonaws\\.com)(?:(/img/(?:general|user)/)(?!original/)[^/]+|(/userpix)_thumbs?/)","to":":\nreturn $[1] + ($[2] ? $[2] + 'original' : $[3] + '/');"},"frgimages-CDN":{"link":"((?=.*\\.jpg)frgimages\\.com/.*)","img":"((?=.*\\.jpg)frgimages\\.com/.*)","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"fs|brb|cxz":{"img":"^((?:s\\d+|img)\\.dotua\\.org/fsua_items/[^/]+/(?:\\d\\d/){3})(?!1/)\\d(/\\d+)","to":"$11$2"},"FunnyJunk-p":{"link":"^funnyjunk\\.com/(?:(?:channel/[^/]+/)?[A-za-z0-9+]+/[A-Za-z-]+/(?:\\d+/?)?|\\w+/\\d+/[\\w+]+)","res":":\nreturn [...$._.matchAll(/(?:img style=\"width: 100%;[^=]+src|\"video\\/mp4\" data-original|data-cachedvideosrc)=\"([^\"]+)/g)].map(i=>[i[1],($._.match(/\"innerContentDescription\"><h2>([^<]+)/)||[,''])[1]])\n","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jv5cpmr\n\nEXAMPLES\nhttps://funnyjunk.com/channel/wholesome\nhttps://funnyjunk.com/funny_gifs/\nhttps://funnyjunk.com/Aight+you+aint+so+bad/fvnbRsi/\nhttps://www.reddit.com/domain/funnyjunk.com/new"},"Furaffinity-p":{"link":"^furaffinity\\.net/view/(\\d+)/$","url":"//www.furaffinity.net/full/$1/","res":"data-fullview-src=\"([^\"]+)\n<title>([^<]+?) --","img":"^t\\.facdn\\.net/(\\d+)@.+","note":"EXAMPLES\nhttps://www.furaffinity.net/search/?q=green\nhttps://www.furaffinity.net/search/?q=NIN\nhttps://www.furaffinity.net/favorites/wittnv/"},"FurryNetwork":{"link":"^((?:beta\\.)?furrynetwork\\.com/)((?:artwork|photo|multimedia)/\\d+).*","url":"$1api/$2","res":":\n$._=JSON.parse($._)\nreturn [[$._.record_type[0]=='m' ? $._.url : ['#'+$._.images.original, $._.images.large], $._.title + ' by ' + $._.character.display_name]]","img":"^((?:d3gz42uwgl1r1y\\.cloudfront\\.net|furrynetwork(?:-beta)?\\.s3\\.amazonaws\\.com)/(\\w\\w)/\\2\\w+/submission/20\\d\\d/[01]\\d/[\\da-f]{32})/\\d+x\\d+.*","to":"$1#/2500x1500.jpg .gif .webm .mp4 .mp3#","note":"EXAMPLES\nhttps://furrynetwork.com/artwork/popular/?time=lastWeek\nhttps://furrynetwork.com/photos/popular/?time=lastWeek\nhttps://furrynetwork.com/multimedia/popular/?time=lastWeek"},"Gab-p":{"img":"^(ipr\\.gab.ai/[\\da-f]{40}/[\\da-f]+|gab\\.com/media/image/bz-[\\da-f]{13})","to":"$&","note":"https://www.reddit.com/r/imagus/comments/byakji/comment/ers4f6f\n\n!!!\nВидео пока не поддерживается\n==\nVideo currently is not supported\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://gab.com/news\nhttps://gab.com/groups/65229\nhttps://gab.com/TomJefferson1976/posts/112402230424959344\nvideo\nhttps://gab.com/timeline/clips"},"GameSpot_GameFAQs":{"img":"^gamefaqs\\.gamespot\\.com/a/(?:screen/thumb/\\d/\\d/\\d/\\d+|box/\\d/\\d/\\d/\\d+_thumb)","to":":\nif ($[0].match(/\\/box\\//))\n return $[0].replace(\"thumb\", \"front\");\nelse if ($[0].match(/\\/screen\\/thumb\\//))\n return $[0].replace(\"thumb\", \"full\");","note":"borderpeeved\nhttps://www.reddit.com/r/imagus/comments/xdzxo9/comment/ioko84w\n\n\nEXAMPLES\nhttps://gamefaqs.gamespot.com/ps4/366186-mothmen-1966/images\nhttps://gamefaqs.gamespot.com/ps5/292803-stray/images\nvideo\nhttps://gamefaqs.gamespot.com/ps5/292803-stray/videos"},"GameSpot_video":{"link":"^(?:(?:gamefaqs\\.)?gamespot\\.com/(?:[^/]+/)*videos/.+|cdn\\.jwplayer\\.com/v2/media/\\w+\\?gamespot)","res":":\nlet m;\nif(m=$._.match(/\"contentUrl\":\\s*\"([^\"]+)/)?.[1])return m;\nif(m=$._.match(/<iframe class=\"vid\"[^>]+src=\"([^\"]+)/)?.[1])return {loop:m};\nif(m=$._.match(/mediaId:\\s*'([^']+)/)?.[1])return {loop:'//cdn.jwplayer.com/v2/media/'+m+'?gamespot'};\nm=JSON.parse($._).playlist[0];\nthis.TRG.IMGS_ext_data = ['//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"360\"></svg>', `<imagus-extension type=\"videojs\" url=\"${m.mrss_video_url}\"></imagus-extension>${m.description}`];\nreturn {loop:'imagus://extension'}","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lkmy7ux\nOLD\nhttps://www.reddit.com/r/imagus/comments/xdzxo9/comment/ioko84w\n\nEXAMPLES\nhttps://www.gamespot.com/videos/"},"Gamma_Entertainment-x-q-p":{"link":"^([^/]+)/en/video/[^/]+/(?:[^/]+/)?(\\d+)","res":":\nconst max_resolution = 2160;\n\nconst m = /applicationID\":\"([^\"]+)\",\"apiKey\":\"([^\"]+)/g.exec($._);\nif (!m) return;\nconst [appId, apiKey] = [m[1], m[2]];\nconst sceneId = $[2];\n\nconst xml = new XMLHttpRequest();\nconst url = `https://tsmkfa364q-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=Algolia%20for%20vanilla%20JavaScript%203.27.1%3BJS%20Helper%202.26.0&x-algolia-application-id=${appId}&x-algolia-api-key=${apiKey}`\nxml.open('POST', url, false);\nxml.send(\n `{\"requests\": [{\"indexName\": \"all_scenes\", \"params\": \"facetFilters=[[\\\\\"clip_id:${sceneId}\\\\\"]]\"}]}`\n);\nif (xml.status !== 200) return;\n\nlet streams = {};\ntry { streams = JSON.parse(xml.responseText)?.results?.[0]?.hits?.[0]?.trailers;} catch (e) { return; }\n\nconst trailers = Object.keys(streams)\n .map(s => ({ res: parseInt(s.replace(\"4k\", '2160'), 10), url: streams[s] }))\n .filter(a => a.res <= max_resolution)\n .sort((a, b) => a.res - b.res);\n\nif (!trailers.length) return;\nreturn trailers[trailers.length-1].url;","img":".*gammacdn\\.com.+","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#19\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3620#12\n\n!!!\n- Для работы фильтра требуется правило для SMH (см.ЧаВО, п.12).\n- Переключение качества видео (480/720/1080/2160): const max_resolution = 2160;\n==\n- For the sieve to work, a rule for SMH is required (see FAQ, p.12).\n- Switching video quality (480/720/1080/2160): const max_resolution = 2160;\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.darkx.com/en/videos\nhttps://www.evilangel.com/en/videos\nhttps://www.girlsway.com/en/videos\nhttps://www.hardx.com/en/videos\nhttps://www.puretaboo.com/en/videos\nhttps://www.roccosiffredi.com/en/videos"},"Gallery.ru":{"link":"^(gallery\\.ru/watch\\?a=\\S+)$","res":":\nvar i = $._.indexOf('<div id=\"mygallery\"');\nif(i<0) { return null; }\nvar t = $._.indexOf('</div>', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /<img src=\"(https?:\\/\\/data\\d+\\.gallery\\.ru\\/albums\\/gallery\\/\\w+-\\w+-\\w+-)\\d+(?:-\\w+)?\\.jpg\"/gi\nvar dat=$._.substring(i,t);\nvar a = re.exec(dat);\nwhile(a) {\n res.push([a[1] + '.jpg']);\n a = re.exec(dat);\n}\nreturn res;\n","img":"^(data\\d+\\.(?:i\\.)?gallery\\.ru/albums/gallery/\\d+-[\\da-f]+-\\d+-)[^.-]+","to":"#$1\n$11024","note":"Baton34V\n\nПРИМЕРЫ\nhttp://gallery.ru/?panel=list&user_type=3\nhttp://gallery.ru/watch?a=tvS-bkiV"},"Gamekult":{"img":"^(cdn\\.gamekult\\.com/optim/images/.+?)__[^.]+","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jtd4cv9\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#11\n\nEXAMPLES\nhttps://www.gamekult.com/actu/zoom-portal-2-A0000089965.html\nhttps://www.gamekult.com/actu/neverdead-en-douze-images-A0000098884.html"},"Gameru.net":{"link":"^gameru.net/post/\\d+","res":":\nreturn [...$._.matchAll(/<img src=\"([^\"]+)\" class=\"linked-image\"/g)].map(i=>[i[1].replace('thumb','image/direct')])","img":"^images\\.gameru\\.net/(?:image|thumb)/(\\w+\\.\\w+).*","to":"images.gameru.net/image/direct/$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jxydqur\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3200#13\n\nПРИМЕРЫ\n(постер проги)\nhttps://www.gameru.net/post/55915\nhttps://www.gameru.net/feed/type=news&tag=screenshot\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=49250&start=20#1\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Gazeta.pl":{"img":"^(bis?\\.(?:gazeta|im-g)\\.pl/im/(\\w{1,5}/){2,}?z\\d{4,})[^.]*(?=\\.)","to":"#$1O\n$1IH","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jr9iz3u\n\nEXAMPLES\nhttps://wiadomosci.gazeta.pl/wiadomosci/0,168571.html\nhttps://wiadomosci.gazeta.pl/prawo-i-sprawiedliwosc\nhttps://next.gazeta.pl/next/0,0.html"},"Geekpic|Pic4Net":{"link":"pic4net\\.com|geekpic\\.net/pm-\\w+\\.html","res":"<a href=\"([^\"]+)\" class=\"download-img\"","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=660#10\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=40#15\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=11411&start=1480#3"},"Gelbooru|Hypnohub-x-p":{"link":"^(?:gelbooru\\.com|hypnohub\\.net)/index\\.php\\?page=post&s=view&id=\\d+","res":"(?:=\"og:|itemprop=\")image\" content=\"([^\"]+)\n=\"keywords\" content=\"([^\"]+)","img":"^(?:s?(?:img|thumb)\\d?\\.|assets\\.)?(gelbooru\\.com/+)(?:sample|thumb(?:nail)?)s/(\\w\\w/\\w\\w)/(?:thumbnail|sample)_([\\da-f]+).*","to":"#img2.$1/images/$2/$3.#webm jpg png gif jpeg#\nimg2.$1/samples/$2/sample_$3.#jpg png gif jpeg#","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/18d5xog/comment/kchcmvi\n\nПРИМЕРЫ / EXAMPLES\nhttps://hypnohub.net/index.php?page=post&s=list&tags=all\nhttps://hypnohub.net/index.php?page=post&s=list&tags=video+&pid=210\nhttps://gelbooru.com/index.php?page=post&s=list&tags=sky+\nhttps://gelbooru.com/index.php?page=post&s=list&tags=fruit"},"Geograph.org.uk":{"img":"^(?:(s\\d\\.geograph\\.org\\.uk/[/\\w]+)_\\d{2,4}x\\d{2,4}|s\\d\\.geograph\\.org\\.uk/.+)","to":":\nreturn $[1]?$[1]+'#_original #':$[0].replace(/(\\.[a-z]+)$/,'#_original #$1')","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/k23sosn\nOLD\nhttps://www.reddit.com/r/imagus/comments/2xcrlg/sieve_for_geographorguk\n\nEXAMPLES\nhttps://www.geograph.org.uk/finder/recent.php\nhttps://www.geograph.org.uk/browser/#!/taken=,1999-12-31/decade+%22190tt%22/sort=submitted_down"},"GetaPic.me":{"link":"getapic\\.me/\\w+/\\w+","res":"<li><span>Ссылка на картику:</span><br>\\s+<input onclick=\"select_field\\(this\\);\" value=\"([^\"]+)\"","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2980#21\n\nПРИМЕРЫ / EXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=40#15\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3100#9"},"GetCloudApp|cl.ly":{"link":"^(?:cl\\.ly/image/[^/]+.*|share\\.getcloudapp\\.com/\\w+$)","res":":\n$=JSON.parse($._.match(/Copernicus\\(({.+?})\\)/s)?.[1].replace(/\\n\\s+/g,'').replace(/([{,])(\\w+):\\s+/g,'$1\"$2\":')||'{}')?.store?.viewer?.item?.links?.content_url||'';\nreturn $+(/\\.m[o4]v/.test($)?'#mp4':'')","img":"^thumbs\\.(?:cl\\.ly|getcloudapp\\.com)/(?:image/)?(\\w+)","to":"http://cl.ly/image/$1/$1.jpg","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lf0wn7y\n\n!!!\nThe sieve shows a red or yellow spinner in case the source is non-media or missing.\n\nEXAMPLES\nhttps://www.reddit.com/domain/cl.ly/new/\nhttps://www.reddit.com/domain/getcloudapp.com/new/"},"GettyImages":{"link":"^gettyimages\\.[a-z.]{2,6}/detail/(?:[^/]+/[^/]+/)?\\d+.*","res":":\n$=JSON.parse($._.match(/data-component='AssetDetail'>[^{]+([^\\n]+)/)[1]).asset;\nreturn $.filmCompUrl||[[['#'+$.highResCompUrl,$.defaultMainImageURL]]]","img":"^(media\\.gettyimages\\.com/id(/\\d+)/photo/[^.]+\\.)\\w+(.*)","loop":2,"to":":\nreturn RegExp($[2]).test(location.pathname)&&/=[234]\\d{3}x/.test($[3]) ? $[1]+'jpg'+($[3]||'') : 'https://www.gettyimages.com/detail'+$[2]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1emso0o/comment/lh35169\nOLD\nhttps://www.reddit.com/r/imagus/comments/196ypny/comment/khyg817\nhttps://www.reddit.com/r/imagus/comments/12ghqmg/to_whoever_updates_the_sieves_please_add_this_to/\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.gettyimages.com/search/2/image?family=creative&phrase=ORANGE\nhttps://www.gettyimages.com/videos/adventure?assettype=film&family=creative&phrase=adventure&sort=best&license=rf,rr\nhttps://www.gettyimages.in/sets/BsrYlsNvWkydP-HSSCmdDA/Workplace+wellness+video#license"},"gif-animated.ru|gif-pictures.ru":{"link":"(gif-(?:pictures|animated)\\.ru/)\\?v=(.*)","img":"(gif-(?:pictures|animated)\\.ru/)\\?v=(.*)","to":"$1images/$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jnrcrmb\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Gifbin":{"link":"^(gifbin\\.com/)(?:[ft]/|(reverse/))?(\\d+)$","url":"$1$2$3","res":":\nvar t,u=$._.match(/src=\"https?:\\/\\/(www\\.)?gifbin\\.com\\/bin\\/[^\"]+/g)\nif(!u)return 0\nt=$._.match(/=\"og:title\"\\s+content=\"([^\"]+)/);\nreturn [[u.slice(0,3).map(function(u){ return u.slice(5) }), t&&t[1]]]","img":"^(gifbin\\.com/bin/(?:\\d+/)?)tn_([^?]+\\.).*","to":"http://www.$1$2#webm mp4 gif#","note":"Randlai\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1433#1\n\nEXAMPLES\nhttps://gifbin.com/tag/cartoons/\nhttps://www.reddit.com/domain/gifbin.com/new/"},"Gifer-p":{"img":"(im-\\d\\d\\.forfun\\.com/|i\\.gifer\\.com/)(?:fetch/w\\d+-ch\\d+-preview|origin)(/\\w+/[^_]+?)(_w\\d+)?(\\.\\w+)","to":"$1origin$2$4","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=680#10\n\nEXAMPLES\nhttps://www.reddit.com/domain/gifer.com\nhttps://gifer.com/en/gifs/forest"},"Gifly-b":{"link":"^(gifly\\.com/)(\\w)(\\w)(\\w)(\\w)/*[^/]*$","img":"^(?:i\\.)?(gifly\\.com/+)media_gifly/(\\w)/(\\w)/(\\w)/(\\w)/b/.*","to":"$1media_gifly/$2/$3/$4/$5/b/$2$3$4$5.#mp4 gif#","note":"!!!\nПроблема с проверкой безопасности (из-за нее - красный индикатор).\n==\nThere is a problem with the security check (because of it - the red spinner).\n\n\nEXAMPLES\nhttps://www.reddit.com/domain/gifly.com/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#10"},"Gifs-p":{"link":"^(gif(?:s|y(?:t|outube))\\.com/)(?:gif|embed|player)/(?:[^-]*-)*(\\w+)","img":"^(?:share|j)\\.(gif(?:s|y(?:t|outube))\\.com/)(\\w+).*","to":"//j.gifs.com/$2.#webm mp4 gif#","note":"EXAMPLES\nhttps://www.reddit.com/domain/gifs.com/new"},"Gifyu":{"link":"gifyu\\.com/image/\\w{4}","res":"<meta property=\"og:image\" content=\"([^\"]+)\"","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2600#6\n\nEXAMPLES\nhttps://www.reddit.com/domain/gifyu.com/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50519&start=900#21"},"Giphy":{"useimg":1,"link":"^(g(?:iphy\\.com/(?:gifs|embed)|ph\\.is(?:/g)?)/)([\\w-]+).*","url":"$1$2","res":":\n$=/gif:\\s*(\\{[^\\n]+\\})/.exec($._)\n$=$&&JSON.parse($[1])\nreturn $ && [[[$.images.original.mp4, $.images.original.url], $.alt_tag]]","img":"^media\\d?\\.((giphy)\\.com/)media/(\\w+)/.*","to":"media.$1media/$3/$2.#mp4 gif#","note":"EXAMPLES\nhttps://www.reddit.com/domain/giphy.com/new/\nhttps://www.instagram.com/p/C-0UMYMuzs5/?img_index=1"},"GITHUB":{"link":"^(git(?:hu|la)b\\.com/[^/]+/[^/]+/)blob(/.+\\.(?:jpe?g|a?png|gif|svgz?|web[pm]|bmp|og[gv]))$","ci":1,"img":"^(?:(avatars\\d?\\.githubusercontent\\.com/u/\\d+).*|camo\\.githubusercontent\\.com/[a-f0-9]{64}/[a-f0-9]+)","to":":\nif($[0][0]==='c')return $[0]\nvar v=$[2]?'':$[0].slice($[1].length); v=v&&v.match(/[?&](v=\\d+)/)||'';\nreturn $[1] + ($[2]?'raw'+$[2]:v&&('?'+v[1]))","note":"Imagus_fan (edit)\nhttps://www.reddit.com/r/imagus/comments/4xim6u/comment/kv8tjc7\n\n!!!\nНа GIF курсор следует наводить на нижний край изображения / The cursor on the GIF should be placed on the bottom edge of the image:\nhttps://github.com/Neet-Nestor/Telegram-Media-Downloader?tab=readme-ov-file#how-to-use"},"GloryholeSwallow-x":{"link":"gloryholeswallow\\.com/tour/trailers/.*","res":":\nconst m = /video playsinline src=\"([^\"]+)/.exec($._)\nif (m) return m[1];\nreturn \"//i.imgur.com/ejZcAGv.png\";","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1163&limit=1&m=1#1\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3616#1\n\nEXAMPLES\nhttps://gloryholeswallow.com/tour/updates/page_4.html"},"Gmail":{"link":"^(mail\\.google\\.com/.*\\?)ui=2&ik=(.*)&view=att&th=(.*)&attid=0\\.1&disp=inline&zw","to":"$1attid=0.1&disp=emb&view=att&th=$3","note":"Rodny\n\n!!!\nGmail attached images. Different mail servers on Google Apps platform are also supported."},"Gofile.io-p":{"img":"^javascript:void\\(0\\)$","loop":2,"to":":\nconst n = this.node\n\nif(!/^(?:gofile\\.io|(?:[a-z]{2}\\.)?files\\.fm)$/.test(location.hostname))return ''\n\n// Files.fm also uses this URL. This code loops to the Files.fm sieve if on that site\n\nif(/^(?:[a-z]{2}\\.)?files\\.fm$/.test(location.hostname)){\nreturn this.node.parentNode.parentNode.querySelector('div[data-clipboard-text]')?.dataset?.clipboardText||''\n}\nconst elem = document.createElement('script')\nelem.textContent = 'sessionStorage.setItem(\"gofile__data\", JSON.stringify(Object.values(mainFolderObject.children))); document.currentScript.remove();'\ndocument.head.appendChild(elem)\nconst gofileData = JSON.parse(sessionStorage.getItem('gofile__data'))\nsessionStorage.removeItem('gofile__data')\n$ = gofileData.find(i=>i.name===n.textContent)?.link||''\nreturn $+(/\\.m[ok]v$/.test($)?'#mp4':'')","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/19ahx46/comment/li5olcw\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ktwgt80\nhttps://www.reddit.com/r/imagus/comments/19ahx46/comment/kiqda5c\n\n!!!\nSometimes it is necessary to hover the cursor again.\n+\nNote that this only works on the site. It doesn't work with links on external sites.\nhttps://www.reddit.com/r/imagus/comments/19ahx46/comment/li5olcw/\n\n\nEXAMPLES\nhttps://gofile.io/d/RQMSsS\nhttps://gofile.io/d/WAiBTU\nhttps://www.reddit.com/domain/gofile.io/new/"},"GOG":{"link":"^gog\\.com/\\w\\w/game/\\w+$","res":":\nlet i = $._.indexOf('<div class=\"js-items-wrapper mobile-slider__items-wrapper\">');\nif(i<0) { return null; }\nlet t = $._.indexOf('</picture></div></div></div>', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /src=\"([^_]+)_[^.]+(\\.\\w+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]+a[2]]);\n a = re.exec(data);\n}\nreturn res;","img":"(images\\.gog-statics\\.com\\/\\w+)_product_card_v\\d_thumbnail_\\d+(\\.jpg)","to":"$1$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=580#21\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2040#5\n\n!!!\nКурсор наводить на белое поле ниже названия игры. Иногда требуется повторное наведение курсора.\n\nПРИМЕРЫ\nhttps://www.gog.com/games?page=1&sort=popularity&category=action\nhttps://www.gog.com/ru/games/strategy"},"Goodfon.ru":{"link":"(?:avto\\.)?(?:bad|good)fon\\.ru/(?:[^/]+/)?(?:wallpaper/?.+\\.html|download\\.php\\?id=\\d+&rash=\\d+x\\d+|download/[^/]+/\\d+x\\d+/?)$","res":":\nlet res;\nlet mtch=$._.match(/<meta property=\"og:image\" content=\"(https?:\\/\\/img\\d\\.(?:good|bad)fon\\.ru\\/)wallpaper\\/big(\\/\\w\\/\\w+\\/.+\\.jpe?g)\"[\\s\\S]+<meta property=\"og:description\" content=\"автор:[^:]+: (\\d+x\\d+)/);\nif (mtch!=null) {\n res=mtch[1]+'original/'+mtch[3]+mtch[2];\n}\nelse {\n mtch=$._.match(/<a href=\"([^\"]+)\" id=\"/);\n res=mtch[1];\n}\nreturn res;","note":"Rodny + Baton34V(fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=580#13\n\nПРИМЕРЫ\nhttps://www.goodfon.ru/catalog/landscapes/"},"Goodreads-p":{"img":"^(i(?:mages)?\\.gr-assets\\.com/(?:images/(?:[^/]+/){1,3})?(?:author|book|user)s/\\d+)[^/]+(/\\d+)[^?]*\\.","to":"$1i$2.","note":"EXAMPLES\nhttps://www.goodreads.com/genres/thriller\nhttps://www.goodreads.com/genres/history"},"GOOGLE_Drive":{"link":"^(?:docs|drive)\\.google\\.com/(?:(?:file|presentation|document|spreadsheets|drawings)/(?:u/\\d/)?d/|uc\\?.*id=)([\\w-]{33}|[\\w-]{44})(/|&|$).*","ci":1,"url":"https://drive.google.com/file/d/$1/view","res":":\nlet [type, ext] = JSON.parse($._.match(/_docs_flag_initialData=({.+?});/)[1])['docs-dm'].split('/');\n\nif (type === 'video') {\n return { loop: `https://drive.google.com/get_video_info?docid=${$[1]}` };\n}\n\nif (type === 'image' || type === 'audio') {\n return `https://drive.google.com/uc?id=${$[1]}&export=download#` + (type == 'audio' ? 'mp3' : ext);\n} else {\n const title = $._.match(/<title>(.+)<\\/title>/)?.[1] || '';\n let eUrl = $._.match(/<meta itemprop=\"embedURL\" content=\"(.+?)\"/)?.[1];\n if (!eUrl) {\n if (ext == 'x-zip-compressed' || ext == 'octet-stream' || ext?.startsWith('vnd.google-apps.')) {\n eUrl = `https://drive.google.com/file/d/${$[1]}/preview`;\n } else {\n eUrl = `https://drive.google.com/uc?id=${$[1]}`;\n }\n }\n\n this.TRG.IMGS_ext_data = [['', `<imagus-extension type=\"iframe\" url=\"${eUrl}\"></imagus-extension>${title}`]];\n return { loop: 'imagus://extension' };\n}","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2421&limit=1&m=1#1\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3240#14\n\n\n!!!\nДанный фильтр способен отображать все медиаформаты (изображения, видео, аудио) + ZIP, DOCX, PDF.\n==\nThis sieve is capable of displaying all media formats (images, video, audio) + ZIP, DOCX, PDF.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/drive.google.com/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2400#21\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3240#16"},"GOOGLE_Drive_video":{"link":"^drive\\.google\\.com/get_video_info\\?docid=[\\w-]+","res":":\nconst data = $._.split('&').map(p => p.split('='));\nlet title = decodeURIComponent(data.find(p => p[0] === 'title')[1]);\nlet url = decodeURIComponent(data.find(p => p[0] === 'fmt_stream_map')[1]);\nurl = url.split(',').pop().split('|')[1];\n\nreturn url + '#mp4';\n\nthis.TRG.IMGS_ext_data = [['', `<imagus-extension type=\"videojs\" url=\"${url}\"></imagus-extension>${title}`]];\nreturn { loop: 'imagus://extension' };\n","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2400#21\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3240#14\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/drive.google.com/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2400#21"},"GOOGLE_goo.gl":{"link":"^(image|photo)s\\.app\\.goo\\.gl/\\w+","res":":\nconst caption = $._.match(/<img.+?alt=\"(.*?)\"/)?.[1] || $._.match(/<title>(.+?)<\\/title>/)?.[1] || '';\n\nif(/\"og:video\" content=\"[^\"]/.test($._))return $._.match(/https:\\/\\/video-downloads\\.googleusercontent\\.com\\/[^\"]+/)[0]+'#mp4'\n\nconst urls = [...$._.matchAll(/<img class=.+?(http?[^=]+)[^<]+?<div/g)];\n\nif (urls.length > 0) return urls.map(x => [x[1] + '=s0', caption]);\n\nreturn [$._.match(/AF_dataServiceRequests.=.+?http.+?,\"(http.+?)\"/)[1], caption];","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l6h0ibe\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1040#14\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3900#10\n\n\n!!!\nФильтр не поддерживает видео на сайте Google Photo, только одиночные видео по внешним ссылкам.\n==\nThe sieve does not support videos on the Google Photo site, only single videos from external links.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://new.reddit.com/domain/goo.gl/new/\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3900#7\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1000#21"},"GOOGLE_Images_legacy":{"img":"^images-partners-tbn\\.google\\.com/images\\?q=tbn:[^:]+:+(.+)","dc":2,"to":"$1","note":"64h\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1020#2\n\nПРИМЕРЫ / EXAMPLES\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1020#2\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1000#19"},"GOOGLE_noglogo":{"img":"^google\\.[\\.a-z]+/images/nav_logo\\d+(_hr)?\\.png$","to":":\nreturn window.location.host.indexOf('.google.')>0?'':$[0]","note":"Deathamns + Rodny (fix)\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/r/imagus/comments/3v57ez/disable_imagus_for_a_specific_image/"},"GOOGLE_URL":{"link":"^google\\.(?:com|(?:com?\\.)?[a-z]{2})/url\\?(?:[^&]+&)*?q=(http[^&]+\\.(?:jpe?g|gifv?|a?png|bmp|web[pm]|mp[34]]))(?:$|&).*","dc":1,"to":"$1"},"GoogleContent|YouTube_Gallery":{"link":"^(?:(youtube\\.com/(?:post/[\\w-]+|channel/UC[\\w-]{22}/community\\?lb=.+))|ytgallery/album.*)$","url":": $[1]?$[1]:'data:,'+$[0]","res":":\nif(!$._.length)$._=document.body.outerHTML\ntry{\n$=JSON.parse($._.match(/\":({\"images?\":.+?})},\"/)[1])\nreturn $.images?$.images.map(i=>[i.backstageImageRenderer.image.thumbnails[0].url.match(/^[^=]+=/)+'s0']):$.image.thumbnails[0].url.match(/^[^=]+=/)+'s0'\n}catch(e){\nconsole.log('YouTube Gallery Error: '+e)\nreturn this.node.src?this.node.src.match(/^[^=]+/)+'=s0':''\n}","img":"^((?:(?:(?:(?:lh|gp|yt)\\d+|blogger)\\.g(?:oogleuserconten|gph)|\\d\\.bp\\.blogspo)t|drive\\.(?:fife\\.)?usercontent\\.google)\\.com/)(?:([_-](?:[\\w\\-]{11}/){3}[\\w\\-]{11,}/)([^/]+)(/[^?#=]+)?|(download\\?id=.+)|([^=]+)).*","loop":2,"to":":\nconst n=this.node;\nif(location.pathname?.startsWith('/maps/')&&(/\\d:\\d{2}$/.test(n.offsetParent?.offsetParent?.querySelector('div[class^=\"fontLabelMedium \"]')?.innerText||''))){\nreturn '#'+$[0].replace(/=.+/,'=m37')+'#mp4\\n#'+$[0].replace(/=.+/,'=m22')+'#mp4\\n'+$[0].replace(/=.+/,'=m18')+'#mp4\\n'+$[0].replace(/=.+/,'=s0')\n}\nvar c=$[3]&&$[3].match(/-?(?:Ic\\d\\d|mo)/); c=c&&('-'+c[0])||'';\nreturn /youtube\\.com$/.test(location.hostname)&&n.closest('ytd-post-multi-image-renderer') ? (n.closest('ytd-post-multi-image-renderer')?.querySelector('a[href^=\"/post/\"]')?.href||'ytgallery/album'+$[1]) : $[5] ? $[1] + $[5] : '#' + $[1] + ($[6] ? $[6] + '=' : $[2]) + (c?'s1600'+c:'s0') + ($[4]||($[6]?'':'/')) + '\\n' + $[1] + ($[6] ? $[6] + '=' : $[2]) + 's1024' + c + ($[4]||($[6]?'':'/'))","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1bercv8/comment/l7svfya\nOLD\nhttps://www.reddit.com/r/imagus/comments/1bmxcr5/comment/l1ll4jo\nhttps://www.reddit.com/r/imagus/comments/1bmxcr5/comment/kzc5812\n\n\n!!!\nДля просмотра альбомов курсор нужно наводить на дату.\n==\nYou have to hover over the date to view albums.\n\n\nEXAMPLES\n(ALBUMS)\nhttps://www.youtube.com/post/UgkxwyUqrYgCJmFtsnZc-bua9w6Fgl1bikP-\nhttps://www.youtube.com/channel/UChqUTb7kYRX8-EiaN3XFrSQ/community?lb=Ugkx6t8bAsb2HO2a6XBhnjkYrj4DY4ajUfnw\n(GIF)\nhttps://www.reddit.com/r/imagus/comments/14fyk2l/comment/k0yktt9\n(VIDEO)\nhttps://www.google.com/maps/place/La+Buchetta+Food+%26+Wine+Restaurant/@43.7673626,11.2591505,3a,75y,90t/data=!3m8!1e5!3m6!1sAF1QipMUbjl-1eXZAUNBH0H1r3ZUXV8Yt33hWlmuZkVj!2e10!3e10!6shttps:%2F%2Flh5.googleusercontent.com%2Fp%2FAF1QipMUbjl-1eXZAUNBH0H1r3ZUXV8Yt33hWlmuZkVj%3Dw203-h270-k-no!7i1440!8i1920!4m13!1m2!2m1!1sRestaurants!3m9!1s0x132a54075f14f9d1:0x65488f81958ea60a!8m2!3d43.7673626!4d11.2591505!10e5!14m1!1BCgIgARICCAQ!15sCgtSZXN0YXVyYW50c1oNIgtyZXN0YXVyYW50c5IBCnJlc3RhdXJhbnTgAQA!16s%2Fg%2F1tcwz46f?entry=ttu\nhttps://www.google.com/maps/contrib/106755468845773661160/photos/@43.7673626,11.2591505,3a,75y,90t/data=!3m7!1e5!3m5!1sAF1QipO-O8D6XME00s_rxeMxBqkevFlMm5OzORyuxqQA!2e10!6shttps:%2F%2Flh5.googleusercontent.com%2Fp%2FAF1QipO-O8D6XME00s_rxeMxBqkevFlMm5OzORyuxqQA%3Dw462-h260-k-no!7i1920!8i1080!4m3!8m2!3m1!1e1?entry=ttu\n+\n(blogspot.com)\nhttps://vickiboucher.blogspot.com/2023/10/colour-inkspiration-challenge-c154.html\n(Google-Drive)\nhttps://www.reddit.com/r/imagus/comments/1bercv8/comment/l7ss32o"},"GooglePlay-p":{"link":"^playstorealbum/[^!]+!(.+)","url":"data:,$&","res":":\nreturn $[1].split('!').map(i=>[['#'+i+'s0',i+'s1024']])","img":"^(play-lh\\.googleusercontent\\.com/[^=]+=).*","loop":2,"to":":\nconst show_thumbnail_gallery = true\nconst truncate_album = true\n\nconst n=this.node;\nif(show_thumbnail_gallery&&n.className===\"T75of B5GQxf\"){\nconst num=n.attributes?.['data-screenshot-index']?.value;\nreturn '//playstorealbum/'+$[1]+'!'+[...n.offsetParent?.querySelectorAll('img')].filter((i,n)=>n>=(truncate_album&&Number(num)||0)).map(i=>i.src.match(/^[^=]+=/)[0]).join('!')\n}\nreturn $[1]+'s0\\n'+$[1]+'s1024'","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1bpg3s8/comment/kwxjhnb\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://play.google.com/store/apps/details?id=org.mozilla.firefox&pli=1"},"Grailed":{"link":"^grailed\\.com/listings/","res":":\nlet m = JSON.parse(($._.match(/application\\/json\">({.+?})<\\//)||[,'{}'])[1]).props?.pageProps.listing.photos.map(i => [i.url])\nif(!m)m = [...$._.matchAll(/PhotoGallery_thumbnails__[^\"]+\" src=\"([^\"]+)/g)].map(i=>[i[1].replace(/(process\\.fs\\.grailed\\.com\\/).+?\\/compress/,'$1')])\nreturn m\n","img":"^(process\\.fs\\.grailed\\.com/).+?/compress/","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/14siym7/comment/jr2n21s\nOLD\nhttps://www.reddit.com/r/imagus/comments/kukuay/does_anybody_have_a_sieve_for_grailedcom/\n\nEXAMPLES\nhttps://www.grailed.com/designers/streetwear\nhttps://www.grailed.com/designers/enfin-leve\nhttps://www.grailed.com/categories/shorts\nhttps://www.grailed.com/shop/PcQyi3iYyA"},"Gravatar":{"img":"^(?:(?:\\d|s(?:ecure)?)\\.)?(gravatar\\.com/)(?:(avatar)(?:\\.php\\?gravatar_id=|/?)|(userimage/\\d+)/)([^?&]*(?:\\.jpg)?)(?:[?&]?(?:[^&]+&)*?s(?:ize)?=(\\d+).*)?.*","to":":\nvar x = /[&?](d(?:efault)?=[^&]+)/.exec($[0]), y = /[&?](r(?:ating)?=[^&]+)/.exec($[0]);\nreturn $[1]+($[2]||$[3])+'/'+$[4]+'?s='+($[3]?1e3:512)+(x?'&'+x[1]:'')+(y?'&'+y[1]:'')"},"GSMarena":{"link":"^(gsmarena.com/)(newsdetail|([\\w+)(]+)(-review|-pictures|-news)?(-\\d+(?:p\\d+)?))(\\.php3?.*)","ci":1,"url":": $[4] || !$[5] ? $[0] : $[1] + $[3] + '-pictures' + $[5] + $[6]","res":":\nvar res = [];\nconst page = (new window.DOMParser()).parseFromString($._,'text/html');\nconst imgs = Array.from(page.querySelectorAll('#pictures-list img, #review-body img'));\nfor (const img of imgs) {\n const src = (img.dataset.src || img.src)?.replace(/\\/-\\w+\\//, '/');\n if (/jpe?g$/.test(src)) res.push([src]);\n}\n\nreturn res;","img":"^((?:[cf]dn|st\\d*)(\\.gsmarena\\.com/))(?:(?:pics?|(?:pics?/)?vv)/blogpics/[^/]+/i?cs-(\\d\\d)-(\\d\\d)-([^_]+)-|((?:vv|pics?)/+(?:[^/]+/)+?)thumb/|(imgroot/(?:[^/]+/+)+)-\\d*x?\\d+\\w*/(?=[^/]+))","to":":\nreturn $[3]?'st'+$[2]+'pics/'+$[3]+'/'+$[4]+'/'+$[5]+'/': $[1] + ($[6] || $[7]) + '# -1024x768m/#'","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2000#9\n\nEXAMPLES\nhttps://www.gsmarena.com/xiaomi-phones-80.php\nhttps://www.gsmarena.com/oneplus_nord_2t-pictures-11517.php"},"Gyazo":{"link":"^(gyazo\\.com/)([\\da-f]{32}).*","img":"^(i\\.)?(gyazo\\.com/)thumb/([\\da-f]{32}).*","to":"i.$1$2.#png jpg gif#","note":"EXAMPLES\nhttps://www.reddit.com/domain/gyazo.com/new/"},"Happy-Team_himagem":{"link":"happy-team\\.org/himagem/\\?pm=(\\w+)","img":"happy-team\\.org/himagem/\\?pm=(\\w+)","to":"happy-team.org/himagem/image.php?di=$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\n!!!\nНеобходимо правило для SMH (см.ЧаВо, п.12).\n==\nNeed a rule for SMH (see FAQ, p.12).\n\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Hardwareluxx.ru-b":{"link":"^hardwareluxx\\.[a-z]+/index\\.php/artikel/.+","res":":\nlet o=JSON.parse($._.match(/console.log\\((.+?)\\)</)?.[1]||'{}')\nreturn o?.length?o.map(i=>[i.local_url_org]):[...$._.matchAll(/<a href=\"([^\"]+)\" data-caption=/g)].map(i=>[i[1]])","img":"^(hardwareluxx\\.[a-z]{2}/images/.+_)100px","to":"$11920px","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/kd6jo2n\n\n\nПРИМЕРЫ\nhttps://www.hardwareluxx.ru/index.php/artikel.html\nhttps://www.hardwareluxx.ru/index.php/artikel/hardware/mainboards/44996-asus-rog-strix-x470-f-gaming-test.html\nhttps://www.hardwareluxx.ru/index.php/artikel/hardware/notebooks/53375-test-i-obzor-asus-zenbook-s-13-oled-um5302t-ultrabuk-ryzen-po-privlekatelnoj-tsene.html\nhttps://www.hardwareluxx.ru/index.php/artikel/hardware/eingabegeraete/47365-test-i-obzor-mysh-sharkoon-skiller-sgm2-i-kovrik-1337-rgb-igrovoj-komplekt-po-vygodnoj-tsene.html"},"Hearst(Cosmo|Delish|DigitalSpy|Elle|Esquire|Harper":{"img":"^hips\\.hearstapps\\.com/([^\\.]+\\.h-cdn\\.co|hmg-prod|digitalspyuk|vader-prod|vidthumb)[^/]*(/[^\\?]+).*","to":":\nif ($[1].includes('h-cdn.co')) $[1] = '//' + $[1];\nif ($[1] == 'hmg-prod') $[1] = '//hmg-prod.s3.amazonaws.com';\nif ($[1] == 'digitalspyuk') $[1] = '//digitalspyuk.cdnds.net';\nif ($[1] == 'vader-prod') $[1] = '//vader-prod.s3.amazonaws.com';\nif ($[1] == 'vidthumb') $[1] = 'http://hearst-gopher.thumbs.s3.amazonaws.com'; // hearst-gopher has a bad https certificate as of 2022-09-21\n\nreturn $[1] + $[2].replace(/\\/\\d+x\\d+\\//, '/');","note":"64h\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1160#3\n\n!!!\ncosmopolitan.com\ncountryliving.com\ndelish.com\ndigitalspy.com\nelle.com\nesquire.com\nharpersbazaar.com\nmenshealth.com\n\nEXAMPLES\nhttps://www.delish.com/restaurants/a58436/who-is-guy-fieri/\nhttps://www.countryliving.com/home-design/house-tours/g3456/small-oklahoma-house/\nhttps://www.harpersbazaar.com/fashion/trends/a41247745/spring-2023-fashion-trends/\nhttps://www.elle.com/culture/celebrities/a41296977/shakira-elle-digital-cover-october-2022/\nhttps://www.cosmopolitan.com/style-beauty/fashion/news/g5852/early-2000s-celeb-trends/\nhttps://www.digitalspy.com/tv/ustv/a41261585/upload-season-3-jeanine-mason/\nhttps://www.esquire.com/style/grooming/g34964318/best-mens-skincare-gift-sets/\nhttps://www.menshealth.com/entertainment/a37755218/the-sandman-netflix-trailer-cast-release-date-news/"},"Hemmings-p":{"link":"^hemmings\\.com/(:?auction|listing)/[^/]+\\d+","res":":\nconst res = [];\nvar data = JSON.parse($._.match(/{.+\"vehicle_id\".+}/));\nvar text = '';\n\nres.push([data.hero]);\n\ndata.content.forEach(c => {\n    if (c.attributes?.content) text += c.attributes.content + '\\n';\n    if (c.attributes?.images?.startsWith('[{')) {\n        c.attributes.images = JSON.parse(c.attributes.images);\n        c.attributes.images.forEach(i => {\n            res.push([i.image]);\n        });\n    }\n})\n\nif (data.media?.length) {\n    data.media.forEach(m => {\n        if (!res.includes(m.original_url)) res.push([m.original_url]);\n    });\n}\n\nres[0][1] = `<imagus-extension type=\"sidebar\">${text}</imagus-extension>${data.title}`\nthis.TRG.IMGS_ext_data = res\nreturn { loop: 'imagus://extension' }\n","img":"^thumbor\\d+-production-auction\\.hemmings\\.com/[^/]+/\\d+x\\d+/(\\d+/[^/]+.jpg)","ci":2,"to":"thumbor-production-auction.hemmings.com/$1","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2580#5\n\nEXAMPLES\nhttps://www.hemmings.com/listing/1966-chevrolet-chevelle-225440"},"Hentai0-x-q":{"link":"^hentai0\\.com/movie/.+-\\d+$","res":":\nlet videoSource = /:video_source=\"([^\"]+)/gm.exec($._)[1];\nfunction htmlDecode(input) {\n var doc = new DOMParser().parseFromString(input, \"text/html\");\n return doc.documentElement.textContent;\n}\nlet finalUrls = [];\nlet urls = JSON.parse(htmlDecode(videoSource));\nfor(let el of urls){\n finalUrls.push([el, /(\\d+p\\.mp4)/gm.exec(el)[1]]);\n}\nreturn finalUrls.reverse();","note":"Randlai\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1431#1\n\n!!!\n- В фильтре есть переключение качества видео по принципу альбома - от максимального к минимальному.\n- Некоторые видео не грузятся, т.к. нужен премиум аккаунт.\n==\n- The sieve has an album-like video quality toggle from maximum to minimum.\n- Some videos are not loaded, because you need a premium account.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://hentai0.com/popular\nhttps://hentai0.com/tag/elf-16\nhttps://hentai0.com/search?keyword=MAID"},"Hentai-Foundry-x-p":{"link":"^(hentai-foundry\\.com/)pic(?:tures/user/[^/]+/|-)(\\d+)[./](?:html|[^#/]+.*)","url":"$1pic-$2.html?enterAgree=1","res":"(//pictures\\.$1(?:[^/]+/)+?$2[^\"]+)\\S+(?: (?:\\S+ ){0,3}?alt=\"([^\"]+))?","img":"^thumbs\\.(hentai-foundry\\.com/)thumb\\.php\\?pid=(\\d+).*","note":"ПРИМЕРЫ / EXAMPLES\nhttps://www.hentai-foundry.com/pictures/recent/2023-01-24\nhttps://www.hentai-foundry.com/pictures/user/PurpleMantis\nhttps://www.hentai-foundry.com/search/index?query=MIMI&page=2"},"Hentai-Moon-x-q-p":{"link":"^hentai-moon\\.com/videos/[0-9]+/.*?/","res":":\nlet title = /<title>([^<]+)/gm.exec($._)[1];\nfunction deobfuscate(r,t){let e=(r=r.split(\"/\").splice(2))[5],n=\"\",l=\"\";l=n=e.substring(0,32);let o=\"\";for(f=\"\",g=1;g<t.length;g++)f+=parseInt(t[g])?parseInt(t[g]):1;for(s=parseInt(f.length/2),$=parseInt(f.substring(0,s+1)),(g=(_=parseInt(f.substring(s)))-$)<0&&(g=-g),f=g,(g=$-_)<0&&(g=-g),f+=g,f*=2,f=\"\"+f,i=10,u=\"\",g=0;g<s+1;g++)for(h=1;h<=4;h++)(a=parseInt(t[g+h])+parseInt(f[g]))>=i&&(a-=i),u+=a;o=u;for(var s=l,$=l.length-1;$>=0;$--){for(var _=$,u=$;u<o.length;u++)_+=parseInt(o[u]);for(;_>=l.length;)_-=l.length;for(var a=\"\",b=0;b<l.length;b++)a+=b==$?l[_]:b==_?l[$]:l[b];l=a}return r[5]=e.replace(n,l),r.join(\"/\")}\nlet videovars = /var flashvars = ({[\\n].+});/gm.exec($._);\neval(\"videovars = \"+videovars[1]);\nlet urls = [];\nfor(el in videovars){\n if(el.match(/^video.*?url\\d?$/)){\n urls.push([deobfuscate(videovars[el], videovars.license_code)+'#mp4', videovars[el+'_text'] ? videovars[el+'_text'] : title]);\n }\n}\nreturn urls;","note":"Randlai\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1429#1\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=620#8\n\n\n!!!\nВ фильтре есть переключение качества видео по принципу альбома - от минимального к максимальному.\n==\nThe sieve has an album-like video quality toggle from minimum to maximum.\n\n\nEXAMPLES\nhttps://hentai-moon.com/most-popular/\nhttps://hentai-moon.com/categories/romance/"},"Hentai-Moon_scr-x-p":{"link":"^hentai-moon\\.com/get_file/0/[a-f\\d]+/\\d+/\\d+/screenshots/\\d+\\.jpg/","note":"Randlai\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=620#10\n\nПРИМЕРЫ / EXAMPLES\n(кнопка скриншоты под видео / screenshot button under the video)\nhttps://hentai-moon.com/videos/3602/debt-sisters-ep-1/\nhttps://hentai-moon.com/videos/2095/kuroinu-kedakaki-seijo-wa-hakudaku-ni-somaru-ep-1/"},"HentaiFox-x-p":{"link":"^(?:hentaifox\\.(?:(com/gallery/\\d+/)|tv/video/([\\w-]+).*)|nhplayer.com/(?:(v/\\w+)|player.php\\?.+))","url":": $[2]?'https://hentaifox.tv/embed_new.php?name='+$[2]:$[0]","res":":\nif($[1]){\nlet res=[], u=$._.match(/data-src=\"(https:\\/\\/[^\\/]+\\/(?:\\d+\\/){2})\\d+t(\\.[^\"]+)/), n=$._.match(/id=\"load_pages\" value=\"([^\"]+)/)[1]\nfor(let i=1;i<=n;i++){\nres.push([u[1]+i+u[2]])\n}\nreturn res\n}\nif($[2])return {loop:$._.match(/src=\"([^\"]+)/)[1]}\nif($[3])return {loop:'https://nhplayer.com'+$._.match(/<li data-id=\"([^\"]+)/)[1]}\nreturn $._.match(/file:\\s+\"([^\"]+)/)[1]","img":"^(i\\d*\\.hentaifox\\.com\\/\\d+\\/\\d+\\/)(?:(\\d+)t|(thumb))\\.(...)","to":":\nreturn $[1] + ($[3] ? \"1\" : $[2]) + \".#\" + $[4] + \" png#\"","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/17j6lqh/comment/k72qvqo\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/r/imagus/comments/17j6lqh/comment/k6z1arg"},"HentaiSea_video-x-p":{"url":"https://hentaisea.com/jwplayer/?source=https%3A%2F%2Fhentaisea.com%2Fmp4%2Ftube%2F$1.mp4&type=mp4","res":"file\":\"([^\"]+)","img":"^hentaisea\\.com/wp-content/uploads/tube-thumbs/(.*?)\\.jpg","note":"Randlai\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1470&limit=1&m=1#1\n\nПРИМЕРЫ / EXAMPLES\nhttps://hentaisea.com/videos-genres/hentai/"},"HentaiSea_watch-x-p":{"link":"^hentaisea\\.com/watch/.*?/$","res":":\nlet parser = new DOMParser().parseFromString($._, \"text/html\");\nlet episodes = parser.querySelectorAll('.imagen a');\nif(!episodes) return null;\nlet title = parser.querySelector('.data h1').textContent;\nfunction xmlhttp(type, url, data){\n\tlet x = new XMLHttpRequest;\n\t//x.timeout = 3000;\n\tif(type == \"get\"){\n\t\tx.open('GET', url, false);\n\t\tx.send();\n\t}\n\telse if(type == \"post\"){\n\t\tx.open('POST', url, false);\n\t\tx.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n\t\tx.send(data);\n\t}\n\treturn x.responseText;\n}\n\nfunction getVideoUrl(episodeUrl){\n\tlet url = \"https://hentaisea.com/wp-admin/admin-ajax.php\";\n\tlet html = xmlhttp('get', episodeUrl);\n\tlet videoParser = new DOMParser().parseFromString(html, \"text/html\");\n\tlet id = /(\\d+)/.exec(videoParser.querySelector('link[rel=shortlink]').href)[1];\n\tlet data = `action=doo_player_ajax&post=${id}&nume=1&type=tv`;\n\thtml = xmlhttp('post', url, data);\n\turl = /src='([^']+)/.exec(html)[1];\n\thtml = xmlhttp('get', url);\n\tlet videoUrl = /file\":\"([^\"]+)/.exec(html)[1];\n\treturn videoUrl\n}\n\nfunction getAllEpiseodes(){\n\tlet urls = [];\n\tlet i = 1;\n\tlet videoName = \"\";\n\tfor(episode of episodes){\n\t\tlet url = episode.href;\n\t\tlet result = getVideoUrl(url);\n\t\tvideoName = episodes.length > 1 ? `${title} - episode ${i}` : title;\n\t\turls.push([result+'#mp4', videoName]);\n\t\ti++;\n\t}\n\treturn urls;\n}\nlet urls = getAllEpiseodes();\nreturn urls;","note":"Randlai\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1470&limit=1&m=1#1\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://hentaisea.com/trending/?get=tube\nhttps://hentaisea.com/genre/uncensored/"},"Hitomi.la-x-p":{"link":"^hitomi\\.la\\/.+?(\\d+)\\.html#?(\\d*)","res":":\nfunction getSc(url) {\n const x = new XMLHttpRequest();\n x.open('GET', url, false);\n x.send();\n return x.responseText;\n}\n\nfunction unobfusc_0(hash) {\n var retval = 'b';\n\n var b = 16;\n \n var r = /[0-9a-f]{61}([0-9a-f]{2})([0-9a-f])/;\n var m = r.exec(hash);\n if (!m) {\n return 'a';\n }\n \n var g = parseInt(m[2]+m[1], b);\n if (!isNaN(g)) {\n retval = String.fromCharCode(97 + gg.m(g)) + retval;\n }\n\n if(retval == \"bb\")\n return \"ba\";\n if(retval == \"ab\")\n return \"aa\";\n \n return retval;\n}\n\nfunction unobfusc_2(h) { \n var m = /(..)(.)$/.exec(h); \n return parseInt(m[2]+m[1], 16).toString(10); \n}\n\n//Get deobfuscation object called 'gg'\nlet ggjs = getSc('https://ltn.hitomi.la/gg.js');\neval(ggjs.match(/(gg = .*)/s)[1]);\n\nvar galleryId=$[1];\n\neval(getSc('https://ltn.hitomi.la/galleries/'+galleryId+'.js'));\n\n//Differentiate between gallery links and image links\nlet pageint = $[2] == \"\" ? -1 : parseInt($[2]);\n\nlet res=[];\nfor (let i=0; i<galleryinfo.files.length; i++) {\n \n if(pageint != -1 && pageint != i+1)\n continue;\n\n let file = galleryinfo.files[i];\n\n //Two URL styles, AVIF and WEBP\n let filetype;\n\n if(file.hasavif == 1) {\n filetype = \"avif\";\n }\n else { //(file.haswebp == 1)\n filetype = \"webp\";\n }\n\n //Multiple obfuscations in the url itself, have to decode them.\n let unobfusc0 = unobfusc_0(file.hash);\n let unobfusc1 = gg.b;\n let unobfusc2 = unobfusc_2(file.hash);\n\n let link = \"https://\" + unobfusc0 + \".hitomi.la/\" + filetype + \"/\" + unobfusc1 + unobfusc2 + \"/\" + file.hash + \".\" + filetype;\n\n res.push([link]);\n}\nreturn res;","note":"iceiller9999\nhttps://www.reddit.com/r/imagus/comments/102rqm3/comment/j3koy3a\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3840#20\n\n\nEXAMPLES\nhttps://hitomi.la/artist/akutabin-all.html\nhttps://hitomi.la/series/arcana%20heart-all.html\nhttps://hitomi.la/tag/male%3Aexposed%20clothing-all.html"},"HizliResim":{"link":"^hizliresim\\.com/(a/)?\\w{6,}\\W*$","res":":\nreturn [...$._.matchAll(/data-fancybox=\"gallery\" href=\"([^\"]+)/g)].map(i=>[i[1]])","img":"^([gt])(\\.hizliresim\\.com/[^.]+)-(?:\\d+x\\d+|s)","to":":\nreturn ($[1]=='t'?'i':'g') + $[2]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jye4kqo\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Hoff.ru":{"link":"^hoff\\.ru/catalog/[\\w-/]+_id(\\d+)/(?:\\?articul=(\\d+))?","url":": 'https://hoff.ru/vue/catalog/product/?id='+ $[1] + ($[2] ? '&articul=' + $[2] : '');","res":":\nlet json=JSON.parse($._);\nlet res=[];\nfor (picture of json.data.slider.pictures) {\n res.push([picture.src]);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1820#2\n\nПРИМЕРЫ\nhttps://hoff.ru/catalog/shkafy/shkafy_kupe/?stil=skandinavskiy\nhttps://hoff.ru/catalog/promo/dvuspalnye_krovati/?podemnyy_mekhanizm=bez_mehanizma&tsvet=dub_tyomnyy"},"Holodilnik.ru":{"link":"^holodilnik\\.ru/(.+/){4}$","res":":\nvar i = $._.indexOf('<div class=\"card-product-img__labels\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"swiper-initialized card-product-img__preview\"', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /data-src=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/18n32dx/comment/kebeozx\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1660#20\n\n\nПРИМЕРЫ\nhttps://www.holodilnik.ru/tv_all/tv/\nhttps://www.holodilnik.ru/built-in/built-in_rone_chamber_refrigerators/"},"HomeMoviesTube-x-p":{"link":"^(\\w+\\.)?homemoviestube\\.com/videos/(.*?)(/|$|\\?).*","url":"https://www.homemoviestube.com/embed/$2","res":":\nreturn $._.match(/<source src=\"([^\"]+)/)?.[1].replace(/[a-z]+\\.videos\\.cdn\\.homemoviestube\\.com/,'www.homemoviestube.com/media/videos')||''","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ldqyz6y\nOLD\nhttps://www.reddit.com/r/imagus/comments/iv556b/nsfw_bunch_of_sieves_for_popular_adult_site_videos/\n\n\nEXAMPLES\nhttps://www.reddit.com/domain/homemoviestube.com/new/"},"HostingKartinok|hkar.ru":{"useimg":1,"link":"^(?:hostingkartinok\\.com/show-image\\.php\\?id=[\\da-f]{32}|(?:hkar\\.ru|smotr\\.im)/\\w+)","res":"<div class=\"image\">\\s*<a href=\"([^\"]+)\"","img":"^(s\\d+\\.hostingkartinok\\.com/uploads)/thumbs/([^.]+\\.)png","to":"$1/images/$2#jpg jpeg png gif bmp#","note":"ПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"HostPic":{"link":"(hostpic.org/)view\\.php\\?filename=([^.]+\\.jpg)","img":"(hostpic.org/)view\\.php\\?filename=([^.]+\\.jpg)","to":"$1images/$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Hotline.ua-p":{"link":"^hotline\\.ua/[\\w-]+/","res":":\nlet data=$._.match(/type=\"application\\/ld\\+json\">({\"@context\":\"https:\\/\\/schema\\.org\\/\",\"@type\":\"Product\"[^<]+)<\\/script>/i);\nlet res=[];\nfor (image of JSON.parse(data[1]).image) {\n res.push([image]);\n}\nreturn res;\n","img":"^(hotline\\.ua/{1,2}img/tx/\\d+/\\d+)_s\\d+(\\.jpg)$","to":"$15$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=500#7\n\n\nПРИМЕРЫ\nhttps://hotline.ua/dom/ofisnye-kresla/\nhttps://hotline.ua/ua/sr/?q=диваны"},"Huaban":{"link":"^huaban\\.com/boards/(\\d+)","url":"https://api.huaban.com/boards/$1/pins?limit=100","res":":\nlet jsn=JSON.parse($._);\nlet res=[];\nfor (pin of jsn.pins) {\n let url='https://'+pin.file.bucket+'.huaban.com\\/'+pin.file.key;\n let title=pin.raw_text;\n res.push([url,title]);\n}\nreturn res;","img":"^(gd-hbimg\\.huaban\\.com/[^_]+)_.*","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jye4kqo\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=640#5\n\n!!!\nНеобходимо правило для SMH (см.ЧаВо, п.12).\n==\nNeed a rule for SMH (see FAQ, p.12).\n\nEXAMPLES\nhttps://huaban.com/boards/38251372\nhttps://huaban.com/user/e0ved985mlo\nhttps://huaban.com/explore/chanpinbeijing"},"Hubblesite":{"link":"^hubblesite\\.org/contents/media/(?:video|image)s/\\d{4}/\\d+/\\S+","res":"<a href=\"([^\"]+\\.(?:png|jpe?g|mp4))\">","img":"^stsci-opo\\.org/STScI-[^.]+\\.(?:pn|jpe?)g$","loop":2,"to":":\nreturn location.hostname==='hubblesite.org' && this.node.parentNode?.parentNode?.parentNode?.firstElementChild?.firstElementChild?.href || $[0]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ktwgt80\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3360\n\n\nEXAMPLES\nhttps://hubblesite.org/images"},"HuffingtonPost":{"img":"^(img\\.huffingtonpost\\.com/+asset/)(?:[^/]+/)?([^?]+).*","to":"$1$2","note":"EXAMPLES\nhttps://www.huffpost.com/impact/business\nhttps://www.huffpost.com/news/politics"},"hurimg-CDN":{"link":"^(i\\.hurimg\\.com/i/hurriyet/)\\d{2}/\\d+x\\d+/(.*)","img":"^(i\\.hurimg\\.com/i/hurriyet/)\\d{2}/\\d+x\\d+/(.*)","to":"$1$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Icedrive.net|Icedrive.io":{"link":"icedrive\\.net/(?:s/\\w+|API/Internal/V1/\\?.*)","res":":\nif(!/^\\{/.test($._)){\nreturn {loop:(/data-id=\"/.test($._)?'https://icedrive.net/API/Internal/V1/?request=collection&type=public&folderId='+$._.match(/data-id=\"([^\"]+)/)[1]+'&sess=1':'https://icedrive.net/API/Internal/V1/?request=file-preview&id='+$._.match(/previewItem\\('([^']+)/)[1]+'&sess=1')}\n} else {\nconst o = JSON.parse($._)\nreturn o.download_url?o.download_url+\"#\"+o.extension:o.data?[...o.data.map(i=>[i.thumbnail.replace(/&w=[^&]+&h=[^&]+&m=.*/,'&w=1024&h=1024')])]:''\n}","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Idlebrain":{"img":"^(idlebrain\\.com/movie/photogallery/[^/]+/images/)th_","to":"$1","note":"https://www.reddit.com/r/imagus/comments/8hk5zg/comment/dyky5ab\n\nEXAMPLES\nhttps://idlebrain.com/movietape/index.html\nhttps://idlebrain.com/movie/photogallery/zarinekhan1/index.html\nhttps://idlebrain.com/movie/photogallery/bheeshma/index.html"},"iFixit":{"img":"(guide-images\\.cdn\\.ifixit\\.com\\/igi/[^/]+)\\.(medium|thumbnail|standard)","to":"#$1\n$1.huge","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#17\n\nПРИМЕРЫ / EXAMPLES\nhttps://ru.ifixit.com/Teardown/iPhone+4+Teardown/3130\nhttps://www.ifixit.com/Teardown/Samsung+Galaxy+S7+Teardown/56686"},"Igromania.ru":{"link":"javascript:view\\(\\d+,\\d+,'(\\/\\/cdn\\.igromania\\.ru\\/mnt\\/articles(?:\\/\\w){6}\\/\\w+\\/html\\/img\\/\\w+_zoom\\.\\w+)'\\)","to":"$1","note":"Rodny\n\nПРИМЕРЫ\nhttps://www.igromania.ru/igrovyie-novosti/?page=2"},"Igromania.ru_2":{"img":"(cdn\\.igromania\\.ru\\/mnt\\/articles(?:\\/\\w){6}\\/\\w+\\/html\\/more\\/\\w+_)\\d+\\w+(\\.\\w+)","to":"$11920xH$2\n$11200xH$2","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1680#8\n\nПРИМЕРЫ\nhttps://www.igromania.ru/review/32348/obzor-dordogne-poedu-k-babushke-v-derevnyu/"},"ImageBam":{"link":"^(imagebam\\.com/)(image|view)/(\\w+).*","url":"data:,$&","res":":\nconst x=new XMLHttpRequest()\ntry{\n//URL is edited to match SMH rules. '%76%69%65%77' = view, '%69%6d%61%67%65' = image\nx.open('Get','https://www.'+$[1]+($[3]&&$[2][0]==='v'?'%76%69%65%77/':'%69%6d%61%67%65/')+($[3]||$[2]),false)\nx.send()\n}catch(e){\nalert(\"Rules for the 'Simple-Modify-Headers' extension are needed for the Imagebam sieve to work on external links. These are included in the rule-set zip file.\")\n}\nreturn x.responseText.match(/img src=\"([^\"]+)\" alt=\"[^\"]+\" class=\"main-image/)?.[1]||''","img":"^thumbnails\\d*\\.(imagebam\\.com/)\\d+/([\\da-f]+).*","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l1bsss3\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3120#17\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3020#13\n\nEXAMPLES\nhttps://www.reddit.com/domain/imagebam.com/new/\nhttps://pornolab.net/forum/viewtopic.php?t=1858230\nhttps://vipergirls.to/threads/5101059-Sabrina-Bloom-Magical-x50-5760px-(3-Mar-2020)\nhttp://forum.ru-board.com/topic.cgi?forum=1&topic=8691&start=200#11"},"ImageBan.ru|ibn.im":{"link":"(^imageban\\.ru/show/\\d{4}/|ibn\\.im\\/\\w{7})","res":"src=\"(https?://i\\d+\\.imageban\\.ru/out/[^\"]+)","img":"^(i\\d+\\.imageban\\.ru)/thumbs/(\\d{4})\\.(\\d\\d)\\.(\\d\\d)/","to":"$1/out/$2/$3/$4/","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1640#17\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1720#21\n\n!!!\nДля http://ibn.im возможно понадобится разрешить HTTP в настройках безопасности браузера.\n\n\nПРИМЕРЫ\nhttps://rutracker.org/forum/viewtopic.php?t=3762986\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1640#13"},"ImageEvent":{"img":"^(photos\\.imageevent\\.com/(?:[^/]+/)+?)(?:icons|small|websize)/(.+)","to":"$1/$2","note":"EXAMPLES\nhttps://imageevent.com/powerwagon/doorart\nhttps://www.reddit.com/domain/imageevent.com/new"},"ImageFap-x-p":{"link":"^imagefap\\.com/(?:photo/|/image\\.php\\?id=)(\\d+).*","url":"https://www.imagefap.com/photo/$1/","res":"original=\"([^?]+$1[^\"]+)","img":"^(?:(cdn|cdnc|cdnh)\\d*\\.imagefap\\.com|(?:x\\d*\\.)?fap\\.to)/images/[^?]+/(\\d+).*","note":"ПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/imagefap.com/new/\nhttps://www.imagefap.com/gallery.php"},"ImageFap_video-x-p":{"link":"^imagefap\\.com/video\\.php\\?vid=\\d+","res":":\nlet link=$._.match(/var VideoPlayer = \\{[\\s\\S]+?url: ?'([^']+)'/)[1];\nconst x = new XMLHttpRequest();\nx.open('GET',link,false);\nx.send();\nlet xml=x.responseXML;\nlet res = [];\nlet videoFileSources = xml.getElementsByTagName('quality')[0];\nif (videoFileSources) {\n videoFileSources = videoFileSources.getElementsByTagName('item');\n console.log(videoFileSources[videoFileSources.length-1]);\n res.push(videoFileSources[videoFileSources.length-1].getElementsByTagName('videoLink')[0].childNodes[0].nodeValue);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3920#13\n\n!!!\n- Для работы фильтра требуется правило для SMH (см.ЧаВО, п.12).\n- Курсор наводить на название ролика.\n+\n- For the sieve to work, a rule for SMH is required (see FAQ, p.12).\n- The cursor should be pointed at the title of the video.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.imagefap.com/browse-video.php?page=6"},"ImageNetz.de":{"link":"imagenetz\\.de/\\w+","res":":\nconst res = $._.match(/<div class=[\"']thumbnail thumbnail-downloadimage[\"']>[^<]+<img src=[\"']([^\"']+)/)\nreturn res&&res.length?res[1]:''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"ImageShack_1":{"link":"^(imageshack\\.com/\\w/\\w+)","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3740#8\n\n!!!\nДля показа галерей необходимо правило для SMH (см.ЧаВо, п.12).\n==\nTo show the galleries, you need a rule for SMH (see FAQ, p.12).\n\nEXAMPLES\nhttps://imageshack.com/featured\nhttps://www.reddit.com/domain/imageshack.com/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#21"},"ImageShack_2":{"img":"^imagizer\\.imageshack\\.com/(?:img(\\d+)/\\d+|v2/\\w+/(?:\\w/)?(\\d+))(/\\w+\\.jpg)","to":"imagizer.imageshack.us/v2/download/$1$2$3","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3740#8\n\n\nEXAMPLES\nhttps://imageshack.com/featured\nhttps://www.reddit.com/domain/imageshack.com/new\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#21"},"ImageSharing":{"link":"imagesharing\\.com//?photo\\.php\\?s=.*","res":":\nconst res = $._.match(/\"p_photo_container\">[^<]+<img src=\"([^\"]+)/)\nreturn res&&res[1].length?res[1]:''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\n???"},"ImageTitan":{"link":"^(.*\\.imagetitan\\.com/)img\\.php\\?image=.+\\.(?:jpe?g|a?png|gif|svgz?|webp|w?bmp|xbm|pict|j(?:if|fif?))","res":"img id=\\\"image\\\".+src=\\\"(.+\\.(?:jpe?g|a?png|gif|svgz?|webp|w?bmp|xbm|pict|j(?:if|fif?)))\\\"","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#17\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/imagetitan.com/new\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1369#2"},"ImageTwist|imagenpic|imageshimage|imgtraffic|picshick|pixroute-x":{"link":"^((?:imagetwist|imageshimage|imagenpic|picshick|pixroute|imgtraffic)\\.com/)([\\da-z]{12}|\\w-1(?:/\\d+){3})(/[\\w.-]+\\.(?:[Jj][Pp][Ee]?[Gg]|png|PNG|gif|GIF|bmp|BMP)(?:\\.html)?)$","url":"$1$2$3","res":"src=[\"'](https?://[^\"']+)[\"'] (?:(?:\\w+=\"[^\"]+\"\\s+)*?(?:class=\"pic|id=\"[^\"]+\"\\s*>)|alt='[^']+'\\s+title='Click to view full size')","img":"^(?:i\\D{0,3}\\d*\\.)?((?:imagetwist|imageshimage|picshick|pixroute)\\.com)/(?:i/\\d{5}/([\\da-z]{12})_[^.]+|th/\\d{5}/([\\da-z]{12}))\\.jpg$","note":"imqswt\nhttps://new.reddit.com/r/imagus/comments/1cglunf/comment/l1wuzjq\nOLD\nhttps://new.reddit.com/r/imagus/comments/18r54gk/comment/kf4283r\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=300#12\n\n!!!\nДля работы фильтра требуется SMH (см.ЧаВО, п.12)\n==\nFor the sieve to work, the SMH is required (see FAQ, p.12).\n\nEXAMPLES\nhttps://shentai.org/mortal-kombat-artwork-mega-pack/\nhttps://www.reddit.com/domain/pixroute.com/new\nhttps://xxxclub.to/torrents/details/159895\nhttps://xxxclub.to/torrents/details/197070\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=311#1"},"imageup.ru":{"link":"^(imageup\\.ru/img(?:.+))\\.html$","to":"$1","note":"Rodny\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"imageup.ru_2":{"link":"^imageup\\.ru/\\d+","res":"<tr><td align=center><img src=\"([^\"]+)\"","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#20\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"ImageUpper-p":{"link":"^imageupper\\.com/[gi]+/\\?(?:galID=)?\\w+","res":":\nreturn $._.match(/;\" SRC=\"([^\"]+)/)?.[1]||[...$._.matchAll(/<IMG SRC=\"([^\"]+)\" BORDER/g)].map(i=>[i[1].replace('_t','')])","img":"^(s\\d\\d\\.imageupper\\.com/\\d)_t(/\\d/\\w+\\.jpg)","to":"$1$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l9ag11t\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1380#14\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"ImageVenue":{"link":"^((img\\d+\\.)?imagevenue\\.com/)(\\w{6,8}|img\\.php\\?(?:[^&]+&)*?image=([^&]+).*)","res":":\nconst doc = new DOMParser().parseFromString($._, \"text/html\");\nvar i =  doc.querySelector('#main-image');\nif (i) return i.src;\n\ni = doc.querySelector('.thumb > a');\nreturn i ? { loop: i.href } : '';","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2560#17\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2100#20\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/imagevenue.com/new\nhttps://pornolab.net/forum/viewtopic.php?t=129738\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2100#19\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1900#13"},"IMDb":{"link":"^(?:m\\.)?imdb\\.com/title/tt\\d+(?:/\\?\\S*|/)?$","loop":1,"res":":\nfunction blank_poster() {\n const tt = s => aboveTheFoldData.titleType.text.startsWith(s)\n const type = tt('TV') ? 'tv' : tt('Video Game') ? 'game' : tt('Podcast') ? 'podcast' : tt('Music Video') ? 'music' : 'movie'\n return svg.make('-3 0 30 24', type)\n}\n\nfunction gallery_poster(num) {\n const url = `https://www.imdb.com/title/${mainColumnData.id}/mediaindex/`\n const text = `The other ${num > 1 ? `${num} images are` : `${num} image is`} available<br>in the IMDb gallery`\n return [ svg.make('-3 2 30 24', 'gallery'), `<imagus-extension type=\"banner\" text=\"${text}\" url=\"${url}\"></imagus-extension>` ]\n}\n\nfunction get_images() {\n const poster = n => n ? [ n.url, n.caption.plainText ] : [ blank_poster(), '' ]\n const images = n => n.edges.map(i => i.node.id !== aboveTheFoldData.primaryImage?.id ? [ i.node.url, i.node.caption.plainText ] : undefined).filter(Boolean)\n const result = [ poster(aboveTheFoldData.primaryImage), ...images(mainColumnData.titleMainImages) ]\n if (mainColumnData.titleMainImages.total > result.length)\n result.push(gallery_poster(mainColumnData.titleMainImages.total - result.length + result[0][0].startsWith('data:')))\n if (result.length === 1 && result[0][0].startsWith('data:'))\n result[0][0] = '//' + result[0][0]\n return result\n}\n\nfunction get_header() {\n const ry = aboveTheFoldData.releaseYear\n const tt = aboveTheFoldData.titleType\n let ty = tt.isSeries && ry?.year && ry?.year !== ry?.endYear ? `${ry.year}–${ry.endYear || ' '}` : ry?.year\n if (tt.id !== 'movie') ty = [ tt.text, ty ].filter(Boolean).join(' ')\n return ty ? `${title} (${ty})` : title\n}\n\nfunction get_runtime() {\n const rt_min = aboveTheFoldData.runtime?.seconds / 60\n return rt_min ? rt_min > 60 ? `${Math.floor(rt_min / 60)} hr ${rt_min % 60} min (${rt_min} min)` : `${rt_min} min` : ''\n}\n\nfunction get_release_date() {\n const rd = mainColumnData.releaseDate\n if (rd && rd.year && rd.month && rd.day)\n return new Date(rd.year, rd.month - 1, rd.day).toLocaleDateString(navigator.language, { year: 'numeric', month: 'short', day: '2-digit' }) + (rd.country ? ` (${rd.country.id})` : '')\n}\n\nfunction get_rating(limit) {\n const rs = aboveTheFoldData.ratingsSummary\n const tr = mainColumnData.ratingsSummary.topRanking\n const top = tr?.rank <= limit ? `Top Rated ${aboveTheFoldData.titleType.text.replace(/^Movie$/, 'Movies')}: #${tr.rank.toLocaleString()}` : ''\n return rs.aggregateRating ? [ `<b>⭐</b> ${Number(rs.aggregateRating).toFixed(1)} (${rs.voteCount?.toLocaleString()})`, top ].filter(Boolean).join(' · ') : ''\n}\n\nfunction get_principal_credits() {\n const attributes = n => n ? ` <span style=\"color: silver;\">(${n.map(a => a.text).join(', ')})</span>` : ''\n const name = n => n.name.nameText.text + attributes(n.attributes)\n const category = n => `<b>${n.category.text}:</b> ${n.credits.map(name).join(', ')}`\n return aboveTheFoldData.principalCredits?.filter(cr => cr.credits.length).map(category).filter(line => !line.startsWith('<b>Star')).join('\\n')\n}\n\nfunction get_top_cast(limit) {\n const attributes = n => n ? ` <span style=\"color: silver;\">(${n.map(a => a.text).join(', ')})</span>` : ''\n const characters = n => n ? ` (${n.map(c => c.name).join(', ')})` : ''\n const cast_line = n => n.node.name.nameText.text + characters(n.node.characters) + attributes(n.node.attributes)\n return mainColumnData.cast?.edges.slice(0, limit).map(cast_line).join('\\n')\n}\n\nfunction get_awards() {\n const wins = mainColumnData.wins\n const noms = mainColumnData.nominationsExcludeWins\n const sum = mainColumnData.prestigiousAwardSummary\n let all = ''\n let prestigious = ''\n if (sum?.wins > 0) prestigious += `Won ${sum.wins} ${sum.award.text}${sum.wins > 1 ? 's' : ''}`\n if (sum?.nominations > 0 && !sum?.wins) prestigious += `Nominated for ${sum.nominations} ${sum.award.text}${sum.nominations > 1 ? 's' : ''}`\n if (wins.total > 0) all += `${wins.total} win${wins.total > 1 ? 's' : ''}${noms.total ? ' & ' : ''}`\n if (noms.total > 0) all += `${noms.total} nomination${noms.total > 1 ? 's' : ''}`\n return prestigious ? `${prestigious} (${all} total)` : all\n}\n\nfunction get_money() {\n const pb = mainColumnData.productionBudget?.budget\n const us = mainColumnData.lifetimeGross?.total\n const ww = mainColumnData.worldwideGross?.total\n const to_string = n => n?.amount ? n.amount.toLocaleString('en-US', { style: 'currency', currency: n.currency, minimumFractionDigits: 0 }) : ''\n return [\n [ 'Budget', pb ? to_string(pb) + ' (estimated)' : '' ],\n [ 'US & Canada Box Office', to_string(us) ],\n [ 'International Box Office', to_string({ amount: ww?.amount - us?.amount, currency: 'USD' }) ],\n [ 'Worldwide Box Office', us?.amount !== ww?.amount ? to_string(ww) : '' ]\n ].flatMap(item => item[1] ? item.join(': ') : []).join('\\n')\n}\n\n// this.TRG is null when the mouse pointer moved away from the TRG element before loading has been completed\nif (this.TRG === null) return\n\nconst svg = {\n make: (v, d) => 'data:image/svg+xml,' + encodeURIComponent(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"360\" height=\"480\" viewBox=\"${v}\" style=\"background-color: #2a2a2a;\" fill=\"#404040\">${svg[d]}</svg>`),\n gallery: '<path d=\"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-10.6-3.47l1.63 2.18 2.58-3.22a.5.5 0 0 1 .78 0l2.96 3.7c.26.33.03.81-.39.81H9a.5.5 0 0 1-.4-.8l2-2.67c.2-.26.6-.26.8 0zM2 7v13c0 1.1.9 2 2 2h13c.55 0 1-.45 1-1s-.45-1-1-1H5c-.55 0-1-.45-1-1V7c0-.55-.45-1-1-1s-1 .45-1 1z\"/>',\n game: '<path d=\"M21 6H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-11 7H8v2c0 .55-.45 1-1 1s-1-.45-1-1v-2H4c-.55 0-1-.45-1-1s.45-1 1-1h2V9c0-.55.45-1 1-1s1 .45 1 1v2h2c.55 0 1 .45 1 1s-.45 1-1 1zm5.5 2c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm4-3c-.83 0-1.5-.67-1.5-1.5S18.67 9 19.5 9s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z\"/>',\n movie: '<path d=\"M18 4v1h-2V4c0-.55-.45-1-1-1H9c-.55 0-1 .45-1 1v1H6V4c0-.55-.45-1-1-1s-1 .45-1 1v16c0 .55.45 1 1 1s1-.45 1-1v-1h2v1c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-1h2v1c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1s-1 .45-1 1zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z\"/>',\n music: '<path d=\"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H4c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h16c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zM8.05 15.54A2.995 2.995 0 0 1 11 12c.35 0 .69.07 1 .18V8c0-1.1.9-2 2-2h2c.55 0 1 .45 1 1s-.45 1-1 1h-2v7.03a3.001 3.001 0 0 1-3.55 2.92c-1.21-.21-2.2-1.2-2.4-2.41z\"/>',\n podcast: '<path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3zm5.91-3c-.49 0-.9.36-.98.85C16.52 14.2 14.47 16 12 16s-4.52-1.8-4.93-4.15a.998.998 0 0 0-.98-.85c-.61 0-1.09.54-1 1.14.49 3 2.89 5.35 5.91 5.78V20c0 .55.45 1 1 1s1-.45 1-1v-2.08a6.993 6.993 0 0 0 5.91-5.78c.1-.6-.39-1.14-1-1.14z\"/>',\n tv: '<path d=\"M21 3H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h5v1c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-1h5c1.1 0 1.99-.9 1.99-2L23 5a2 2 0 0 0-2-2zm-1 14H4c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h16c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1z\"/>'\n}\n\nconst pageProps = JSON.parse($._.match(/NEXT_DATA[^{]+([^<]+)/)[1]).props.pageProps\nconst aboveTheFoldData = pageProps.aboveTheFoldData\nconst mainColumnData = pageProps.mainColumnData\nconst title = aboveTheFoldData.titleText.text\nconst original_title = aboveTheFoldData.originalTitleText.text\nconst countries = mainColumnData.countriesOfOrigin?.countries.map(country => country.text).join(', ')\nconst certificate = aboveTheFoldData.certificate?.rating\nconst episodes = mainColumnData.episodes?.totalEpisodes.total\nconst genres = aboveTheFoldData.genres?.genres.map(genre => genre.text).join(', ')\nconst plot = aboveTheFoldData.plot?.plotText?.plainText\nconst companies = mainColumnData.production.edges.map(edge => edge.node.company.companyText.text).join(', ')\n\nconst sidebar_html = [\n `<span style=\"font-size: 120%; font-weight: bold;\">${get_header()}</span>`,\n title !== original_title ? 'Original title: ' + original_title : '',\n countries,\n [ get_runtime(), episodes ? `${episodes} eps` : '', get_release_date() ].filter(Boolean).join(' · '),\n [ genres, certificate ].filter(Boolean).join(' · '),\n get_rating(1000),\n [ '\\n<b>Plot</b>', plot ],\n [ '', get_principal_credits() ],\n [ '\\n<b>Top cast</b>', get_top_cast(12) ],\n [ '\\n<b>Awards</b>', get_awards() ],\n [ '\\n<b>Production companies</b>', companies ],\n [ '\\n<b>Financials</b>', get_money() ]\n].filter(i => i?.[1]).flat().join('\\n')\n\nconst res = get_images()\nres[0][1] = `<imagus-extension type=\"sidebar\">${sidebar_html}</imagus-extension>${res[0][1]}`\nthis.TRG.IMGS_ext_data = res\n\nreturn 'imagus://extension'","img":"^((?:(?:images\\.|(?:images-[a-z]{2}\\.ssl-|(?![gz]-)[^.?]+\\.)images-)amazon|ia\\.media-imdb|m\\.media-amazon)\\.com/images/[^/]/[^.]+(?:(?!\\.[A-Za-z]{3,4}$)\\.[^A-Z_.]+)*)(?:$|(?!_(?:CB|V)\\d{4,}_\\.)[^?]*\\.([^?]*).*)","to":":\nvar x=$[2]||'#jpg png#'\nreturn '#' + $[1] + '.' + x +'\\n'+$[1] + '._SY1024_SX1024_.'+x","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1envbxc/comment/ljijl6u\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2220#11\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2126#1\n\n\n!!!\nЕсть поддержка внешних ссылок с информационной панелью (сайдбар).\n==\nThere is support for external links with a dashboard (sidebar).\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.imdb.com/name/nm0027572/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3880#16"},"IMDb_mediaindex":{"useimg":1,"link":"^(?:m\\.)?imdb\\.com/(name|title)/(\\w+)/media(?:index|viewer).*?(page=\\d+|refine=\\w+|$).*","url":"https://m.imdb.com/_ajax/$1/$2/mediaindex?$3","res":":\nconst max_images = 300 // Lower number loads faster\n\nthis.imdb_images=this.imdb_images||[];\n$=JSON.parse($._);\nthis.imdb_images.push(...$.data.map(i=>[i.src.replace(/\\._.*/, ''), i.alt]));\nif(this.imdb_images.length<max_images&&$.links?.next_page)return {loop:'https://m.imdb.com'+$.links.next_page};\n$=this.imdb_images;\ndelete this.imdb_images;\nif($.length>max_images)$.length=max_images;\nreturn $","img":"^((?:(?:images\\.|(?:images-[a-z]{2}\\.ssl-|(?![gz]-)[^.?]+\\.)images-)amazon|ia\\.media-imdb|m\\.media-amazon)\\.com/images/[^/]/[^.]+(?:(?!\\.[A-Za-z]{3,4}$)\\.[^A-Z_.]+)*)(?:$|(?!_(?:CB|V)\\d{4,}_\\.)[^?]*\\.([^?]*).*)","to":":\nvar x=$[2]||'#jpg png#'\nreturn '#' + $[1] + '.' + x +'\\n'+$[1] + '._SY1024_SX1024_.'+x","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1envbxc/comment/lj6fckl\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lfsjoo1\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ld4nrp2\n\n\n\n!!!\nThere is an option to reduce the load on the browser (Lower number loads faster)\nconst max_images = 300\n+\nYou need a rule for uBlock Origin to view mediaviewer:\nimdb.com##.hvKTwD.sc-c7067688-4\n\n\nПРИМЕРЫ / EXAMPLES\n\"99+ photos\" button + \"Photos\" section\nhttps://www.imdb.com/name/nm0027572/\nhttps://www.imdb.com/title/tt21357150/"},"IMDb_Video":{"link":"^imdb\\.com/(?:video/vi\\d+|(title/tt|name/nm)\\d+/videogallery[?/])","res":":\nif ($[1]) {\n this.imdbVid = {\n links: [...$._.matchAll(/data-testid=\"videos-slate-card-title-\\d+\" href=\"([^\"]+)/g)].map(i => 'https://www.imdb.com' + i[1]),\n num: 0\n }\n return {loop: this.imdbVid.links[0]}\n}\nlet m = this.imdbVid?.vids || [];\nconst num = (n) => Number(n?.displayName?.value?.match(/\\d+/)?.[0] || 0);\n$ = JSON.parse($._.match(/\"__NEXT_DATA__\" type=\"application\\/json\">({.+?})<\\/script/)?.[1] || '{}').props?.pageProps?.videoPlaybackData?.video;\nconst t = $?.description?.value || '';\n$ = $?.playbackURLs?.filter(i => i.videoMimeType === 'MP4').sort((a, b) => num(b) - num(a)) || '';\nif ($?.length) m.push([['#' + $[0]?.url, $[Math.floor($.length / 2)]?.url], t]);\nif (this.imdbVid) {\n this.imdbVid.num++;\n const n = this.imdbVid.num, l = this.imdbVid.links;\n if (n < l.length) {\n this.imdbVid.vids = m;\n return {loop: l[n]}\n }\n delete this.imdbVid;\n}\nreturn m","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1envbxc/comment/lkbhioc\n\n!!!\nНаведение курсора на блок (ссылку) \"... videos\" показывает альбом из видео. Но загрузка альбома с видео может занять определенное время.\nHovering over \"... videos\" link should show an album of videos. However, it has to load each video page individually so it takes some time to load.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.imdb.com/name/nm0027572/\nhttps://www.imdb.com/name/nm0027572/videogallery/"},"img.onl":{"link":"img\\.onl/\\w+","res":"<img id=\"img\" src=\"([^\"]+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"imgBB|ibb.co-p":{"link":"^(i(?:bb\\.co|mgbb\\.com)/\\w{6,7}).*","url":"$1","res":"=\"og:image\" content=\"([^\"]+)\n=\"og:title\" content=\"([^\"]+)","img":"^i(?:mage)?\\.(i(?:bb\\.co|mgbb\\.com)/\\w+).*","note":"ПРИМЕРЫ / EXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50152&start=2660#14\nhttp://www.centbrowser.net/en/showthread.php?tid=4927&pid=21932#pid21932\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50839&start=2420#2\nhttps://github.com/DeaDBeeF-Player/deadbeef/issues/2932"},"imgbox":{"link":"^(imgbox\\.com/(?!privacy|register)(g/)?[^/.]{6,10})$","res":":\nif(!$[2])return $._.match(/href=\"([^\"?]+)\\?download/)[1]\nvar t = $._.match(/<h1>([^<]+)/), r = $._.match(/ b\" src=\"https:\\/\\/thumbs[^\"]+/g).map(function(i) {\n return [i.slice(9).replace(/thumb(s\\d\\.)/, 'image$1').replace(/_\\w\\./, '_o.')]\n})\nr[0][1] = t&&t[1]\nreturn r","img":"^(?:(?:hcd-\\d|t\\d*|(?:\\d[.-])?[ist]|thumb(s\\d*))\\.)(imgbox\\.com/[^._]+)[^.]*","to":":\nreturn $[1]?'image'+$[1]+'.'+$[2]+'_o':'i.'+$[2]","note":"EXAMPLES\nhttps://www.reddit.com/domain/imgbox.com/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"ImgChest":{"link":"^imgchest\\.com/p/[a-z0-9]+","res":":\nreturn [...$._.matchAll(/<meta (?:name=\"twitter:image|property=\"og:video)\" content=\"([^\"]+)/g)].map(i=>[i[1]])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1axu5jc/comment/krwpxgs\nOLD\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/ju44i2m\n\nEXAMPLES\nhttps://imgchest.com/u/moods\nhttps://www.reddit.com/domain/imgchest.com/new/?count=25&after=t3_1ayazw9\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Imgflip":{"link":"^(imgflip\\.com/)(?:i|gif)/([^?#]+)","img":"^i\\.(imgflip\\.com/)2/([^.]+).+","to":"//i.$1$2.#jpg gif#","note":"EXAMPLES\nhttps://www.reddit.com/domain/imgflip.com/new/"},"ImgHost.pl":{"useimg":1,"link":"imghost\\.pl/(?:index.php)?\\?id=([a-z0-9]+)","img":"imghost\\.pl/thumbs/([^.]+)\\.([a-z]+)","to":":\nreturn 'https://www.imghost.pl/images/'+$[1]+'.#'+($[2]?$[2]:'jpg gif png jpeg')+'#'","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\n!!!\nНеобходимо правило для SMH (см.ЧаВо, п.12).\n==\nNeed a rule for SMH (see FAQ, p.12).\n\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Imginn|Imgsed-p":{"link":"^imginn\\.com|imgsed\\.com/p/[\\w-]+/","res":":\nlet parser = new DOMParser();\nlet doc = parser.parseFromString($._, \"text/html\");\n\nlet res = [];\nif (doc.getElementsByClassName('swiper-slide').length > 0) {\n[...doc.getElementsByClassName('swiper-slide')].forEach(elem => {\nres.push([elem.getAttribute('data-src')])\n})\n} else {\nres.push([doc.querySelector('.downloads a').href])\n}\nreturn res;","note":"Wallery\nhttps://www.reddit.com/r/imagus/comments/1abomvc/new_imginn_sieve_old_one_doesnt_work/\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=140#11\n\n\n!!!\n- Для работы фильтра на внешних ссылках необходимо правило для SMH (см.ЧаВо, п.12).\n- Для получения фото в разрешении 1440x - нужно навести курсор на \"Download\".\n==\n- For the sieve to work on external links, you need a rule for SMH (see FAQ, p.12).\n- To get a photo in 1440x resolution, you need to hover over “Download”.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://imginn.com/aleranaofficial\nhttps://imgsed.com/therealap01\nhttps://imginn.com/dianapenty"},"Imgisto.site":{"link":"imgisto\\.site/[a-z0-9]{4,5}$","res":"\"og:image\" content=\"([^\"]+)","img":"(imgisto\\.site/_i/[^?]+)\\?dl","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Imglink.ru":{"link":"^imglink\\.ru/show-image.php\\?id=(\\w+)$","res":"<img src='(https?://imglink\\.ru/pictures/[^']+)' alt='","img":"^imglink\\.ru/thumbnails/(.+)$","to":"imglink.ru/pictures/$1","note":"Rodny + by Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2720#15\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50689&start=40#1\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50689&start=40#2"},"imgsh":{"img":"(imgsh\\.net/)\\w+(/\\w+\\.\\w+)","to":"$1i$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=580#21\n\nПРИМЕРЫ / EXAMPLES\nhttps://forum.mozilla-russia.org/viewtopic.php?pid=799710#p799710"},"ImgSpice-x":{"link":"^imgspice\\.com/[a-z0-9]+/[\\w-]+\\.[a-z]{3,4}\\.html$","res":":\nlet meta = document.querySelector('head > meta[name=\"referrer\"]');\nif (!meta) {\n meta = document.createElement('meta');\n meta.name = 'referrer';\n meta.content = 'same-origin';\n document.getElementsByTagName('head')[0].appendChild(meta);\n} else if (meta.attributes.content.value !== 'same-origin') {\n meta.attributes.content.value = 'same-origin';\n}\nlet url = ($._.match(/<img id=\"imgpreview\" src=\"([^\"]+)\"/) || [])[1];\nreturn [url];\n","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/k0jqmfs\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3740#4\n\n\nEXAMPLES\nhttps://www.tt1069.com/bbs/thread-3137107-1-1.html\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1369&limit=1&m=1#1"},"iMGSRC.ru":{"link":"^imgsrc\\.ru/([^/]+)/(\\d+)\\.html.*","url":"//imgsrc.ru/$1$3/$2$4.html","res":":\nconst rx = /source srcset='([^']+)' type='image\\/jpeg/g;\nconst m = [...$._.matchAll(rx)].map(el => el[1]);\nif (!m) return;\nreturn m[m.length - 1];","img":"^\\w+\\.\\w+\\.icdn\\.ru/\\w/(\\w+)/\\w+/(\\d+).*","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/kd6jo2n\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#13\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=120#3\n\nПРИМЕРЫ\nhttps://imgsrc.ru/9174337478/69365420.html\nhttps://imgsrc.ru/akhodov/69280263.html?pwd=&per_page=36\nhttps://imgsrc.ru/alex_1910/61880321.html#bp"},"IMGUR":{"link":"^(?:[im]\\.())?(imgur\\.com|filmot\\.(?:com|org))/+(?!gallery|s(?:tats|ignin|earch)|tools|topic|random|logout|account|inbox|about|contact|privacy|memegen|collab)(?:g/[^/]+/)?([^\\W_]{5}(?:[^\\W_]{2})?)[sbtmlh]?(?![,&])(?:[?/#].*)?$","img":"^(?:[im]\\.([^.]+\\.)?)?(imgur\\.com|filmot\\.(?:com|org))/+([^\\W_]{5}(?:[^\\W_]{2})?)(?:[sbtmlh]|_[^.]+)?\\.(jpe?g|png|gifv?|mp4|webm).*","to":":\nvar l = ($[2][0]=='i' ? '//' : '')+'i.'+($[1]||'')+$[2]+'/'+$[3];\nvar res='';\nif ($[4]) {\n res= l+'.'+$[4].replace('gifv','mp4');\n}\nelse {\n res= l + '.mp4\\n'+ l + '.gif\\n' + l + 'h.jpg';\n}\nlet meta = document.querySelector('head > meta[name=\"referrer\"]');\nif (!meta) {\n meta = document.createElement('meta');\n meta.name = 'referrer';\n meta.content = 'same-origin';\n document.getElementsByTagName('head')[0].appendChild(meta);\n} else if (meta.attributes.content.value !== 'same-origin') {\n meta.attributes.content.value = 'same-origin';\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#10\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3200#6\n\n!!!\nКурсор в некоторых случаях нужно наводить на название (особенно это касается альбомов с несколькими изображениями/видео).\n==\nThe cursor needs to be hovered over the title in some cases (especially for albums with multiple images/videos).\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/imgur.com/new\nhttps://imgur.com/t/video\nhttps://imgur.com/t/panko\nhttps://imgur.com/gallery/photo-of-dog-panko-every-day-NEm3hRU#/t/panko\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#3"},"IMGUR-set":{"link":"^(?:(?:[im]\\.)?(?:imgur\\.(?:com|io)|filmot\\.(?:com|org))/+(?:(?:(a|gallery(?!/random|/custom)|t(?:opic)?/[^/]+)|r/[^/]+)/(?:[^-/]+-)*([^\\W_]{5}(?:[^_\\W]{2})?)|(?:[^\\W_]{5}(?:[^\\W_]{2})?[,&])+[^_\\W]{5}(?:[^\\W_]{2})?)).*","url":": $[1] ? 'https://imgur.com/' + ($[1] == 'a' ? 'a/' + $[2] + '/embed' : $[1] + '/' + $[2] + '/hit.json') : $[0]","res":":\nvar ret = [], im, g, c, x, i, t, u, l = '//i.imgur.com/', p404='404 page';\n\ntry {\n if (typeof $._ == 'string' && $._[0]!='{') {\n if($._.lastIndexOf(p404, 300) > -1) throw true;\n x = $._.match(/(?:album|image)\\s*[:=] +([^\\n\\r]+),/);\n x = JSON.parse(x[1])\n t = this.t; delete this.t;\n if (!t&&'title' in x)t = x;\n x.album_images&&(x=x.album_images);\n x.images&&(x=x.images)||x.items&&(x=x.items);\n } else {\n $._=JSON.parse($._);\n if($._.album){\n x=$._.album\n t={title:x.title, description: x.description}\n x=x.images\n } else {\n x=$._.data.image\n if (x.is_album) {\n t={title:x.title, description: x.description}\n if (x.album_images.count != x.album_images.images.length) {\n this.t=t\n return {loop: l+'a/'+$[2]}\n }\n x=x.album_images.images\n }\n }\n delete this.t;\n }\n\n if (!x)throw $._.lastIndexOf(p404, 300) > -1;\n\n t = t && [t.title, t.description].filter(Boolean).join(' - ') || !1\n x = Array.isArray(x)?x:[x]\n for (i = 0; i < x.length; ++i) {\n im = x[i].image||x[i];\n c = [im.title, im.caption, im.description].filter(Boolean).join(' - ');\n if (!i && t && t!=c) c='['+t+'] ' + c;\n im.ext = im.ext || x[i].links.original.match(/\\.[^.]+$/)[0];\n g = (''+im.animated)=='true'\n u = l + im.hash;\n ret.push([!g && im.width <= 1200 && im.height <= 1200 ? u + im.ext : (g ? [u + '.mp4', u + '.gif'] : ['#' + u + im.ext, u + 'h' + im.ext]), c]);\n }\n} catch (ex) {}\nreturn ret.length ? ret : null","img":"^i\\.imgur\\.com/\\w+\\.webp\\?maxwidth=\\d+&shape=thumb&fidelity=[a-z]+$","loop":2,"to":":\nreturn location.hostname.indexOf('imgur.') > -1 && this.node.closest('a[class^=\"Post-item \"]')?.href || $[0]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1css7u6/comment/l4af3tq\n\n\n!!!\nКурсор в некоторых случаях нужно наводить на название (особенно это касается альбомов с несколькими изображениями/видео).\n==\nThe cursor needs to be hovered over the title in some cases (especially for albums with multiple images/videos).\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://imgur.com/t/panko\nhttps://imgur.com/t/video\nhttps://www.reddit.com/domain/imgur.com/new\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#3"},"IMGUR.io_redirect":{"link":"^imgur\\.io/(\\w+(?:(?:\\?\\w+)|(?:/\\w+(?:\\.\\w+)?))?)","loop":1,"to":"https://imgur.com/$1","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1720#19\n\nПРИМЕРЫ / EXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1700#10"},"IMHentai.xxx-x-p":{"link":"^imhentai\\.xxx/gallery/\\d+/$","res":":\nconst f=this.find, u=$._.match(/data-src=\"(https:\\/\\/(?:[^\\/]+\\/)+)1(t\\.[^\"]+)/), n=parseInt($._.match(/
  • Pages:\\s*(\\d+)/)?.[1]||0)\nif(!u||!n)return this.node.src?{loop:this.node.src.replace('thumb','1t')}:''\n$=[]\nfor(i=1;i<=n;i++)$.push([f({src: u[1]+i+u[2]})])\nreturn $","img":"^(m\\d?\\.imhentai\\.xxx/\\d+/\\w+/\\d+)t(?:\\.\\w+)","to":"$1#.jpg .png .gif#","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kjxz6dc\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=400#13\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://imhentai.xxx/tag/3d/\nhttps://imhentai.xxx/search/?key=asuka\nhttps://imhentai.xxx/character/nami/\nhttps://imhentai.xxx/artist/100wang/"},"IMX.to-x":{"link":"^(imx\\.to/)i(/\\w+)","url":"$1i$2 :imgContinue=","res":"=\"centred\" src=\"([^\"]+)\"(?:\\salt=\"([^\"]+))?","img":"^(?:t\\.)?(imx\\.to/)(?:u/)?t/\\d+/\\d\\d/\\d\\d(/\\w+).*","note":"EXAMPLES\nhttps://www.reddit.com/domain/imx.to/new/"},"Inkbunny-x-p":{"link":"^(inkbunny\\.net)\\/s\\/\\d+","url":": location.hostname===$[1] ? 'data:,'+$[0] : $[0]","res":":\n\nlet highdefinition = true;\n\nlet debug = false;\n\nif($.base.startsWith('data:')){\nconst x=new XMLHttpRequest();\nx.open('Get',$[0],false);\nx.send();\n$._=x.responseText;\n}\n\nlet singleitemmatch=$._.match(/submission-standarddefURL.*?(https:\\/\\/\\w\\w\\.ib\\.metapix\\.net\\/files\\/screen\\/\\d+\\/\\d+[^'\\\"]*?)['\\\"]/);\nlet galleryitemsiterator=$._.matchAll(//);\n if(generalthumbmatch != null) {\n if(debug) console.log(\"General Thumbnail Media Context.\");\n let generalthumblink = generalthumbmatch[1];\n\n returnval = [\n [generalthumblink, toptext]\n ];\n return returnval;\n }\n \n console.error(\"No known media context found.\")\n return;\n}\n\n\nlet singleimagelink = singleitemmatch[1];\n\n//Split cases where gallery thumbnails are found or default to a single item\nif(galleryitemsmatch.length == 0) {\n //No gallery found, transform URL and display based on high def preference and return\n if(debug) console.log(\"Standard Image Media Context.\");\n\n if(highdefinition) {\n singleimagelink = singleimagelink.replace(\"/screen/\", \"/full/\");\n }\n\n returnval = [\n [singleimagelink, toptext]\n ];\n}\nelse {\n if(debug) console.log(\"Gallery Media Context.\");\n\n returnval = [];\n\n //Probe for filetypes in main image to guess gallery image filetypes\n let filetype = singleimagelink.match(/(.(jpg|jpeg|png|webp|gif))/)[1];\n\n let replaceurltext = highdefinition ? \"/files/full/\" : \"/files/screen/\";\n for(let i=0; i{var disable_on_timestamps = false ; if(disable_on_timestamps&&(this.node.className===\"x1i10hfl xjbqb8w x6umtig x1b1mbwd xaqea5y xav7gou x9f619 x1ypdohk xt0psk2 xe8uvvx xdj266r x11i5rnm xat24cr x1mh8g0r xexx8yu x4uap5 x18d9i69 xkhd6sd x16tdsg8 x1hl2dhg xggy1nq x1a2a7pz _a9zg _a6hd\"|this.node.nodeName==='TIME'||this.node.nodeName==='SPAN'))throw new Error('Not used on this link');return `https://www.instagram.com/${$[1]==='reel/'?'tv/':$[1]}${$[2]}/?__a=1&__d=dis`})()","res":":\nconst use_sidebar = true\n\nvar i=JSON.parse($._);\ni=i.items?i.items[0]:i.graphql?.shortcode_media;\nvar f=i.user?.full_name??i.owner?.full_name;\nvar u=i.user?.username??i.owner?.username;\nvar t=new Date((i.taken_at||i.taken_at_timestamp)*1e3).toLocaleString('en-GB');\nvar c=i.caption ? i.caption.text : i.edge_media_to_caption?.edges[0]?.node?.text ? i.edge_media_to_caption.edges[0].node.text : '';\nc = [`@${u}`, `(${f})`, t, c].join(use_sidebar?\"\\n\":\" | \");\nc = use_sidebar ? `${c}` : c;\nlet m;\nif (i.carousel_media) m = i.carousel_media.map(x => [x.video_versions ? x.video_versions[0].url : x.image_versions2.candidates[0].url, c])\nelse if (i.video_versions) m = [i.video_versions[0].url, c];\nelse if (i.edge_sidecar_to_children) m = i.edge_sidecar_to_children.edges.map(i=>[i.node?.video_url||i.node?.display_url, c])\nelse if (i.video_url||i.display_url) m = [i.video_url??i.display_url, c]\nelse m = [i.image_versions2.candidates[0].url, c]\nthis.CNT.filename = u + '_' + (Array.isArray(m[0])?m[0][0]:m[0]).match(/\\/([^\\/.]+\\.\\w{3,4})(?:$|\\?)/)?.[1].replace(/[^\\w.-]/g,'_')??''\nif(use_sidebar)this.TRG.IMGS_ext_data=m;\nreturn use_sidebar?{loop:'imagus://extension'}:m","note":"illogikally + Imagus_fan (edit)\nhttps://www.reddit.com/r/imagus/comments/1bhj0jh/comment/kwgp6w6\nOLD\nhttps://www.reddit.com/r/imagus/comments/1aujfau/comment/krr1bo1\nhttps://www.reddit.com/r/imagus/comments/1aujfau/comment/kr4cf1d\n\n\n!!!\nВся информация о возможностях и особенностях фильтров для Инстаграм, а также о представленных в них опциях: см. Чаво, п.21.\n==\nAll information about the capabilities and features of the sieve, and also about the options presented in it: see FAQ, p.21.\n\n\nПРИМЕРЫ / EXAMPLES\n(внешние ссылки / external links)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=200#19"},"INSTAGRAM_graphql-p":{"off":1,"link":"^instagram\\.com/(?:[^/]+/)*(?:p|reel)/([\\w-]+).*","url":"data:,$1","res":":\nif (location.hostname !== 'www.instagram.com') return null\n\nconst use_60fps_video = true // If set to true, uses a silent 60 fps video if available.\n\nconst elem = document.createElement('script')\nelem.textContent = 'sessionStorage.setItem(\"__imagus_fb_dtsg\", fb_dtsg); sessionStorage.setItem(\"__imagus_doc_id\", require(\"PolarisPostRootQuery\").params.id); document.currentScript.remove();'\ndocument.head.appendChild(elem)\nconst fb_dtsg = sessionStorage.getItem('__imagus_fb_dtsg')\nconst doc_id = sessionStorage.getItem('__imagus_doc_id')\nsessionStorage.removeItem('__imagus_fb_dtsg')\nsessionStorage.removeItem('__imagus_doc_id')\n\nconst xhr = new XMLHttpRequest()\nxhr.open('POST', 'https://www.instagram.com/api/graphql', false)\nxhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')\nxhr.setRequestHeader('X-IG-App-ID', '936619743392459') // not required, just in case\nxhr.send(`fb_dtsg=${encodeURIComponent(fb_dtsg)}&variables=%7B%22shortcode%22%3A%22${$[1]}%22%7D&doc_id=${doc_id}`)\nconsole.log('Instagram data:',xhr.responseText)\nconst item = JSON.parse(xhr.responseText).data.xdt_api__v1__media__shortcode__web_info.items[0]\n\nconst capt = [\n `@${item.user.username}${item.user.full_name ? ` (${item.user.full_name})` : ''}`,\n new Date(item.taken_at * 1000).toLocaleString(navigator.language, { dateStyle: 'medium', timeStyle: 'medium' }),\n item.caption?.text\n].filter(Boolean).join(' | ')\nconst res = (i) => [ use_60fps_video&&i.video_dash_manifest.match(/(?:frameRate=[^\"]*\"60[^\"]*\"\\s+ sar=|-hfr_).+?([^<]+)/)?.[1] || i.video_versions?.[0].url || i.image_versions2.candidates[0].url, capt ]\n\nreturn item.carousel_media?.map((e) => res(e)) || res(item)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/18j8q59/comment/ki416os\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2140#8\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1520#20\n\n\n!!!\nВся информация о возможностях и особенностях фильтров для Инстаграм, а также о представленных в них опциях: см. Чаво, п.21.\n==\nAll information about the capabilities and features of the sieve, and also about the options presented in it: see FAQ, p.21.\n\n\nПРИМЕРЫ / EXAMPLES\n(внешние ссылки / external links):\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=200#19"},"INSTAGRAM_html-p":{"off":1,"link":"^instagram\\.com/(?:p|reel)/([\\w-]+).*","url":"data:,$1","res":":\nif (location.hostname !== 'www.instagram.com') return\n\nconst xhr = new XMLHttpRequest()\nxhr.open('GET', `https://www.instagram.com/p/${$[1]}/`, false)\nxhr.setRequestHeader('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')\nxhr.send()\n\nconst item = JSON.parse(xhr.responseText.match(/xdt_api__v1__media__shortcode__web_info\":(.+)},\"extensions/)[1]).items[0]\nconst capt = [\n `@${item.user.username}${item.user.full_name ? ` (${item.user.full_name})` : ''}`,\n new Date(item.taken_at * 1000).toLocaleString(navigator.language, { dateStyle: 'medium', timeStyle: 'medium' }),\n item.caption?.text\n].filter(Boolean).join(' | ')\nconst res = (i) => [ i.video_versions?.[0].url || i.image_versions2.candidates[0].url, capt ]\n\nreturn item.carousel_media?.map((e) => res(e)) || res(item)","note":"64h\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2140#8\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1520#20\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=960#10\n\n!!!\nВся информация о возможностях и особенностях фильтров для Инстаграм, а также о представленных в них опциях: см. Чаво, п.21.\n==\nAll information about the capabilities and features of the sieve, and also about the options presented in it: see FAQ, p.21.\n\n\nПРИМЕРЫ / EXAMPLES\n(внешние ссылки / external links):\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=200#19"},"INSTAGRAM_priv_api-p":{"off":1,"link":"^instagr(?:am\\.com|\\.am)/(?:p|reel)/([\\w-]+)(?:\\W|$)(?!\\?e=|liked_by|comments).*","url":": (()=>{var disable_on_timestamps = false ; if(disable_on_timestamps&&(this.node.className===\"x1i10hfl xjbqb8w x6umtig x1b1mbwd xaqea5y xav7gou x9f619 x1ypdohk xt0psk2 xe8uvvx xdj266r x11i5rnm xat24cr x1mh8g0r xexx8yu x4uap5 x18d9i69 xkhd6sd x16tdsg8 x1hl2dhg xggy1nq x1a2a7pz _a9zg _a6hd\"||this.node.nodeName==='TIME'||this.node.nodeName==='SPAN'))throw new Error('Not used on this link');return 'data:,'+$[1]})()","res":":\nconst alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'\nconst media_pk = [...$[1]].reduce((a, v, i) => a + BigInt(alphabet.length ** ($[1].length - i - 1) * alphabet.indexOf(v)), 0n)\nconst x = new XMLHttpRequest()\nx.open('GET', `https://i.instagram.com/api/v1/media/${media_pk}/info/`, false)\nx.setRequestHeader('X-IG-App-ID', '936619743392459')\nif (!/firefox/i.test(navigator.userAgent)) {\n x.withCredentials = true\n}\nx.send()\nif (x.status !== 200) {\n return [ 'data:image/svg+xml,' + encodeURIComponent(`\n \n \n
    \n \n Something went wrong\\nHTTP status ${x.status}: ${x.statusText}\n \n
    \n
    \n
    `.replace(/\\n\\s+/g, '')), ' ' ]\n}\nconst item = JSON.parse(x.responseText).items[0]\nconst capt = [\n `@${item.user.username}${item.user.full_name ? ` (${item.user.full_name})` : ''}`,\n new Date(item.taken_at * 1000).toLocaleString(navigator.language, { dateStyle: 'medium', timeStyle: 'medium' }),\n item.caption?.text\n].filter(Boolean).join(' | ')\nconst res = (i) => [ i.video_versions?.[0].url || i.image_versions2.candidates[0].url, capt ]\nreturn item.carousel_media?.map((e) => res(e)) || res(item)","note":"64h + Imagus_fan (edit)\nhttps://www.reddit.com/r/imagus/comments/170lv0t/comment/k3nf9mi\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1520#20\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=960#10\n\n!!!\nВся информация о возможностях и особенностях фильтров для Инстаграм, а также о представленных в них опциях: см. Чаво, п.21.\n==\nAll information about the capabilities and features of the sieve, and also about the options presented in it: see FAQ, p.21.\n\nПРИМЕРЫ / EXAMPLES\n(внешние ссылки / external links):\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=200#19"},"IRecommend.ru":{"link":"^irecommend\\.ru/content/.+","res":":\nconst product_image = $._.match(/\\/sites\\/default\\/files\\/product-images\\/[^?\"]+/)[0]\nconst user_images = $._.match(/(?<=href=\")\\/sites\\/default\\/files\\/imagecache\\/copyright1[^?\"]+/g)\nreturn user_images?.map((e) => [ 'https://irecommend.ru' + e.replace('/imagecache/copyright1', ''), '']) || 'https://irecommend.ru' + product_image","note":"64h\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1560#20\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2020#21\n\nПРИМЕРЫ\nhttps://irecommend.ru/content/maska-dlya-litsa-algomask-omolazhivayushchaya-maska-frantsuzskii-paradoks\nhttps://irecommend.ru/content/pylesos-karcher-vc-3"},"Itaku.ee":{"useimg":1,"link":"^(http(|s):\\/\\/|)itaku.ee\\/images\\/(\\d+)$","url":"https://itaku.ee/api/galleries/images/$3/?format=json","res":":\n$data = JSON.parse($._);\nif($data['video'] != null){\n $url = $data['video']['video'];\n}else {$url = $data['image'];}\n$caption = `${$data['title']} - by ${$data['owner_displayname']}`;\n$res = [$url, $caption];\nreturn $res;","img":"itaku\\.ee\\/api\\/media\\/gallery_imgs\\/(.*)\\/.*(\\..*)$","to":"https://itaku.ee/api/media/gallery_imgs/$1/xl$2","note":"waitwotNO\nhttps://www.reddit.com/r/imagus/comments/15iu234/itakuee/\n\nEXAMPLES\nhttps://itaku.ee/profile/vee4eva/gallery\nhttps://itaku.ee/profile/vee4eva/posts\nhttps://itaku.ee/home/commissions\nhttps://itaku.ee/home/images?text=red"},"iTunes":{"img":"^(is\\d(?:-ssl)?\\.mzstatic.com/image/thumb/[^?]+/)\\d+x\\w+","to":"$19999x9999","note":"EXAMPLES\n??"},"iWantClips-x":{"link":"iwantclips.com/store/item/\\d+","res":"source src=\"([^\"]+)\" type=\"video/mp4\"","img":".*?\\.iwantclips.com/uploads/contents/videos/.*?","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3616#1\n\nEXAMPLES\nhttps://iwantclips.com/fetish/amateur_fetish\nhttps://www.reddit.com/domain/iwantclips.com/new/"},"IXBT_photo":{"img":"^(ixbt\\.photo\\/photo\\/[0-9]+\\/[0-9a-zA-Z]+\\/[0-9]+)(\\.(?:jpe?g|gif|png))$","to":"$1w$2","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=580#16\n\nПРИМЕРЫ\nhttp://ixbt.photo/?id=user:309928\nhttp://ixbt.photo/?id=album:48286"},"JD.com":{"link":"^item\\.jd\\.com/\\d+\\.html$","res":":\nreturn [...$._.matchAll(/src='([^']+)'\\s+data-url=/g)].map(i=>[i[1].replace('/n5/','/shaidan/')])","img":"^(img\\d+\\.360buyimg\\.com/+)[^/]+/(?:[^_/]+_)?(jfs/)","to":"$1shaidan/$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jyil8u7\n\nEXAMPLES\nhttps://coll.jd.com/list.html?sub=42275\nhttps://list.jd.com/list.html?cat=737,752,760\n(для проверки нужен акк)"},"jimcdn-CDN":{"img":"(image\\.jimcdn\\.com/app/cms/image/transf/dimension=)\\d+x\\d+(:format=\\w+/path/\\w+/image/\\w+/version/\\w+/\\w+\\.\\w+)","to":"$12048x2048$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=340#7\n\nEXAMPLES\nhttps://www.janismeyer.de/referenzen/"},"JoeMonster":{"useimg":1,"link":"^joemonster\\.org/mg/show/\\d+/.+","res":":\nlet res=/\\?next/.test($.url[0])?$._.match(/ {\n let height = parseInt(el[2]);\n if (height > highest) {\n highest = height;\n output = el[1];\n }\n});\nreturn output;\n","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3616#1\n\nEXAMPLES\nhttps://www.julesjordan.com/trial/categories/movies_3_d.html"},"JumpShare|jmp.sh":{"link":"^(jmp\\.sh|jumpshare.com)\\/\\w\\/\\w+$","res":"data-original-image-src=\"([^\"]+)\"","note":"Rodny + Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#13\n\n!!!\nПоддержки видео в фильтре на данный момент нет.\n==\nThere is no video support in the rule.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/jmp.sh/new/"},"Junipergallery|Shorpy":{"useimg":1,"link":"((?:shorpy|junipergallery)\\.com/node/\\d+)/?$","url":": /shorpy\\.com\\/node/.test($[0])?$[1]+'?size=_original':$[1]","res":":\nlet i,m,d;if(/shorpy/i.test($[0])){const h=new DOMParser().parseFromString($._,\"text/html\");i=h.images[0]?.src;if(!/files\\/images/.test(i))return '';m=[\"#\"+i,i.replace(/jpg$/,'preview.jpg')];d=[h.querySelector('title').textContent.replace(/[^:]+::\\s(.*)\\shigh-.*/,'$1'),h.getElementById('caption')?.textContent.replace(/(?:\\s+BUY PRINT)?\\s+([^|]+).*/,'$1')].join(\" | \");}else{i=($._.match(/src=\"(https:\\/\\/www\\.junipergallery\\.com\\/sites\\/[^\"]+)/)||[])[1];if(!i)return '';m=[\"#\"+i.replace(\"large\",\"jumbo\"),i];d=[$._.match(/([^:<]+)/)[1],$._.match(/<\\/h1><\\/a>[^<]+<h2>([^<]+)/)[1]].join(\" | \");}return [[m,d]]","img":"(shorpy\\.com/files/images/[^.]+)\\.(?:thumbnail|preview)\\.jpg|(junipergallery\\.com/sites/default/files/styles/)[^/]+(/public/[^.]+\\.jpg).*|junipergallery\\.com/galleryview\\.php\\?targetnode=[^&]+&height=[^&]+&width=[^&]+&[^&]+&picurl=([^.]+\\.jpg)","to":":\nreturn $[1]?`#${$[1]}.jpg\\n${$[1]}.preview.jpg`:$[4]?`https://www.junipergallery\\.com/sites/default/files/styles/jumbo/public/${$[4]}`:`#${$[2]}jumbo${$[3]}\\n${$[2]}large${$[3]}`","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/10d8ck0/comment/jn8047u\n\nEXAMPLES\nhttps://www.shorpy.com/image/tid/263\nhttps://www.shorpy.com/historical-photographs-of-children?page=2\nhttps://www.junipergallery.com/vintage_aviation_photos"},"JustJared":{"img":"^(cdn\\.justjared(?:jr)?\\.com/wp-content/uploads/(?:\\d+/\\d+/)?[^/]+/)(?:headlines|thumbs/)(.+)","to":"$1$2","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1140#16\n\nEXAMPLES\nhttps://www.justjaredjr.com/tags/movies/page/3/\nhttps://www.justjaredjr.com/photos/exclusive/\nhttps://www.justjaredjr.com/tags/television/page/2/\nhttps://www.justjaredjr.com/tags/selena-gomez/page/4/"},"kbin.social":{"link":"^[^/]+/m/[^/]+/[pt]/\\d+(?!.*#comments).*","loop":1,"img":"^([^/]+)/media/cache/(?:resolve/)?[^/]+(/.*)(?:\\.webp)?","to":":\nif($[1])return `//#${$[1]}/media media.${$[1]}#${$[2]}`\nconst t = this.node.closest('article,div');\nlet l = t&&t.querySelector('button[class=\"show-preview\"]')?.dataset.previewUrlParam;\nreturn l??t.querySelector('img')?.src??''","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/14cetar/comment/ju6b0lg\n\nEXAMPLES\nhttps://kbin.social/microblog?p=1\nhttps://kbin.social/m/playingcards\nhttps://kbin.social/u/Teali0/threads\nhttps://kbin.social/m/starwarsmemes@lemmy.world/t/67916/it-s-treason-then\nhttps://kbin.social/search?q=redgifs"},"Keepa":{"img":"^graph\\.keepa\\.com/graphimage\\?.+","to":"$&","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1ezeaba/comment/ljmcvqg/"},"KG-Portal.ru":{"link":"^kg-portal\\.ru/n\\d+","res":"<a href=\"[^\"]+url=([^\"]+)\" class=\"video_high\">\n<title>([^<]+)","img":"^(media\\.kg-portal\\.ru/.+_\\d+)[st](?:_\\d+x)?(\\.\\w+)$","to":"$1$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l6ahcr8\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1140#15"},"KICK.COM":{"link":"^(?:kick\\.com/(.*)\\?clip=)(.*)","loop":1,"url":"https://kick.com/api/v2/clips/$2","res":":\nkick_json=JSON.parse($._)\nkick_clip_playlist=kick_json.clip.video_url\nthis.TRG.IMGS_ext_data = [\n '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"360\"></svg>',\n `<imagus-extension type=\"videojs\" url=\"${kick_clip_playlist}\"></imagus-extension>`\n]\nreturn 'imagus://extension'\n","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/15gc9ia/comment/jva48dp\nOLD\nhttps://www.reddit.com/r/imagus/comments/15gc9ia/updated_kickcom_clip_sieve\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/kick.com/new/\nhttps://www.reddit.com/r/imagus/comments/15gc9ia/comment/juj1jjy\nhttps://www.reddit.com/r/imagus/comments/15gc9ia/comment/juizawf\nhttps://www.reddit.com/r/imagus/comments/15gc9ia/comment/jva1hd8"},"KICK.COM_VoD-q":{"link":"^(?:kick\\.com/video/)([a-zA-Z0-9-]+).*","loop":1,"url":"https://kick.com/api/v1/video/$1","res":":\n// Valid options are:\n// 1080p60, 720p60, 480p30, 360p30, 160p30. It could vary by streamer.\nquality=\"1080p60\"\nkick_json=JSON.parse($._)\nsource_playlist = kick_json.source\nquality_playlist = quality + \"/playlist.m3u8\"\nvod_playlist = source_playlist.replace(\"master.m3u8\", quality_playlist)\nthis.TRG.IMGS_ext_data = [\n '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"360\"></svg>',\n `<imagus-extension type=\"videojs\" url=\"${vod_playlist}\"></imagus-extension>`\n]\nreturn 'imagus://extension'","note":"th3virus\nhttps://www.reddit.com/r/imagus/comments/11ldeys/sieve_for_kickcom_clips\n\n!!!\n- Переключение качества видео (360/480/720/1080) - см.третье поле сверху.\n- Для работы фильтра на необходимо правило для SMH (см.ЧаВо, п.12).\n==\n- Switching video quality (360/480/720/1080) - see the third field from the top.\n- A rule for SMH is required for the sieve to work (see FAQ, p.12).\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/kick.com/new/\nhttps://www.reddit.com/r/imagus/comments/15gc9ia/comment/juj1jjy\nhttps://www.reddit.com/r/imagus/comments/15gc9ia/comment/juizawf"},"Kindgirls-x":{"link":"^kindgirls\\.com/(?:gallery|video)\\.php\\?id=\\d+","res":":\nif(/<source src=[\"']/.test($._))return $._.match(/<source src=[\"']([^\"']+)/)[1]\nreturn [...$._.matchAll(/<img\\s+src=\"([^\"]+)/g)].map(i=>[i[1].replace('/m6','')])","img":"^(gals\\.kindgirls\\.com/[\\w\\d\\/]+/)m6/","to":"$1","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/160sikp/comment/jxszoj4\n\nEXAMPLES\nhttps://www.kindgirls.com/girls.php?id=1307\nhttps://www.kindgirls.com/gallery.php?id=9179\nhttps://www.kindgirls.com/photo-archive.php?s=05-2023\nhttps://www.kindgirls.com/video-archive.php?p=6"},"Kink-x-p":{"link":"^kink.com/shoot/\\d+","res":":\nreturn 'https://' + $._.match(/cdnp.kink.com\\/.+?.mp4/m)[0]","img":"^(imgopt02.kink.com\\/.+)\\?.+","to":"$1","note":"_1Zen_\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l9hm1aa\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3616#1\n\nEXAMPLES\nhttps://www.kink.com/search?type=shoots&performerIds=33659&sort=published\nhttps://www.kink.com/search?type=shoots&tagIds=18-year-old&sort=published"},"Kino-Teatr.ru":{"useimg":1,"link":"^(kino-teatr\\.ru)/(?:(video/.+)|\\w+/(?:acter/[a-z]/(?:\\w+/)*\\d+/(?:foto|poster|(\\w+/))|movie/(?:\\w+/)*\\d+/(?:foto|poster|(\\w+/)))(?!/i?\\d+/$))","url":": (()=>{if(($[3]||$[4])&&!this.node.src)throw '';return $[3]?$[0].replace($[3],'foto/'):$[4]?$[0].replace($[4],'poster/'):$[0]})()","res":":\nif($[2])return $._.match(/data-video-src\\s*=\\s*\"([^\"]+)/)?.[1].replace(/^\\/.+/,'//'+$[1]+'$&')||''\nif(!this.ls)this.ls=0\nif(!this.kino_teatr_album)this.kino_teatr_album=[]\nconst h=[...new DOMParser().parseFromString($._,\"text/html\").querySelector('div[class=\"grid_content photo_album wrap_cols_4 width_100\"],div[class=\"big_content_block\"]').children]\nthis.kino_teatr_album.push(...h.filter(i=>i.className===\"block_wrap\").map(i=>{i=i.firstChild.firstChild;return [i.src.replace('pv_',''),i.title]}))\nthis.ls++\nif(h.some(i=>i.firstChild?.lastChild?.textContent==='>')&&this.ls<40)return {loop:h.find(i=>i.firstChild.lastChild.textContent==='>').firstChild.lastChild.href.replace(/\\/$/,'')}\n$=this.kino_teatr_album\ndelete this.kino_teatr_album, delete this.ls\nif(!$.length)$=h[0]?.querySelector('img[src]')?.src||''\nreturn $","img":"^(kino-teatr\\.ru/(?:movie|acter)/.+/)(?:pv|sm)_","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/khyvx57\n\n\n!!!\n- Фильтр показывает альбомы Фото/Фотографии, Кадры и Постеры при наведении на соответстующие пункты меню на странице фильма или актера. \n- В фильтре есть поддержка видео (трейлеры, тизеры, фрагменты).\n- Не у всех миниатюр на страницах поиска / списков фильмов есть более крупные изображения (постеры). В этом случае фильтр показывает желтый спиннер (ошибка). \n- На странице фильма при наведении на постер фильтр показывает альбом кадров из этого фильма.\n\n\nПРИМЕРЫ\nhttps://www.kino-teatr.ru/video/trailer/\nhttps://www.kino-teatr.ru/kino/db/ros/movie/hud/\nhttps://www.kino-teatr.ru/mult/db/movie/\nhttps://www.kino-teatr.ru/kino/movie/ros/83776/annot/\nhttps://www.kino-teatr.ru/kino/movie/euro/7887/foto/\nhttps://www.kino-teatr.ru/kino/movie/hollywood/26843/poster/"},"Kinomania.ru":{"link":"^kinomania\\.ru/film/\\d+/(?:poster|frame)s(?!/\\d)","res":":\nreturn [...$._.matchAll(/data-type-over-img=\"((?!')[^\"]+)/g)].map(i=>[i[1]])","img":"^(?:(fs\\.kinomania\\.ru)/image(/file/(?:film|person)(?:_(?:poster|photo|frame))?/\\w+/\\w{2}/\\w{32}\\.)\\d+\\.\\d+\\.(jpe?g|png|gif)|(fs\\.kinomania\\.ru/image/file/(?:person|film)_wallpaper/\\w+/\\w{2}/\\w{32}\\.)\\d+\\.\\d+(\\.jpe?g|png|gif))","to":"$1$2$3\n$41920.1200$5\n$41920.1080$5\n$41680.1050$5\n$41600.1200$5\n$41440.900$5\n$41366.768$5\n$41280.1024$5\n$41280.960$5\n$41280.800$5\n$41024.768$5\n$4960.600$5\n$4800.600$5","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/khy5fpl\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1540#12\n\n!!!\nФильтр показывает в т.ч. альбомы кадров и постеров при наведении на соответстующие пункты меню.\n\nПРИМЕРЫ\nhttps://www.kinomania.ru/posters/\nhttps://www.kinomania.ru/people/357479\nhttps://www.kinomania.ru/film/742061/frames/\nhttps://www.kinomania.ru/people/194/frames/\nhttps://www.kinomania.ru/film/827133/people#filmMenu"},"Kinorium":{"link":"^\\w\\w\\.kinorium\\.com/(?:name/)?\\d+/gallery/","res":":\nreturn [...$._.matchAll(/data-photo='([^']+)/g)].flatMap((i,n)=>n?[[i[1]]]:[])","img":"^(?:((?:\\w\\w-)?images(?:-s)?\\.kinorium.com/(?:movie|persona|user)/)\\d+(/\\d+\\.\\w+)|(\\w\\w\\.kinorium\\.com/(?:name/)?\\d+/video)/.*)","loop":2,"to":":\nif($[3]){\nconst n=this.node\nreturn n.dataset?.video||n.offsetParent?.dataset?.video||''\n}\nreturn `${$[1]}1080${$[2]}\\n${$[1]}600${$[2]}\\n${$[1]}480${$[2]}\\n${$[1]}300${$[2]}\\n${$[1]}180${$[2]}`","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ktl37ca\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/khnsi3h\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1600#7\n\n\n\n!!!\nЕсть поддержка альбомов при наведении на все пункты меню \"Кадры\" (включая сам пункт \"Кадры\" на основной странице фильма/сериала).\n==\nThere is support for albums when hovering over all the \"Stills\" menu items (including the \"Stills\" item itself on the main movie/TV series page).\n\nПРИМЕРЫ / EXAMPLES\nhttps://ru.kinorium.com/116780/\nhttps://ru.kinorium.com/movies/home/\nhttps://ru.kinorium.com/search/?q=война\nhttps://en.kinorium.com/name/3581155/"},"Kinorium_poster":{"img":"^(images(?:-s)?\\.kinorium\\.com\\/movie\\/(?:shot|poster|backstage|promo|cover|fanart)\\/\\d+\\/)h\\d+(_\\d+\\.\\w+)","to":"$1w1500$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/khnsi3h\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1640#13\n\nПРИМЕРЫ / EXAMPLES\nhttps://en.kinorium.com/2353464/gallery/\nhttps://ru.kinorium.com/1670490/gallery/poster/"},"Kinopoisk_block":{"url":"http://www.kinopoisk.ru/picture/$1/","res":"id=\"image\" src=\"([^\"]+)\"","img":"^(?:st|www)\\.kinopoisk\\.ru/images/(?:kadr|poster|wallpaper)/sm_(\\d+)(\\.(?:jpe?g|png|gif|bmp))$","note":"Rodny\n\nПРИМЕРЫ\nПравый блок с фотографиями, плакатами и обоями"},"Kinopoisk_gallery":{"link":"^kinopoisk\\.ru/film/(\\d+)/(?:shooting|stills|posters|wall|covers|fanart|promo|screenshots|concept)/$","res":":\nlet res=[];\nlet jsn1=JSON.parse($._.match(/<script id=\"__NEXT_DATA__\" type=\"application\\/json\".+?({.+?)<\\/script>/)[1]).props.apolloState.data;\nfor (let jsn2 in jsn1) {\n if (jsn1[jsn2].id && jsn1[jsn2].id==$[1]) {\n let jsn=jsn1[jsn2];\n for (let nod in jsn) {\n if (jsn[nod].hasOwnProperty('items')) {\n for (let item of jsn[nod].items) {\n res.push([item.image.avatarsUrl+'/orig']);\n }\n }\n }\n }\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3900#10\n\nПРИМЕРЫ\nПункт \"Изображения\" на странице фильма/сериала."},"Kinopoisk_people":{"useimg":1,"link":"^kinopoisk\\.ru\\/(?:name|level\\/\\d+\\/people)\\/(\\d+)/photos/?$","res":":\nlet i = $._.search(/<div class=\"styles_root__[^ ]+ styles_gallery__/);\nif(i<0) { return null; }\nlet t = $._.indexOf('<div class=\"styles_bannerContainer__', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /<a href=\"([^\"]+)\" target=\"_blank\"/gi\nlet data=$._.substring(i,t)\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","img":"^(avatars\\.mds\\.yandex\\.net/get-kinopoisk-image/\\d+/[\\w-]+/)\\d+x\\d+","to":"$1orig","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1600#7\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3900#14\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3900#10\n\nПРИМЕРЫ\nПункт меню \"Фото\" в профиле актера/режиссера."},"Kinopoisk_people_2":{"link":"^kinopoisk\\.ru\\/(?:name|level\\/\\d+\\/people)\\/(\\d+)/(?:sr/\\d/)?$","to":"https://st.kp.yandex.net/images/actor_iphone/iphone360_$1.jpg","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3900#14\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3900#10\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1840#10\n\n!!!\n(персоны в поисковой выдаче)\nhttps://www.kinopoisk.ru/name/11506/\nhttps://www.kinopoisk.ru/index.php?kp_query=киану+ривз"},"Kinopoisk_poster":{"link":"^kinopoisk\\.ru/film/(\\d+)/(\\S+)?","img":"^st\\.kinopoisk\\.ru/images/film/(\\d+)(\\.(?:jpe?g|png|gif|bmp))$","to":"http://st.kinopoisk.ru/images/film_big/$1.jpg","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3400#15\n\nПРИМЕРЫ\n(постеры)\nhttps://www.kinopoisk.ru/premiere/ru/\nhttps://www.kinopoisk.ru/s/type/film/list/1/find/Форсаж/\nhttps://www.kinopoisk.ru/index.php?kp_query=война"},"KizlyarExtreme.ru":{"link":"^kizlyarextreme\\.ru/[\\w-]+/[\\w-]+","res":":\n$=JSON.parse($._.match(/data-product-json=\"([^\"]+)/)[1].replaceAll('"','\"'))\nconst t=$.title+' | '+$.short_description\nreturn $.images.map((i,n)=>[i.original_url,!n?t:''])","img":"^(static\\.insales-cdn\\.com/)r/\\w+/rs:fit(?::\\d+){3}/q:\\d+/plain/(images/products/(?:\\d+/){3}\\w+\\.(?:jpe?|pn)g)@\\w+","to":"$1$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l6ahcr8\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#7\n\n\nПРИМЕРЫ\nhttps://www.kizlyarextreme.ru/collection/skeletnye-nozhi\nhttps://www.kizlyarextreme.ru/collection/takticheskie-nozhi-2"},"KnowYourMeme-p":{"useimg":1,"link":"^knowyourmeme\\.com/(?:photos/\\d+(?:-[\\w-]+)?|memes/[\\w-]+)","res":"<meta property='og:image' content='([^']+)\n<meta property='og:title' content='([^']+)","img":"^(i(?:\\d+)?\\.kym-cdn\\.com/(?:entries/icon|photos/image)s/)(?!original)[^/]+(/.*)","to":"$1original$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jns5il6\n\nEXAMPLES\nhttps://knowyourmeme.com/photos/trending/page/5\nhttps://knowyourmeme.com/photos/2483207-are-we-the-baddies\nhttps://www.reddit.com/domain/knowyourmeme.com/new"},"Kolesa.kz":{"link":"^kolesa\\.kz/\\w+/show/\\d+","res":":\nvar i = $._.indexOf('<ul class=\"gallery__thumbs-list js__gallery-thumbs\">');\nif(i<0) { return null;}\nvar t = $._.indexOf('</ul>', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /data-href=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nif (res.length<1) {\n return $._.match(/<meta property=\"og:image\" content=\"([^\"]+)\"/)[1];\n}\nreturn res;\n","img":"^(cf-kl\\.kcdn\\.online/\\w+/\\w+/[\\w-]+/\\d+-)\\d+x\\d+(\\.\\w+)$","to":"$1full$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1340#20\n\nПРИМЕРЫ\nhttps://kolesa.kz/cars/almaty/\nhttps://kolesa.kz/uslugi/kostanai/\nhttps://kolesa.kz/zapchasti/prodazha/honda/"},"Konachan-x-p":{"link":"konachan\\.com\\/post\\/show\\/\\d+\\/.*","res":":\nconsole.log(\"Konachan.com Sieve\");\n\norig_img_url=$._.match(/content=\"([^\"]*?)\" property=\"og:image\"/)[1];\n\nvar returnval = [\n [orig_img_url, \"\"]\n ];\nconsole.log(\"returnval: \", returnval);\nreturn returnval;","note":"iceiller9999\nhttps://www.reddit.com/r/imagus/comments/11s43t5/comment/jccdpl7\n\nEXAMPLES\nhttps://konachan.com/post?tags=bed\nhttps://konachan.com/wiki/show?title=kanniiepan"},"Kufar.by":{"link":"^(\\w+\\.)?kufar\\.by/(item|vi)/\\d+","res":":\ntry{return JSON.parse($._.match(/__NEXT_DATA__\" type=\"application\\/json\">(.+?)<\\//)[1]).props.initialState.adView.data.images.gallery.map(i=>[i])}catch(e){return ''}","img":"^(yams\\.kufar\\.by/api/v1/kufar-ads/images/\\d{2}/\\d+\\.(?:jpe?g|png|gif|bmp)\\?rule=|content\\.kufar\\.by/)(line_thumbs(?:_2x)?|mobile_thumbs)(/\\d{2}/\\d+\\.(?:jpe?g|png|gif|bmp))?","to":"$1gallery$3","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jxydqur\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=580#13\n\nПРИМЕРЫ\nhttps://auto.kufar.by/l/cars/mazda\nhttps://www.kufar.by/l/natjazhnye-potolki\nhttps://www.kufar.by/l/bytovaya-tehnika?query=ХОЛОДИЛЬНИК&rgn=all"},"Lamnia":{"link":"^lamnia\\.com/\\w+/\\w/\\d+/[\\w%-]+/[\\w%-]+","res":":\nvar i = $._.indexOf('class=\"lamnia-slider');\nif(i<0) {return null; }\nvar t = $._.indexOf('</a></div>', i);\nif(t<0) {return null; }\nvar res = [];\nvar re = /src=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1].replace('140x140','800x800')]);\n a = re.exec(data);\n}\nreturn res;\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#18\n\nПРИМЕРЫ\nhttps://www.lamnia.com/ru/br/16/ножи-и-складные-ножи-böker\nhttps://www.lamnia.com/ru/sc/91/туризм/палатки-тенты-и-походные-сауны"},"Last.fm":{"img":"^((?:img\\d-ak\\.lst\\.fm|lastfm(?:.freetls.fastly|-img\\d\\.akamaized)\\.net)/i/u/)[^/]+/","to":"$1","note":"EXAMPLES\nhttps://www.last.fm/tag/jazz"},"lazy...info":{"img":"^(img00\\d\\.lazy(g(?:irl|adget|ame)|boy|car|sport)|lzimages\\.lazygirl)(s\\.info/.+)\\.m?thumb","to":":\nreturn $[1] + $[3] + (/girl|boy/.test($[2]||'') ? '.sized' : '')"},"Lenta-b":{"link":"lenta\\.com/product/[\\w-]+/","res":":\nlet i = $._.indexOf('<div class=\"sku-images-slider sku-page__slider-inner\">');\nif(i<0) { return null; }\nlet t = $._.indexOf('<div class=\"sku-page__info\">', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /<img\\s+src=\"([^\\?]+)(\\?preset=\\w+)\"/gi\nlet data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","img":"(lenta\\.gcdn\\.co/globalassets/\\d/-/[^\\?]+)\\?preset=.+","to":"$1","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=100#8\n\n!!!\nПри проверке - сразу банит (считает атакой).\nДля просмотра галереи целиться чуть в сторону от фото товара.\n\n\nПРИМЕРЫ\nhttps://lenta.com/catalog/myaso-ptica-kolbasa/\nhttps://lenta.com/catalog/bytovaya-tehnika-i-elektronika/"},"LemanaPro.ru":{"link":"^(?:\\w+\\.)?lemanapro\\.ru/product/[\\w-]+/","res":":\nreturn JSON.parse($._.match(/window\\.INITIAL_STATE\\[\"pdp\"\\]=({.+?});;/)?.[1]||'{}')?.pdp?.pdp.product.media.images.map(i=>[i.url])||''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/18n32dx/comment/kege667\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1460#21\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=540#19\n\n\nПРИМЕРЫ\nhttps://lemanapro.ru/offer/tovary-dlya-uyuta-v-dome/\nhttps://tver.lemanapro.ru/search/?q=кухонные%20гарнитуры&suggest=true\nhttps://kemerovo.lemanapro.ru/catalogue/stoly-dlya-dachi/?fromRegion=6607"},"Letterboxd":{"link":"^(letterboxd\\.com/)(?:[^/]+/)?(film/[^/]+).*","url":": this.lb_stats ? `https://${$[1]}${$[2]}/` : `https://${$[1]}csi/${$[2]}/stats/`","res":":\nconst show_background_image = true\n\nif(!this.lb_stats){\nthis.lb_stats = {\nviews: $._.match(/hed by ([0-9,]+)/)?.[1],\ntop: $._.match(/Top 250\">(\\d+)/)?.[1]\n}\nreturn {loop:`https://${$[1]}${$[2]}/`}\n}\n\nconst o = JSON.parse($._.match(/<!\\[CDATA\\[[^{]{0,15}(\\{\".*?})\\n/)?.[1]||'{}')\nif(!o.name)return null\n\nconst title = o.name\nconst country = o.countryOfOrigin?.map(i=>i.name).join(\", \")\nconst runtime = $._.match(/runTime:\\s(\\d+)/)?.[1]||''\nconst releaseDate = o.releasedEvent[0]?.startDate\nconst genre = o.genre?.join(\", \")\nconst rating = o.aggregateRating?.ratingValue&&(o.aggregateRating?.ratingValue?.toFixed(1)||'undefined')+'/5 ('+o.aggregateRating?.ratingCount.toLocaleString()+')'\nconst plot = $._.match(/\"description\" content=\"([^\"]+)/)?.[1]||''\nconst director = o.director?.map(i=>i.name)\nconst writer = [...$._.matchAll(/\"\\/writer\\/[^\\/]+\\/\" class=\"text-slug\">([^<]+)/g)].map(i=>i[1])\nconst cast = [...$._.matchAll(/<a title=\"([^\"]+)\" href=\"[^\"]+\" class=\"text-slug tooltip\">([^<]+)<\\/a>/g)].flatMap((i,n)=>n<18||(!/\\([^\\)]+\\)/.test(i[1])&&n<30)?[i[2],i[1]?.replace(/([^\\(]+)(\\s\\(|$)/,'($1)$2')].filter(Boolean).join(\" \"):[])\nconst studio = o.productionCompany?.map(i=>i.name).join(\", \")\nconst views = this.lb_stats.views\nconst top = this.lb_stats.top\n\ndelete this.lb_stats\n\nconst altSrc = this.node.parentNode.parentNode?.firstChild?.src\n\nconst poster = [o.image?.replace(/.+/,'#$&').replace(/0-\\d+-0-\\d+/,'0-2000-0-3000')||'',o.image?.replace(/0-\\d+-0-\\d+/,'0-600-0-900')||'https://s.ltrbxd.com/static/img/icons/touch-icon-192x192.257b84e7.png'].filter(Boolean)\n\nconst altPoster = altSrc?.length&&/alternative-/.test(altSrc)?[altSrc?.replace(/.+/,'#$&').replace(/0-\\d+-0-\\d+/,'0-2000-0-3000')||'',altSrc?.replace(/0-\\d+-0-\\d+/,'0-600-0-900')||''].filter(Boolean):''\n\nconst backgroundImage = [[$._.match(/data-backdrop2x=\"([^\"]+)/)?.[1].replace(/.+/,'#$&')||'',$._.match(/data-backdrop=\"([^\"]+)/)?.[1]||''].filter(Boolean),'']\n\nconst t = [`<span style=\"font-size: 120%; font-weight: bold;\">${title}</span>`,country,[runtime?(Math.floor(runtime/60)+' hr ').replace('0 hr ','')+runtime%60+' min'+(runtime>60?' ('+runtime+' min)':''):'',releaseDate].filter(Boolean).join(\" | \"),genre,[rating?'<b>⭐</b> '+rating:'',views?'<b>👁️</b> '+views:'',top?'<b>👑</b> '+top:''].filter(Boolean).join(\" \"),'\\n<b>Plot</b>\\n'+plot,'\\n<b>Director'+(director.length>1?'s':'')+':</b> '+director.join(\", \"),writer?.length?'<b>Writer'+(writer.length>1?'s':'')+':</b> '+writer.join(\", \"):'',cast?.length?'\\n<b>Top cast</b>\\n'+cast.join(\"\\n\"):'',studio?'\\n<b>Production companies</b>\\n'+studio:''].filter(Boolean).join(\"\\n\")\n\nthis.TRG.IMGS_ext_data = [altPoster, poster, backgroundImage[0].length?backgroundImage:''].filter(Boolean).map((i,n)=>[i,(!n?`<imagus-extension type=\"sidebar\">${t}</imagus-extension>`:'')])\n\nreturn {loop:'imagus://extension'}\t","img":"^(a\\.ltrbxd\\.com/resized/(?:film-poster/(?:\\d/){5}|sm/upload).+-0-)\\d+-0-\\d+(-crop\\.jpg.*)","to":"#$12000-0-3000$2\n$1600-0-900$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/10yldvb/comment/ld9k7z7\nOLD\nhttps://www.reddit.com/r/imagus/comments/10yldvb/comment/kg3skkr\nhttps://www.reddit.com/r/imagus/comments/10yldvb/comment/kb443a9\n\n\nEXAMLPLES\nhttps://letterboxd.com/search/films/BOX/\nhttps://letterboxd.com/director/james-gunn/\nhttps://letterboxd.com/dave/list/official-top-250-narrative-feature-films/"},"LibertyCity.ru_gallery":{"img":"^(libertycity\\.ru/uploads/gallery/)thumb(/.+\\.(?:jpe?g|gif|png))$","to":"$1main$2","note":"Rodny\n\nПРИМЕРЫ\nhttp://www.libertycity.ru/gallery/"},"LifeIsPhoto.ru":{"img":"^(photos\\.lifeisphoto\\.ru/\\d+/)[012](/\\d+\\.(?:jpe?g|gif|png))$","to":"$1#3 2 0#$2","note":"Rodny\n\nПРИМЕРЫ\nhttps://www.lifeisphoto.ru/gallery.aspx\nhttps://www.lifeisphoto.ru/theme.aspx?id=20\nhttps://www.lifeisphoto.ru/page.aspx?id=75365"},"Likey.me":{"link":"^likey(?:\\.me/post/\\d+|_album/(.+))","url":": $[1] ? 'data:,'+$[1] : $[0]","res":":\nif($[1])return $[1].split(\"!\").map(i=>[i]);\nreturn [...$._.matchAll(/,url:\"([^\"]+)/g)].map(i=>[i[1].replace(/\\\\u002F/g,'/')])","img":"^static\\.likeycontents\\.xyz/media/\\d+/post_([^_]+_)+thumb\\..*","loop":2,"to":":\nconst show_images_as_album = true\n\nlet l, m=[...document.body.outerHTML.matchAll(/,url:\"([^\"]+)\",height:\\w,thumbnailUrl:\"([^\"]+)/g)].map(i=>i.map(x=>x.replace(/\\\\u002F/g,'/')));\nif(l=!m.length&&this.node.closest('section')?.getAttribute('id'))return '//likey.me/'+l.replace('_','/');\nif(show_images_as_album)return '//likey_album/'+m.map(i=>i[1]).join(\"!\");\nm=m.find(i=>RegExp($[1]).test(i[2]));\nreturn m[1]||''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1enkj8i/comment/lh90355\n\n!!!\nuBO (uBlock Origin) rule needed for play video:\nlikey.me##.overlay-wrap\n\n\nEXAMPLES\nhttps://likey.me/swanee_river\nhttps://likey.me/post/5598761400467456"},"LinkedIn-b":{"img":"^(media\\.licdn\\.com/mpr/mpr/)shrink[^/]+/","to":"$1","note":"!!!\nНужен аккаунт.\n\nПРИМЕРЫ / EXAMPLES\n??"},"Listal":{"link":"^listal\\.com/(list|video|viewimage)/.*","res":":\nlet m;\nconst html = new DOMParser().parseFromString($._, \"text/html\");\nif($[1]==='video'){\nm = html.querySelector('iframe[src]')?.src\nreturn m&&m.length ? {loop:m} : ''\n} else if ($[1]==='viewimage'){\nm = html.querySelector('img[class=\"pure-img\"]')\nreturn [m.src.replace(/\\/\\d+full/,'/5000full'),m.alt]\n}else{\nreturn [...html.querySelector('div[id=\"customlistitems\"]')?.querySelectorAll('img[class=\"pure-img\"],img[loading=\"lazy\"],img[class=\"whiteshelfimage\"],img[src^=\"https://collage\"]')].map(i=>[i.src.replace(/\\d+full/,'5000full').replace(/\\?.*$/,'').replace(/(image\\/products\\/)\\d+/,'$15000'),[...new Set([i.alt,i.parentNode.parentNode.querySelector('div[class=\"text listnote\"],div[class=\"listsettitle2\"]')?.innerText.replace(/[\\n\\t]/g,'')])].filter(Boolean).join(\" | \")])\n}","img":"^(?:([lp]thumb\\.lisimg\\.com/[^?]+).*|list\\.lisimg\\.com/image/(\\d+)/\\d+full\\.jpg)","to":":\nreturn $[1] ? $[1] :\n`#//list.lisimg.com/${$[2]}/5000full.jpg\\n//list.lisimg.com/${$[2]}/1024full.jpg`","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jqhm6hq\n\nEXAMPLES\nhttps://www.listal.com/promoted/all/4\nhttps://www.listal.com/list/beautiful-world-unicornsugar\nhttps://www.listal.com/gigi-hadid/videos\nhttps://www.listal.com/gigi-hadid/pictures"},"LiveJournal_pics":{"link":"^pics\\.livejournal\\.com/(\\w+)/pic/(\\w+)(/.*)?","to":"pics.livejournal.com/$1/pic/$2","note":"megabooster\n\nПРИМЕРЫ\nhttp://lj-photophile.livejournal.com/1994080.html"},"LiveStreamFails":{"link":"^livestreamfails\\.com/(?:clip|post)/(\\d+)","url":"api.livestreamfails.com/clip/$1","res":":\nconst data = JSON.parse($._);\nreturn data ? [`https://livestreamfails-video-prod.b-cdn.net/video/${data.videoId}`, data.label] : null;","note":"Hakkin\nhttps://www.reddit.com/r/imagus/comments/mm0f4e/sieve_for_livestreamfailscom/\n\nEXAMPLES\nhttps://livestreamfails.com/\nhttps://www.reddit.com/domain/livestreamfails.com/new"},"LKI.ru":{"img":"^((?:\\w+\\.)?lki\\.ru/Txt\\d+/\\d+/[^/]+/)Small/([^/]+\\.(?:jpe?g|png|gif|bmp))$","to":"$1Main/$2","note":"Rodny\n\nПРИМЕРЫ\nhttp://www.lki.ru/text.php?id=5755"},"loc.gov_pictures":{"img":"^(tile\\.)?(loc\\.gov/storage-services/service/pnp/)(.*?)_\\d+.*(?:jpe?g|png)","to":"$1$2$3r.#jpg jpeg png#","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#13\n\nEXAMPLES\nhttps://www.loc.gov/pictures/search/?q=1860-1870&co=gld\nhttps://www.loc.gov/exhibits/herblock/classic-cartoons-by-a-master.html\nhttps://www.loc.gov/pictures/related/?va=exact&co=app&st=gallery&q=Alfred+Whital+Stern+Collection+of+Lincolniana+(Library+of+Congress)+DLC&fi=author&sg=true&op=EQUAL"},"LostFilm.info":{"img":"^(lostfilm\\.info/images/)\\d+","to":"$1","note":"ПРИМЕРЫ\nhttp://lostfilm.info/posters/\nhttp://lostfilm.info/photosall/\nhttp://lostfilm.info/photos/889073/"},"LostFilm.tv_poster-p":{"link":"^lostfilm\\.tv/news/id\\d+","res":":\nconst m=[...$._.matchAll(/\"play-btn\" data-src=\"([^\"]+)/g)].map(i=>[['#'+i[1].replace('_480p','_1080p'),i[1]]])\nreturn [...$._.matchAll(/img\\s+src=\"([^\"]+)\"\\s+data-description=/g)].map(i=>[i[1].replace('/m_','/')]).concat(m)","img":"^(?:(static\\.lostfilm\\.(?:tv|run|uno|top)\\/Images\\/\\d{3}\\/Posters\\/)i(?:con|mage)(_\\w+\\.(?:jpe?g|png|gif))|(static\\.lostfilm\\.top/Images/\\d+/Posters/)image(\\.jpg))$","to":":\nreturn $[1]?$[1]+'shmoster'+$[2]:$[3]+'poster'+$[4]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/k2v12dv\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3500#5\n\n!!!\n- Курсор нужно наводить на левый верхний край миниатюры.\n- Если появляется ошибка \"желтый спиннер\" - значит в новости отсутствует нужный источник изображения.\n\n\nПРИМЕРЫ\nhttps://www.lostfilm.tv/new/\nhttps://www.lostfilm.tv/news/type_3\nhttps://www.lostfilm.tv/movies/?type=search&s=3&t=0"},"LostFilm.tv_photo-p":{"img":"^(static\\.lostfilm\\.(tv|run|uno|top)/Gallery/\\w/\\w/\\w/)(?:m|t)_(\\w+\\.(?:jpe?g|png|gif))$","to":"$1$3","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3500#5\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2640#4\n\nПРИМЕРЫ\nhttps://www.lostfilm.tv/series/Squid_Game/photos"},"LPI.usra.edu":{"img":"^(lpi\\.usra\\.edu/resources/[^/]+/[^/]+/)(thumbs?|browse)/(.+)(\\.jpe?g)$","to":":\nconst filler = ($[2] === \"thumb\") ? \"browse\" : \"images\";\nreturn `${$[1]}${filler}/${$[3]}${$[4]}`","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#15\n\nEXAMPLES\nhttps://www.lpi.usra.edu/resources/cla/book/\nhttps://www.lpi.usra.edu/resources/lunarorbiter/\nhttps://www.lpi.usra.edu/resources/ranger/catalog/7/A/\nhttps://www.lpi.usra.edu/resources/apollo/catalog/metric/revolution/?AS15R27\nhttps://www.lpi.usra.edu/resources/apollopanoramas/"},"Mage.space":{"img":"^(resize\\.mage\\.space/plain/)dpr:[^/]+/width:\\d+/","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/16ynt5a/comment/k3ady54\n\nEXAMPLES\nhttps://www.mage.space/"},"Magnit.ru_Apteka":{"link":"^apteka\\.magnit\\.ru/product/[\\w-]+","res":":\nlet i = $._.indexOf('<div class=\"product-slider__box\" ');\nif(i<0) { return null; }\nlet t = $._.indexOf('</div></div></div>', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /<img data-url=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1].replace(/resize\\/\\d+x\\d+\\//,'resize/1000x1000/')]);\n a = re.exec(data);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=640#7\n\n\nПРИМЕРЫ\nhttps://apteka.magnit.ru/search?q=антибиотики\nhttps://apteka.magnit.ru/catalog/vitaminy_i_bad/vitaminy_i_mineraly/"},"Magnit.ru_Cosmetic":{"link":"^cosmetic.magnit\\.ru/catalog/[\\w-/]+/\\d+/","res":":\nvar i = $._.indexOf('<div class=\"action-card__col action-card__col_image\">');\nif(i<0) { return null;}\nvar t = $._.indexOf('<div class=\"action-card__slider action-card__slider_nav js-slider_nav\"', i);\nif(t<0) { t = $._.indexOf('<div class=\"action-card__col\">', i); }\nif(t<0) { return null; }\nvar res = [];\nvar re = /src=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1800#17\n\nПРИМЕРЫ\nhttps://cosmetic.magnit.ru/catalog/28475-dom\nhttps://cosmetic.magnit.ru/catalog/43435-dlya-muzhchin?shopCode=942311"},"MAIL.RU_cloud":{"link":"^cloud\\.mail\\.ru/[^/]+/\\w{4}/\\w{9}\\b","res":":\nconst u='https://thumb.cloud.mail.ru/weblink/thumb/xw'\n$=JSON.parse($._.match(/cloudSettings=({.+?})<\\//)[1].replace(/\\\\x3c/g,'\\\\\\\\x3c')||'{}').params\nif(/\\.(?:3g[2p]|a(?:mv|sf|vi)|drc|f(?:lv|4[vpab])|gifv?|m[42ko]v|mng|mp[g42ev]|mpeg|m2?ts|ts|mxf|nsv|og[vg]|r(?:m(?:vb)?|oq)|svi|v(?:iv|ob)|w(?:ebm|mv)|yuv)$/i.test($?.serverSideFolders?.name||'')){\nthis.TRG.IMGS_ext_data = [\n '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"360\"></svg>',\n `<imagus-extension type=\"videojs\" url=\"${$?.DISPATCHERS.videowl_view.url}/0p/${btoa($.serverSideFolders.weblink)}.m3u8?double_encode=1\"></imagus-extension>test!`\n]\nreturn {loop:'imagus://extension'}\n}\nconst t=`<imagus-extension type=\"\"></imagus-extension>` // This is needed to fix a bug where [Extension] interferes with albums sometimes.\n$=$?.serverSideFolders\nreturn $?.list?$.list.map(i=>[['#'+u+'1/'+i.weblink,u+'0/'+i.weblink],t]):$?.weblink?[[['#'+u+'1/'+$.weblink,u+'0/'+$.weblink]]]:''","img":"^(thumb\\.cloud\\.mail\\.ru/weblink/thumb/xw)\\d+","to":"#$11\n$10","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kstwfsp\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1140#3\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3380#2\n\n!!!\nДля работы с \"облачным\" видео на хромиум-браузерах требуется правило для SMH (см. ЧаВо п.12).\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3360#21\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"MAIL.RU_news":{"link":"^(?:.+\\.)?mail\\.ru/[^/]+/[^/]*\\d{6,}/","res":":\n$=JSON.parse($._.match(/\"application\\/ld\\+json\">({.+?})<\\//)[1])\nreturn [$.image.url,$.articleBody]","img":"^(retina\\.news\\.mail\\.ru/)prev\\d+x\\d+/","to":"$1/","note":"Imagus_fan\nhttps://new.reddit.com/r/imagus/comments/z0zyox/comment/kscvc0c\n\n!!!\nВ заголовке окна Имагус добавляется текст новостей.\n\n\nПРИМЕРЫ\nhttps://news.mail.ru/economics/\nhttps://news.mail.ru/society/\nhttps://news.mail.ru/society/52396812/"},"MAIL.RU_video":{"link":"^my\\.mail\\.ru/(?:[^/]+/){0,3}video/(?:(?:[^/]+/)*\\d+\\.html|meta)","res":":\nif($._[0]!=='{')return {loop:$._.match(/\"metaUrl\":\\s+\"([^\"]+)/)[1]}\n$=JSON.parse($._)\nthis.TRG.IMGS_ext_data = [\n '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"480\"></svg>',\n `<imagus-extension type=\"videojs\" url=\"https:${$.videos[0].url}\"></imagus-extension>${$.meta?.title||''}`\n]\nreturn {loop:'imagus://extension'}","img":"^(?:(?:img\\d*\\.)?(?:content(?:-\\d+)?\\.)?(?:f|ph)(oto\\.(?:my\\.)?mail\\.ru/)(?:images/)?((?:mail|bk|list|corp|community)[/=][^/=]+[/=][^/=]+[/=])(?:s?p|ii?)(-\\d+)|filed\\d+-\\d+\\.my\\.mail\\.ru/pic\\?url=([^&]+).*)","to":":\nreturn $[4] ? decodeURIComponent($[4]).replace(/\\/i(-\\d+\\.[^?]+).*/, '/h$1') : 'content.f' + $[1] + $[2].replace(/=/g, '/') + 'h' + $[3];","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ksj1la8\n\nEXAMPLES\nhttps://my.mail.ru/mail/cyrella/video\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11\nhttps://www.reddit.com/domain/my.mail.ru/new/"},"MakeAGif-p":{"useimg":1,"link":"^(makeagif\\.com/)(?:i/|gif/[^?/]+)?([\\w-]{6})(?:$|\\?.*)","url":"//$1i/$2","res":"data-src=\"([^\"]+)\"\n--elips\"\\s+title=\"([^\"]+)","img":"^(?:cdn\\.|i\\.)?(makeagif\\.com/media/\\d+-\\d+-\\d{4}/)t([\\w-]{6}).*","to":"//i.$1$2.#mp4 gif#","note":"EXAMPLES\nhttps://makeagif.com/search?q=GOOD\nhttps://www.reddit.com/domain/makeagif.com/new/"},"MakeaMeme":{"link":"^(makeameme\\.org/m)eme(/[^?/#]+)(?:/raw)?$","img":"^(makeameme\\.org/m)edia/created/\\d+(/[^.]+)\\.jpg$","to":"$1edia/created$2.jpg","note":"EXAMPLES\nhttps://www.reddit.com/domain/makeameme.org/new/"},"ManyVids-x-p-b":{"link":"^manyvids\\.com/Video/\\d+/","res":":\nconst arr = []\nconst title_re = /twitter:title\" content=\"([^\"]+)/g.exec($._)\nconst cover = /data-video-screenshot=\"([^\"]+)/g.exec($._);\nconst video = /data-video-filepath=\"([^\"]+)/g.exec($._);\n\nconst title = title_re ? title_re[1] : \"\";\nif (cover) arr.push([cover[1], title]);\nif (video) arr.push([video[1], title]);\nreturn arr;","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#4\n\nПРИМЕРЫ\nhttps://www.manyvids.com/Vids/?content_type=1&search_type=0&sort=1&page=1\nhttps://www.manyvids.com/Vids/?content_type=1,2,3&search_type=0&sort=9&page=1"},"Marvel":{"img":"^(cdn\\.marvel\\.com/u/prod/marvel/i/[a-z]{2}/\\w+/\\w+/[a-f0-9]+/)[^.]+","to":"$1clean","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1el30w9/comment/lgoyij4\n\nEXAMPLES\nhttps://www.marvel.com/comics/series/27564/xforce_2019_present"},"mlbpark":{"link":"^mlbpark\\.donga\\.com/mp/b\\.php\\?id=\\d+","res":":\n$=[...new DOMParser().parseFromString($._,\"text/html\").getElementById('contentDetail').querySelectorAll('img[src],source[src],iframe[src]')]\nif($.some(i=>i.nodeName==='IFRAME')){\nthis.TRG.IMGS_ext_data=$.map(i=>i.nodeName==='IFRAME'?['',`<imagus-extension type=\"videojs\" url=\"${i.src}\"></imagus-extension>`]:[i.src,''])\nreturn {loop:'imagus://extension'}\n}\nreturn $.map(i=>[i.src])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/17ga8mw/comment/k6si64v\n\nEXAMPLES\nhttps://www.reddit.com/r/imagus/comments/17ga8mw/mlbpark_orbi_sieve/\nhttps://www.reddit.com/r/imagus/comments/17ga8mw/comment/k6t3rdo"},"MCGL.ru":{"link":"(i\\.mcgl\\.ru/[A-Za-z0-9]+$)","img":"(i\\.mcgl\\.ru/[A-Za-z0-9]+$)","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jnrcrmb\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"MediaFire":{"link":"mediafire\\.com/view/(.*)","url":"https://www.mediafire.com/file/$1","res":":\nconst m = $._.match(/window.location.href = '(ht[^']+)/)\nreturn m?m[1]:''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttps://www.mediafire.com/view/fludv4lm29fl9ar/httpsiseesedu.in_%25282%2529.jpg/file\nhttps://www.mediafire.com/view/39q4i3oblc8oazw/software_development_courses_in_mahad.jpg/file"},"Medium-p":{"useimg":1,"link":"^(?:[^/.]+\\.)?medium\\.com/(?:@?[\\w-]+/)?(?:[\\w-]+-)+\\w+(?:$|\\?.+)","img":"^((?:cdn-images-\\d|miro)\\.medium\\.com/)[^?]+/([^?]+).*","to":":\nif($[1])return `#${$[1]}${$[2]}\\n${$[1]}max/1024/${$[2]}`\nif(!/medium\\.com$/.test(location.hostname))return ''\nconst m=[...this.node.offsetParent.querySelectorAll('img')||[]].sort((a,b)=>(b.height*b.width)-(a.height*a.width))?.[0]?.src?.match(/^(https:\\/\\/(?:cdn-images-\\d|miro)\\.medium\\.com\\/)[^?]+\\/([^?]+).*/);\nreturn m ? `#${m[1]}${m[2]}\\n${m[1]}max/1024/${m[2]}` : ''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lhtutsc\n\nEXAMPLES\nhttps://medium.com/tag/fintech\nhttps://medium.com/@akshay1230789/10-explosive-data-science-job-trends-reshaping-careers-in-2024-3a21b99d4b9b"},"Meetup-p":{"link":"^meetup\\.com/(?:(?:[^-]+-)+\\w+(?:/[^/]+)*/?|\\w+)$","res":":\nreturn $._.match(/<meta property=\"og:image\"\\s+content=\"([^\"]+)/)?.[1].replace(/\\d+_/,'highres_')||''","img":"^((?:a\\d+\\.e\\.akamai\\.net/secure|photos\\d*|secure)\\.meetupstatic\\.com/photos/[^_]+/)(?!highres)[^_]+","to":"$1#highres member#","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ktwgt80\n\nEXAMPLES\nhttps://www.meetup.com/find/?keywords=Pickleball\nhttps://www.meetup.com/find/?source=EVENTS&dateRange=tomorrow&location=fr--Paris\nhttps://www.meetup.com/find/?source=GROUPS&location=gb--London"},"Megafon.ru":{"link":"\\w+\\.shop\\.megafon\\.ru/[\\w-]+/\\d+$","res":":\nvar i = $._.indexOf('<div class=\"b-gallery__images\">')\nif(!i) { return null; }\nvar t = $._.indexOf('<div class=\"b-gallery__bottom\">', i);\nif(!t) { return null; }\nvar res = []\nvar re = /data-lazy=\"([^\"]+)\"/gi\nvar a = re.exec( $._.substring(i,t) );\nwhile(a){\n res.push([a[1]]);\n a = re.exec( $._.substring(i,t) );\n}\nreturn res;","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1020#16\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2380#5\n\nПРИМЕРЫ\nhttps://shop.megafon.ru/mobile?si_sbmt=1&si_actions=&si_av=1&si_archVal=0&si_courier=1&si_salon=1&si_specs_2=2894"},"MegaMarket.ru":{"link":"^megamarket\\.ru/catalog/details/[\\w-]+-([\\d_]+)/","res":":\nvar i = $._.indexOf('<div class=\"scroller__content scroller_enlarged\">');\nif(i<0) {i = $._.indexOf('<div class=\"pdp-first-screen-regular__gallery-and-attr\">');}\nif(i<0) {return null; }\nvar t = $._.indexOf('</div></div>', i);\nif(t<0) {return null; }\nvar res = [];\nvar re = /gallery[_-][^\"]+?\"><img src=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\n// reviewPhoto\nx = new XMLHttpRequest();\nx.open('POST', 'https://megamarket.ru/api/mobile/v1/catalogService/productCardReviewInfo/get',false);\nx.setRequestHeader('content-type', 'application/json');\nx.send('{\"goodsId\":\"' + $[1] +'\",\"auth\":{\"locationId\":\"50\",\"appPlatform\":\"WEB\",\"analyticsDeviceId\":\"\",\"os\":\"UNKNOWN_OS\"}}');\nif (x.readyState != 4) return res;\nif (x.status != 200) return res;\nvar c = JSON.parse(x.responseText).previewMediaGalleryItems;\nc.forEach(function(obj) {\n res.push([obj.url]);\n});\n\nreturn res;","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/18n32dx/comment/kebeozx\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2120#2\n\n\n!!!\n- Для корректной работы фильтра в результатах поиска сначала нужно открыть хотя бы один товар (чтобы сайт сделал \"проверку браузера\").\n- Фильтр показывает не только галерею фото товара, но и фото от самих покупателей (несколько первых). В некоторых случаях требуется повторное наведение курсора на фото товара.\n\nПРИМЕРЫ\nhttps://megamarket.ru/catalog/chay/\nhttps://megamarket.ru/catalog/divany/\nhttps://megamarket.ru/catalog/kleenki-na-stol/#?related_search=клеенки+на+стол"},"MemeGenerator-p":{"link":"^(?:(?:ru|es)\\.)?memegenerator\\.net/(instance)/(\\d+)(\\d{3}).*","res":"<meta property=\"og:image\" content=\"([^\"]+)\"","img":"^cdn\\.meme(?:\\.am|generator\\.net)/(?:cache/)?(instance)s/(?:folder\\d+/)?\\d+x\\d*/(\\d+)(\\d{3}).*","to":"https://cdn.meme.am/cache/$1s/folder$3/$2$3.jpg","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3360\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://memegenerator.net/Willy-Wonka\nhttps://www.reddit.com/domain/memegenerator.net/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1440#16"},"Memozee":{"img":"^(animal\\.memozee\\.com)/Thumb(\\d+)/thumb-(\\d+)\\.jpg$","to":"#$1/Arch$2/$3.jpg\n$1/Arch$2/$3-m.jpg","note":"Rodny\n\nEXAMPLES\nhttp://animal.memozee.com/list.php\nhttp://animal.memozee.com/list.php?&p=3800"},"Meshok.net":{"link":"^meshok\\.net/(?:[a-z]{2}/)?item/(\\d+)_[\\w%-]+","url":"https://meshok.net/api/command/lots/get-lot-by-id :{\"lotId\":$1}","res":":\nreturn JSON.parse($._).result.pictures?.map(i=>[i.url])||''","img":"^(itemimg\\.com/i/\\d+\\.\\d)\\.\\d+x\\d+s?(\\.[a-z]+).*","to":"b.$1$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/landzre\nOLD\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jyduj9s\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#7\n\nПРИМЕРЫ\nhttps://meshok.net/listing?good=1011"},"Metro-cc.ru":{"link":"^online\\.metro-cc\\.ru/products/[\\w-]+","res":":\nlet i = $._.indexOf('images:[');\nif(i<0) { return null; }\nlet t = $._.indexOf(']', i);\nif(t<0) { return null; }\nlet jsn=JSON.parse('{\"images\":'+$._.substring(i+7,t+1)+'}');\nlet res = [];\nfor (img of jsn.images) {\n res.push([img]);\n}\nreturn res;","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1020#16\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=400#2\n\nПРИМЕРЫ\nhttps://online.metro-cc.ru/category/chaj-kofe-kakao/chay\nhttps://online.metro-cc.ru/category/rybnye/moreprodukty"},"MGStage-x":{"img":"(image\\.mgstage\\.com\\/images\\/.+\\/)pf_\\w{2}(_\\w+-\\d+.jpg)","to":"$1pb_e$2","note":"loveqianool\nhttps://www.reddit.com/r/imagus/comments/zmmjs8/comment/j1rc5ny\n\nEXAMPLES\nhttps://www.mgstage.com/search/cSearch.php?sort=new&list_cnt=120&type=top\nhttps://www.mgstage.com/product/product_detail/530DG-232/"},"Microscope-p":{"useimg":1,"link":"^microscope\\.com/(?:catalog/product/view/id/\\d+/category/\\d+/|[^-]+-[^.]+\\.html$)","res":":\nconst html = new DOMParser().parseFromString($._, \"text/html\");\nreturn [...html.querySelectorAll('img[class=\"gallery-image lazyload\"]')].map(i=>[i.dataset.src])","img":"^microscope\\.com/media/catalog/product/cache/\\d/(?:small_image|thumbnail)/\\d+x/[a-f0-9]+/(.*)","to":"https://www.microscope.com/media/catalog/product/cache/2/image/9df78eab33525d08d6e5fb8d27136e95/$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/joowxsu\nOLD\nhttps://www.reddit.com/r/imagus/comments/c8sfyl/comment/estqr02\n\n!!!\nКурсор нужно наводить на название товара.\n==\nYou need to hover the cursor over the product name.\n\n\nEXAMPLES\nhttps://www.microscope.com/accessories"},"Midjourney":{"link":"^(midjourney\\.com/)jobs(/[a-f0-9-]+).*","img":"^(cdn\\.midjourney\\.com/[a-f0-9-]+/\\d+_\\d+).*","to":":\nreturn $[2] ? '//www.'+$[1]+'api/img'+$[2]+'/0/original' : $[1]+'.#png jpeg webp#'","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lkmy7ux\n\nEXAMPLES\nhttps://www.midjourney.com/explore?tab=top"},"Mile-stone.jp":{"link":"^b2b\\.mile-stone\\.jp/(?:[a-z]{2}/)?products/\\d+","res":":\nreturn [...$._.matchAll(/data-pswp-height=\"[^\"]+\"\\s+href=\"([^\"]+)/g)].map(i=>[i[1]])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1al7x7r/comment/kpgpw39\n\n\nEXAMPLES\nhttps://b2b.mile-stone.jp/ja/search/0/keyword=Roxy/\nhttps://b2b.mile-stone.jp/ja/products/00043976105"},"Minds-p":{"img":"^(?:(cdn\\.minds\\.com/api/v1/media/thumbnails/\\d+).*|cdn\\.minds\\.com/api/v2/media/proxy\\?(?:[^&]+&)*?src=([^&]+).*)","dc":2,"to":"$1","note":"!!!\nПоддержки видео пока нет.\n==\nThere is no video support yet.\n\n\nEXAMPLES\nhttps://www.minds.com/minds/?layout=grid"},"Minitokyo":{"img":"^static([123]?\\.minitokyo\\.net/)(?:thumbs|view|downloads)(/\\d\\d/\\d\\d/\\d+)","to":"static$1downloads$2","note":"EXAMPLES\nhttp://www.minitokyo.net/Kuroshitsuji\nhttp://www.minitokyo.net/The+Legend+of+Heroes+Illustration+Artbook"},"mrJH.org":{"link":"^(mrjh\\.org/)gallery\\.php\\?entry=(images/[^.]+\\.jpg)","img":"^(mrjh\\.org/)gallery\\.php\\?entry=(images/[^.]+\\.jpg)","to":"$1$2","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jspp9q8\n\n!!!\nНеобходимо правило для SMH (см. ЧаВо, п.12).\n==\nNeed a rule for SMH (see FAQ, p. 12).\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1369&limit=1&m=1#1"},"Mobygames":{"link":"(?:www\\.)?mobygames\\.com\\/game\\/[^,]+?,\\d+\\/","res":"og:image\" content=\"([^\"]+)\"","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2400#7\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.mobygames.com/game/flatout/screenshots"},"ModDB":{"link":"(?:www\\.)?moddb\\.com\\/mods\\/.+\\/videos\\/.+","res":":\nvar i = $._.indexOf('<video id=\"mediaplayer\"');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"normalbox\" id=\"comments\">', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /<source src=\"([^\"]+)\" type=\"video\\/mp4\" label=\"([^\"]+)\"/gi\nvar a = re.exec( $._.substring(i,t) );\nwhile(a) {\n res.push([a[1], a[2]]);\n a = re.exec( $._.substring(i,t) );\n}\nreturn res;\n","img":"(media\\.moddb\\.com\\/)cache\\/(images\\/\\w+\\/\\d+\\/\\d+\\/\\d+\\/)crop_\\w+\\/(.+)","to":"$1$2$3","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2420#12\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.moddb.com/games/diablo-2-lod/mods\nhttps://www.moddb.com/mods/battle-of-legends1"},"ModelMayhem":{"useimg":1,"link":"^modelmayhem\\.com/portfolio/pic/\\d+","res":"=\"og:image\" content=\"([^\"]+)\n=\"og:description\" content=\"([^\"]+)","img":"^(photos\\.modelmayhem\\.com/(?:photo|cover|potd/entrant|avatar)s(?:/\\d+)+/[^.]+)(?:_[^.]+|-small)\\.","to":"$1# -big _m#.","note":"EXAMPLES\nhttps://www.modelmayhem.com/portfolio/4427968/viewall\nhttps://www.modelmayhem.com/portfolio/2442527/viewall"},"Motherless-x-p":{"link":"^(lm\\d\\.)?motherless\\.com/\\w{1,7}","res":"__fileurl = '([^']+)","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=220#13\n\n!!!\nКурсор следует наводить на название видео.\n==\nThe cursor should be placed to the title of the video.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://motherless.com/videos/recent\nhttps://motherless.com/u/iamamonstah?t=i\nhttps://motherless.com/term/galleries/galleries?term=galleries&range=0&size=0&sort=relevance"},"Motorsport.tv":{"link":"^motorsport\\.tv/(?:[^/]+/)*video/.+","res":":\nconst m = $._.match(/<source src=\"([^\"]+)/)?.[1]||''\nthis.TRG.IMGS_ext_data = [\n '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1920\" height=\"1080\"></svg>',\n `<imagus-extension type=\"videojs\" url=\"${m}\"></imagus-extension>`\n]\nreturn m?.length?{loop:'imagus://extension'}:''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/173v0mm/comment/k48ognz\n\n!!!\nНеобходимо правило для SMH (см.ЧаВо, п.12).\n==\nNeed a rule for SMH (see FAQ, p.12).\n\n\nEXAMPLES\nhttps://motorsport.tv/results?search_query=McLaren\nhttps://motorsport.tv/channel/motorsportcom/12\nhttps://motorsport.tv/racing/bennetts-british-superbikes/86\nhttps://www.reddit.com/domain/motorsport.tv/new/"},"mp4porn.rip-x":{"link":"^(mp4porn\\.space|mp4porn\\.rip)/video/.+","res":":\nreturn '//'+$[1]+$._.match(/url_v = \"([^\"]+)/)[1].replace(/(play)_/,'$1')+'#mp4'","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ktlr02x\n\nEXAMPLES\nhttps://mp4porn.rip/videos/pure-taboo\nhttps://mp4porn.rip/pornstar/alina-lopez\nhttps://mp4porn.rip/category/creampie"},"Multihoster.Saxonia-Fighter.de":{"img":"(multihoster\\.saxonia-fighter\\.de)/viewer\\.php\\?is_random=\\d&file=([^.]+\\.gif)","to":"$1/images/$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"MVideo.ru":{"link":"^mvideo\\.ru\\/products\\/.+-(\\d+)$","url":"https://www.mvideo.ru/bff/product-details?productId=$1","res":":\nvar res=[];\nJSON.parse($._).body.images.forEach(function(item){\n res.push(['https://img.mvideo.ru/'+item]);\n});\nreturn res;\n","img":"(img\\.mvideo\\.ru/rimpic/)\\d+/(.+)","to":"$1$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=380#20\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=100#11\n\n!!!\nКурсор наводить на название товара.\n\nПРИМЕРЫ\nhttps://www.mvideo.ru/televizory-i-cifrovoe-tv-1/televizory-65/f/category=4k-uhd-televizory-1682/tolko-v-nalichii=da\nhttps://www.mvideo.ru/holodilniki-i-morozilniki-2687/holodilniki-i-morozilnye-kamery-159/f/tolko-v-nalichii=da/collection_top=nedorogie"},"MyAnimeList":{"img":"^((?:myanimelist\\.cdn-dena\\.com|cdn\\.myanimelist\\.net)/)(?:r/[^/]+/)?(?:(s/[^.]+)|(images/[^.]+\\d+(?:_thumb)?)\\D*)\\.([^?]+).*","to":":\nreturn $[1]+($[2] || ($[3].indexOf('/userimages')>0 ? $[3].replace(/_?thumbs?\\/?/g,'') : $[3] + '#l #'))+'.'+$[4]","note":"EXAMPLES\nhttps://myanimelist.net/topanime.php\nhttps://myanimelist.net/reviews.php?t=manga\nhttps://myanimelist.net/anime.php?q=BLACK&cat=anime"},"MyDramaList":{"img":"^(i\\.mydramalist\\.com/[A-Za-z0-9]+_\\d)[a-z]","to":"$1f","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1eldvde/comment/lgthzho\n\nEXAMPLES\nhttps://mydramalist.com/shows/newest\nhttps://mydramalist.com/772323-love-hunter\nhttps://mydramalist.com/49865-psycho-but-it-s-okay/photos?page=2"},"MyPhoto.eu":{"link":"^(.*myphoto\\.eu/\\w+/photo)/(\\d{6}/.+\\.(?:jpe?g|a?png|gif|svgz?|webp|w?bmp|xbm|pict|j(?:if|fif?)))","url":"$1/big/$2","res":"url\\((/photos/.+(?:jpe?g|a?png|gif|svgz?|webp|w?bmp|xbm|pict|j(?:if|fif?)))\\) no-repeat","to":"https://myphoto\\.eu/$1","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1380#10\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"NASA.gov":{"img":"^(nasa.gov/sites/default/files/)styles/.+/public/(thumbnails/image/.+\\.jpg)","ci":2,"to":"$1$2","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1640#6\n\nEXAMPLES\nhttps://www.nasa.gov/mission_pages/station/images/index.html\nhttps://www.nasa.gov/multimedia/imagegallery/iotd.html\nhttps://science.nasa.gov/universe/graphics/"},"NASA.gov_apod":{"link":"^apod\\.nasa\\.gov/apod/(?:a(?:stropix|p\\d{6})\\.html)?$","res":":\nvar i=$._.match(/<br>\\s*<a href=\"(image\\/[^\"]+)\"[^<]+<img src=\"([^\"]+)/i);\nreturn i && [[[\"#\" + $.base + i[1], $.base + i[2]], $._.match(/Explanation:?\\s*<\\/[^>]+>:?\\s*([\\s\\S]+?)<p>/)[1].trim().replace(/<[^>]+>/g, '')]] || null;","note":"EXAMPLES\nhttps://apod.nasa.gov/apod/binary_stars.html\nhttps://apod.nasa.gov/apod/milky_way.html"},"NASA.gov_eoimg":{"img":"^(eoimages\\.gsfc\\.nasa\\.gov/images/.+)_front\\.jpg","ci":2,"to":"$1_lrg.jpg","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1640#6\n\nEXAMPLES\nhttps://visibleearth.nasa.gov/?page=6\nhttps://earthobservatory.nasa.gov/topic/life"},"NASA.gov_eol.jsc":{"img":"(.*eol\\.jsc\\.nasa\\.gov/.*)/small/(.*\\.jpg)","ci":2,"to":"$1/large/$2","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3840#12\n\nEXAMPLES\nhttps://eol.jsc.nasa.gov/SearchPhotos/ShowQueryResults-Lightcycle.pl?results=Latest_ISS_Imagery"},"NASA.gov_img":{"link":"^images.nasa.gov/details/(.+)","url":"https://images-api.nasa.gov/asset/$1","res":":\nconst ret = [];\nconst imgs = JSON.parse($._).collection.items;\n\nfor (let img of imgs) {\n if (!/(jpg|jpeg|png|mp4|mov)$/i.test(img.href)) continue;\n let size = /~(.+?)\\./.exec(img.href)?.[1] || '';\n let text = '[' + size.toUpperCase() + '] ' + (this?.TRG?.alt || '');\n ret.push([img.href, text]);\n}\n\nreturn ret;\n","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2060#5\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1640#9\n\nEXAMPLES\nhttps://images.nasa.gov/\nhttps://images.nasa.gov/search-results?q=ORION&page=1&media=image,video&yearStart=1920&yearEnd=2023"},"NatGeo":{"link":"^nationalgeographic\\.com/\\w+/article/[\\w-]+","res":":\nvar jsn=JSON.parse($._.match(/window\\['__natgeo__'\\]=(.+);<\\/script>/i)[1]);\nvar edgs=jsn.page.content.article.frms[0].mods;\nvar res=[];\nedgs.forEach(customFilter);\n \nfunction customFilter(item){\n if(item.hasOwnProperty('image'))\n res.push([item.image.src]);\n for (var i=0; i<Object.keys(item).length; i++){\n if (typeof item[Object.keys(item)[i]] == \"object\"){\n customFilter(item[Object.keys(item)[i]]);\n }\n }\n}\nreturn res;","note":"Baton34V\n\n!!!\nНа некоторых статьях показывает \"жёлтый\" вращающийся индикатор, т.к. картинки отображаемой в списке статей нет в самой статье.\n==\nOn some articles, it shows a \"yellow\" rotating indicator. the picture displayed in the list of articles is not in the article itself.\n\nEXAMPLES\nhttps://www.nationalgeographic.com/animals\nhttps://www.nationalgeographic.com/travel\nhttps://www.nationalgeographic.com/environment"},"NAVER_TV":{"link":"^(?:(?:m\\.)?tv\\.(naver\\.com/)v/(?:(\\d+)(?:$|[/?#])|([\\dA-F]+)/(\\w+)).*|apis\\.naver\\.com/rmcnmv/rmcnmv/vod/play/v2\\.0/.+)","res":":\nif($[1]){\n$=JSON.parse($._.match(/\"__NEXT_DATA__\" type=\"application\\/json\">(.+?)<\\/script/)[1])?.props?.pageProps?.vodInfo;\nif(!$)return null;\nconst id=$.clip.videoId, key=$.play.inKey;\nreturn {loop:`https://apis.naver.com/rmcnmv/rmcnmv/vod/play/v2.0/${id}?key=${key}`}\n}\n$=JSON.parse($._).videos?.list?.sort((a,b)=>b.bitrate.video-a.bitrate.video);\nreturn $?.length ? [[['#'+$[0].source,$[Math.floor($?.length/2.5)]?.source]]] : ''","img":"^([^/.]+\\.pstatic\\.net/[^?]+)\\?type=w\\d+.*","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1eux5im/comment/liokqn9\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=260#5\n\nEXAMPLES\nhttps://www.reddit.com/domain/tv.naver.com/new/\nhttps://tv.naver.com/v/47630058\nhttps://tv.naver.com/search?query=Our%20Golden%20Day\nhttps://game.naver.com/original_series/68/detail/4044299"},"NeatClip-p":{"link":"^(neatclip\\.com/)(?:clip|embed)(/\\w+)","url":"$1clip$2","res":"=\"nc:video\" content=\"([^\"]+)\n<title>([^<]+) -","note":"EXAMPLES\nhttps://www.reddit.com/domain/neatclip.com/new/"},"NewEgg":{"link":"^newegg\\.com/[\\w-]+/[\\w-]+","res":":\nlet i = $._.indexOf('<div class=\"product-view-container\">');\nif(i<0) {return null; }\nlet t = $._.indexOf('<div class=\"product-hover-area\"></div>', i);\nif(t<0) {return null; }\nlet res = [];\nlet re = /src=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","img":"^((?:images|c)\\d+\\.newegg(?:images)?\\.com(?:\\.cn)?/)(?:(is/image/newegg/[^?]+)\\?\\$.*|((?:NeweggImage/)?ProductImage)(?:CompressAll\\d*)?|(neweggpic\\d/neg/P)(?!800)\\d+)","to":":\nreturn $[1] + ($[2] ? $[2] + '?$S1280$': ($[4] ? $[4] + '800' : $[3] + 'CompressAll1280'));","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1480#4\n\nEXAMPLES\nhttps://www.newegg.com/Mice/SubCategory/ID-65\nhttps://www.newegg.com/todays-deals?cm_sp=Head_Navigation-_-Under_Search_Bar-_-Today%27s+Best+Deals&icid=720202\nhttps://www.newegg.com/p/pl?N=100167585%20600555891&cm_sp=TV-Video_2-_-LeftNav-_-OLED-TV"},"Simkl-p":{"img":"simkl.(in)/posters/(\\d\\d)/([a-z0-9]+_)(c).*","to":"simkl.net/posters/$2/$30.jpg","note":"akovia\nhttps://www.reddit.com/r/imagus/comments/pndm75/simkl_sieve/\n\n\nEXAMPLES\nhttps://simkl.com/movies/\nhttps://simkl.com/movies/162400/avatar-the-way-of-water#"},"Newgrounds":{"link":"^newgrounds\\.com/art/view/[^/]+/[^/]+","res":"=\"(https://art\\.ngfiles\\.com/images/[^\"]+)\n=\"og:title\" content=\"([^\"]+)","img":"^newgrounds\\.com/downloads/wallpapers/get\\.php\\?id=\\d+.*","to":"$&","note":"EXAMPLES\nhttps://www.newgrounds.com/art\nhttps://www.reddit.com/domain/newgrounds.com/new/"},"Nextdoor":{"img":"^([\\da-z]{14}\\.cloudfront\\.net/[\\w-]+_photos/([\\da-f]{2})/([\\da-f]{2})/\\2\\3[\\da-f]{28}\\.\\w+).*","to":"$1","note":"!!!\nНужен аккаунт.\n\nEXAMPLES\n???"},"NaughtyAmerica-x-p":{"link":"naughtyamerica.com/scene/.+","res":":\nconst m = /source src=\"([^\"]+)\" type=\"video/.exec($._)\nif (m) return m[1];\nreturn \"//i.imgur.com/ejZcAGv.png\";","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1163&limit=1&m=1#1\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3616#1\n\nEXAMPLES\nhttps://www.naughtyamerica.com/new-porn-videos"},"NexusMods":{"img":"^(staticdelivery\\.nexusmods\\.com/(?:mods|images)/(?:[^/]+/)+?)thumbnails/","to":"$1","note":"ПРИМЕРЫ / EXAMPLES\nhttps://www.nexusmods.com/starwarsbattlefront22017\nhttps://www.nexusmods.com/mysummercar?tab=popular+%28all+time%29"},"NexusMods_img":{"link":"^(nexusmods\\.com/[\\w-]+/mods/\\d+)$","url":": $[1]+'?tab=images';","res":":\nvar i = $._.indexOf('<ul class=\"thumbgallery gallery clearfix\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div id=\"fileinfo\"', i);\nif(t<0) { return null; }\nlet data=$._.substring(i,t);\nvar res = [];\nvar re = /data-src=\"([^\"]+)\"/gi\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1680#17\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.nexusmods.com/sacred2?tab=popular+%28all+time%29\nhttps://www.nexusmods.com/skyrimspecialedition/images/195296\nhttps://www.nexusmods.com/skyrimspecialedition/users/49002333?tab=images"},"nhentai.net-x-p":{"link":"^nhentai\\.net/g/\\d+/$","url":"data:,$&","res":":\nvar x=new XMLHttpRequest();\nx.open('Get',$[0],false);\nx.send();\n$._=x.responseText\nvar i = $._.indexOf('id=\"thumbnail-container\"');\nif(i<0) { return null; }\nvar t = $._.indexOf('</a></div></div></div>', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /data-src=\"([^\"]+)\"/gi\nvar a = re.exec( $._.substring(i,t) );\nwhile(a) {\n res.push([a[1].replace(/t\\d?.nhentai/,'i.nhentai').replace('t.','.')]);\n a = re.exec( $._.substring(i,t) );\n}\nlet meta = document.querySelector('head > meta[name=\"referrer\"]');\nif (!meta) {\n meta = document.createElement('meta');\n meta.name = 'referrer';\n meta.content = 'same-origin';\n document.getElementsByTagName('head')[0].appendChild(meta);\n} else if (meta.attributes.content.value !== 'same-origin') {\n meta.attributes.content.value = 'same-origin';\n}\nreturn res;","img":"t\\d?(\\.nhentai\\.net/galleries/\\d+/\\d+)t(\\.\\w+)","to":"i$1#.png .jpg .gif#","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/1cnxvef/comment/l3eso03\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=400#15\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3680#18\n\nПРИМЕРЫ / EXAMPLES\nhttps://nhentai.net/tag/animated\nhttps://nhentai.net/g/409848/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3000#6"},"NicoVideo.jp-p":{"link":"nicovideo\\.jp/watch/(sm|so|nm)(\\d+).*","res":":\n//To disable the sidebar, set use_sidebar below to false.\nconst use_sidebar = true;\nconst res = [];\nconst parser = new DOMParser();\nconst doc = parser.parseFromString($._, \"text/html\");\nconst dataNode = doc.querySelector('meta[name=\"server-response\"]');\nlet jsonData = JSON.parse(dataNode?.attributes?.content.value);\nif (jsonData) {\n const response = jsonData?.data?.response;\n res.push(response?.video?.thumbnail?.player);\n let sec = response?.video?.duration;\n let duration = \"\";\n if (sec) {\n let hh = Math.floor(sec / 3600);\n let mm = Math.floor((sec % 3600) / 60);\n let ss = sec % 60;\n duration = `${hh ? hh.toString().padStart(2, '0') + \":\" : \"\"}${mm.toString().padStart(2, '0')}:${ss.toString().padStart(2, '0')}`;\n }\n let date = new Date(response?.video?.registeredAt)?.toLocaleString('ja-JP');\n if (use_sidebar) {\n res.push(`<imagus-extension type=\"sidebar\"><h3 style=\"font-size: 1.2em;\"><b>${response?.video?.title}</b></h3>\\nAuthor: \\t\\t${response?.owner?.nickname || response?.channel?.name}\\nDate: \\t\\t${date}\\nLength: \\t\\t${duration}\\nViews: \\t\\t${response?.video?.count?.view}\\nComments:\\t${response?.video?.count?.comment}\\n\\n${response?.video?.description}</imagus-extension>`);\n this.TRG.IMGS_ext_data = res;\n return { loop: 'imagus://extension' };\n } else {\n res.push(`${response?.video?.title} | ${response?.owner?.nickname || response?.channel?.name} | ${date} | ⏱ ${duration} | 👁 ${response?.video?.count?.view} | 💬 ${response?.video?.count?.comment} | 📝 ${response?.video?.description}`);\n return res;\n }\n} else {\n return;\n}","note":"onurtag\nhttps://new.reddit.com/r/imagus/comments/1f2wedy/update_for_the_nicovideojp_sieve/\nOLD\nhttps://www.reddit.com/r/imagus/comments/18hwm0n/new_sieve_for_nicovideojp/\n\n!!!\n- This sieve is showing the thumbnail (not video) and using a sidebar also shows the title, uploader, views, comments, date, length and description.\n- To disable the sidebar, set use_sidebar below to false.\n\nEXAMPLES\nhttps://www.nicovideo.jp/watch/sm43891948\nhttps://www.reddit.com/domain/nicovideo.jp/new/\nhttps://new.reddit.com/r/imagus/comments/1f2wedy/update_for_the_nicovideojp_sieve/"},"Nijie-x-p":{"link":"^nijie\\.info\\/view\\.php\\?id=\\d+","url":"data:;$&","res":":\nconst f=this.find, x=new XMLHttpRequest()\nx.open('GET',$[0],false)\nx.send()\n$._=x.responseText\nlet m=[...$._.matchAll(/data-original=\"([^\"]+)/g)].map(i=>[f({src:i[1]})])\nif(!m?.length)m=$._.match(/itemprop=\"image\" src=\"([^\"]+)/)?.[1]\nreturn m||''\n","img":"^(pic\\.nijie\\.net/\\d)\\d(/nijie/\\d+m\\d+/\\d+/\\d+/illust/[a-f0-9_]+\\.)","to":"$1#1 2 3#$2","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lej44ee\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/leinb1x\n\n\n!!!\nДля работы фильтра нужен аккаунт. Альбомы не поддерживаются.\n==\nYou need an account for the sieve to work. Albums are not supported.\n\nEXAMPLES\nhttps://nijie.info/view.php?id=628911\nhttps://nijie.info/illust_view.php?p=6\nhttps://nijie.info/dojin_all_view.php?p=4"},"nimg.jp-CDN":{"link":"((?:img\\.cdn\\.nimg\\.jp/s/nicovideo|nicovideo\\.cdn\\.nimg\\.jp)/thumbnails/.*)","img":"((?:img\\.cdn\\.nimg\\.jp/s/nicovideo|nicovideo\\.cdn\\.nimg\\.jp)/thumbnails/.*)","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttps://www.reddit.com/domain/nimg.jp/new/"},"Ning":{"img":"^(api\\.ning\\.com/files/[\\w-*]+/[^?]+)\\?.+","to":"$1","note":"!!!\nНужен аккаунт.\n\nEXAMPLES\n???"},"NIX.ru":{"useimg":1,"link":"^(\\w+\\.)?nix\\.ru/autocatalog/[\\w-]+/[\\w-]+\\.html$","res":":\nlet i = $._.indexOf('<span id=\"gallery-images\"');\nif(i<0) { return null; }\nlet t = $._.indexOf('<div id=\"goods_info\">', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /<span data-href=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","img":"^((?:\\w+\\.)?nix\\.[^/]+/autocatalog/(?:\\w+/)+(?:\\d+)_(?:\\d+)_draft)_(small|micro|large)(\\.jpg)$","to":"#$1$3\n$1_large$3","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1620#18\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=400#4\n\nПРИМЕРЫ\nhttps://www.nix.ru/price/price_list.html?section=computers_nix_all#c_id=276&fn=276&g_id=854\nhttps://barnaul.nix.ru/price/price_list.html?section=computers_nix_all#c_id=276&fn=276&g_id=854"},"NNMClub.to-p":{"link":"nnmclub\\.to/forum/viewtopic\\.php","res":":\nlet res = [];\n//let re = /<meta property=\\\"og:image\\\" content=\\\"([^\\\"]+)/gi;\nlet re = /class=\\\"postImg postImgAligned img-right\\\" title=\\\"([^\\\"]+)/gi;\nlet a = re.exec($._);\nif (a) {\n res.push([a[1]]);\n} else return null;\n//re = /<a href=\\\"(http[^\\\"]+)\\\" style.+?class=\\\"highslide\\\"/gi;\nre = /class=\\\"highslide\\\".+?<var class=\\\"postImg\\\" title=\\\"(http[^\\\"]+)/gi;\na = re.exec($._);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec($._);\n}\nreturn res;","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1600#9\n\n!!!\nПоказывает постер + миниатюры скриншотов на внешних ссылках раздачи.\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"NoelShack":{"link":"^(?:.*)noelshack\\.com/(\\d{4})-(\\d{1,2})-(\\d{1,2})-(.+(?:jpe?g|a?png|gif|svgz?|webp|w?bmp|xbm|pict|j(?:if|fif?)))","to":"http://image.noelshack.com/fichiers/$1/$2/$3/$4","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1380#10\n\nEXAMPLES\nhttps://www.reddit.com/domain/noelshack.com/new/"},"Nozhikov.ru":{"link":"(?:www\\.)?nozhikov\\.ru\\/product\\/[\\w-]+","res":":\nvar i = $._.indexOf('<div class=\"swiper-wrapper\">')\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"thumbs-pagination\"><\\/div>', i);\nif(t<0) { return null; }\nvar res = []\nvar re = /href=\"(https?:\\/\\/img\\.nozhikov\\.ru\\/images\\/products\\/\\d\\/\\d+\\/\\d+\\/[\\w-\\.]+\\.(?:jpe?g|png|bmp))\"/gi\nvar a = re.exec( $._.substring(i,t) );\nwhile(a){\n res.push([a[1]]);\n a = re.exec( $._.substring(i,t) );\n}\nreturn res","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1180#17\n\nПРИМЕРЫ\nhttps://www.nozhikov.ru/collection/best\nhttps://www.nozhikov.ru/collection/raskladnye-nozhi\nhttps://www.nozhikov.ru/collection/svetodiodnye-fonari"},"NozhiMAN.ru":{"link":"^nozhiman\\.ru/[\\w-]+/[\\w-]+(/[\\w-]+)?","res":":\nvar i = $._.indexOf('<div id=\"image-additional-carousel\"');\nif(i<0) { return null; }\nvar t = $._.indexOf('</ul>', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /data-image=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#3\n\nПРИМЕРЫ\nhttps://nozhiman.ru/boker\nhttps://nozhiman.ru/skladnye-nozhi/podarochnye-skladnye-nozhy/"},"NRK.no":{"link":"^(?:nrk/no\\?album|(?:nrk\\.no/video/[^_]+_|tv\\.nrk\\.no/(?:program|serie|direkte)/)(.*))","url":": $[1] ? (/serie/.test($[0]) ? $[0] : 'https://psapi.nrk.no/playback/manifest/'+(/program/.test($[0])?'program/':/direkte/.test($[0])?'channel/':'clip/')+$[1]) : 'data:,'","res":":\nif($[1]){\nif(/serie/.test($[0]))return /data-program-id=\"/.test($._)?{loop:'https://tv.nrk.no/program/'+$._.match(/data-program-id=\"([^\"]+)/)[1]}:''\nconst max_resolution = 1080; // <- Set highest resolution\nlet media = JSON.parse($._).playable?.assets[0].url\nif(!media)return ''\nconst baseURL = media.match(/^(.+?\\/)playlist/)[1]\nvar x = new XMLHttpRequest()\nx.open('Get',media,false)\nx.send()\nlet res = [...x.responseText.matchAll(/RESOLUTION=(\\d+)x(\\d+)[^\\n]+\\n([^\\n]+)/g)].filter(i=>parseInt(i[2])<=max_resolution).sort((a,b)=>parseInt(b[2])-parseInt(a[2]))[0]\nthis.TRG.IMGS_ext_data = [\n '//' + `data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${res[1]}\" height=\"${res[2]}\"></svg>`,\n `<imagus-extension type=\"videojs\" url=\"${baseURL+res[3]}\"></imagus-extension>`\n]\nreturn res ? {loop:'imagus://extension'} : ''\n}else{\nlet m = [...[...document.querySelectorAll('div[data-scroll-container]')].find(i=>RegExp(`${this.oImage}`).test(i.innerHTML))?.children].map(i=>{img=i.firstChild?.firstChild?.srcset?.split(/,\\s*/); return img ? [['#'+img.pop().replace(/\\s\\d+w.*/gs,''),img.filter(i=>/\\s1\\d{3}w$/.test(i))[0]?.replace(/\\s\\d+w.*/gs,'')],i.lastChild.innerText]:''}).filter(Boolean)\ndelete this.oImage\nreturn m\n}\n","img":"^(?:mediaorigin|gfx)\\.nrk\\.no/.+","loop":2,"to":":\nif(this.node.offsetParent.attributes[\"data-scroll-container\"]){\nthis.oImage = $[0].replace(/[?+.*]/g,'\\\\$&')\nreturn 'nrk/no?album'+$[0]}\nlet img = document.querySelector(`[srcset*=\"${$[0]}\"]`)?.srcset.split(/,\\s*/)\nreturn img ? '#'+img.pop().replace(/\\s\\d+w.*/gs,'')+'\\n'+img.filter(i=>/\\s1\\d{3}w$/.test(i))[0]?.replace(/\\s\\d+w.*/gs,'') : $[0]","note":"Imagus_fan\nhttps://old.reddit.com/r/imagus/comments/c9zlcm/rules_request/jueuhf0/\nOLD\nhttps://www.reddit.com/r/imagus/comments/e2i020/comment/jrxb6w9\n\nEXAMPLES\nhttps://www.nrk.no/dokumentar/xl/svindeloffer-blir-sittande-att-med-gjelda-1.16181160\nhttps://www.nrk.no/urix/svekkes-tradisjonen-med-a-gi-juletraer-til-britene_-1.15751861\nhttps://www.nrk.no/osloogviken/utgraving-pa-sem---funn-av-spesiell-buplass-og-beinrestar-1.16477738"},"nsimg-CDN":{"link":"^(?:[^.]+\\.)?nsimg\\.net/biopic/[^/]+/\\d+","img":"^(?:[^.]+\\.)?nsimg\\.net/biopic/[^/]+/\\d+","to":"$&","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jspp9q8\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Nuum.ru":{"link":"^nuum\\.ru/(?:[^/]+/)*(?:clip|video)s/(\\d+).*","url":"//nuum.ru/api/v2/media-containers/$1","res":":\n$=JSON.parse($._).result;\nconst t=[$.media_container_name,$.media_container_channel?.channel_name,new Date($.published_at).toLocaleString('ru-RU'),$.media_container_description].filter(Boolean).join(\" | \");\n$=$.media_container_streams[0]?.stream_media[0]?.media_meta?.media_archive_url;\nthis.TRG.IMGS_ext_data = [ '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"640\"></svg>', `<imagus-extension type=\"videojs\" url=\"${$}\"></imagus-extension>${t}` ];\nreturn $ ? {loop:'imagus://extension'} : null","img":"^(storage-cdn\\.nuum\\.ru/api/v1/files/nuum-vod-production/.+|blob:https://nuum\\.ru/[a-f0-9+$])","loop":2,"to":":\nlet n=this.node;\nn=n.closest('a[class$=\" ng-star-inserted\"],a[class=\"preview\"]')||'';\nreturn n?.href||$[1][0]==='s'&&$[0]||''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lfgmulx\n\n!!!\nИногда требуется повторное наведение курсора.\n\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"OBI.ru":{"link":"^obi\\.ru/products/(\\w+-)+\\d+$","res":":\n$=new DOMParser().parseFromString($._,\"text/html\")\nreturn $.querySelectorAll('source[srcset$=\"thumbnail 2x\"]').length>1 ? [...$.querySelectorAll('source[srcset$=\"thumbnail 2x\"]')].map(i=>{i=i.srcset.match(/^([^?]+)/)[1];return [['#'+i.replace(/resize\\/\\d+x\\d+\\//,''),i.replace(/(resize\\/)\\d+x\\d+/,'$1780x780')]]}) : $.querySelector('source[srcset$=\" 2x\"]').srcset.match(/^([^?]+)/)[1].replace(/resize\\/\\d+x\\d+\\//,'')","img":"^(media\\.obi\\.ru/)resize/\\d+x\\d+/(media/catalog/product/[^.]+\\.jpg).*","to":"#$1$2\n$1resize/780x780/$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1akz6th/comment/kpbqh6b\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1660#20\n\n!!!\nКурсор наводить на название товара.\n\nПРИМЕРЫ\nhttps://obi.ru/sad-i-dosug/sadovaja-mebel/nabory-sadovoj-mebeli\nhttps://obi.ru/vannaja-komnata/smesiteli-i-dushevoe-oborudovanie"},"OK.ru_album":{"link":"(ok\\.ru\\/\\w+\\/album\\/\\d+\\/(\\d+))","url":"$1","res":":\nconst rx1 = new RegExp(`img src=\"([^\"]+)\" class=\"image-layer_img image__4rmea\" loading=\"eager\" data-photo-id=\"${$[2]}`, \"g\");\nconst still = rx1.exec($._);\nif (still) return(still[1]);\n\nconst rx2 = new RegExp(`data-photoId=\"${$[2]}\" data-gifSrc=\"([^\"]+)`, \"\");\nconst gif = rx2.exec($._);\nif (gif) return(gif[1]);\n\nreturn;","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#13\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2220#17\n\nПРИМЕРЫ\nhttps://ok.ru/kinofilmu/album/52319206834266?st._aid=Groups_Photo_Album_List_openAlbum&st._aid=GroupAlbumsList_Albums_OverTitle"},"REDDIT_gifs":{"link":"^redditgif/\\?(.+)","url":"//www.reddit.com/by_id/$1.json","res":":\n$=JSON.parse($._).data.children[0].data\nreturn [$.preview?.images[0].variants?.mp4?.source.url.replace(/.+/,'$&#mp4')||$.url, '[' + new Date($.created_utc*1e3).toLocaleString() + '] ' + $.title]","img":"^i\\.redd\\.it/[\\da-z]+\\.gif","loop":2,"to":":\nvar n = window.location.hostname.slice(-10) == 'reddit.com' && this.node\nif(!n) return $[0]\nif(n.matches('div.link a.thumbnail,div.link a.thumbnail>img, div.link a.title, div.link a.thumbnail.image')) {\n\twhile((n = n.parentNode) && !n.matches('div.link'));\n\tn=n.getAttribute('data-fullname')\n\tif(n)return '//redditgif/?'+n\n}\nreturn $[0]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1dmq1ks/comment/l9zjsnh\nOLD\nhttps://www.reddit.com/r/imagus/comments/zznk76/comment/j2ea0a9\n\n!!!\nIt will load a small .mp4 instead of the original .gif (~3 MB vs. ~50 MB for example above). Sieve uses the original gif if mp4 isn't available.\n\nEXAMPLES\nhttps://old.reddit.com/r/gifs/"},"Oldi.ru":{"link":"^(\\w+\\.)?oldi\\.ru/catalog/element/\\d+/$","res":":\nlet i = $._.indexOf('<div id=\"morephotosroot\"');\nif(i<0) { return null; }\nlet t = $._.indexOf(\"<table class='prod-menu'>\", i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /data-href=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1620#18\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=400#4\n\nПРИМЕРЫ\nhttps://ekb.oldi.ru/catalog/6569/\nhttps://rnd.oldi.ru/catalog/6569/\nhttps://www.oldi.ru/catalog/7984/"},"Olx.pl|Olx.ua-p":{"useimg":1,"link":"^(([^\\.]+\\.)?[^\\.]+\\.)?olx\\.\\w\\w\\/\\w?(\\/\\w+)?/(obyavlenie|oferta)\\/[^\\/]+\\.html(?:\\?.+)?","res":":\nlet jsonEnc=$._.match(/window.__PRERENDERED_STATE__= \"({.+})\";/)[1];\nlet json=JSON.parse(eval('\"'+jsonEnc+'\"'));\nlet res = [];\nfor (obj in json.ad.ad.photos) {\n res.push([json.ad.ad.photos[obj]]);\n}\nreturn res;\n","img":"^(olx(?:ua|by)-ring\\d+\\.akamaized\\.net/images_[^/]+/\\d+_\\d+)_\\d+x\\d+_([^/]+\\.(jpe?g|png|gif))$","to":"$1_1000x700_$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1800#5\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1000#17\n\n\n!!!\nКурсор наводить на область чуть ниже названия товара (вся карточка товара).\n+\nHover the cursor over the area just below the product name (the entire product card).\n\nПРИМЕРЫ\nhttps://www.olx.pl/oferty/?q=Enthoo\nhttps://www.olx.ua/list/?q=THX+AAA\nhttps://www.olx.ua/transport/pritsepy-doma-na-kolesah/kharkov/"},"Olx_pm-p":{"link":"^(?:slando\\.ua|olx\\.by|olx\\.ua)/attachment/attachments_.+\\.(jpe?g|png|gif)/$","note":"Rodny\n\nПРИМЕРЫ\nImages in personal messages"},"OM.cn":{"link":"^om\\.cn/md/\\w+\\.html","res":":\nlet i = $._.indexOf('<div class=\"swiper-wrapper\">');\nif(i<0) { return null; }\nlet t = $._.indexOf('<div class=\"thumbnail\"', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /<img src=\"([^?\"]+)\\?[^\"]+\" title=\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","note":"Baton34V\n\nEXAMPLES\nhttps://www.om.cn/models/model-17-170-0-1-0-0-0-2-0-0-0-1-0-0-0-0-0.html"},"Omegle_logs":{"link":"^logs\\.omegle\\.com/[\\da-f]+","res":"\"og:image\" content=\"([^\"]+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/k1zeaje\n\nEXAMPLES\nhttps://www.reddit.com/domain/logs.omegle.com/new/"},"OnlineTrade.ru":{"link":"^(www\\.)?onlinetrade\\.ru\\/catalogue\\/[a-z0-9_-]+\\/.+\\.html$","res":":\nvar i = $._.indexOf('productPage__displayedItem__images')\nif(i<0) {return null; }\nvar t = $._.indexOf('<div class=\"clear\"', i);\nif(t<0) {return null; }\nvar res = [];\nvar re = /<a href=\"https:\\/\\/static\\.onlinetrade\\.ru\\/img\\/items\\/\\w([^\"]+)\"/gi\ndata=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a){\n res.push(['https://static.onlinetrade.ru/img/items/b'+a[1]]);\n a = re.exec(data);\n}\ni = $._.indexOf('<div class=\"productPage__topReview__gallery')\nif(i<0) {return res; }\nt = $._.indexOf('<div class=\"swiper-pagination\">', i);\nif(t<0) {return res; }\nre = /<a href=\"([^\"]+)\"/gi\ndata=$._.substring(i,t);\na = re.exec(data);\nwhile(a){\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=640#7\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3260#6\n\n!!!\nЕсть подгрузка фото товара от пользователей (там где они есть).\n\nПРИМЕРЫ\nhttps://www.onlinetrade.ru/catalogue/smartfony-c13/\nhttps://www.onlinetrade.ru/catalogue/vodonagrevateli_nakopitelnye_elektricheskie-c306/ariston/"},"OpenDesktop":{"img":"^([^.]+\\.pling\\.com/)cache/[\\dx]+(?:-\\d)?/","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/k1zeaje\n\n!!!\nГалереи на данный момент не поддерживаются.\n==\nGalleries are not supported at the moment.\n\nEXAMPLES\nhttps://www.opendesktop.org/browse?cat=247&ord=latest\nhttps://www.opendesktop.org/browse?cat=105&ord=plinged"},"Orbi.kr":{"link":"^image\\.orbi\\.kr/\\d+","res":":\nif(/iframe\\s+width[^>]+src=\"/.test($._))return {loop:$._.match(/iframe\\s+width[^>]+src=\"([^\"]+)/)[1]}\nreturn JSON.parse($._.match(/<script type=\"application\\/ld\\+json\">[^{]+([^\\n]+)\\n/)?.[1]||'{}')['@graph']?.[2].image.flatMap(i=>!/\\/emoticons\\//.test(i.url)?[[i.url]]:[])||''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/17ga8mw/comment/k6j6uso\n\nEXAMPLES\nhttps://www.reddit.com/r/imagus/comments/17ga8mw/mlbpark_orbi_sieve/"},"Orsm_image-x":{"useimg":1,"link":"^orsm\\.net/i/(gallery/pictures/)?[\\da-z-]*~\\d+\\.html","res":":\nif($[1])return $._.match(/=\"bigimg\" src=['\"]([^'\"]+)/)[1]\nvar t = $._.match(/<h1>([^<]+)/), a = $._.match(/\\n\\s*<img src='[^']+/g)\nreturn a && a.map(function(x, i) {\n return [x.slice(x.lastIndexOf(\"'\") + 1).replace('/thumbnails/', '/'), !i && t&&t[1]]\n})","img":"^(prycless\\d*\\.orsm\\.net/[^/]+/)thumbnails(/.+)_jpg\\.jpe?g","to":"$1images$2.#jpg#","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1140#3\nOLD\nhttps://www.reddit.com/r/imagus/comments/jhd8nu/sieve_for_orsmnet/\n\nEXAMPLES\nhttp://prycless.orsm.net/prycless02.php"},"Orsm_video+gallery-x":{"link":"^(orsm\\.net/)v/(update2\\d{7}/[\\da-z-]+\\.mp4).*","to":"//grab.$1$2","note":"https://www.reddit.com/r/imagus/comments/jhd8nu/sieve_for_orsmnet/\n\nПРИМЕРЫ / EXAMPLES\nвидео (прокрутить вниз):\nhttps://www.orsm.net\nгалереи:\nhttps://www.orsm.net/i/"},"OSEN":{"img":"^(file\\.osen\\.co\\.kr/article/\\d{4}/\\d{2}/\\d{2}/(?![^.]+_\\d+x\\.)[^.]+)","to":"$1_1024x","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1ev1pos/comment/liomay8\n\n\nEXAMPLES\nhttps://www.osen.co.kr/article/G1112399096"},"Osinka.ru_club":{"img":"^(?:(pic\\.oscdn\\.net/pic/\\d+/)[a-z]|(images\\.osinka\\.net/\\d+/)c\\d+)$","to":":\nreturn $[1]?$[1]+'l':$[2]+'s1500'","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jxydqur\n\n\nПРИМЕРЫ\nhttps://club.osinka.ru/picture-546456?p=2418841\nhttps://club.osinka.ru/picture-169860?p=1135123\nhttps://club.osinka.ru/images.php?q=актуально&f=t&tid=19641&start=80\nhttps://club.osinka.ru/topic-77044-imgs"},"OSzone.net":{"link":"^(soft\\.oszone\\.net)/(?:screenshots|program)/(\\d+)/","img":"^(soft\\.oszone\\.net)/images/thumb/screenshot/\\?soft=(\\d+)$","to":"$1/images/screenshot/?soft=$2","note":"Rodny\n\nПРИМЕРЫ\nhttp://soft.oszone.net/subcat/53/?page=7"},"Otomoto.pl":{"link":"^otomoto\\.pl/[\\w-/]+\\.html","res":":\nlet m=[...$._.matchAll(/data-lazy=\"([^\"]+)/g)].map(i=>[i[1]])\nif(!m.length)m=JSON.parse($._.match(/id=\"__NEXT_DATA__\"[^{]+({.+?})<\\//)[1]).props?.pageProps.advert.images.photos.map(i=>[i.url])??''\nreturn m","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jv5cpmr\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1000#17\n\nEXAMPLES\nhttps://www.otomoto.pl/przyczepy\nhttps://www.otomoto.pl/motocykle-i-quady/bmw"},"Otzovik":{"useimg":1,"link":"^otzovik\\.com/review_\\d+.html$","res":":\nreturn [...$._.matchAll(/<img (?:class=\"?bigimg\"?\\s+)?src=\"([^\"]+)\"\\s+loading=\"lazy\"\\s+(?:alt=\"[^\"]*\"\\s+)?width/g)].map(i=>[['#'+i[1].replace(/\\.[a-z]{3,4}$/,'_b$&'),i[1]]])","img":"^(i\\d*\\.otzovik\\.com\\/\\d+\\/\\d\\d\\/\\d\\d\\/\\d+\\/img\\/\\w+?)(?:_t)?(\\.(?:jpe?g|png))","loop":2,"to":":\nconst n=this.node\nif(n.className===\"img-more\")return n.parentNode.href\nreturn `#${$[1]}_b${$[2]}\\n${$[1]}${$[2]}`","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lh2y7lv\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l3op0bk\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2020#21\n\nПРИМЕРЫ\nhttps://otzovik.com/reviews/elektronnaya_kniga_pocketbook_iq_701/gallery/\nhttps://otzovik.com/reviews/zhidkoe_hozyaystvennoe_milo_koroleva_yablon_altayskie_travi/"},"Overclockers.ru_blog":{"img":"^overclockers\\.ru\\/st\\/\\w\\/\\d+/-/legacy/blog/(\\d+/\\w+_\\w.\\w+)","to":"st.overclockers.ru/legacy/blog/$1","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1900#15\n\nПРИМЕРЫ\nhttps://overclockers.ru/blog/aggression/show/43515/msi-afterburner--chto-po-chem"},"Overclockers.ru_forum":{"link":"^(forums\\.overclockers\\.ru/(?:download|gallery)/(?:file|image)\\.php\\?(?:album_id=\\d+&)*(?:id=\\d+.+mode=view|image_id=\\d+))","img":"^(forums\\.overclockers\\.ru/download/file\\.php\\?id=\\d+)","to":"$1","note":"Rodny + Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=240#3\n\nПРИМЕРЫ\nhttps://forums.overclockers.ru/viewtopic.php?p=13676877#p13676877\nhttps://forums.overclockers.ru/viewtopic.php?p=14091976#p14091976"},"OZON.ru":{"link":"^(ozon\\.ru/(?:product/[\\w-]+|context/detail/id/\\d+))/.*?(?:\\?|$)","res":":\nconst r = []\ntry {\n if (!$[0].includes('/reviews')) {\n const doc = new DOMParser().parseFromString($._, \"text/html\");\n const title = doc.querySelector('title').textContent;\n\n // product images\n let data = JSON.parse(doc.querySelector('div[id^=\"state-webGallery-\"]').dataset.state);\n data.images?.forEach(i => r.push([i.src, i.alt || title]));\n data.videos?.forEach(v => r.push([v.url, v.name || title]));\n }\n\n // reviews images\n const rUrl = $[0].match(/^(.+?\\/product\\/[\\w-]+)(\\/|$)/)?.[1] + '/reviews/?sort=usefullness_desc';\n const x = new XMLHttpRequest;\n x.open('GET', rUrl, false);\n x.send();\n const data = JSON.parse(x.responseText?.match(/<div id=\"state-webListReviews.+?data-state='(.+?)'/i)[1]);\n\n data.reviews.forEach(f => {\n const c = f.content;\n [...c.photos||[], ...c.videos||[]].forEach(p => {\n const text = ['⭐' + c.score];\n if (c.comment) text.push(c.comment);\n if (c.positive) text.push('👍🏻 ' + c.positive);\n if (c.negative) text.push('👎🏻 ' + c.negative);\n if (f.createdAt) text.push(new Date(f.createdAt*1000).toISOString().substring(0,10))\n r.push([p.url, text.join(' | ')]);\n });\n });\n} catch (e) {\n console.error(e);\n}\n\nlet hasVideo = false;\nr.forEach(item => {\n if (item[0].endsWith('.m3u8')) {\n hasVideo = true;\n item[1] = `<imagus-extension type=\"videojs\" url=\"${item[0]}\"></imagus-extension>${item[1]}`;\n item[0] = '';\n }\n});\nif (hasVideo) {\n this.TRG.IMGS_ext_data = r;\n return { loop: 'imagus://extension' };\n}\n\nreturn r;","img":"((?:ir(?:-\\d)?|cdn\\d)\\.ozone\\.ru/s3/(rp-photo-\\d+|multimedia-\\w+|video[-\\d]*)/)(?:wc\\d+/)?(.+\\.jpe?g)","loop":2,"to":":\nif (!this.getImages_original) {\n this.getImages_original = this.getImages;\n this.getImages = (el) => this.getImages_original(el?.firstElementChild?.nodeName == 'IMG' ? el.firstElementChild: el);\n}\n\nif ($[2]?.startsWith('video')) {\n if (!$[2].includes('-')) $[2] += '-7';\n let id = /[0-9A-Z]{20,}/.exec($[0])[0];\n return `https://v.ozone.ru/vod/${$[2]}/${id}/master.m3u8`;\n} else {\n return $[1] + $[3];\n}","note":"hababr\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2560#4\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2480#7\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2238&limit=1&m=1#1\n\n\n!!!\nВ поисковой выдаче фильтр подгружает не только фото товара, но и фото/видео/отзывы сделанные покупателями.\n\n\nПРИМЕРЫ\nhttps://www.ozon.ru/category/noutbuki-15692/\nhttps://www.ozon.ru/search/?deny_category_prediction=true&from_global=true&text=Сетка+антимоскитная+на+дверь&product_id=263132888\nhttps://www.ozon.ru/category/stiralnyy-poroshok-14585/"},"Paixin":{"useimg":1,"link":"^v(\\.paixin.com/)photocopyright(/\\d+).*","url":"//api2$1medias/1$2","res":"\"image\":\"([^\"]+)\n\"title\":\"([^\"]+)\",\"description\":\"([^\"]+)","img":"^((?:(?:q-extra|gaga-ppt)\\.paixin\\.com|images\\.gaga\\.me|d\\d+\\.paixin\\.com/thumbs)/[^?]+).*","to":"$1","note":"https://www.reddit.com/r/imagus/comments/h7nnjx/comment/fumyqkz\n\n\nEXAMPLES\nhttps://www.paixin.com/albums/pic/detail/943/1\nhttps://www.paixin.com/media/photo/standard/%E7%A7%8B%E5%AD%A3%E8%83%8C%E6%99%AF/1"},"Parovoz":{"link":"parovoz\\.com\\/newgallery\\/pg_view.php\\?ID=\\d+","res":"<img src='([^\"]+)' border='1'>","img":"(parovoz\\.com\\/gallery)\\/icons(\\/[A-Z0-9]+\\/.*)-s(\\.jpg)","to":"$1$2$3","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#19\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1020#9\n\nПРИМЕРЫ\nhttps://parovoz.com/newgallery/index.php?CATEG=-1\nhttps://www.parovoz.com/newgallery/index.php?CATEG=-1\nhttps://parovoz.com/newgallery/pg_blog.php?FROM=25&LNG=®ION=RU22\n+\n(ссылки на фото в комментариях (черные стрелки) / links to photos in the comments (black arrows))\nhttps://parovoz.com/newgallery/pg_blog.php?FROM=650&LNG=®ION=RU22"},"Pasteboard":{"link":"pasteboard\\.co\\/\\w+\\.(?:jpe?g|a?png|gif|tiff)","res":"data-src=\"([^\"]+)\"","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2120#8\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/pasteboard.co/new/"},"Paste.pics":{"useimg":1,"link":"^(?:[a-z]{2}\\.)?paste(?:now)?\\.(?:pics|ru)/(\\w+).*","img":"^i\\d+?\\.paste\\.pics/(\\w+)\\..+","to":"//i.paste.pics/$1.#png jpg#","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/kd6jo2n\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=720#15\n\nПРИМЕРЫ\nhttps://www.reddit.com/domain/paste.pics/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"PBase":{"link":"^(pbase\\.com/)(?:[^/]+/)?image(/\\d+).*","res":"imgurl=\"([^\"]+)\" imgx=\"\\d+\" imgy=\"\\d+\" imgsize=\"original\"","img":"^m\\d\\.i\\.(pbase\\.com/).+(/\\d+).*","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#13\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3360\n\nEXAMPLES\nhttps://pbase.com/joshcruzphotos/my_country\nhttps://pbase.com/carol202/london_day_3"},"Pepper.ru":{"link":"^pepper\\.ru/[a-z]+/[\\w-]+$","res":":\nreturn JSON.parse($._.match(/window.__INITIAL_STATE__\\s*=\\s*(.+?);\\n/)[1]).threadDetail.galleryImages.map(i=>['//static.pepper.ru/'+i.path+'/'+i.name+'.jpg'])","img":"^(static\\.pepper\\.ru/threads/raw/\\w+/[\\d_]+)/re/\\d+x\\d+","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1akz6th/comment/kpbqh6b\n\n\n!!!\nКурсор наводить на название товара.\n\n\nПРИМЕРЫ\nhttps://www.pepper.ru/new\nhttps://www.pepper.ru/groups/phones\nhttps://www.pepper.ru/search?q=samsung"},"Perekrestok.ru":{"link":"^perekrestok\\.ru/cat/\\d+/\\w/[\\w-]+-\\d+$","res":":\n\nconst res = [];\nconst data = JSON.parse(/window\\.__INITIAL_STATE__\\s*=\\s*({.+})/.exec($._)[1]);\nconst images = data.catalog.productData[Object.keys(data.catalog.productData)[0]].images;\nfor (img of images) {\n res.push([img.cropUrlTemplate.replace('%s','1600x1600-fit')]);\n}\nreturn res;","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1940#9\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=400#6\n\n\nПРИМЕРЫ\nhttps://www.perekrestok.ru/cat/search?search=мороженое\nhttps://www.perekrestok.ru/cat/c/75/rybnye-konservy"},"Performance-PCs-p":{"link":"^performance-pcs\\.com/(?:catalog/product/view/id/|[^/]+/[^.]+\\.html$)","res":":\n$=JSON.parse($._.match(/{\"\\[data-gallery-[^<]+/)?.[0]||'{}')['[data-gallery-role=gallery-placeholder]']?.['mage/gallery/gallery'].data||[];\nreturn $.map(i=>[i.full])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lgkwer7\nOLD\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jyduj9s\n\n\nEXAMPLES\nhttps://www.performance-pcs.com/search/logisys?p=4\nhttps://www.performance-pcs.com/chassis/midtower-chassis.html?p=3\nhttps://www.performance-pcs.com/system-hardware/motherboards.html?brand=3340"},"Phica.eu-x-b":{"img":"^phica\\.eu/forums/attachments/[^/]+jpg\\.\\d+/","to":"$&","note":"https://www.reddit.com/r/imagus/comments/c4hnv6/comment/es0qn42\n\nEXAMPLES\nhttps://www.phica.eu/forums/media/page-4\nhttps://www.phica.eu/forums/media/categories/coppie.9/"},"PhoneArena":{"link":"^phoenarenaalbum/(.+)","url":"data:,$1","res":":\nreturn $[1].split(\"!\").map(i=>[i])","img":"^([mi]-cdn\\.phonearena\\.com/images/)(?:((?:article|review)s/\\d+-)(?:gallery|image|\\d+)|(review/\\d+-[^_]+)_\\w+)(/[^/]+\\.(?:jpe?g|gif|png|webp))(?:\\?.+|$)","loop":2,"to":":\nlet n=this.node;\nn=$[2]&&n.srcset&&[...this.node.parentElement?.parentElement?.parentElement?.parentElement?.parentElement?.lastElementChild?.lastElementChild?.firstElementChild.children||[]].map(i=>i.firstElementChild.src?.replace(/-\\d+/,'-image')).join(\"!\");\nreturn n?.length?'phoenarenaalbum/'+n:$[2]?`//${$[1]}${$[2]}image${$[4]}`:'//'+$[1]+$[3]+$[4]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kuu2fo0\n\nEXAMPLES\nhttps://www.phonearena.com/reviews/galaxy-tab-s9-review_id5887\nhttps://www.phonearena.com/reviews/iphone-14-vs-galaxy-z-flip-4_id5509"},"Photo.Sibnet.ru":{"useimg":1,"link":"^((photo\\.sibnet\\.ru)/(?:alb\\d+/(?:(?=[^\\w])|$)|(\\w+/ft\\d+)))","res":":\nconst full_album = false // If false, usually only shows up to 60 images but loads faster. If true, shows full album but loads more slowly.\n\nif($[3])return [[$._.match(/class=\"original\"><a href=\"([^\"]+)/)].map(i=>['#//'+$[2]+i[1],'//'+$[2]+i[1].replace('great','big')])]\nif(!this.imgNum)this.imgNum=parseInt($._.match(/Фото <\\/span>(\\d+)/)[1])\nif(!this.albumArray)this.albumArray=[]\nif(!this.pageNum)this.pageNum=1\nthis.pageNum++\nthis.albumArray.push(...[...$._.matchAll(/<img src=\"(\\/upload\\/[^\"]+)\"\\s+title=/g)].map(i=>[['#//'+$[2]+i[1].replace(/(img)[^\\/]*/,'$1great'),'//'+$[2]+i[1].replace(/(img)[^\\/]*/,'$1big')]]))\nif(this.albumArray.length<imgNum&&this.pageNum<=(full_album?5:this.imgNum/12))return {loop:'//'+$[1]+'&page='+this.pageNum}\nreturn (()=>{let m=this.albumArray;delete this.albumArray;delete this.pageNum;delete this.imgNum;return m})()","img":"^([a-z]*photo\\.sibnet\\.ru/upload/img)[^/]*","to":"#$1great\n$1big","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/kd6jo2n\n\n\nПРИМЕРЫ\nhttps://photo.sibnet.ru/mixed/\nhttps://photo.sibnet.ru/alb53715/\n+\n(внешние ссылки)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Photo-Forum.net":{"img":"^(photo-forum\\.net/)(?:static/)?(?:site|imgs)_thumbs[^/]*/(.+)","to":"//$1static/site_pics/$2","note":"EXAMPLES\nhttps://www.reddit.com/domain/photo-forum.net/new/\nhttps://photo-forum.net/en/index.php?APP_ACTION=GALLERY_RAITING&MONTH=1&YEAR=2023&PERIOD=0&CATEGORY_ID=43&offset=48"},"Photo-Screen.ru":{"link":"photo-screen\\.ru/i/\\w+/?$","res":"id='screenshot' src='([^']+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jnrcrmb\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Photo.net":{"link":"^photo\\.net/photo(?:db/photo\\?photo_id=|/)(\\d+).*","img":"^(?:d6d2h4gfvy8t8\\.cloudfront\\.net|thumbs\\.photo\\.net/photo)/(\\d+)-sm.+","to":"//d6d2h4gfvy8t8.cloudfront.net/$1-#orig lg#.jpg","note":"EXAMPLES\nhttps://www.photo.net/search/?q=yellow&quick=1\nhttps://www.photo.net/gallery/category/4-architecture/?page=4\nhttps://www.photo.net/gallery/category/3-animal/?page=5"},"Photo.I.ua-p":{"link":"photo\\.i\\.ua\\/(?:user|channel)\\/(?:\\d+\\/)*","res":":\nvar i = $._.indexOf('<div class=\"block_gamma_bg image_viewer');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"viewer_toolbar clear\">', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /bsrc=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nif (a == null) {\n re = /src=\"([^\"]+)\"/gi\n a = re.exec(data);\n}\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1600#9\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1540#12\n\nПРИМЕРЫ\nhttps://photo.i.ua/user/829348/259729/\nhttps://photo.i.ua/user/829348/99304/"},"Photoforum.ru":{"img":"^(photoforum\\.ru/f/p(?:hoto|ortr))\\.(?:50|75|th(?:sq)?)(/\\d{3}/\\d{3}/\\d+_\\d+)(?:\\.th(?:sq)?)?","to":"$1$2","note":"ПРИМЕРЫ\nhttps://www.photoforum.ru/photos.0.0.0.0.0.0.0.award.desc.y.2024.0.0.0.0.0.1.ru.html\nhttps://www.photoforum.ru/photos.0.0.35.0.0.0.0.award.desc.y.0.0.0.0.0.0.1.ru.html"},"Photosex.biz-x":{"link":"^(photosex\\.biz/)v\\.php\\?id=([a-f0-9]+)","img":"^(photosex\\.biz/)imager/w_\\d+/h_\\d+/([a-f0-9]+).+","to":"//$1pic_b/$2.jpg","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l3eoqqd\n\n!!!\nДля работы фильтра требуется правило SMH (см.ЧаВо, п.12).\n==\nThe SMH rule is required for the sieve to work (see FAQ, p.12).\n\nПРИМЕРЫ / EXAMPLES\nhttps://vipergirls.to/threads/10698933-Sweater-Bound\nhttps://vipergirls.to/threads/6666911-DominatedGirls-Julia-Hunter-The-Training-Part-2\nhttps://vipergirls.to/threads/10698931-Elena-Vega-Raw-Ass-Fuck"},"PhotoZou.jp":{"img":"^((?:kura|art)\\d+\\.photozou\\.jp/pub/\\d+/\\d+/photo/\\d+).*\\.","to":"$1_org.","note":"EXAMPLES\nhttp://photozou.jp/photo/pickup\nhttp://photozou.jp/photo/tagged/pub/%B2%D6%B2%D0"},"Pic.Maxiol":{"link":"(pic\\.maxiol\\.com/)\\?v=([^&]+)&?.*","img":"(pic\\.maxiol\\.com/)\\?v=([^&]+)&?.*","to":"$1images2/$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Pic4a.ru":{"link":"^pic4a\\.ru\\/[\\w-]{4}\\/?$","res":"<a class=\"a_img\" href=\"(https?:\\/\\/pic4a\\.ru\\/\\w+\\/[\\w-]+\\.\\w+)\">","img":"^(pic4a\\.ru\\/\\d+\\/[\\w-]+)_scale_150x150\\.(jpe?g|png|bmp|gif)$","to":"$1# .jpg .png .bmp .jpeg .gif#","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1080#20\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=62&topic=31146&start=1340#6"},"PicturePush":{"link":"^(?:[\\w-]+\\.)?picturepush\\.com/(?:\\+\\w+|album/\\d+/\\d+/[\\w-]+/.+\\.html$)","res":"<(?:img class=\"photo\"|source) src=\"([^\"]+)","img":"^((?:www\\d?\\.)?picturepush\\.com/photo/\\w/\\d+/)(?!img)[^/]+(/[^?]+).*","to":"$1640$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l9fjg9m\n\nEXAMPLES\nhttps://picturepush.com/explore\nhttps://polonus.picturepush.com/album/46654/p-Rodzina%2C-dom.html\n+\nвидео / video\nhttps://picturepush.com/updated\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Pic-Upload.de":{"link":"^pic-upload\\.de/view-\\d+","res":"' src='([^']+)","note":"EXAMPLES\nhttps://www.reddit.com/domain/pic-upload.de/new/"},"Picbit":{"link":"picbit\\.net/view/[^.]+\\.jpg","res":"<p><a href=\"(/image/[^\"]+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nПРИМЕРЫ\nhttps://picbit.net/gallery/21112011/page/11"},"Picabox.ru":{"link":"picabox\\.ru/pic/\\d+","res":"<meta property=\"og:image\" content=\"([^\"]+)\"","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3560#13\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3560#11"},"PicCash":{"link":"(^piccash\\.net/\\d+/\\d+/$)","url":"$1/1","res":":\nvar res=[];\nvar m1=$._.match(/id=\"pcash-click-zoom-pic\"><img src=\"(\\/allpics\\/\\d+\\/\\d+-\\d+\\/img_)thumb(\\/\\d+)-thumb(\\.\\w+)\">/);\n console.log('1');\n console.log(m1);\nif (m1!=null) {res.push(['https://piccash.net'+m1[1]+'full'+m1[2]+m1[3]]);}\nelse {\n console.log('2');\n m1=$._.match(/<div class=\"pcash-pic-full\">\\s*<img src=\"([^\"]+)\">/);\n console.log(m1);\n res.push(['https://piccash.net'+m1[1]]);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=260#7\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3800#10\n\n\nПРИМЕРЫ\nhttps://piccash.net/photos"},"picforall.ru":{"useimg":1,"link":"^((?:picforall|imgclick|picclick|freescreens)\\.ru/\\d+/\\d+).*","url":"$1/1/","res":"<img src=\"(http://(?:s\\d+\\.)?(?:picforall|imgclick|picclick|freescreens)\\.ru/allimage/[^\"]+)","img":"^((?:s\\d+\\.)?(?:picforall|imgclick|picclick|freescreens)\\.ru/allimage/[^.]+)-thumb","to":"$1","note":"maslorez\nhttps://www.reddit.com/r/imagus/comments/4uiddm/rule_picforallru/\n\nПРИМЕРЫ\nhttp://pornolab.net/forum/viewtopic.php?t=2645304\nhttp://pornolab.net/forum/viewtopic.php?t=2644662"},"Picrew.me":{"link":"^picrew\\.me/(?:share\\?cd=\\w+|[a-z]{2}/image_maker/\\d+)","res":"(?:<img src|\"og:image\" content)=\"([^\"]+)\n\"\\s+alt=\"([^\"]+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jtd4cv9\n\nEXAMPLES\nhttps://www.reddit.com/domain/picrew.me/new/\nhttps://picrew.me/en/search?q%3At=girl&s%3At=2&page=4"},"PicState":{"link":"^picstate\\.com/view/full/\\d+","res":"<img\\s+src=\"([^\"]+)\"\\s+alt=\"","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/k0jqmfs\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"PictureShack.ru":{"link":"^(pictureshack\\.ru/)(view_)([^/]+\\.)(jpe?g|a?png|gif|svgz?|webp|w?bmp|xbm|pict|j(?:if|fif?))\\.html$","ci":1,"to":"$1images/$3$4","note":"Rodny\n\n!!!\nЗагрузка картинок не работает (на 01-2022).\n\n\nПРИМЕРЫ\nhttp://www.pictureshack.ru/gallery0.htm\nhttps://www.reddit.com/domain/pictureshack.ru/new/"},"Pikabu.ru":{"useimg":1,"link":"^pikabu\\.ru/(?:story|view)/.+","res":":\nreturn [...$._.matchAll(/\"application\\/ld\\+json\">({.+?contentUrl.+?})<\\/script>/g)].map(i=>[JSON.parse(i[1]).contentUrl])","img":"^(?:(c?s(?:\\d+)?\\.pikabu\\.ru/(post_img|video)/)(\\d{4}/\\d{2}/\\d{2}/\\d+(?:/[0-9_]+|(?:_[a-f0-9]+)?_\\d+x\\d+))(\\.(?:jpe?g|png|gif|bmp|webp))|(blob:https://pikabu\\.ru/[a-f0-9]+).*)","to":":\nlet n=$[2]!=='post_img'&&this.node.parentNode;\nif($[5])n=n.offsetParent;\nn=n&&(n?.getAttribute('data-webm')||(n?.getAttribute('data-source')+'.mp4'));\nreturn n||$[1]+$[3]+'.gif\\n'+$[1]+'big/'+$[3]+'.jpg\\n'+$[1]+'big/'+$[3]+$[4]+'\\n'+$[1]+$[3]+$[4]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l8zk57t\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1700#20\n\n!!!\nВидео работает на внешних ссылках и частично - на самом сайте.\n\n\nПРИМЕРЫ\nhttps://pikabu.ru/tag/Зима/hot?page=3\nhttps://pikabu.ru/story/menyaem_vzglyad_na_sozdanie_postov_3815560\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Pikky":{"link":"(pikky\\.net/\\w+)/?$","img":"(pikky\\.net/\\w+)/?$","to":"$1.#jpg png#","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"PimpAndHost-x-p":{"link":"^(pimpandhost\\.com/image/\\d+).*","url":"$1?size=original","res":"=\"original\" src=\"([^\"]+)","img":"^(ist\\d-\\d\\.filesor\\.com/pimpandhost\\.com/[^?#]+)_[0sml]\\.","to":"$1.","note":"https://www.reddit.com/r/imagus/comments/i6t97f/request_pimpandhost/\n\nПРИМЕРЫ / EXAMPLES\nhttps://pimpandhost.com/s/gif?page=4&per-page=16\nhttps://www.reddit.com/domain/pimpandhost.com/new/"},"Pingvinus.ru":{"img":"^(pingvinus\\.ru/cr_images/userpicture)/s/(.+)","to":"$1/n/$2","note":"Egorart\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1900#8\n\n\nПРИМЕРЫ\nhttps://pingvinus.ru/\n(для \"скриншот от пользователя\")."},"PINTEREST":{"useimg":1,"link":"^(?:[a-z]{2}\\.)?pinterest(?:\\.[a-z]{2,3}){1,2}/pin/[\\w-]+/$","ci":3,"loop":3,"res":":\nconst res = [];\nconst data = JSON.parse(/<script id=\"__PWS_DATA__\"[^>]*>({.+?)<\\s*\\/\\s*script/.exec($._)[1]);\nconst pins = data.props.initialReduxState.pins;\nfor (const pin of Object.values(pins)) {\n let url;\n if (pin.videos) {\n const list = pin.videos.video_list || {};\n url = (list.V_1080P || list.V_720P || list.V_HLSV4)?.url;\n }\n\n if (!url) {\n url = pin.image_medium_url.replace(/\\/\\d+x\\//, '/736x/');\n }\n\n if (url) {\n res.push([url, pin.rich_metadata?.description?.trim() || pin.description.trim() || pin.closeup_description]);;\n }\n}\n\nreturn res;\n","img":"^((?:i|(?:s-)?media-c(?:dn|ache\\D*)\\d*)\\.pin(?:terest|img)\\.com/)(?:(upload/\\d+_[^\\W_]{8})_[bft]|(?!550)\\d+x?\\d*(?:_[^/]+)?/|(avatars/[^.]+[_-]\\d+)(?:_(?!600)[^.]+)?(?=\\.))(.*)","to":":\n// check if this is a video pin\nconst pin = this.TRG.closest('[data-test-id=\"pin\"]');\nif (pin?.querySelector('[data-test-id^=\"pincard-video\"], [data-test-id=\"pinrep-video\"]')) {\n return `https://ru.pinterest.com/pin/${pin.dataset.testPinId}/`\n}\n\nif($[1]) return $[1] + ($[2] ? $[2] : ($[3] ? $[3].replace(/(\\d+)_\\d+$/, '$1') + '_600' : '#originals 736x 564x#/' + $[4]))\nvar n=this.node, p=document.evaluate('./ancestor::a[starts-with(@href,\"/pin/\")]//img[contains(@src,\"pinimg.com\")]',n,null,9,null).singleNodeValue\np=p?this.find({src: p.src, IMGS_TRG: n}):''\nreturn (Array.isArray(p) ? p.join('\\n') : (p === null ? 'null' : p)) || ''","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2000#14\n\nEXAMPLES\nhttps://www.reddit.com/domain/pinterest.com/new/\nhttps://ru.pinterest.com/sadlovernovels/cars/\nhttps://ru.pinterest.com/search/pins/?q=cackes&rs=typed\nhttps://ru.pinterest.com/search/videos/?q=cars&rs=filter"},"PixAI.art":{"useimg":1,"link":"^pixai\\.art/artwork/\\d+","res":":\nreturn $._.match(/\"og:image\" content=\"([^\"]+)/)?.[1].replace(/(?:still)?[Tt]humb/,'orig')||''","img":"^(images-ng\\.pixai\\.art/images/)(?:still)?[Tt]humb/","to":"$1orig/","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1eofgnc/comment/lheqwy9\nOLD\nhttps://www.reddit.com/r/imagus/comments/15dz344/comment/jubjesu\n\n!!!\nThe pictures in the author's profile cannot be enlarged\nhttps://pixai.art/@captainlucky-20?before=gaJpZNcAFsmqBjOTw3E%3D\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://pixai.art/artwork/tags/anigma\nhttps://pixai.art/search?q=green&sort=random\nhttps://pixai.art/@user-1742804010542902127/artworks"},"PiXhost.to-x":{"useimg":1,"link":"^(pixhost\\.)(?:to|org)(/(?:gallery|show)/(?:\\d+/|\\w+))","url":"$1to$2","res":":\nreturn /\\/gallery\\//.test($[2])?[...$._.matchAll(/img\\s+src=\"(htt[^t]+)t(.+?)thumb([^\"]+)/g)].map(i=>[i[1]+'img'+i[2]+'image'+i[3]]):($._.match(/=\"image-img\" src=\"([^\"]+)/)||[,''])[1]","img":"^(?:t|img)(\\d+\\.pixhost\\.)(?:to|org)/(?:image|thumb)(s/.+)","to":"img$1to/image$2","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jspp9q8\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/pixhost.to/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1369&limit=1&m=1#1"},"PIXIV-x-q-p":{"link":"^(pixiv\\.net/)(?:(?:\\w\\w/)?artworks/|member_illust\\.php\\?mode=(?:[^&]+&)+?illust_id=)(\\d+).*","url":"$1ajax/illust/$2","res":":\nconst low_resolution_first = false // Set to true to show 1200px image first. Press TAB to switch to full size image.\n\n$=JSON.parse($._)\nif($.error)return !1\nvar i=0,r=[],l=low_resolution_first,$=$.body\nfor(;i<$.pageCount;++i) r.push([[(!l?'#':'')+$.urls.original.replace('_p0', '_p' + i),(!l?'':'#')+$.urls.regular.replace('_p0', '_p' + i)]])\nr[0][1] = '['+$.title+' by ' + $.userName + ' | ' + new Date($.uploadDate).toLocaleString() + '] ' + $.description\nreturn r","img":"^i(?:\\d\\.pixiv|\\.pximg)\\.net/(?:c/\\d+x\\d+[\\d_a-z]*/)?(user-profile|img-master)(/img/\\d\\d(?:\\d\\d/){6}\\d+_[^_]+)_[^.]+(\\.\\w+).*","to":":\nvar i=$[1][0]=='i'\nreturn '//i.pximg.net/' + (i ? 'img-original' : $[1]) + $[2] + (i && $[3]=='.jpg' ? '.#jpg png gif#' : $[3])","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l7hxp8k\n\n!!!\n- Есть возможность включить по умолчанию загрузку изображений среднего качества (для тех у кого медленное соединение или прокси): const low_resolution_first = true\n- Клавиша TAB также переключает качество изображения во всплывающем окне Имагус.\n- Для показа внешних ссылок необходимо правило для SMH (см.ЧаВо, п.12).\n- NB! В настоящее время есть проблемы с сохранением контента при использовании хоткея, рекомендуется использовать контекстное меню или сохранение перетаскиванием (зависит от браузера или стороннего расширения).\n==\n- There is an option to enable loading of medium quality images by default (for those with slow connections or proxies):\nconst low_resolution_first = true\n- The TAB key also toggles the image quality in the Imagus popup.\n- To show external links, you need a rule for SMH (see FAQ, p.12).\n- NB! Currently there are problems with saving content when using hotkeys, it is recommended to use context menu or drag and drop saving (depends on browser or third party extension).\n\nEXAMPLES\nhttps://www.reddit.com/domain/pixiv.net/new\nhttps://www.pixiv.net/en/tags/少女/artworks\nhttps://www.pixiv.net/en/users/41106591"},"Pixnet":{"img":"^(?:pic|s\\d?)(\\.pimg\\.tw/)(?:album/)?([^/]+)/(?:element/\\d+_)?([^/_]+)(?:/[^/]+/)?(?:_[nbstq]|\\d+x\\d+).+","to":"#pic$1$2/$3.#jpg png#\npic$1$2/$3_b.#jpg png#","note":"EXAMPLES\nhttps://www.pixnet.net/blog/articles/group/9/hot/4\nhttps://www.pixnet.net/blog/articles/group/2\nhttps://chill-tainan2022.events.pixnet.net"},"Pixnet-proxy":{"img":"^imageproxy\\.pimg\\.tw/zoomcrop\\?url=([^&]+).*","dc":2,"loop":2,"to":"$1"},"PlayGround.ru":{"link":"^playground\\.ru/\\w+/\\w+/\\w+-\\d+$","res":"<meta property=\"og:image\" content=\"([^\\?]+)\\?","img":"^(i\\.playground\\.ru/i/(?:pix|screenshot)/\\d+/[\\w_]+\\.\\w+)\\?\\d+x\\d+$","to":"$1","note":"Rodny + Baton34V(fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=580#13\n\nПРИМЕРЫ\nhttps://www.playground.ru/gallery/star_wars_the_old_republic/\nhttps://www.playground.ru/elden_ring/humor\nhttps://pix.playground.ru/resident_evil_revelations_2/"},"Plvideo.ru":{"link":"^plvideo\\.ru/(?:shorts/|watch\\?v=)([\\w-]{12}).*","url":"//api.g1.plvideo.ru/v1/videos/$1?Aud=16","res":":\n$=JSON.parse($._).item;\nif(!$)return null;\nconst t=[$.title,$.channel.name,new Date($.createdAt).toLocaleString('ru-RU'),$.description].filter(Boolean).join(\" | \");\n$=Object.entries($.profiles).sort((a,b)=>parseInt(b[0])-parseInt(a[0]))[0][1].hls+'#.m3u8';// '#.m3u8' needed for media to be recognized as HLS.\nthis.TRG.IMGS_ext_data = [ '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"360\"></svg>', `<imagus-extension type=\"videojs\" url=\"${$}\"></imagus-extension>${t}` ];\nreturn {loop:'imagus://extension'}","img":"^blob:https://plvideo\\.ru/[a-f0-9-]+$","loop":2,"to":":\n$=this.node.closest('[data-video-id]')?.getAttribute('data-video-id');\nreturn $ ? '//plvideo.ru/watch?v='+$ : ''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lfbuo3g\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Porn.com-x-p-b":{"link":"^(?:[a-z]*\\.)?porn.com\\/videos\\/.+","res":"url:\"([^\"]+)","note":"DracoSerge\nhttps://www.reddit.com/r/imagus/comments/150zrnk/nsfw_i_want_to_share_sieves_some_i_made_and_some/\n\n\nEXAMPLES\nhttps://www.porn.com/search?sq=elsa\nhttps://www.porn.com/stepsister\nhttps://www.porn.com/brunette-porn?pg=5"},"Porn3dx-x":{"link":"^porn3dx\\.com/post/\\d+/[\\w-]+","res":":\nreturn JSON.parse($._.match(/<script type=\"application\\/ld\\+json\">([^<]+)/)?.[1]||'{}')?.image?.map(i=>[i])","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ldqyz6y\n\n!!!\nVideos on Porn3dx have a format that can't be played.\n\n\nEXAMPLES\nhttps://porn3dx.com/"},"PornBox-x-q":{"link":"^pornbox\\.com/application/watch-page/(\\d+)","url":"pornbox.com/contents/$1","res":":\nmax_resolution = 1080;\n\nlet medias\ntry { medias = JSON.parse($._)?.medias || []; } catch (e) { return; }\nconst mediaId = medias.find(a => a.title === \"Trailer\")?.media_id;\nif (!mediaId) return;\n\nconst req = new XMLHttpRequest();\nreq.open('GET', `https://pornbox.com/media/${mediaId}/stream`, false);\nreq.send();\nif (req.status !== 200) return;\n\nlet streams;\ntry { streams = JSON.parse(req.responseText).qualities; } catch (e) { return; }\n\nconst res_map = { '1080p': 1080, hd: 720, vga: 480, web: 240 };\nconst trailers = streams\n .map(a => ({ res: res_map[a.quality], url: a.src }))\n .filter(a => a.res <= max_resolution)\n .sort((a, b) => a.res - b.res);\n\nreturn trailers.pop()?.url || null;\n","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3780#21\n\n!!!\nChange max_resolution to your max preferred resolution.\ne.g.\n1080 will result in 1080p video\n900 will result in 720p video\n\nEXAMPLES\nhttps://pornbox.com/application/model/3666\nhttps://pornbox.com/application/store/recommended"},"PornHub_albums-x-p":{"link":"^([a-z]{2}\\.)?pornhub\\.com/album/\\d+","res":":\nlet res = []\nlet u = [...$._.matchAll(/<a href=\"\\/(photo\\/[^\"]+)/g)].map(i=>i[1])\nconst x = new XMLHttpRequest()\nfor(i=0;i<u.length;i++){\nx.open('Get','https://'+($[1] ? $[1] : 'www.')+'pornhub.com/'+u[i],false)\nx.send()\nlet t = x.responseText\nres.push([t.match(/=\"twitter:image:src\" content=\"([^\"]+)/)[1]])\n}\nreturn res","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/14vub0r/comment/jrnf3hj\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1600#8\nhttps://www.reddit.com/r/imagus/comments/c9zlcm/rules_request/\n\n!!!\n- В РФ нужен качественный прокси.\n- При загрузке альбомов могут быть временные \"зависания\" или \"заморозка\" (спиннер перестает вращаться), это нормально, через несколько секунд фильтр начинает работать.\n==\n- When loading albums there may be temporary \"hangs\" or \"freezes\" (the spinner stops spinning), this is normal, after a few seconds the sieve starts working.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.pornhub.com/albums/female-straight-uncategorized?search=teen+18\nhttps://www.pornhub.com/albums/female-straight-uncategorized?search=hentai&page=3"},"PornHub_images-x-p":{"link":"^(?:[a-z]{2}\\.)?pornhub\\.com/photo/\\d+","res":"=\"twitter:image:src\" content=\"([^\"]+)\n=\"caption_text\"[^>]+=\"([^\"]+)","note":"RetroRocket (fix)\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1600#8\nOLD\nhttps://www.reddit.com/r/imagus/comments/c9zlcm/rules_request/\n\n!!!\nВ РФ нужен качественный прокси.\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.pornhub.com/album/28127691\nhttps://www.pornhub.com/album/24024772"},"PornHub_video-x-p":{"link":"^(?:[a-z]{2}\\.)?pornhub\\.com/(?:view_video\\.php\\?viewkey=\\w+|video/get_media)","res":":\nconst max_resolution = 2160\nconst low_resolution_first = true\n\nif($._[0]!=='[')return {loop:JSON.parse($._.match(/var flashvars_\\d+\\s*=\\s*({.+?});/)[1]).mediaDefinitions.find(i=>i.format==='mp4').videoUrl}\n$=JSON.parse($._).filter(i=>i.quality<=max_resolution)\nreturn [[[(!low_resolution_first?'#':'')+$.pop().videoUrl,(!low_resolution_first?'':'#')+$[Math.floor($.length/2)]?.videoUrl]]]","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/14vub0r/comment/k34a3da\nOLD\nhttps://www.reddit.com/r/imagus/comments/14vub0r/comment/jrst95g\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3800#8\n\n\n!!!\nВ РФ нужен прокси (и желательно качественный). Курсор лучше наводить на название ролика.\nПереключение качества контента:\nconst low_resolution_first = false (false - более низкое качество выключено, true - более низкое качество включено).\n==\nIt is better to hover the cursor over the name of the video.\nSwitching content quality:\nconst low_resolution_first = false (false - lower quality is disabled, true - lower quality is enabled).\n\n\nEXAMPLES\nhttps://www.pornhub.com/video?c=492\nhttps://www.pornhub.com/pornstar/lana-rhoades\nhttps://www.pornhub.com/channels/mylf"},"PornHub_video_embed-x-p":{"off":1,"link":"^(?:[a-z]{2}\\.)?pornhub\\.com/(view_video\\.php\\?viewkey=(\\w+)|video/get_media)","url":": $[1][2]==='e'?'https://www.pornhub.com/embed/'+$[2]:$[0]","res":":\nif($._[0]!=='[')return {loop:$._.match(/\"mp4\",\"videoUrl\":\"([^\"]+)/)[1].replace(/\\\\/g,'')}\nreturn JSON.parse($._)[0].videoUrl","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/14vub0r/comment/k0x2yh4\n\n!!!\nЭто альтернативный фильтр для PornHub (по умолчанию выключен). Если у пользователя возникли проблемы с основным правилом (PornHub_video-x-p), можно использовать его. \n+\nКурсор лучше наводить на название ролика.\n==\nThis is an alternative rule for PornHub (disabled by default). If the user has problems with the basic rule (PornHub_video-x-p), you can use it.\n+\nIt is better to hover the cursor over the name of the video.\n\n\nEXAMPLES\nhttps://www.pornhub.com/video?c=492\nhttps://pornhub.com/view_video.php?viewkey=646473788a36e\nhttps://www.pornhub.com/model/throatterroristxx\nhttps://rt.pornhub.com/channels/mylf"},"PornWorld_trailer-x-q":{"link":"^pornworld.com/watch/\\d+/.+","res":":\nconst max_resolution = 1080;\n\nconst re = /source src=\"(?<url>.+?mp4.*?)\" size=\\\"(?<res>\\d+)\"/g\nconst mp4s = Array.from($._.matchAll(re))\n .map(a => ({ res: Number(a.groups.res), url: a.groups.url }))\n .filter(a => a.res <= max_resolution)\n .sort((a, b) => a.res - b.res);\n\nreturn mp4s.pop()?.url || null;\n","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3780#21\nOLD:\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#15\n\n!!!\nChange max_resolution to your max preferred resolution.\ne.g.\n1080 will result in 1080p video\n900 will result in 720p video"},"Positronica.ru":{"link":"^positronica\\.ru/product/.+","res":":\nvar i = $._.indexOf('<div class=\"detail-gallery__slide swiper-slide\">')\nif(!i) { return null; }\nvar t = $._.indexOf('<button class=', i);\nif(!t) { return null; }\nvar res = []\nvar re = /src=\"([^\"]+)\"/gi\nvar a = re.exec( $._.substring(i,t) );\nwhile(a){\n res.push([a[1]]);\n a = re.exec( $._.substring(i,t) );\n}\nreturn res;","img":"^(img\\.positronica\\.ru/items/\\d+_[^_]+_)[a-z]","to":"$1b","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/18n32dx/comment/keg4ddm\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2380#5\n\nПРИМЕРЫ\nhttps://positronica.ru/catalog/holodilniki/\nhttps://positronica.ru/catalog/blendery/\nhttps://positronica.ru/catalog/smartfony/apple/"},"Postimages|postimg.cc|postlmg.cc|pixxxels.cc":{"link":"^(p(?:ost[il]m(?:g|ages?)|ixxxels)\\.(?:cc|org)/(gallery/)?\\w{7,8}/?$)|^(?:i\\.(p(?:ost[il]m(?:g|ages?)|ixxxels)\\.(?:cc|org)/\\w{7,8})/\\S+$(?<!\\?dl=1))","url":": $[1] || $[3]","res":":\nif (!$[2]) return [ $._.match(/http[^?\"]+\\?dl=1/)[0], $._.match(/=\"imagename\">([^<]+)/)[1] ]\n\nif (!this.__bg_request) {\n this.__bg_request_data = {}\n this.__bg_request_id = 9000\n\n this.__bg_request = url => {\n this.__bg_request_id += 1\n Port.send({\n cmd: 'resolve',\n id: this.__bg_request_id,\n params: { rule: { id: $.rule.id } },\n url: url\n })\n return new Promise(resolve => {\n const loop = (data, id) => data[id] ? (resolve(data[id].params._), delete data[id]) : setTimeout(loop, 100, data, id)\n loop(this.__bg_request_data, this.__bg_request_id)\n })\n }\n\n Port.listen(d => d ? d.cmd === 'resolved' && d.id > 9000 ? (this.__bg_request_data[d.id] = d, undefined) : this.onMessage(d) : undefined)\n}\n\nif (!this.__postimg) {\n const P = this.__postimg = { index: 0 }\n\n P.get = async (url, spinner) => {\n if (/i\\.p(?:ost[il]m(?:g|ages?)|ixxxels)\\.(?:cc|org)/.test(url)) return url\n if (spinner) this.show('load')\n const response = await this.__bg_request(url)\n const full_img_url = response.match(/http[^?\"]+\\?dl=1/)[0]\n this.stack[this.TRG.IMGS_album].every((e, i, a) => e[0] === url ? (a[i][0] = full_img_url, false) : true)\n return full_img_url\n }\n\n P.orig_set = this.set\n this.set = async s => {\n if (!/p(?:ost[il]m(?:g|ages?)|ixxxels)\\.(?:cc|org)/.test(s)) return P.orig_set(s)\n P.index += 1\n const index = P.index\n const full_img_url = await P.get(s, true)\n if (index === P.index) P.orig_set(full_img_url)\n }\n\n P.orig__preload = this._preload\n this._preload = async s => !/p(?:ost[il]m(?:g|ages?)|ixxxels)\\.(?:cc|org)/.test(s) ? P.orig__preload(s) : P.orig__preload(await P.get(s))\n}\nreturn Object.entries(JSON.parse($._.match(/embed_value=([^}]+})/)[1])).map(e => [ 'https://' + ($[1]||$[3]).match(/^[^\\/]+\\//)[0] + e[0], e[1][0] ])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lk54rqa\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2240#6\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2200#17\n\n\n!!!\nВнешние ссылки на галереи в браузере FireFox могут не работать.\n==\nExternal links to galleries in the FireFox browser may not work.\n\n\nПРИМЕРЫ / EXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Printables":{"link":"printables\\.com/model/(\\d+)-[\\w-]+","res":":\nvar res=[];\nx = new XMLHttpRequest();\nx.open('POST', 'https://api.printables.com/graphql/',false);\nx.setRequestHeader('Content-Type', 'application/json');\nx.send('{\"operationName\":\"PrintProfile\",\"variables\":{\"id\":\"' + $[1] + '\"},\"query\":\"query PrintProfile($id: ID!) {\\\\n print(id: $id) {\\\\n ...PrintDetailFragment\\\\n __typename\\\\n }\\\\n}\\\\n\\\\nfragment PrintDetailFragment on PrintType {\\\\n id\\\\n slug\\\\n name\\\\n authorship\\\\n eduProject {\\\\n id\\\\n subject {\\\\n id\\\\n name\\\\n slug\\\\n __typename\\\\n }\\\\n language {\\\\n id\\\\n name\\\\n __typename\\\\n }\\\\n free\\\\n timeDifficulty\\\\n audienceAge\\\\n complexity\\\\n equipment {\\\\n id\\\\n name\\\\n __typename\\\\n }\\\\n suitablePrinters {\\\\n id\\\\n name\\\\n __typename\\\\n }\\\\n organisation\\\\n authors\\\\n targetGroupFocus\\\\n knowledgeAndSkills\\\\n objectives\\\\n equipmentDescription\\\\n timeSchedule\\\\n workflow\\\\n approved\\\\n datePublishRequested\\\\n __typename\\\\n }\\\\n user {\\\\n ...AvatarUserFragment\\\\n isFollowedByMe\\\\n canBeFollowed\\\\n email\\\\n donationLinks {\\\\n id\\\\n title\\\\n url\\\\n __typename\\\\n }\\\\n printsCount\\\\n __typename\\\\n }\\\\n ratingAvg\\\\n myRating\\\\n ratingCount\\\\n description\\\\n category {\\\\n id\\\\n path {\\\\n id\\\\n name\\\\n description\\\\n __typename\\\\n }\\\\n __typename\\\\n }\\\\n modified\\\\n firstPublish\\\\n datePublished\\\\n dateCreatedThingiverse\\\\n hasModel\\\\n nsfw\\\\n summary\\\\n shareCount\\\\n likesCount\\\\n makesCount\\\\n liked\\\\n printDuration\\\\n numPieces\\\\n weight\\\\n nozzleDiameters\\\\n usedMaterial\\\\n layerHeights\\\\n materials {\\\\n id\\\\n name\\\\n __typename\\\\n }\\\\n dateFeatured\\\\n downloadCount\\\\n displayCount\\\\n filesCount\\\\n privateCollectionsCount\\\\n publicCollectionsCount\\\\n pdfFilePath\\\\n commentCount\\\\n userGcodeCount\\\\n remixCount\\\\n canBeRated\\\\n printer {\\\\n id\\\\n name\\\\n __typename\\\\n }\\\\n images {\\\\n ...ImageSimpleFragment\\\\n __typename\\\\n }\\\\n tags {\\\\n name\\\\n id\\\\n __typename\\\\n }\\\\n thingiverseLink\\\\n filesType\\\\n foundInUserGcodes\\\\n license {\\\\n id\\\\n disallowRemixing\\\\n __typename\\\\n }\\\\n remixParents {\\\\n ...remixParentDetail\\\\n __typename\\\\n }\\\\n gcodes {\\\\n id\\\\n name\\\\n filePath\\\\n fileSize\\\\n filePreviewPath\\\\n __typename\\\\n }\\\\n stls {\\\\n id\\\\n name\\\\n filePath\\\\n fileSize\\\\n filePreviewPath\\\\n __typename\\\\n }\\\\n slas {\\\\n id\\\\n name\\\\n filePath\\\\n fileSize\\\\n filePreviewPath\\\\n __typename\\\\n }\\\\n ...LatestCompetitionResult\\\\n competitions {\\\\n id\\\\n name\\\\n slug\\\\n description\\\\n isOpen\\\\n __typename\\\\n }\\\\n competitionResults {\\\\n placement\\\\n competition {\\\\n id\\\\n name\\\\n slug\\\\n printsCount\\\\n openFrom\\\\n openTo\\\\n __typename\\\\n }\\\\n __typename\\\\n }\\\\n __typename\\\\n}\\\\n\\\\nfragment AvatarUserFragment on UserType {\\\\n id\\\\n publicUsername\\\\n avatarFilePath\\\\n slug\\\\n handle\\\\n company\\\\n verified\\\\n badgesProfileLevel {\\\\n profileLevel\\\\n __typename\\\\n }\\\\n __typename\\\\n}\\\\n\\\\nfragment ImageSimpleFragment on PrintImageType {\\\\n id\\\\n filePath\\\\n rotation\\\\n __typename\\\\n}\\\\n\\\\nfragment remixParentDetail on PrintRemixType {\\\\n id\\\\n parentPrintId\\\\n parentPrintName\\\\n parentPrintAuthor {\\\\n id\\\\n slug\\\\n publicUsername\\\\n company\\\\n verified\\\\n handle\\\\n __typename\\\\n }\\\\n parentPrint {\\\\n id\\\\n name\\\\n slug\\\\n datePublished\\\\n images {\\\\n ...ImageSimpleFragment\\\\n __typename\\\\n }\\\\n license {\\\\n id\\\\n name\\\\n disallowRemixing\\\\n __typename\\\\n }\\\\n eduProject {\\\\n id\\\\n __typename\\\\n }\\\\n __typename\\\\n }\\\\n url\\\\n urlAuthor\\\\n urlImage\\\\n urlTitle\\\\n __typename\\\\n}\\\\n\\\\nfragment LatestCompetitionResult on PrintType {\\\\n latestCompetitionResult {\\\\n placement\\\\n competitionId\\\\n __typename\\\\n }\\\\n __typename\\\\n}\"}');\nif (x.readyState != 4) return;\nif (x.status != 200) return;\nvar c = JSON.parse(x.responseText).data.print.images;\nc.forEach(function(obj) {\n res.push(['https://media.printables.com/' + obj.filePath]);\n});\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1760#7\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.printables.com/model?category=87\nhttps://www.printables.com/@adafruit"},"prnt.sc-p":{"link":"^prnt(?:\\.sc|scr\\.com)\\/[\\w-]+(\\/|\\..*)?$","res":":\nlet meta = document.querySelector('head > meta[name=\"referrer\"]');\nif (!meta) {\n    meta = document.createElement('meta');\n    meta.name = 'referrer';\n    meta.content = 'same-origin';\n    document.getElementsByTagName('head')[0].appendChild(meta);\n} else if (meta.attributes.content.value !== 'same-origin') {\n    meta.attributes.content.value = 'same-origin';\n}\nlet url = ($._.match(/=\"og:image\" content=\"([^\"]+)/)|| [])[1];\nreturn [url];","img":"^img\\.prntscr\\.com/img\\?url=([^&]+).*","to":"$1","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=400#8\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3760#8\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/prnt.sc/new/"},"pr0gramm":{"link":"^pr0gramm\\.com/.+/?(.+)?/(\\d+)$","ci":1,"url":"https://pr0gramm.com/api/items/get?id=$2&flags=1&tags=$1","res":":\nlet jsn=JSON.parse($._);\nlet url='pr0gramm.com/'+jsn.items[0].image;\n\nif (url.slice(-3)=='mp4')\n{\n return 'https://vid.' + url;\n}\nelse {\n return 'https://img.' + url;\n}","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1980#8\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=940#18\n\nEXAMPLES\nhttps://pr0gramm.com/new/!%20meme\nhttps://pr0gramm.com/new/!%20-'tiktok'\nhttps://pr0gramm.com/user/Land/uploads"},"Price.ru":{"link":"^(?:\\w+\\.)?price\\.ru/[^/]+/[^/]+/","ci":3,"res":":\nconst res = [];\nconst doc = new DOMParser().parseFromString($._, \"text/html\");\n\nArray.from(doc.querySelectorAll('.model-slider__sub img')).forEach(el => {\n res.push([el.src.replace(/\\d+x\\d+/, '2000x2000')]);\n});\nreturn res;\n","img":"^(static\\.price\\.ru/images/models)/\\d+x\\d+/(.+\\.(?:jpe?g|png))","to":"$1/2000x2000/$2","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2500#3\n\nПРИМЕРЫ\nhttps://price.ru/videokamery/\nhttps://novosibirsk.price.ru/search/?query=телевизор+philips\nhttps://samara.price.ru/mobilnye-telefony/smartfony/?brand_id=246"},"Profi.ru":{"img":"^(cdn\\.profi\\.ru/xfiles/\\wfiles/(?:\\d+/)?\\w+\\.(?:jpg|png))\\S+","to":"$1","note":"64h\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2180#20\n\nПРИМЕРЫ\nhttps://profi.ru/remont/electromontajnye-raboty/?seamless=1&tabName=PROFILES&searchTerm=электрик\nhttps://orel.profi.ru/remont/electromontajnye-raboty/?seamless=1&tabName=PROFILES&searchTerm=%FD%EB%E5%EA%F2%F0%E8%EA&profileId=PlptonovEN&profileTabName=reviews&fromSection=page_listing\nhttps://vologda.profi.ru/remont/santehnika/?seamless=1&tabName=PROFILES&searchTerm=%F1%E0%ED%F2%E5%F5%ED%E8%EA&gpId=&profileId=PetrovUV6&profileTabName=reviews&fromSection=page_listing"},"Prokofe.ru":{"link":"^prokofe\\.ru/plugins/eHighSlide/foto\\.php\\?img=(https?://prokofe\\.ru/files/public/[^/]+\\.(?:jpe?g|png|gif))&h=\\d+&w=\\d+","to":"$1","note":"Rodny + by Baton34V (fix)\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1540#12\n\nПРИМЕРЫ\nhttps://prokofe.ru/plugins/forum/forum_viewtopic.php?153016"},"PromoDJ":{"link":"^promodj\\.com/foto/\\d+/(\\d+)$","res":":\nvar i = $._.indexOf('var fotos =')\nif(i<0) { return null; }\nvar t = $._.indexOf('function BootFotoViewer', i);\nif(t<0) { return null; }\nvar res = []\nvar re = new RegExp(\"fotoID: \"+$[1]+\",[\\\\S\\\\s]+?originalURL: '(https?:\\/\\/cdn\\\\.promodj\\\\.com\\/afs\\/[^']+)',\",\"mg\");\nvar a = re.exec( $._.substring(i,t) );\nif (a) {res.push([a[1]]);}\nreturn res","note":"Rodny + Baton34V (fix)\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1540#12\n\nПРИМЕРЫ / EXAMPLES\nhttp://promodj.com/foto/1135763#list\nhttp://promodj.com/foto/1135763#middlelist"},"PronPic-x-p":{"img":"(pronpic\\.org\\/pic\\/\\d+\\/\\d\\d\\/\\d\\d\\/)th_(\\d+\\.\\w+)","to":"$1$2","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2080#9\n\nПРИМЕРЫ / EXAMPLES\nhttps://pronpic.org/?p=4"},"public-pic.de":{"link":"public-pic\\.de/image/show/[^/]+/[a-z0-9]+","res":"<img src=\"([^\"]+)\" alt=\"\n<h1 style=\"margin-bottom: 10px\"><i>([^<]+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"puush.me|puu.sh":{"link":"^(puush\\.me/[^/]+/Gallery)$","url":"$1/feed","res":":\ntry {\n $ = JSON.parse($._).objects, i = $.length, u = '//puu.sh/';\n while(i--) $[i] = [u + $[i].id + '/' + $[i].name, null, u + 't/' + $[i].id];\n return $;\n} catch (ex) {return null}","img":"^(puu\\.sh/)(?:t/)?(.+)","to":"$1$2","note":"EXAMPLES\nhttps://www.reddit.com/domain/puu.sh/new/"},"QuestionableContent":{"link":"^questionablecontent\\.net\\.?/view\\.php\\?comic=(\\d+).*","to":"questionablecontent.net/comics/$1.#png jpg gif#","note":"EXAMPLES\nhttps://www.reddit.com/domain/questionablecontent.net/new/"},"QuestZone.ru":{"link":"^(questzone\\.ru/)showpic\\.php\\?(\\w+/\\w+/.+\\.(?:jpe?g|png|gif))$","img":"^(questzone\\.ru/solutions/pics/)small/(.+\\.(?:jpe?g|png|gif))$","to":"$1$2","note":"Rodny\n\nПРИМЕРЫ\nhttps://questzone.ru/solutions/deponiaj_1.php\nhttps://questzone.ru/solutions/eyeofaraj_3.php#15"},"Rambler.ru":{"link":"^images\\.rambler\\.ru\\/.+image_url=([^&]+).*","dc":1,"img":"^([^/]+\\.rambler\\.ru/img/[^?]+).*","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lglc7ii\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1060#13\n\nПРИМЕРЫ\nhttps://news.rambler.ru/\nhttps://images.rambler.ru/search?query=blue"},"RanmaBooks-x":{"useimg":1,"link":"^ranmabooks\\.com/([^/]+/)*?image\\.php\\?","res":"src=\"([^\"]+)\" alt=\"([^\"]+)\" /","img":"^(ranmabooks\\.com/([^/]+/)+?)RHGt/(?!index\\.)","to":"$1","note":"!!!\nНужен аккаунт."},"Rasfokus.ru":{"img":"(rasfokus\\.ru\\/images\\/photos\\/)(?:small|mini|topday)(\\/\\w+\\.\\w+)","to":"$1medium$2","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2000#8\n\nПРИМЕРЫ\nhttp://rasfokus.ru/barsik198/allphoto.html\nhttp://rasfokus.ru/photos/108\nhttp://rasfokus.ru/photos/105/topmonth.html"},"Rasfokus.ru_blog":{"img":"(rasfokus\\.ru\\/upload\\/blogs\\/)(?:small|mini|topday)\\/(\\w+\\.\\w+)","to":"$1$2","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2000#10\n\nПРИМЕРЫ\nhttp://rasfokus.ru/blogs/blog-lidi-kazyrovoi/vystavka-2011-goda-v-kameronovoi-galere.html\nhttp://rasfokus.ru/blogs/blog-iriny-rdionovoi/prazdniki-i-lyudi-v-moih-fotografijah.html"},"Ravelry":{"link":"^ravelry\\.com/patterns/library/.+","res":":\nconst upgrade = (x) => ['#'+x?.replace(/_[^_.]+\\.(?!.*\\.)/,'.').replace(/webp[/#]/g,''), x?.replace(/_[^_.]+\\.(?!.*\\.)/,'_medium2.').replace(/webp[/#]/g,'')];\n\n$=new DOMParser().parseFromString($._,\"text/html\");\n$=[...$.querySelectorAll('img[data-photo-id]')];\nreturn $.map(i=>[upgrade(i.src),i.alt])","img":"^((avatar|image)s\\d?-[a-z].ravelrycache.com/)(?:(flickr/[^?]+)_[a-z]|((?:uploads/)?[^/]+/\\d+/)(?:webp/)?([^.]+(?:\\.fw)?)_(?:small(?:2?|_best_fit)|medium2?|square|large)(?:\\.(\\w+))?(?:#(\\w+))?)","to":":\nreturn $[1] + ($[3] || ($[4] + $[5] + ($[2]=='avatar'?'_xlarge':'# _b#') + ($[7]||$[6] ? '.' + ($[7]||$[6]) : '')))","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lkmy7ux\n\nEXAMPLES\nhttps://www.ravelry.com/designers/evelyn-koerselman\nhttps://www.ravelry.com/designers/ashlee-brotzell?page=2\nhttps://www.ravelry.com/patterns/sources/elaine-krenzeloks-ravelry-store/patterns\nhttps://www.ravelry.com/yarns/library/hobby-lobby-i-love-this-yarn-sport-weight-solids"},"RBT.ru":{"link":"(\\W+\\.)?rbt\\.ru/cat/[\\w-]+/[\\w-]+/[\\w-]+/","res":":\nlet i = $._.indexOf('<div class=\"item-card__carousel-inner');\nif(i<0) {return null; }\nlet t = $._.indexOf('</ul>', i);\nif(t<0) {return null; }\nlet res = [];\nlet re = /data-img-gal=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","img":"cdn\\.rbt\\.ru/images/gen/item_image/image/\\d+/\\d+/\\w+\\.jpg","to":":\nreturn this.node.parentNode.parentNode.getAttribute('data-img-gal');\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1460#10\n\nПРИМЕРЫ\nhttps://msk.rbt.ru/cat/kuhonnaya_tehnika/holodilniki/\nhttps://bataysk.rbt.ru/cat/gadzhety/fitnes_braslety/\nhttps://vladivostok.rbt.ru/cat/kuhonnaya_tehnika/elektricheskie_plity/"},"Placeit":{"link":"^(recordit\\.co|placeit\\.net)\\/\\w{10}","res":"<source src=\"([^\\\"]+)\"","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2220#5\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/recordit.co/new/"},"REDDIT_gallery":{"link":"^(reddit\\.com/)gallery/([\\da-z]+).*","url":"https://www.$1by_id/t3_$2.json","res":":\n$=JSON.parse($._).data.children[0].data\nreturn ($.gallery_data && $.gallery_data.items || []).map(function(c, i) {\n var u=$.media_metadata[c.media_id].s\n return [\n (u.u ? u.u.replace(/preview(\\.redd.it\\/[^?]+).*/, 'i$1') : (u.mp4 ? u.mp4 + '#mp4' : u.gif)),\n (!i ? '[' + new Date($.created_utc*1e3).toLocaleString() + ' | ' + $.title + '] ' : '') + (c.caption || '')\n ]\n})","note":"ПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/reddit.com/\nhttps://www.reddit.com/r/all/?feedViewType=compactView"},"REDDIT_media":{"link":"^(?:[a-z]{2,5}(?:-[a-z]{2})?\\.)?reddit\\.com/(?:r|user)/[^/]+/comments/([\\da-z]+)/[^/]+/(?:\\?utm_content=(?:title|thumbnail).*)?$","loop":3,"img":"^(g\\.redditmedia\\.com/[\\w-]+\\.gif\\?(?:[^&]+&)*?fm=mp4[^#]*)(.*)","to":":\nif(location.hostname==='reddtastic.com'&&this.node.closest('.post')?.querySelector('img,video'))return '//reddtastic/'+$[1]\n\nif ($[2] !== 0) return $[2] == '#mp4' ? $[0] : $[1] + '#mp4'\nvar u, p, c, n = window.location.hostname.slice(-10) == 'reddit.com' && this.node\n\nif (!n) return ''\n\nif (!this.find_original && n.matches('shreddit-post > a.absolute')) {\n this.find_original = this.find;\n this.find = function (trg, x, y) {\n if (trg.matches?.('faceplate-img')) {\n let href = trg.closest?.('shreddit-post')?.querySelector('a.absolute')?.href;\n if (href) return this.find_original({ href, IMGS_TRG: trg })\n }\n return this.find_original(trg, x, y);\n }\n}\n\nif (n.matches('div.link a.thumbnail,div.link a.thumbnail>img, div.link a.title, div.link a.thumbnail.image')) {\n p = n; while ((p = p.parentElement) && !p.matches('div.link'));\n u = p && p.dataset, u = u && (u.url || u.hrefUrl)\n if (u && /(v\\.redd\\.it|\\.reddit\\.com\\/gallery)\\//.test(u)) return u\n c = p && p.querySelector('div.expando[data-cachedhtml]')\n c = c && c.getAttribute('data-cachedhtml')\n u = c && c.match(/(?:<a href|(?:class=\"preview\"|<source) src)=\"([^\"]+)/g)\n if (u) {\n u = u.map(function (i) {\n var u = i.slice(i.lastIndexOf('\"') + 1).replace(/&/g, '&');\n return u + (i[1] == 's' ? '#mp4' : '')\n });\n u = c.indexOf('<source') != -1 ? u.reverse() : u\n return u.length ? u.join('\\n') : ''\n }\n u = p.dataset, u = u.url || u.hrefUrl\n\n} else if (n.matches('a.Post__titleLink')) {\n u = n.closest('.Post__top').querySelector('a.PostThumbnail').href\n\n} else if (n.matches('a[data-click-id=body] > div > h3, .Post div > div[role=img], faceplate-img, a.thumbnail > img') ||\n n.matches('shreddit-post > a.absolute') && !n.parentElement.querySelector('faceplate-img:not(.avatar, .shreddit-subreddit-icon__icon, .absolute, .flair-image)'))\n{\n p = n.closest('div[id^=t3_]');\n if (p && p.querySelector('p, i.icon-text')) return ''\n p = p && p.querySelector('a > .icon-external_link')\n p = p ? p.parentElement : { href: '//www.reddit.com/by_id/t3_' + $[1] + '.json' }\n p = this.find({ href: p.href, IMGS_TRG: n })\n n.title = n.getAttribute('aria-label') || n.title\n return (Array.isArray(p) ? p.join('\\n') : (p === null ? 'null' : p)) || ''\n}\n\n\nreturn u && /^(https?:)?\\/\\/i\\.redd\\.?it/.test(u) ? u : ''","note":"hababr + imqswt (edit)\nhttps://www.reddit.com/r/imagus/comments/1bp0x7a/comment/kz7kwi0\nOLD\nhttps://www.reddit.com/r/imagus/comments/1c1clq6/comment/kz2y0gp\nhttps://www.reddit.com/r/imagus/comments/1bp0x7a/comment/kyw4b4s\nhttps://www.reddit.com/r/imagus/comments/1bp72kd/comment/kwypr6z\n\n\n\n!!!\nДля просмотра видео и альбомов на sh.reddit.com курсор следует наводить на весь блок с публикацией (рядом с названием).\n==\nTo view videos and albums on sh.reddit.com, you should hover your cursor over the entire post block (next to the title).\n\n\n\nEXAMPLES\nhttps://www.reddit.com/r/ipl/?feedViewType=cardView\nhttps://sh.reddit.com/?feed=home&feedViewType=classicView\nhttps://www.reddit.com/r/videos/?feedViewType=cardView\nhttps://sh.reddit.com/r/kpopfap/"},"REDDIT_post":{"link":"^reddit\\.com/by_id/(t3_[\\da-z]+)","res":":\n$ = JSON.parse($._).data.children[0].data\nif ($.crosspost_parent) $ = $.crosspost_parent_list[0]\n\nconst loop = this.find({href: $.url})\nif(loop !== false && loop !== '')return {loop:$.url}\n\nif ($.preview?.images?.[0]?.variants?.mp4?.source.url) {\n return [$.preview.images[0].variants.mp4.source.url + '#mp4', $.title]\n}\n\nif ($.preview?.reddit_video_preview?.hls_url) {\n return { loop: $.preview?.reddit_video_preview?.hls_url }\n}\n\n// prevent looping to the same page\nif ($.url.includes($.permalink)) return true;\n\nreturn $.is_video || $.is_gallery || this.TRG?.matches?.('faceplate-img') || ['youtube.com', 'youtu.be'].includes($.domain) ? { loop: $.url } : true","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lheshaq\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kymwf6u\nhttps://www.reddit.com/r/imagus/comments/1bp72kd/comment/kwzpsi7\n\n\n!!!\nДля просмотра видео и альбомов на sh.reddit.com курсор следует наводить на весь блок с публикацией (рядом с названием). На одиночных картинках фильтр работает как обычно.\n==\nTo view videos and albums on sh.reddit.com, you should hover your cursor over the entire post block (next to the title). On single images, the sieve works as usual.\n\nEXAMPLES\nhttps://sh.reddit.com/r/kpopfap/?feedViewType=cardView"},"REDDIT_thumbs":{"link":"^rt/\\?(http.+)","url":"$1","res":":\nvar t, r=['<meta[^>]+?property=[\\'\"]?og:','[\\'\"]?\\\\s[^>]*?content=[\\'\"]([^\\'\">]+)'], m = $._.match(RegExp(r[0]+'image(?::url)?'+r[1]))\nreturn m ? [m[1], (t = $._.match(RegExp(r[0]+'title'+r[1])))&&t[1]] : !1","img":"^(?:i\\.r(eddituploads\\.com|ddt\\.co)/[\\da-f]{32}\\?|[a-f]\\.thumbs\\.redditmedia\\.com/[\\w-]{16,43}\\.jpg$)","loop":2,"to":":\nvar u,n=!$[1]&&this.node,x=n&&n.matches('.Post div>div[role=img]');\nn && (n.title = n.getAttribute('aria-label') || n.title);\nreturn x&&(x=n.closest('.Post')) && (x=x.querySelector('div>a[data-click-id=body][href]'))\n? x.href\n: n&&n.matches('div.link>a.thumbnail>img, .PostThumbnail>img, a>div[role=img]')&&n.parentNode.href ? '//rt/?'+n.parentNode.href : $[0]"},"REDDIT_video":{"link":"^(?:v\\.redd\\.it|(?:[^.]{2,5}\\.)?reddit\\.com/link/[\\da-z]+/video)(/[\\da-z]+).*","url":": (()=>{this.use_reddit_MP4 = false /*Set to true to use MP4 video without audio*/;return this.use_reddit_MP4 ? `//v.redd.it${$[1]}/DASHPlaylist.mpd` : 'data:,'+$[0]})()","res":":\nif(this.use_reddit_MP4){\nvar v=0,u,m=$._.match(/width=\"\\d+\">\\s*<BaseURL>([^<]+)/g)\nif(!m)return m\nm.forEach(function(m){\n m=m.match(/\"(\\d+)\">[^>]+>(.+)/)\n if(m[1] > v) {v=m[1]|0; u=m[2]}\n})\nreturn (/^https:\\/\\//.test(u)?u:'//v.redd.it'+$[1]+'/'+u)+'#mp4'\n}\nthis.TRG.IMGS_ext_data = [\n '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1280\" height=\"720\"></svg>',\n `<imagus-extension type=\"videojs\" url=\"https://v.redd.it${$[1]}/DASHPlaylist.mpd\"></imagus-extension>${this.TRG.IMGS_caption}`\n]\nreturn {loop:'imagus://extension'}","img":"^preview(\\.redd.it/[^?]+)\\?.*","to":":\nif (this.TRG?.hasAttribute(\"src\") && !this.TRG.src) {\n this.TRG.src = this.TRG.getAttribute(\"src\");\n}\nreturn $[0].indexOf('format=mp4') > 0 ? $[0]+'#mp4' : 'i'+$[1]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1f4dxjw/comment/lkyo1t4\n\n!!!\nIn the second field, you can choose which video should show the sieve - HLS or MP4.\nFor more details, see the FAQ, p.17.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://old.reddit.com/r/all/\nhttps://www.reddit.com/domain/v.redd.it/new/\nhttps://www.reddit.com/r/videos/?feedViewType=cardView\nhttps://old.reddit.com/r/Grocerycost/comments/1cacltn/7512_in_berlingermany_single_but_i_regularly_get/"},"Reddtastic":{"link":"^reddtastic/(.+)","url":"https://www.reddit.com/by_id/t3_$1.json","res":":\n$=JSON.parse($._).data?.children?.[0]?.data;\n$=$.secure_media?.reddit_video?.hls_url||!/reddit\\.com\\/(?:r|u(?:ser)?)\\//.test($.url)&&$.url||$.preview?.reddit_video_preview?.dash_url||$.preview?.images?.[0]?.variants?.mp4?.source?.url||$.preview?.images?.[0]?.source?.url;\nreturn $?.length?/\\.gif\\b/.test($)?$:{loop:$}:''","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/1bp0x7a/comment/kywegxt\nOLD\nhttps://www.reddit.com/r/imagus/comments/1bp0x7a/comment/kx3btvh\n\n!!!\nWhen you put the cursor over the video cover, the sieve shows the video (in MP4 format) without sound. To view videos with sound (in HLS format), move the cursor over the video title. To download videos with sound in HLS format it is recommended to use a special program, for example, IDM (Internet Download Manager).\n\nEXAMPLES\nhttps://reddtastic.com/r/funny"},"Reddxxx-x-p":{"url":": 'https://reddxxx.com/api/db/post?postId='+this.node.closest('div[role=\"gridcell\"]').querySelector('a[href*=\"/comments/\"]').pathname.match(/\\/comments\\/(\\w+)/)[1]","res":":\n$._=JSON.parse($._).Media\nif($._.some(i=>i.galleryIndex))return $._.map((i,n)=>$._.filter(i=>i.galleryIndex===n).sort((a,b)=>b.height-a.height)[0]).filter(Boolean).map(i=>['https://'+$[1]+i.loc+$[2]+i.id])\nif($._.some(i=>i.type==='video')){\n$._=$._.filter(i=>i.type==='video').sort((a,b)=>b.height-a.height)[0]\nreturn 'https://'+$[1]+$._.loc+$[2]+$._.id\n}\n$._=$._.sort((a,b)=>b.height-a.height)[0]\nreturn 'https://'+$[1]+$._.loc+$[2]+$._.id","img":"^(cdn)\\d(\\.reddxxx\\.com/).+","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/174tf0r/comment/k4jf09a\n\n\nEXAMPLES\nhttps://reddxxx.com/r/ass\nhttps://reddxxx.com/r/kpopfap\nhttps://reddxxx.com/c/Rule34\nhttps://reddxxx.com/u/strickland_banks"},"REDGIFs_gallery-x-p":{"link":"^(?:(?:i|v\\d)\\.)?redgifs\\.com/(?:watch|i(?:fr)?)/(\\w+).*","url":": !this.rg_auth ? 'https://api.redgifs.com/v2/auth/temporary' : 'data:,'+$[1]","res":":\nif(!this.rg_auth)this.rg_auth=JSON.parse($._).token\nlet x=new XMLHttpRequest()\nx.open('Get','https://api.redgifs.com/v2/gifs/'+$[1].toLocaleLowerCase(),false)\nx.setRequestHeader(\"Authorization\",\"Bearer \"+this.rg_auth)\nx.send()\nif(x.status!==200)return null\nconst jsn=JSON.parse(x.responseText).gif\nconst t=[jsn.tags.join(\", \").replace(/.+/,'[$&]'),jsn.userName,new Date(jsn.createDate*1000).toLocaleString(),jsn.description].filter(Boolean).join(\" | \")\nif(!jsn.gallery){\nreturn [[['#'+jsn.urls.hd,jsn.urls.sd],t]]\n}else{\nx.open('Get','https://api.redgifs.com/v2/gallery/'+jsn.gallery,false)\nx.setRequestHeader(\"Authorization\",\"Bearer \"+this.rg_auth)\nx.send()\nreturn JSON.parse(x.responseText).gifs.map((i,n)=>[i.urls.hd,(!n?t:'')])\n}","img":"^thumbs\\d+\\.redgifs\\.com/([^-]+)-mobile\\.jpg\\?expires=.*","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/1eo2knj/comment/lhezp9n\nOLD\nhttps://www.reddit.com/r/imagus/comments/1cpunoh/comment/l44vysk\nhttps://www.reddit.com/r/imagus/comments/16d1ij3/comment/jzsqwwn\n\n\n!!!\nДанный фильтр должен находиться ПЕРЕД фильтром RedGIFs-x-p.\n==\nThis sieve should be placed BEFORE the RedGIFs|Gfycat|Gifdelivery sieve.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/i.redgifs.com/new/\nhttps://www.redgifs.com/explore/images?order=new\nhttps://www.redgifs.com/gifs/celebrity\nhttps://www.redgifs.com/users/peachnicole"},"REDGIFs-x-p":{"link":"^((gfycat)|(?:[^.]+\\.)?redgifs|gifdeliverynetwork)\\.com/+(?:\\w\\w\\w?/|watch/)?(?!popular|privacy|support|partners|gifbrewery|gaming|reaction|upload|create|signup|cajax/)(?:ifr/|amp/)?(?:(?:(?:gifs/)?detail/)?([a-zA-Z]{7,})[^/?#]*/?(?:[?#].*)?|@([\\w.-]+)(?:/[^/]+)*/([\\w-]+).*)$","url":": 'https://api.'+($[2]||'redgifs')+'.com/v1/' + ($[4] ? 'users/'+$[4]+'/album_links/'+$[5] : 'gfycats/'+$[3])","res":":\nvar u,g,i=0,r=[], o=JSON.parse($._),rg='redgifs';\nif(o.errorMessage)return $[1]==rg ? null : {loop: $[0].replace($[1], rg)}\no=o.publishedGfys||[o.gfyItem]\nwhile(g=o[i++]) {\n u=['#'+g.webmUrl, '#'+g.mp4Url]\n g.mobileUrl&&u.push(g.mobileUrl)\n r.push([u, (g.title||'') + (g.tags&&g.tags.length ? ' ['+g.tags.join(', ')+']':'')])\n}\nreturn r.length ? r : null","img":"^(?:zippy|fat|giant|thumbs\\d*)\\.((gfycat)|redgifs)\\.com/([a-zA-Z]+).*","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/14z7zfs/comment/js1uhjs\n\n\n!!!\nДля работы фильтра требуется SMH (см.ЧаВО, п.12)\nВ некоторых случаях курсор нужно наводить на НАЗВАНИЕ или ДАТУ ролика.\n==\nFor the sieve to work, the SMH is required (see FAQ, p.12).\nIn some cases, you need to hover the cursor over the TITLE or DATE of the video.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/redgifs.com/new\nhttps://www.reddit.com/domain/gfycat.com/new\nhttps://www.reddit.com/domain/gifdeliverynetwork.com/new"},"Redlib":{"link":"^((?:libreddit|lr?|red(?:dit(?!\\.com/)|lib)?|rl?|snoo)\\.[^/]+|safereddit\\.com)/(?:r/\\w+/(?:comments/[a-z0-9]+|s)/\\w+|(u(?:ser)?/[\\w-]+))","loop":1,"url":": location.hostname===$[1] ? 'data:,'+$[0] : $[0]","res":":\nconst use_HLS = true // <- For sound with HLS player, set to true. For mp4 video without sound, set to false.\n\nif($.base[0]==='d'){\nconst x=new XMLHttpRequest();\nx.open('Get',$[0],false);\nx.send();\n$._=x.responseText;\n}\nconst u = 'https://'+$[1];\nif($[2]){\nlet t = $._.match(/(?:\"user_description\">([^<]+)<.+?)?<label>(Karma)<\\/label>[^<]+<label>(Created)<\\/label>[^<]+<div>([^<]+)<\\/div>[^<]+<div>([^<]+)<\\/div>/s);\nreturn [$._.match(/id=\"user_icon\" src=\"([^\"]+)/)?.[1],[t[1],t[2]+': '+t[4],t[3]+': '+t[5]].filter(Boolean).join(\", \")];\n}\nlet m, t = $._.match(/<div class=\"post_body\"><!-- SC_OFF --><div class=\"md\"><p>(.+?)<\\/p>/s)?.[1]||'';\nm = [...$._.matchAll(/<figure>[^<]+<a href=\"([^\"]+)\".+?<figcaption>[^<]+<p>([^<]*)<\\/p>/gs)].map((i,n)=>[u+i[1],[(!n?t:''),i[2]].filter(Boolean).join(\" | \")]);\nif(!m?.length)m = ($._.match(/\"og:video\" content=\"([^\"]+)/)?.[1]||$._.match(/<a id=\"post_url\" href=\"([^\"]+)/)?.[1]||$._.match(/<a href=\"([^\"]+)\" class=\"post_media_image\"/)?.[1])?.replace(/^\\//,u+'/')||'';\nif(use_HLS&&/vid\\/([^/]+)\\/\\d+\\.mp4$/.test(m)){\nm = m.replace(/vid\\/([^/]+)\\/\\d+\\.mp4/,'hls/$1/HLSPlaylist.m3u8');\nthis.TRG.IMGS_ext_data = ['//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"480\"></svg>',`<imagus-extension type=\"videojs\" url=\"${m}\"></imagus-extension>`];\nreturn 'imagus://extension'\n}\nreturn Array.isArray(m) ? m : [m,t]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1d38g2k/comment/l68m7ok\n\n!!!\nBy default, the sieve plays video with sound using the [Extension] sieve from the rule-set. To use mp4 video without sound, set use_HLS in the sieve code to false.\n\n\nEXAMPLES\nhttps://l.opnxng.com/\nhttps://redlib.vimmer.dev/\nhttps://redlib.freedit.eu\nhttps://redlib.privacy.com.de/\netc"},"RedTube|Tube8|YouPorn-x-q-p":{"link":"^(?:[a-z]{2}\\.)?(redtube|tube8|youporn)\\.com/(?:watch/\\d+/|(?:(?!pornstar/|cat/)[^/]+/[^/]+|porn-video)/\\d+|\\d{3}.*?(?:\\/|\\?|$)|(video/get_media|media/mp4/?\\?s=))","url":": !$[2]&&RegExp(`${$[1]}\\.com$`).test(location.hostname) ? 'data:,'+$[0] : $[0]","res":":\nconst max_resolution = 2160\nconst low_resolution_first = true\n\nif($.base[0]==='d'){\nconst x=new XMLHttpRequest();\nx.open('Get',$[0],false);\nx.send();\n$._=x.responseText;\n}\nif(!$[2])return {loop:JSON.parse($._.match(/mediaDefinition:\\s*(\\[[^\\]]+mp4[^\\]]+\\])/)[1]).find(i=>i.format==='mp4').videoUrl.replace(/^\\//,'//'+$[1]+'.com/')}\n$=JSON.parse($._).filter(i=>i.quality<=max_resolution)\nreturn [[[(!low_resolution_first?'#':'')+$.pop().videoUrl,(!low_resolution_first?'':'#')+$[Math.floor($.length/2)]?.videoUrl]]]","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/leoi9tp\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lej3bqr\nhttps://www.reddit.com/r/imagus/comments/14vub0r/comment/k34a3da\n\n\n\n!!!\n- It is better to hover the cursor over the name of the video.\n- Switching content quality:\nconst low_resolution_first = false (false - lower quality is disabled, true - lower quality is enabled).\n- In RedTube to toggle the video quality, use (360/480/720/1080): const max_resolution = 720;\n\n\nEXAMPLES\nhttps://www.tube8.com/cat/erotic/11/\nhttps://redtube.com/39048311\nhttps://www.youporn.com/\nhttps://www.reddit.com/domain/redtube.com/new/\nhttps://www.reddit.com/domain/tube8.com/new/\nhttps://www.reddit.com/domain/youporn.com/new/"},"Regard.ru":{"link":"^regard\\.ru/product/\\d+/.+","res":":\nlet i = $._.indexOf('<div class=\"swiper-wrapper\">');\nif(i<0) { return null; }\nlet t = $._.indexOf('<div class=\"product-pagination\">', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /data-src=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nif (a==null) {\n re=/<img src=\"([^\"]+)\"/gi\n a = re.exec(data);\n}\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1020#16\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=640#10\n\n!!!\nКурсор наводить на название товара.\n\nПРИМЕРЫ\nhttps://www.regard.ru/catalog/1014/zhestkie-diski-hdd\nhttps://www.regard.ru/catalog/1351/mikrovolnovye-pechi"},"Render.ru|Renderu.com":{"link":"^renderu?\\.(ru\\/ru|com\\/en)\\/gallery\\/artwork\\/(\\d+)","res":"target=\"_blank\"><img itemprop=\"image url\" src=\"(https?:\\/\\/[^\\)]+?)\" alt=","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1560#2\n\nПРИМЕРЫ \nhttps://render.ru/ru/gallery\nhttps://renderu.com/en/gallery"},"Renderotica_gallery-x":{"link":"^renderotica\\.com/gallery/shorturl/\\d+/.+","res":":\nvar i = $._.indexOf('<div id=\"galleryimage\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"clearfix\">', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /<a target=[\"']_blank[\"'] href=[\"']([^\"']+)[\"']>/gi\nvar a = re.exec( $._.substring(i,t) );\nif (a==null) {\n re = /file: '([^']+)',/i\n a = re.exec( $._.substring(i,t) );\n}\nreturn a[1];","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kgkj8gu\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2720#3\n\n\n!!!\nЧтобы фильтр работал, нужен аккаунт.\n==\nIn order for the sieve to work, you need an account.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.renderotica.com/gallery.aspx\nhttps://www.renderotica.com/gallery/search?searchfor=blond"},"Renderotica_store-x":{"link":"^renderotica\\.com/store/sku/.+","res":":\nvar i = $._.indexOf('<div class=\"image-navigation\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('<div class=\"Pager\">', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /<a href\\s*=\\s*[\"']([^\"']+)[\"']/gi\nvar a = re.exec( $._.substring(i,t) );\nwhile(a) {\n res.push([a[1]]);\n a = re.exec( $._.substring(i,t) );\n}\nreturn res;","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kgkj8gu\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2720#3\n\n\n!!!\nЧтобы фильтр работал, нужен аккаунт.\n==\nIn order for the sieve to work, you need an account.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.renderotica.com/store.aspx"},"Reuters":{"link":"^reuters(?:agency)?\\.com/(?:[a-z]{2}/licensereuterscontent/\\?utm_medium|(video/).+|null(.*))","url":": $[1]?$[0]:'data:'+Date.now()","res":":\nconst visible_gallery_image_first = true\n\nif($[1]){\nthis.TRG.IMGS_ext_data = [\n'//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1920\" height=\"1080\"></svg>',`<imagus-extension type=\"videojs\" url=\"${$._.match(/contentUrl\":\\s*\"([^\"]+)/)[1]}\"></imagus-extension>${$._.match(/\"description\":\\s*\"([^\"]+)/)?.[1]}`\n]\nreturn {loop:'imagus://extension'}\n}else{\nlet a=visible_gallery_image_first\nlet m, n=this.node;\ntry{\nm=JSON.parse(document.body.outerHTML.match(/Fusion\\.globalContent=({.+?});/)[1]).result.related_content.galleries.find(i=>i.content_elements.find(x=>x.alt_text===n.attributes?.alt?.textContent||x.caption?.match(/^[^.]+/)[0]===n.previousSibling?.textContent?.match(/^[^.]+/)[0])).content_elements.map(i=>[i.url,i.caption])\n}catch(e){\nm=[...n.closest('div[data-testid^=\"gallery-\"],div[data-testid^=\"primary-gallery\"],div[class^=\"carousel-\"][role=\"presentation\"],div[class^=\"gallery-modal__gallery-carousel__\"]')?.querySelectorAll('div[data-testid=\"Image\"]')||[]]\nm=m?.length?m.map(i=>[i.querySelector('img[src]')?.src||i.lastChild.innerText.match(/img\\s+src=\"([^\"]+)/)[1]]):n.closest('figure').querySelector('img')?.src?.match(/^[^&]+/)[0]\n}\nif(a&&$[2])m=m.concat(m.splice(0,m.findIndex(i=>RegExp(`${$[2].replaceAll('.','\\\\.')}`).test(i[0]))))\nreturn m\n}","img":"^(ajo\\.prod.reuters\\.tv/api/v\\d/img/[\\w-]+|static\\.reuters\\.com/resources/r/\\?.*&t=|(reuters\\.com/resizer/[^&]+)).*","loop":2,"to":":\nif($[2]&&this.node.closest('div[class^=\"carousel\"][role=\"presentation\"]'))return 'https://www.reutersagency.com/null'+this.node.src\ntry{\nreturn JSON.parse(document.scripts.__NEXT_DATA__.innerText).props.initialState.video.playlist.find(i=>RegExp(`${$[1].replace('?','\\\\?')}`).test(i.image)).canonical_url\n}catch(e){\nconst u=document.body.outerHTML.match(/https:\\/\\/[^\\/]+\\/reuters\\//)?.[0]\nreturn $[2]&&u?u+$[2].match(/([^\\/?]+)\\?/)?.[1]+'\\n//'+$[2]:'//'+($[2]||$[0]).replace(/.*filters:quality\\(\\d+\\)\\/(.*)/,'$1')\n}","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/16khx6t/comment/l108irw\nOLD\nhttps://www.reddit.com/r/imagus/comments/16khx6t/comment/k0wklje\nhttps://www.reddit.com/r/imagus/comments/14b0e93/comment/k033ydb\n\n!!!\n- The cursor should hover over the link below the album - \"Acquire Licensing Rights\" / \"Purchase Licensing Rights\".\n- Video partially supported, partially - only audio.\n\nEXAMPLES\nhttps://www.reuters.com/world/africa/\nhttps://www.reuters.com/video/legal-news\n(albums):\nhttps://www.reuters.com/world/africa/magnitude-7-earthquake-strikes-morocco-gfz-2023-09-08/\nhttps://www.reddit.com/r/imagus/comments/14b0e93/comment/k02tect"},"Reverb-p":{"link":"^reverb\\.com/item/\\d+-","res":":\nconst t=$._.match(/description__content\">(.+?)<\\//)?.[1].replaceAll('<br>',' - ')||''\nreturn [...$._.matchAll(/meta itemProp=\"image\" content=\"([^\"]+)/g)].map((i,n)=>[['#'+i[1].replace(/^(.*upload\\/).*\\/([^\\/]+\\/[^.]+\\..*)/,'$1$2'),i[1].replace('_large','_supersize')],!n?t:''])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/16oxtmq/comment/k1pcpt4\n\n\nEXAMPLES\nhttps://reverb.com/p/peterson-strobostomp-mini?sort=price%7Casc\nhttps://reverb.com/marketplace?product_type=effects-and-pedals\nhttps://reverb.com/marketplace?product_type=electric-guitars"},"Rezat.ru":{"link":"^rezat\\.ru/[\\w-]+/[\\w-]+/[\\w-]+","res":":\nvar i = $._.indexOf('<ul class=\"gallery__preview-list\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('</ul>', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /<li class=\"gallery__preview-item\" num=\"\\d+\"><img src=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1].replace('preview.','wm/')]);\n a = re.exec(data);\n}\nreturn res;\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#3\n\nПРИМЕРЫ\nhttps://rezat.ru/knifes/universalnye/\nhttps://rezat.ru/kollekcionnye_avtorskie_i_kastomnye_nozhi/kastomnye_nozhi_artklassa/"},"RiotPixels":{"link":"^\\w+\\.riotpixels\\.com/games/[^/]+/(screenshots|covers|promos|artworks)/\\d+/","res":"<div class=\"big-image\">\\n\\s+<a target=_blank href=\"(http://s\\d+\\.riotpixels\\.net/data/[^/]+/[^/]+/[^\"]+)\">","note":"Rodny\n\nПРИМЕРЫ / EXAMPLES\nhttp://ru.riotpixels.com/games/call-of-duty-infinite-warfare/screenshots/\nhttp://ru.riotpixels.com/games/call-of-duty-infinite-warfare/promos/"},"RottenTomatoes":{"link":"^(rottentomatoes\\.com/(?:m|tv)/[^/]+(?:/s\\d+)?)(/(?:trailer|picture|video)s)?.*","url":": (()=>{if(/https:\\/\\/www\\.rottentomatoes\\.com\\/(?:m|tv)\\/[^\\/]+(?:\\/s\\d+)?$/.test(location.href)){let thumbs=[...document.querySelectorAll('rt-img[data-qa=\"carousel-item-img\"],rt-link[href$=\"/pictures\"]')];thumbs.map(i=>i.outerHTML=i.outerHTML.replace(/\\brt-(img|link)\\b/g,(a,b)=>b==='img'?'img':'a'))};return $[0]})()","res":":\nif(!$[2]){\nconst combine = (...n) => n.filter(Boolean).join(\" - \")\nlet isDir = false\nconst cast=(JSON.parse($._.match(/\"castAndCrewData\" type=\"application\\/json\">({.+?})<\\/script/)?.[1]||'{}')?.people||[...$._.matchAll(/\"cast-crew-item-link\">[^<]+<p>([^<]+)<\\/p>.+?<p class=\"p--small\">[^\\w]+([^<]+)/gs)]).flatMap(i=>{if(/Director/.test(i[2]))isDir=true;return !isDir?[[i.name||i[1],i.role||!/^p>/.test(i[2])&&i[2].replace(/\\n\\s*/g,' ').replace(/\\s(Voice)/,' ($1)')].filter(Boolean).join(\" - \")]:[]}).join(\"\\n\").replace(/.+/,'\\n<b>Top Cast</b>\\n$&')\n$._=JSON.parse($._.match(/type=\"application\\/ld\\+json\">(?:\\n\\s+)?({.+?})(?:\\n|<\\/script)/)[1])\nconst title=`<span style=\"font-size: 120%; font-weight: bold;\">${$._.name}</span>`\nconst duration=$._.duration\nconst date=new Date($._.dateCreated).toLocaleDateString(navigator.language,{year:'numeric',month:'short',day:'2-digit'})\nconst genre=$._.genre.join(\", \")\nconst rating=$._.contentRating\nconst tomatoRating=$._.aggregateRating?.ratingValue.replace(/.+/,'TomatoMeter: $&%')\nconst director=$._.director?.map(i=>i.name)?.join(\", \").replace(/.+/,(t)=>'\\n<b>Director'+($._.director.length>1?'s':'')+': </b>'+t)\nconst author=$._.author?.map(i=>i.name)?.join(\", \").replace(/.+/,(t)=>'<b>Writer'+($._.author.length>1?'s':'')+': </b>'+t)\nconst plot=$._.description?.replace(/.+/,'\\n<b>Plot</b>\\n$&')\nconst info=[title, combine(duration,date), combine(genre,rating), tomatoRating, plot, director, author, cast].filter(Boolean).join(\"\\n\")\nthis._RT_imgs=[[$._.image,`<imagus-extension type=\"sidebar\">${info}</imagus-extension>`]]\nreturn {loop:'https://www.'+$[1]+'/pictures'}\n}\nif($[2][1]==='p'){\n$._=JSON.parse($._.match(/\"pictures-json\"\\s+type=\"application\\/json\">(\\[.+?\\])<\\/script/)?.[1]||'[]').map(i=>[i.srcFull?.replace(/^https:\\/\\/resizing\\.flixster.+\\/(https:\\/\\/)/,'$1'),i.caption||''])\nif(!this._RT_imgs)return $._\n$._.forEach(i=>this._RT_imgs.push(i))\nreturn {loop:'https://www.'+$[1]+'/videos'}\n}\nif(/^[vt]$/.test($[2][1])){\n$=JSON.parse($._.match(/id=\"videos\"\\s+type=\"application\\/json\">(\\[.+?\\])<\\/script/)?.[1]||'[]').map(i=>[i.file?.match(/^[^?]+/)[0]+'#mp4',i.description||''])\nif(!this._RT_imgs)return $\n$.forEach(i=>this._RT_imgs.push(i))\n}\nthis.TRG.IMGS_ext_data=this._RT_imgs\ndelete this._RT_imgs\nreturn {loop:'imagus://extension'}","img":"^(?:resizing\\.flixster\\.com/.+/(https://resizing\\.flixster\\.com/)|rottentomatoes\\.com/.+)","to":":\nif(/https:\\/\\/www\\.rottentomatoes\\.com\\/(?:m|tv)\\/[^\\/]+(?:\\/s\\d+)?$/.test(location.href)){\nlet thumbs=[...document.querySelectorAll('rt-img[data-qa=\"carousel-item-img\"],rt-link[href$=\"/pictures\"]')]\nthumbs.map(i=>i.outerHTML=i.outerHTML.replace(/\\brt-(img|link)\\b/g,(a,b)=>b==='img'?'img':'a'))\n}\nreturn $[1]||''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1b9k30f/comment/ku1yoxj\n\n!!!\nTo view all photos and all videos of a movie/serial, you need to hover over \"View all videos\" and \"View all photos\"/\"View all\" respectively. In the /pictures section itself, the sieve does not work at the moment.\n\nEXAMPLES\nhttps://www.rottentomatoes.com/m/dune_2021\nhttps://www.rottentomatoes.com/tv/the_witcher/s02\nhttps://www.rottentomatoes.com/tv/the_witcher/videos\nhttps://www.rottentomatoes.com/m/poor_things/pictures\nhttps://www.rottentomatoes.com/search?search=snow\nhttps://www.rottentomatoes.com/browse/movies_in_theaters/sort:newest"},"RoumenovoMaso.cz-x":{"link":"^(roumenovomaso\\.cz/)masoShow\\.php\\?file=([^&]+).*","img":"^(roumenovomaso\\.cz/)(?:thumbnails|archived)/(?:POH)?([^?]+).*","to":"$1#upload signed archived trash#/$2","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jr9iz3u\n\n\nEXAMPLES\nhttps://www.roumenovomaso.cz/?agree=on\nhttps://www.roumenovomaso.cz/masoArchive.php\nhttps://www.roumenovomaso.cz/masoListTop.php"},"Rouming.cz":{"link":"^(rouming\\.cz/)roumingShow\\.php\\?file=([^&]+).*","img":"^(rouming\\.cz/)(?:thumbnails|archived)/(?:POH)?([^?]+).*","to":"$1#upload signed archived trash#/$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jr9iz3u\nOLD\nhttps://www.reddit.com/r/imagus/comments/bywq51/comment/ers570y\n\nEXAMPLES\nhttps://www.rouming.cz/\nhttps://rouming.cz/roumingListTop.php\nhttps://www.rouming.cz/roumingComments.php\nhttps://www.rouming.cz/roumingArchive.php"},"Rozetka.com.ua-p":{"link":"^rozetka\\.com\\.ua/(ua/)?.*","res":":\nvar source = $._.match(/},(&q;images&q;:\\[{.+?}\\]),/)[1].replace(/&q;/gi,'\"');\nvar jso=JSON.parse('{'+source+'}');\nvar res=[];\njso.images.forEach(function(item) {\n res.push([item.original.url]);\n});\nreturn res;\n","img":"^i\\d+\\.rozetka\\.ua/goods/\\d+/record_\\d+\\.jpg$","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1660#20\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#17\n\n\n\nПРИМЕРЫ\nhttps://rozetka.com.ua/all-tv/c80037/unique=50134/\nhttps://rozetka.com.ua/mobile-phones/c80003/filter/preset=budget_smartphones/"},"Rule34.dev-x-p-b":{"link":"^rule/34\\?(.*)","url":"$1","res":":\nconst proxy_url='https://proxy'+Math.ceil(Math.random()*5)+'.rule34.dev/proxy?q='\nconst proxy=this.use_proxy_url===true?proxy_url:''\nconst jsn=JSON.parse(($._.match(/__NEXT_DATA__\" type=\"application\\/json\">({.+?})</)||[,'{}'])[1]).props?.pageProps.newResult[0]??[]\nconst res=jsn.find(i=>i.id===this.id),ext=/\\.mp4$/.test(res?.file_url)?'#mp4':''\nreturn res?[[['#'+proxy+res.file_url+ext,proxy+res.sample_url+ext]]]:''","img":"^(?:rule34\\.dev/[^?]+\\?id=(\\d+)|cdn\\.rule34\\.dev/file/.*)","loop":2,"to":":\nthis.use_proxy_url = true // Proxy through rule34.dev. May need to be set to true for some images to display.\nif(!$[1])return $[0]\nconst proxy_url='https://proxy'+Math.ceil(Math.random()*5)+'.rule34.dev/proxy?q='\nthis.id=parseInt($[1]),proxy=this.use_proxy_url===true?proxy_url:''\nif(!this.jsn)this.jsn=JSON.parse((this.node.ownerDocument.body.outerHTML.match(/__NEXT_DATA__\" type=\"application\\/json\">({.+?})</)||[,'{}'])[1]).props?.pageProps.newResult[0]??[]\nconst res=this.jsn.find(i=>i.id===this.id),ext=/mp4$/.test(res?.file_url)?'#mp4':''\nreturn res?'#'+proxy+res.file_url+ext+'\\n'+proxy+res.sample_url+ext:'rule/34?'+$[0]","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/167kjzv/comment/jyxqzci\n\nEXAMPLES\nhttps://rule34.dev/r34/0/score:%3E10+sakimichan\nhttps://rule34.dev/gel/1/score:%3E10+haruno_sakura\nhttps://rule34.dev/r34/0/score:%3E10+orange_background\nhttps://rule34.dev/r34/0/score:%3E10+animated+"},"Rule34.Paheal-x-p":{"useimg":1,"link":"^rule34\\.paheal\\.net/post/view/\\d+","res":":\nvar t=$._.match(/<title>([^<]+)/)?.[1]\n$=$._.match(/(?:id='main_image'|<source)\\s+src='([^']+)('\\s+type='video\\/mp4')?/)\nreturn [$[1]+($[2]?'#mp4':''),t]","img":"^(?:(r34i.paheal-cdn.net/[a-f0-9]{2}/[a-f0-9]{2}/[a-f0-9]+)|[^.]+\\.paheal\\.net/_thumbs((/[a-f0-9]{2})([a-f0-9]{2})[^/]+)/thumb\\.(?:pn|jpe?)g)$","to":":\nreturn $[1]?$[1]+'\\n'+$[1]+'#mp4':'//r34i.paheal-cdn.net'+$[3]+'/'+$[4]+$[2]+'\\n//r34i.paheal-cdn.net'+$[3]+'/'+$[4]+$[2]+'#mp4'","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/197c11b/comment/ki3sh25\nOLD\nhttps://www.reddit.com/r/imagus/comments/jr9r3e/can_i_get_some_help_with_this_site/\n\n\nEXAMPLES\nhttps://rule34.paheal.net/post/list\nhttps://rule34.paheal.net/post/list/Abigail_Lincoln/1\nhttps://rule34.paheal.net/post/list/Byleth_%28female%29/1\nhttps://rule34.paheal.net/post/list/animated/1"},"Rule34.us-x-p":{"link":"rule34\\.us\\/index\\.php\\?r=posts\\/view&id=\\d+","res":":\nconsole.log(\"Rule34.us Sieve\");\n\norig_img_url=$._.match(/href=\"([^\"]*?)\".{1,100}Original/)[1];\n\nvar returnval = [\n [orig_img_url, \"\"]\n ];\nconsole.log(\"returnval: \", returnval);\nreturn returnval;","note":"iceiller9999\nhttps://www.reddit.com/r/imagus/comments/11s43t5/comment/jccdpl7\n\nEXAMPLES\nhttps://rule34.us/index.php?r=posts/index&q=2girls\nhttps://rule34.us/index.php?r=posts/index&q=mina_ashido"},"Rule34.xxx|Realbooru-x-p":{"link":"^(?:(realbooru\\.com|rule34\\.xxx))/index\\.php\\?page=post&s=view&id=(\\d+)","url":": $[1] == \"rule34.xxx\" ? `https://api.${$[1]}/index.php?page=dapi&s=post&q=index&id=${$[2]}&json=1` : `https://${$[1]}/index.php?page=dapi&s=post&q=index&id=${$[2]}&json=1`","res":":\nlet url = JSON.parse($._)[0];\nif(url.file_url) return url.file_url.replace(/api[^\\.]+./g, '');\nreturn `https://${$[1]}/images/${url.directory}/${url.image}`;","note":"Randlai\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2700#14\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=520#21\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=520#11\n\n\n!!!\nPекомендуется установить uMatrix и ограничить рекламу и скрипты на данном сайте:\nhttp://imgur.com/o4TsHki\n==\nRecommend installing uMatrix and limiting ads and scripts on this site:\nhttp://imgur.com/o4TsHki\n\nПРИМЕРЫ / EXAMPLES\nhttps://rule34.xxx/index.php?page=post&s=list&tags=short\nhttps://rule34.xxx/index.php?page=post&s=list&tags=animation\nhttps://realbooru.com/index.php?page=post&s=list&tags=shorts+"},"Rule34Hentai-x-p":{"useimg":1,"link":"^(rule34hentai\\.net)/post/view/\\d+","res":":\nreturn '//'+$[1]+$._.match(/<a href=\"([^\"]+)\" download[>=]/)[1]","img":"^(rule34hentai\\.net/)_thumbs(/[\\da-f]{32}).*","to":"$1_images$2\n$1_images$2#mp4","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/1cpjqwn/comment/l3uard7\nOLD\nhttps://www.reddit.com/r/imagus/comments/15m46xu/comment/jvf3ieu\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=300#12\n\nEXAMPLES\nhttps://rule34hentai.net/post/list/Animated/1\nhttps://rule34hentai.net/post/list/DC_Comics/1"},"Rule34images-x":{"link":"^rule34images.com/post/view/[0-9]+","res":":\nconst src = $._.match(/src='(\\/_images\\/.+?)'/m)?.[1]\nreturn src","note":"_1Zen_\nhttps://www.reddit.com/r/imagus/comments/1dk67uu/comment/l9ghuyp\n\nEXAMPLES\nhttps://rule34images.com/post/list/webm/1\nhttps://rule34images.com/post/list/red_hair/1"},"Rule34Video-x-q-p":{"link":"^rule34video\\.(?:party|com)/videos?/\\d+/.*?/","res":":\nconst low_resolution_first = false\n\nlet title = /<title>([^<]+)/gm.exec($._)[1];\nfunction deobfuscate(r,t){let e=(r=r.split(\"/\").splice(2))[5],n=\"\",l=\"\";l=n=e.substring(0,32);let o=\"\";for(f=\"\",g=1;g<t.length;g++)f+=parseInt(t[g])?parseInt(t[g]):1;for(s=parseInt(f.length/2),$=parseInt(f.substring(0,s+1)),(g=(_=parseInt(f.substring(s)))-$)<0&&(g=-g),f=g,(g=$-_)<0&&(g=-g),f+=g,f*=2,f=\"\"+f,i=10,u=\"\",g=0;g<s+1;g++)for(h=1;h<=4;h++)(a=parseInt(t[g+h])+parseInt(f[g]))>=i&&(a-=i),u+=a;o=u;for(var s=l,$=l.length-1;$>=0;$--){for(var _=$,u=$;u<o.length;u++)_+=parseInt(o[u]);for(;_>=l.length;)_-=l.length;for(var a=\"\",b=0;b<l.length;b++)a+=b==$?l[_]:b==_?l[$]:l[b];l=a}return r[5]=e.replace(n,l),r.join(\"/\")}\nlet videovars = /var flashvars = ({[\\n].+});/gm.exec($._);\neval(\"videovars = \"+videovars[1]);\nlet l = low_resolution_first, urls = [];\nfor(el in videovars){\n if(el.match(/^video.*?url\\d?$/)){\n urls.push([deobfuscate(videovars[el], videovars.license_code)+'#mp4', videovars[el+'_text'] ? videovars[el+'_text'] : title]);\n }\n}\nreturn [[[(!l?'#':'')+urls[urls.length-1][0],(l?'#':'')+urls[0][0]]]];","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/19er8qu/comment/l7c83l6\nOLD\nhttps://www.reddit.com/r/imagus/comments/19er8qu/comment/kjh9otu\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1429&limit=1&m=1#1\n\n!!!\nДля тех, у кого низкая скорость соединения или медленный прокси, в фильтре есть возможность установить качество видео SD вместо HD:\nconst low_resolution_first = true\n==\nFor those with slow connection speeds or slow proxies, the sieve has an option to set the video quality to SD instead of HD:\nconst low_resolution_first = true\n\nПРИМЕРЫ / EXAMPLES\nhttps://rule34video.party/tags/1898/\nhttps://rule34video.party/search/SHORTS/\nhttps://rule34video.party/categories/ben-10/"},"Ruliweb":{"link":"^bbs\\.ruliweb\\.com/\\w+/(?:/\\d+/)?board/\\d+/","res":":\nreturn [...$._.matchAll(/(?:muted=\"\" playsinline=\"|img loading=\"lazy\" [^>]+)\" src=\"(https?:\\/\\/\\w+\\.ruliweb\\.com\\/(?:img|osi)[^\"]+)\" (?:alt|style)=/g)].map(i=>[i[1]])","img":"^([a-z0-9]+\\.ruliweb\\.com/)thumb(/[^.]+\\.)([a-z0-9]+)","to":":\nreturn $[3]==='gif'?$[1]+'ori'+$[2]+'mp4':$[1]+'img'+$[2]+$[3]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/15sx7lx/comment/jwp1lwo\n\nEXAMPLES\nhttps://bbs.ruliweb.com/family/212\nhttps://bbs.ruliweb.com/news?&page=4\nhttps://bbs.ruliweb.com/family/212/board/300064?page=3\nhttps://bbs.ruliweb.com/search?q=@#gsc.tab=0&gsc.q=search&gsc.page=1\nhttps://bbs.ruliweb.com/hobby/board/300075/?search_type=subject&search_key=%EC%95%84%EB%A5%B4%EC%8A%A4%EB%85%B8%EB%B0%94DC"},"Rumble-p":{"link":"rumble\\.com/.+\\.html","res":":\nlet res=[];\nlet vh=$._.match(/\"video\":\"(\\w+)\",\"div\":\"videoPlayer\"/i)[1];\nlet x=new XMLHttpRequest();\nx.open('GET','https://rumble.com/embedJS/u3/?request=video&ver=2&v='+vh,false);\nx.send();\nlet js=JSON.parse(x.responseText);\nlet myMap = new Map(Object.entries(js.ua.mp4));\nlet maxRes=0;\nlet url=null;\nfor (const key of myMap.keys()) {\n if (maxRes<parseInt(key)) {\n url=myMap.get(key).url;\n }\n}\nreturn url;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=4000#14\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/rumble.com/new/\nhttps://rumble.com/vh7597-dancing-bears-make-waves-at-the-zoo.html\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=4000#13"},"RussianPlanes":{"link":"^(russianplanes\\.net/id)(\\d+)$","res":"<img src=\"(https?:\\/\\/russianplanes\\.net\\/images\\/to\\d+\\/0?$2\\.(?:jpe?g|png|bmp))\"","to":"\n","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1680#8\n\nПРИМЕРЫ\nhttps://russianplanes.net/new\nhttps://russianplanes.net/7days\nhttps://russianplanes.net/type/!Aviation_engines!/ASh-62"},"RuTracker-p":{"link":"rutracker\\.org/forum/viewtopic\\.php(?!.+&).+","res":":\nlet res = [];\nlet re = /class=\\\"postImg postImgAligned img-right\\\".+?=\\\"([^\\\"]+)/gi;\nlet a = re.exec($._);\nif (a) {\n if (a[1].includes(\"ipicture.ru\") ||\n a[1].includes(\"tinypic.com\") ||\n a[1].includes(\"imageshack.us\") ||\n a[1].includes(\"10pix.ru\") ||\n a[1].includes(\"imgur.com\") ||\n a[1].includes(\"photobucket.com\") ||\n a[1].includes(\"radikal.ru\") ||\n a[1].includes(\"vfl.ru\") ||\n a[1].includes(\"lostpic.tk\")) {\n res.push([\"https://static.t-ru.org/smiles/tr_oops.gif\"]);\n } else {\n res.push([a[1]]);\n }\n} else return null;\nlet substr = $._.substring($._.indexOf(\"Скриншоты\") + 1);\nsubstr = substr.substring(0, substr.indexOf(\"/go/1\"));\nre = /class=\\\"postImg\\\" title=\\\"([^\\\"]+)/gi;\na = re.exec(substr);\nwhile(a) {\n if (a[1].includes(\"ipicture.ru\") ||\n a[1].includes(\"tinypic.com\") ||\n a[1].includes(\"imageshack.us\") ||\n a[1].includes(\"10pix.ru\") ||\n a[1].includes(\"imgur.com\") ||\n a[1].includes(\"photobucket.com\") ||\n a[1].includes(\"radikal.ru\") ||\n a[1].includes(\"vfl.ru\") ||\n a[1].includes(\"lostpic.tk\")) {\n res.push([\"https://static.t-ru.org/smiles/tr_oops.gif\"]);\n } else {\n res.push([a[1]]);\n }\n a = re.exec(substr);\n}\nreturn res;","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1600#9\n\n\n!!!\nТолько для внешних ссылок. Показывает постер + миниатюры скриншотов.\n==\nOnly for external links. Shows the poster + thumbnails of screenshots.\n\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"RUTUBE.ru":{"link":"^rutube\\.ru/(?:video|shorts)/([a-f0-9]+)/.*","url":"//rutube.ru/api/play/options/$1/?pver=v2","res":":\n$=JSON.parse($._);\nif(!$)return null;\nconst t=[$.title,$.author?.name,$.description].filter(Boolean).join(\" | \");\n$=$.video_balancer?.m3u8;\nthis.TRG.IMGS_ext_data = [ '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"360\"></svg>', `<imagus-extension type=\"videojs\" url=\"${$}\"></imagus-extension>${t}` ];\nreturn {loop:'imagus://extension'}","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lfbh47p\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Safebooru|XBooru-x-p":{"useimg":1,"link":"^(?:safebooru\\.org|xbooru\\.com)/index\\.php\\?page=post&s=view&id=\\d+","res":"<li><a href=\"(https?://(?:safe|img\\.x)booru\\.[^/]+/+images/[^\"]+)","img":"^(safebooru\\.org/+)(?:sample|thumb(?:nail)?)s/(\\d+)/(?:thumbnail|sample)_([\\da-f]+)\\.([^?]+).*","to":"#$1/images/$2/$3.#$4 png gif#\n$1/samples/$2/sample_$3.$4","note":"https://www.reddit.com/r/imagus/comments/g7hwtc/safebooru_wont_load_png_files/\n\n\nEXAMPLES\nhttps://www.reddit.com/domain/xbooru.com/new/\nhttps://www.reddit.com/domain/safebooru.org/new/\nhttps://safebooru.org/index.php?page=post&s=list&tags=hifumi_(blue_archive)\nhttps://xbooru.com/index.php?page=post&s=list&tags=topless&pid=126"},"Sahibinden":{"img":"^(i\\d\\.shbdn\\.com/photos/\\d+/\\d+/\\d+/)[^_]+","to":"$1#x16 big x5#","note":"https://www.reddit.com/r/imagus/comments/8xfmn5/comment/e2h3vbu\n\n!!!\nНужен аккаунт"},"SANKAKU-x-p":{"link":"^(?:(?:idol|chan)\\.)?sankakucomplex\\.com/(?:\\w{2}/)?posts?/(?:show/)?([a-zA-Z0-9]+)","url":": this.no_auth?$[0]:'data:,'+$[0]","res":":\nconst access_token=/sankakucomplex\\.com$/.test(location.hostname)&&document.cookie.match(/(?:^|;\\s*)accessToken=([^;]+)/)?.[1];\nif(/^data:/.test($.url[0])){\nif(access_token&&/sankakucomplex\\.com$/.test(location.hostname)){\nconst x=new XMLHttpRequest();\nx.open('Get','https://capi-v2.sankakucomplex.com/posts?lang=en&page=1&limit=1&tags=id_range:'+$[1],false);\nx.setRequestHeader(\"Authorization\",\"Bearer \"+access_token);\nx.send();\n$._=x.responseText;\nif(x.status!==200||!/file_url/.test(x.responseText)){\nthis.no_auth = true\nreturn {loop:$[0]}\n}\n}else{\nthis.no_auth = true\nreturn {loop:$[0]}\n}\n}\nlet meta = document.querySelector('head > meta[name=\"referrer\"]');\nif (!meta) {\n meta = document.createElement('meta');\n meta.name = 'referrer';\n meta.content = 'same-origin';\n document.getElementsByTagName('head')[0].appendChild(meta);\n} else if (meta.attributes.content.value !== 'same-origin') {\n meta.attributes.content.value = 'same-origin';\n}\nlet url;\n//if set to false, the largest possible media will be selected rather as opposed to web optimized media\nlet prefer_lowres=true;\nif(prefer_lowres){\n url = ($._.match(/(?:(?:(?:Original|Resized): <a|<a id=\"(?:low|high)res\"[^>]+?) href=|(?:sample|file)_url\": ?)\"([^\"]+)/) || [])[1];\n}else{\n url = ($._.match(/(?:(?:Original: <a|<a id=\"highres\"[^>]+?) href=\"|file_url\":\"?)([^(,\")]+)/) || [])[1];\n}\nreturn [url];","note":"throwawayS251 + imqswt\nhttps://www.reddit.com/r/imagus/comments/1euwjkk/comment/liur3pp\nOLD\nhttps://www.reddit.com/r/imagus/comments/17r7qqq/comment/k9ri2ym\nhttps://www.reddit.com/r/imagus/comments/17d33ij/comment/k5ycm31\nhttps://www.reddit.com/r/imagus/comments/16gtfgu/fast_alt_chan_beta_sankakucomplex_sankaku_sieve/\n\n\nEXAMPLES\nhttps://www.sankakucomplex.com/ru?tags=sex\nhttps://idol.sankakucomplex.com/?tags=kyleigh_reese\nhttps://chan.sankakucomplex.com/?tags=contentious_content&commit=Search\nhttps://chan.sankakucomplex.com/?tags=genshin_impact+order%3Apopular+extreme_content&commit=Search"},"SANKAKU_beta|SANKAKU.app-x-q-p":{"link":"^(?:beta\\.sankakucomplex\\.com|sankaku\\.app)/(?:\\w{2}/)?posts?/(?:show/)?(\\w+).*","url":": this.no_auth?'https://chan.sankakucomplex.com/posts/show/'+$[1]:'data:,'+$[0]","res":":\nconst access_token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' // <- Put Access token here.\n\nif(/^data:/.test($.url[0])){\nif(access_token&&!/^x+$/.test(access_token)&&/sankaku(?:complex\\.com|\\.app)\\//.test(this.node.baseURI)){\nconst x = new XMLHttpRequest();\nx.open('Get','https://capi-v2.sankakucomplex.com/posts?lang=en&page=1&limit=1&tags=id_range:'+$[1],false);\nx.setRequestHeader(\"Authorization\",\"Bearer \"+access_token);\nx.send();\n$._=x.responseText;\nif(x.status!==200||!/sample_url/.test(x.responseText)){\nthis.no_auth = true\nreturn {loop:$[0]}\n}\n}else{\nthis.no_auth = true\nreturn {loop:$[0]}\n}\n}\nconsole.log($._)\nlet meta = document.querySelector('head > meta[name=\"referrer\"]');\nif (!meta) {\n meta = document.createElement('meta');\n meta.name = 'referrer';\n meta.content = 'same-origin';\n document.getElementsByTagName('head')[0].appendChild(meta);\n} else if (meta.attributes.content.value !== 'same-origin') {\n meta.attributes.content.value = 'same-origin';\n}\nlet url;\n//if set to false, the largest possible media will be selected rather as opposed to web optimized media\nlet prefer_lowres=true;\nif(prefer_lowres){\n url = ($._.match(/(?:(?:sample|file)_url\": ?|(?:Original:\\s+<a\\s+|id=\"(?:low|high)res\"[^<>]+)href=)\"([^\"]+)/) || [])[1];\n}else{\n url = ($._.match(/(?:file_url\":\"?|(?:Original:\\s+<a\\s+|id=\"highres\"[^<>]+)href=\")([^(,\")]+)/) || [])[1];\n}\nreturn [url];","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/1acru2t/comment/kjydxe2\nOLD\nhttps://www.reddit.com/r/imagus/comments/16gtfgu/comment/k0dobso\nhttps://www.reddit.com/r/imagus/comments/16gtfgu/fast_alt_chan_beta_sankakucomplex_sankaku_sieve/\n\n\n!!!\nOption to switch image size:\nlet prefer_lowres=\ntrue - web optimized / false - maximal\n(by default, the parameter is set true)\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://sankaku.app/?tags=user%3AGrenex\nhttps://beta.sankakucomplex.com/?tags=sex"},"Saro-Knives.ru":{"link":"^saro-knives\\.ru/products/[\\w-]+","res":":\nvar i = $._.indexOf('class=\"avatar-view \">');\nif(i<0) {return null; }\nvar t = $._.indexOf('</noindex>', i);\nif(t<0) {return null; }\nvar res = [];\nvar re = /\"\\s+href=\".+top\\/([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push(['https://' + a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3660#3\n\nПРИМЕРЫ\nhttps://saro-knives.ru/products/category/4725402"},"SaveImg.ru":{"useimg":1,"link":"^saveimg\\.ru/show-image.php\\?id=\\w+$","res":"<img src='(http://saveimg\\.ru/pictures/[^']+)'","img":"^(saveimg\\.ru/)thumbnails(/\\d{2}-\\d{2}-\\d{2}/\\w+\\.(?:jpe?g|png|gif))$","to":"$1pictures$2","note":"Rodny\n\n!!!\nUpload закрыт?, но старые фотки работают.\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48073&start=3080#15\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=20#14"},"SberMarket.ru":{"link":"^sbermarket\\.ru/\\w+/[\\w-]+\\?sid=\\d+","res":":\n$=JSON.parse($._.match(/\"__NEXT_DATA__\" type=\"application\\/json\">(.+?)<\\/script/)?.[1]||'{}').props.pageProps.data.preloadedState.viewData.product.images;\nreturn $.map(i=>[i.originalUrl])","img":"^(imgproxy\\.sbermarket\\.ru/imgproxy/)size-\\d+-\\d+(?:-2x)?","to":"$1width-auto","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lay54no\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2100#13\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3260#8\n\n!!!\nФильтр работает только для тех кто залогинен на сайте.\n\nПРИМЕРЫ\nhttps://sbermarket.ru/multisearch?q=кофе&sid=107\nhttps://sbermarket.ru/multisearch?q=чай%20в%20пакетиках&sid=107"},"Screencast":{"link":"^screencast\\.com/t/[^/]+$","res":":\nconst rx1 = /<meta property=\"og:video\" content=\"([^\"]+)\"/g;\nconst video = rx1.exec($._);\nif (video) return (video[1]);\n\nconst rx2 = /<meta property=\"og:image\" content=\"([^\"]+)\"/g;\nconst image = rx2.exec($._);\nif (image) return (image[1]);\nreturn;\n","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#17\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2400#19\n\nEXAMPLES\nhttps://www.reddit.com/domain/screencast.com/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2400#17"},"Screensider":{"img":"^((?:img\\.)?screensider\\.com/images/albums/\\d+/[^/]+)-(?:top|th|md)(\\.(?:jpe?g|png|gif|bmp))$","to":"#$1$2\n$1-md$2","note":"Rodny + Baton34V (fix)\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1540#12\n\nEXAMPLES\nhttps://screensider.com/#/album/115/page-4"},"Scrolller-x-p":{"link":"^(?:api\\.)?scrolller\\.com/(?:[^-]+-)+[a-z0-9]+$","url":": this.sAlbumSrc?.length ? `https://api.scrolller.com/api/v2/graphql :{\"query\":\" query AlbumQuery( $url: String! $iterator: String ) { getAlbum(url: $url) { children( iterator: $iterator limit: 50 ) { iterator items { __typename mediaSources { url width height isOptimized } } } } } \",\"variables\":{\"url\":\"${this.sAlbumSrc}\"},\"authorization\":null}` : $[0]","res":":\ndelete this.sAlbumSrc\n$=JSON.parse($._[0]==='{'?$._:JSON.parse($._.match(/scrolllerConfig\\s*=\\s*(\"{.+?}\")<\\//)?.[1].replace(/\\\\'/g,\"'\")||'{}'))\nif($.item?.albumUrl?.length||$.item?.__typename==='Album'){\n$=$.item\nthis.sAlbumSrc=$.albumUrl||$.url\nreturn {loop:'https://scrolller.com'+($.albumUrl||$.url)}\n}\nif($.data){\n$=$.data?.getAlbum?.children?.items\nreturn $?.length?$.map(i=>{i=i.mediaSources;return [i.some(i=>/\\.mp4/.test(i.url))?i.find(i=>/\\.mp4/.test(i.url)).url:i.sort((a,b)=>b.height-a.height)[0]?.url]}):''\n}\n$=$.item?.mediaSources||[];\nif($.some(i=>/\\.mp4/.test(i.url))){\nreturn $.find(i=>/\\.mp4/.test(i.url)).url\n}\nlet l=$.filter(i=>i.height<1080).sort((a,b)=>b.height-a.height)[0]?.url;\n$=$.sort((a,b)=>b.height-a.height)[0]?.url;\nreturn $?[[['#'+$,l]]]:''\n","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/1aoy7k4/comment/l44rpq5\nOLD\nhttps://www.reddit.com/r/imagus/comments/1aoy7k4/comment/kq7ii83\n\nEXAMPLES\nhttps://scrolller.com/r/Witcher_NSFW\nhttps://api.scrolller.com/r/imaginarycosmere\nhttps://scrolller.com/r/Witcher_NSFW?filter=albums\nhttps://scrolller.com/r/Witcher_NSFW?filter=videos"},"SeaArt.ai":{"link":"^seaart\\.ai/[^/]+/detail/.*","img":"^seaart\\.ai/[^/]+/detail/.*","to":":\nconst n = this.node\nreturn n.src??n.querySelector('img')?.src??n.offsetParent.querySelector('img')?.src","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/15dz344/comment/ju4u4rh\n\nEXAMPLES\nhttps://seaart.ai/explore?keyword=animal\nhttps://seaart.ai/explore?tagId=nature\nhttps://seaart.ai/explore/detail/ci1n6jp4msb0lpnt3m2g\nhttps://seaart.ai/user/Quiron"},"SendVid":{"link":"^(sendvid\\.com/)(?:embed/)?([\\da-z]{8})\\W*","url":"$1embed/$2","res":":\nconst m=($._.match(/=\"og:video:secure_url\" content=\"([^\"]+)/)||[,''])[1]\nconst t=($._.match(/=\"og:title\" content=\"([^\"]+)/)||[,''])[1]\nconst h=($._.match(/video:height\" content=\"(\\d+)/)||[,''])[1]\nconst w=($._.match(/video:width\" content=\"(\\d+)/)||[,''])[1]\nthis.TRG.IMGS_ext_data = [\n '//' + `data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${w}\" height=\"${h}\"></svg>`,\n `<imagus-extension type=\"videojs\" url=\"${m}\"></imagus-extension>${t}!`\n]\nreturn m?{loop:'imagus://extension'}:''","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jspp9q8\n\n!!!\nНа некоторых хромиум-браузерах (Cent, Chrome) может возникать ошибка - \"белый экран\".\n==\nOn some chrome browsers (Cent, Chrome) you may get an error - \"white screen\".\n\nEXAMPLES\nhttps://www.reddit.com/domain/sendvid.com/new/"},"Servimg":{"link":"servimg\\.com/view/\\d+/\\d+$","res":"<meta property=\"og:image\" content=\"([^\"]+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jxydqur\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=260#12\n\nПРИМЕРЫ / EXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=34533&start=1080#5"},"Sex.com-x-p-b":{"useimg":1,"link":"^(sex\\.com)/picture/(\\d+).*","res":"=\"image_src\" href=\"([^\"?]+)","img":"^(images\\.sex\\.com/images/pinporn/\\d{4}/[01]\\d/[0-3]\\d/)(?!620/|video/)[^/]+","to":"$1620","note":"ПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/sex.com/new/\nhttps://www.sex.com/iwishufuckme\nhttps://www.sex.com/s/tags?media=videos&q=teen\nhttps://www.sex.com/s/media?media=videos&q=green\nhttps://www.sex.com/user/widdd/fantasy-gifs-2/"},"Sexy-eGirls-x":{"img":"^forum\\.sexy-egirls\\.com/attachments/[^/]+-([A-Za-z\\d]{3,4})\\.\\d+/","to":":\nreturn $[0] + (/m(4v|p[34])|webm/i.test($[1]) ? '#mp4' : '')","note":"https://www.reddit.com/r/imagus/comments/iuzzqb/comment/g6gf56u\n\n!!!\nНужен аккаунт."},"ShemaleHD.sex-x-p":{"link":"^shemalehd.sex/\\w+/[\\w-]+","res":":\nreturn $._.match(/video_url: '([^']+)/)[1]+'#mp4'","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/15f41bk/comment/jubiohy\n\nEXAMPLES\nhttps://www.shemalehd.sex/pantyhose.porn\nhttps://www.shemalehd.sex/search/BOOBS/"},"ShemalesTube-x-p-b":{"link":"^shemalestube\\.com\\/video\\/[a-z-]+\\/","res":"<source src=\"([^\"]+)","note":"DracoSerge\nhttps://www.reddit.com/r/imagus/comments/150zrnk/nsfw_i_want_to_share_sieves_some_i_made_and_some/\n\n\nEXAMPLES\nhttps://www.shemalestube.com/tag/latina/\nhttps://www.shemalestube.com/pictures/tag/amateur/5/\nhttps://www.shemalestube.com/videos/search/CANDY/4/\nhttps://www.shemalestube.com/video/stunning-transexual-kelly-porter-pounds-her-lover-s-tight-ass-/playlist/5727/"},"ShemaleTubeVideos-x-p":{"link":"^shemaletubevideos.com/video/[\\w\\-\\.]+","res":"<source data-res=\\\"480p\\\" type=\\\"video/mp4\\\" src=\\\"([^\\\"]+)","note":"DracoSerge\nhttps://www.reddit.com/r/imagus/comments/150zrnk/nsfw_i_want_to_share_sieves_some_i_made_and_some/\n\n!!!\nNo album support:\nhttps://www.shemaletubevideos.com/galleries/shemale/bathroom-view.html\n\n\nEXAMPLES\nhttps://www.shemaletubevideos.com/videos/all/video-view.html\nhttps://www.shemaletubevideos.com/videos/shemale/teen-recent.html"},"Shopee":{"useimg":1,"link":"^(shopee\\.(?:com?\\.)?[a-z]{2})/.+","img":"^(?:[^.]+\\.img\\.susercontent|play-[^.]+\\.vod\\.shopee)\\.com/.+","to":":\nif($[1]&&$[1]!==location.hostname)return ''\nlet a=[...document.getElementsByClassName('shopee-rating-media-list-image__content--blur')]\nfor(let i=0;i<a.length;i++)a[i].remove()\nconst n=this.node\nreturn n.parentNode.nextSibling?.className==='rating-media-list__video-cover' ? n.closest('.rating-media-list').querySelector('video').src : (/\\/[a-z]{2}?-50009109-/.test($[0]) ? n.parentNode.parentNode.querySelector('img[src^=\"https://down-\"]:not([src*=\"-50009109-\"])')?.src||n.attributes?.style?.textContent?.match(/https:[^_]+/)?.[0]||n.nextSibling?.nextSibling?.firstChild?.attributes?.style?.textContent?.match(/https:[^_]+/)?.[0]||'' : $[1] ? n.src||n.querySelector('img[src]')?.src||'' : $[0]).match(/^([^_]+)/)?.[1]||''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/17udk0c/comment/kbdqmmk\nOLD\nhttps://www.reddit.com/r/imagus/comments/17udk0c/comment/ka5hrzt\nhttps://www.reddit.com/r/imagus/comments/cdfrr5/comment/eu8r18g\n\n!!!\nIt is impossible to view the album of the product for this site (see the link to the sieve).\n+\nTo view photos and videos in customer responses, you need to add a rule for uBO:\nshopee.cl,shopee.co.id,shopee.co.th,shopee.com.co,shopee.com.mx,shopee.com.my,shopee.ph,shopee.sg,shopee.tw,shopee.vn##.shopee-rating-media-list-image__content--blur\n\nEXAMPLES\nhttps://shopee.sg/Entertainment-col.935698\nhttps://shopee.com.my/Groceries-Pets-cat.11000003\nhttps://shopee.com.my/search?category=11001724&keyword=casio%20watch"},"ShopGoodwill-p":{"link":"^shopgoodwill\\.com/item/(\\d+).*","url":"https://buyerapi.shopgoodwill.com/api/ItemDetail/GetItemDetailModelByItemId/$1","res":":\nconst use_sidebar = true\n\n$=JSON.parse($._)\nif(!$.imageUrlString)return ''\nlet m=[],s=$.imageServer,u=$.imageUrlString.split(';')\nfor(i=0;i<u.length;i++)m.push([s+u[i],(!i?use_sidebar?`<imagus-extension type=\"sidebar\">${$.description}</imagus-extension>`:$.description:'')])\nif(use_sidebar)this.TRG.IMGS_ext_data=m\nreturn use_sidebar?{loop:'imagus://extension'}:m\n","img":"^(shopgoodwillimages\\.azureedge\\.net/production/\\d+/Items/[\\d-]+/[a-z0-9-]+_\\d+)t?(\\d*\\.).+","to":"$1$2#jpg png jpeg#","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/18wxgza/comment/kg3t2o5\n\n!!!\nSieve has sidebar support for the items description. If you don't want that, set use_sidebar to false.\n\n\nEXAMPLES\nhttps://shopgoodwill.com/categories/computers-electronics"},"shottr.cc":{"link":"shottr\\.cc/s/.*","res":"<meta property='og:image' content='([^']+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"ShutterStock-b":{"link":"shutterstock.com/.*","res":":\nconst url = $[0];\n\nfunction syncFetch(u) {\n const x = new XMLHttpRequest();\n x.open('GET', u, false);\n x.send();\n if (x.readyState != 4) return;\n if (x.status != 200) return;\n return JSON.parse(x.responseText);\n}\n\nfunction findLargestImage(displays) {\n if (!displays) {\n return;\n }\n let largest = {\n width: 0,\n };\n for (const val of Object.values(displays)) {\n if (val.width > largest.width) {\n largest = val;\n }\n }\n // console.log(largest);\n return largest.src;\n}\n\nfunction removeQueryParams(string) {\n if (!string) {\n return string;\n }\n const index = string.indexOf('?');\n if (index < 0) {\n return string;\n }\n return string.substring(0, index);\n}\n\nfunction getIdFromSlug(slug) {\n const splits = slug.split('-');\n if (splits.length === 0) {\n return;\n }\n return removeQueryParams(splits[splits.length - 1]);\n}\n\nconst profileGalleryRegex = /shutterstock\\.com\\/(.*\\/)*g\\/(.*)/;\nmatch = url.match(profileGalleryRegex);\nif (match && match.length >= 2) {\n console.log(match[match.length - 1]);\n const profile = removeQueryParams(match[match.length - 1]);\n if (!profile) {\n return;\n }\n console.log(profile);\n const json = syncFetch(`https://www.shutterstock.com/_next/data/123/en/_shutterstock/g/${profile}.json`);\n const assets = json.pageProps.assets;\n return assets.map(asset => {\n const imageUrl = findLargestImage(asset.displays);\n const caption = asset.title;\n return [imageUrl, caption];\n });\n}\nconst imageEditorialRegex = /shutterstock\\.com\\/(.*\\/)*editorial\\/image-editorial\\/(.*)/;\nmatch = url.match(imageEditorialRegex);\nif (match && match.length >= 2) {\n const slug = match[match.length - 1];\n const id = getIdFromSlug(slug);\n if (!id) {\n return;\n }\n // console.log(id);\n const json = syncFetch(`https://www.shutterstock.com/_next/data/123/en/_shutterstock/editorial/image-editorial/${id}.json`);\n const imageUrl = findLargestImage(json.pageProps.asset.displays);\n const caption = json.pageProps.asset.title;\n return [imageUrl, caption];\n}\nconst imagePhotoRegex = /shutterstock\\.com\\/(.*\\/)*image-photo\\/(.*)/;\nmatch = url.match(imagePhotoRegex);\nif (match && match.length >= 2) {\n const slug = match[match.length - 1];\n const id = getIdFromSlug(slug);\n if (!id) {\n return;\n }\n // console.log(id);\n const json = syncFetch(`https://www.shutterstock.com/studioapi/images/${id}`);\n const imageUrl = findLargestImage(json.data.attributes.displays);\n const caption = json.data.attributes.title;\n return [imageUrl, caption];\n}\nconst videoSearchRegex = /shutterstock\\.com\\/(.*\\/)*video\\/search\\/(.*)\\/*/;\nmatch = url.match(videoSearchRegex);\nif (match && match.length >= 2) {\n const term = removeQueryParams(match[match.length - 1]);\n const json = syncFetch(`https://www.shutterstock.com/_next/data/123/en/_shutterstock/video/search/${term}.json`)\n // console.log(json);\n if (!json || !json.pageProps || !json.pageProps.videos) {\n return;\n }\n const videos = json.pageProps.videos;\n const caption = (json.pageProps.query && json.pageProps.query.term) || term;\n return videos.map(video => [video.previewVideoUrls.mp4, caption]);\n}\nconst imgSearchRegex = /shutterstock\\.com\\/(.*\\/)*search\\/(.*)\\/*/;\nmatch = url.match(imgSearchRegex);\nif (match && match.length >= 2) {\n const term = removeQueryParams(match[match.length - 1]);\n const json = syncFetch(`https://www.shutterstock.com/_next/data/123/en/_shutterstock/search/${term}.json`)\n // console.log(json);\n if (!json || !json.pageProps || !json.pageProps.assets) {\n return;\n }\n const assets = json.pageProps.assets;\n const caption = (json.pageProps.query && json.pageProps.query.term) || term;\n // console.log(assets);\n return assets.map(asset => [findLargestImage(asset.displays), caption]);\n}","img":"shutterstock.com/.*","note":"ammar786\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/j0tzgxh\nOLD\nhttps://www.reddit.com/r/imagus/comments/co5d0k/comment/ewj7k9s\n\n\nEXAMPLES\nhttps://www.shutterstock.com/ru/search/bruce-willis\nhttps://www.shutterstock.com/ru/video/search/dance\nhttps://www.shutterstock.com/ru/image-photo/stylish-man-woman-dancing-hiphop-bright-1823945150\nhttps://www.shutterstock.com/ru/search/yellow-flowers?image_type=illustration\nhttps://www.shutterstock.com/ru/search/yellowstone?image_type=vector"},"Sight.photo":{"link":"^sight\\.photo/photos/\\d+","res":"id=\"big_photo\" src=\"([^\"]+)\" alt=\"([^\"]+)\"","img":"^(?:(?:icon\\.)?s|img-(?:[^.]+)|cdn)(\\.sight\\.photo/img/(?:[\\da-z]+)/(?:[\\da-z]{3}/\\d+_))(?!xlarge)[^.]+","to":"cdn$1#x #large","note":"Deathamns + Mag_Keeper (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=440#9\n\nПРИМЕРЫ\nhttps://sight.photo/photos/category/2/\nhttps://sight.photo/search/search_word/?query=ЖЕЛТЫЙ"},"Sima-land.ru":{"link":"^sima-land\\.ru/\\d+/(?:\\w+-)+\\w+/","res":":\nreturn JSON.parse($._.match(/\\[\"product__serverData\"\\]\\s*=\\s*JSON\\.parse\\(\"({.+?})\"\\);<\\/script/)?.[1].replace(/\\\\\"/g,'\"').replace(/\\\\\\\\/g,'\\\\')).media.items.filter(i=>i.src).map(i=>[[i.srcIncreased?.replace(/.+/,'#$&'),i.src]])","img":"^(goods-photos\\.static1-sima-land\\.com/items/\\d+/\\d+/)\\d+(\\.\\w+).*","to":"#$11600$2\n$1700$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l7ny10s\nOLD\nhttps://www.reddit.com/r/imagus/comments/1akz6th/comment/kpbqh6b\n\nПРИМЕРЫ\nhttps://www.sima-land.ru/vazy/?c_id=345&catalog=new-catalog\nhttps://www.sima-land.ru/akkumulyatornye-dreli-shurupoverty/?sort=rating\nhttps://www.sima-land.ru/search/?per-page=20&q=телевизоры%2055&sort=price&viewtype=list"},"Skeb.jp":{"link":"^skeb\\.jp/@([^/]+)/works/(\\d+)","url":"data:$1$2","res":":\nvar x = new XMLHttpRequest()\nx.open('Get','https://skeb.jp/api/users/'+$[1]+'/works/'+$[2],false)\nx.setRequestHeader(\"Authorization\",\"Bearer null\")\nx.send()\nlet jsn = JSON.parse(x.responseText)\nreturn [jsn.article_image_url].concat(jsn.previews.map(i=>i.url+(/fcdn/.test(i.url)?'#mp4':''))).filter(Boolean).map(i=>[i])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jqhm6hq\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3760#17\nhttps://www.reddit.com/r/imagus/comments/jra88g/sieve_for_skeb/\n\n\n!!!\nДля некоторых видео курсор нужно наводить на красный значок Seeking в левом верхнем углу обложки.\n==\nFor some videos, you need to hover your cursor over the red Seeking icon in the upper left corner of the cover.\n\n\nEXAMPLES\nhttps://skeb.jp/#new_art_works\nhttps://skeb.jp/works?sort=date&genre=art\nhttps://skeb.jp/works?sort=date&genre=video"},"Skrinshoter.ru|skr.sh":{"link":"^skr\\.sh/\\w{11}","res":"<meta property=\"og:image\" content=\"([^\"]+)\"/>","img":"^(skrinshoter\\.ru)/s/(\\d+)/(\\w+)","to":"$1/i/$2/$3.png","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=840#5\n\nПРИМЕРЫ\nhttps://getcourse.ru/blog/275857"},"Skroutz.gr-p":{"link":"^skroutz\\.gr/s/\\d+/.+","res":":\nconst re = /\"ImageObject\",\"contentUrl\":\"(?<img>[^\"]+)/g;\nconst m = $._.matchAll(re);\nreturn [...m].map((el) => [el.groups?.img, '']);","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2720#16\n\nEXAMPLES\nhttps://www.skroutz.gr/c/25/laptops.html?lang=en\nhttps://www.skroutz.gr/c/285/men-s-clothes.html?lang=en"},"Skype_web":{"img":"^(api\\.asm\\.skype\\.com/v1/objects/[^/]+/views/imgpsh_)thumbnail_sx","to":"$1fullsize_anim","note":"https://www.reddit.com/r/imagus/comments/hkqinj/comment/fyoe8yl\n\n!!!\nНужен аккаунт."},"slow.pics":{"link":"slow\\.pics/(?:c/)?\\w+/?$","res":"(?:<img id=\"image\" class=\"[^\"]+\" src=\"|<div class=\"card-body\" >\\[IMG\\])([^\"[]+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Slushe-x":{"link":"^slushe\\.com/(galleries|video)/[\\w-]+\\.html","res":":\nlet cloud_vid = [...$._.matchAll(/cloud_vid = '([^']+)/g)];\nif(cloud_vid.length > 0) return {loop: 'https://videodelivery.net/'+cloud_vid[1][1]+'/manifest/video.m3u8'};\nlet i = $._.indexOf('<div class=\"gallery-photo');\nif(i<0) { return null; }\nlet t = $._.indexOf('</section>', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /href=\"([^\"]+)\" target=\"_blank\"/gi\nlet data = $._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","note":"Randlai\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2720&limit=1&m=1#1\n\n\nEXAMPLES\nhttps://slushe.com/most-viewed\nhttps://slushe.com/most-recent/page2.html\nhttps://slushe.com/artists\nhttps://slushe.com/PAT20XX/page2.html"},"SMBC-comics":{"link":"^smbc-comics\\.com\\/(?:comics?\\/.+|(?:index\\.php)?\\?(?:db=comics(?:_[^&]+)?&)?id=\\d+)","res":":\nlet comic = $._.match(/\" src=\"([^\"]+)\" id=\"cc-comic\"/)[1];\nlet comicTitle = $._.match(/ title=\"([^\"]*)\" src=\"[^\"]+\" id=\"cc-comic\"/)[1];\nlet extra = $._.match(/<div id=\"aftercomic\" onclick='toggleBlock\\(\"aftercomic\"\\)' style=\"display:none;\" class=\"mobilehide\"><img src='([^']+)'/)[1];\nreturn [[comic, comicTitle], [extra, \"Extra\"]];","note":"borderpeeved\nhttps://www.reddit.com/r/imagus/comments/xa2irk/improved_filter_for_smbccomicscom\n\nEXAMPLES\nhttps://www.reddit.com/domain/smbc-comics.com/new/"},"Smotrim.ru":{"link":"^(?:player\\.)?smotrim\\.ru/(?:(brand|video)/(\\d+)|iframe/video/id/(\\d+)).*","url":": $[1]==='brand' ? $[0] : `//player.smotrim.ru/iframe/datavideo/id/${$[2]||$[3]}/sid/smotrim`","res":":\nif($[1]==='brand')return {loop:$._.match(/\\/\\/player\\.smotrim\\.ru\\/iframe\\/video\\/id\\/[^\"]+/)?.[0]||''}\n$=JSON.parse($._).data;\nif(!$)return null;\nconst x=new XMLHttpRequest(), t=$.tagsTitle||'';\n$=$.playlist?.medialist[0]?.sources.m3u8?.auto;\nx.open('GET',$,false)\nx.send()\n$=$.replace(/playlist\\.m3u8.+/,x.responseText.match(/chunklist_[^\\n]+/)[0])\nthis.TRG.IMGS_ext_data = [ '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"360\"></svg>', `<imagus-extension type=\"videojs\" url=\"${$}\"></imagus-extension>${t}` ];\nreturn $ ? {loop:'imagus://extension'} : null","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lfgjinr\n\n!!!\nВ случае если наблюдается \"дрожание\" плеера - рекомендуется очистить кэш и обновить страницу.\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"SmugMug":{"img":"^[^.]+\\.smugmug\\.com/.+(?:T[ih]|S|M|L|X[2L]|\\d+x\\d+)(?:-\\d)?\\.[^.]{3,4}$","to":":\nreturn $[0].replace(/(?:(\\/)(?:T[ih]|S|M|L|X[2L]|\\d+x\\d+)(\\/)|(-)(?:T[ih]|S|M|L|X[2L]|\\d+x\\d+)([.\\/]))/g, '$1$35K$2$4');","note":"Limn0\nhttps://www.reddit.com/r/imagus/comments/su09vy/update_smugmug_sieve\n\n\nEXAMPLES\nhttps://www.reddit.com/domain/smugmug.com/new/"},"Softodrom.ru":{"img":"^(soft\\.softodrom\\.ru/screens/soft/\\d+/\\d+/)small_(\\d+\\.(?:jpe?g|png))$","to":"$1$2","note":"Rodny\n\nПРИМЕРЫ\nhttps://soft.softodrom.ru/Скриншот/5628/"},"SoftoRoom-p":{"img":"^(softoroom\\.(?:net|org)/images/(?:server\\d+/)?out\\.php/)t([^/]+\\.(?:jpe?g|gif|png))$","to":"$1i$2","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#17\n\nEXAMPLES\nhttp://softoroom.net/topic85478.html\nhttp://softoroom.net/topic85488.html"},"Softpedia":{"link":"^softpedia\\.com/get/.+/[\\w-.]+\\.shtml","url":": /softpedia\\.com$/.test(location.hostname) ? 'data:,'+$[0] : $[0]","res":":\nif($.base[0]==='d'){\nconst x=new XMLHttpRequest();\nx.open('Get',$[0],false);\nx.send();\n$._=x.responseText;\n}\nlet i = $._.indexOf('<div class=\"slide\">');\nif(i<0) { return $._.match(/<img width=\"32\" height=\"32\" src=\"([^\"]+)\"/)[1]; }\nlet t = $._.indexOf('</div>', i);\nif(t<0) { return null; }\nlet res = [];\nlet re = /href=\"([^\"]+)\"/gi\nlet data=$._.substring(i,t);\nlet a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res || 'https://cdn-icons-png.flaticon.com/512/1179/1179237.png';","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lglgeyn\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=640#17\n\nEXAMPLES\nhttps://www.softpedia.com/downloadTag/start%20menu,3\nhttps://www.softpedia.com/downloadTag/launcher,3"},"SoftPortal":{"link":"^softportal\\.com/software-\\d+-[\\w-]+\\.html","res":":\nvar i = $._.indexOf('<div class=\"zoom-button\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('</div></div>', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /<link itemprop=\"contentUrl\" href=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;","img":"^(softportal\\.com/scr/\\d+/[^/]+-)(tmb|mid)(-\\d+\\.(?:jpe?g|png))$","to":"$1#big mid#$3","note":"Rodny + Baton34V (fix)\n\n!!!\nКурсор наводить на название программы.\n\nПРИМЕРЫ\nhttps://www.softportal.com/dlcategory-284-3-0-0-0.html\nhttps://www.softportal.com/software-35544-everylang.html\nhttps://www.softportal.com/dlcategory-284-1-0-0-0.html"},"SourceForge":{"link":"^sourceforge\\.net/(projects|software/product)/[^\\/]+/$","res":":\nvar i = $._.indexOf('<div class=\"owl-carousel');\nif(i<0) { return null; }\nvar t = $._.indexOf('</div>', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /<img itemprop=\"screenshot\" src=\"([^\"]+)\\/\\d+\\/\\d+\\/\\d+\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","img":"^((?:a\\.fsdn\\.com/con/app/proj|sourceforge\\.net/projects)/[^/]+/screenshots/[^/]+).*","to":"$1","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=640#20\n\nПРИМЕРЫ / EXAMPLES\nhttps://sourceforge.net/software/crm/?page=10\nhttps://sourceforge.net/directory/?q=down\nhttps://sourceforge.net/directory/business-enterprise/office/"},"Sp-Shopogoliki.ru":{"link":"(foto\\.sp-shopogoliki\\.ru/images/[^.]+\\.[^.]+).html","img":"(foto\\.sp-shopogoliki\\.ru/images/[^.]+\\.[^.]+).html","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jnrcrmb\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"SpankBang-x-q-p":{"link":"^(.*\\.)?spankbang.com\\/(.*?\\/video|[^-]+-.+?\\/playlist)\\/.*","res":":\nconst max_resolution = 2160\n\n$=JSON.parse($._.match(/stream_data\\s*=\\s*({[^;]+})/)?.[1].replaceAll(\"'\",'\"')||'{}')\n$=Object.entries($).filter(i=>/^\\d+[pk]$/.test(i[0])&&parseInt(i[0].match(/^(\\d+)[pk]$/)[1].replace(/^4$/,'2160'))<=max_resolution).sort((a,b)=>parseInt(a[0].match(/^(\\d+)[pk]$/)[1].replace(/^4$/,'2160'))-parseInt(b[0].match(/^(\\d+)[pk]$/)[1].replace(/^4$/,'2160'))).map(i=>i[1][0]).filter(Boolean)\nreturn $?.length?[[['#'+$.pop(),$?.[Math.floor($.length/2)]]]]:''","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/iv556b/comment/kb417oa\nOLD\nhttps://www.reddit.com/r/imagus/comments/iv556b/comment/jrdo6wu\nhttps://www.reddit.com/r/imagus/comments/iv556b/nsfw_bunch_of_sieves_for_popular_adult_site_videos/\n\n!!!\nПереключение качества видео (480/720/1080/2160):\nconst max_resolution = \n==\nSwitching video quality (480/720/1080/2160):\nconst max_resolution = \n\nEXAMPLES\nhttps://spankbang.com/\nhttps://spankbang.com/8i2k2/playlist/mrinmoy?\nhttps://www.reddit.com/domain/spankbang.com/new/"},"Sportmaster.ru":{"link":"sportmaster\\.ru/product/\\d+/","res":":\nvar i = $._.indexOf('<div class=\"swiper-container swiper\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('</div></div></div>', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /src=\"([^=]+\\/)\\d+_\\d+_\\d+\\/(\\d+\\.\\w+)\"/gi\nlet data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1] + a[2]]);\n a = re.exec(data);\n}\nreturn res;\n","img":"(cdn\\.sptmr\\.ru/upload/resize_cache/iblock/\\w+/)\\d+_\\d+_\\d+/(\\d+\\.\\w+)$","to":"$1$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1340#20\n\nПРИМЕРЫ\nhttps://www.sportmaster.ru/product/25608060299/\nhttps://www.sportmaster.ru/catalog/zhenskaya_odezhda/kurtki/\nhttps://www.sportmaster.ru/catalog/trenazhery_i_fitnes_/kardiotrenazhery/velotrenazhery/?sortType=BY_PRICE_DESC"},"Squarespace":{"img":"^((?:static\\d\\.squarespace\\.com/static|images\\.squarespace-cdn\\.com/content)/[^?]+).*","to":":\nvar u=$[1].replace(/-\\d+(?:w|x\\d+)(?=\\.jpg)$/,'#-2500w #');\nreturn u == $[1] ? u + '#?format=2500w #' : u","note":"!!!\nНужен аккаунт."},"SS.lv":{"link":"^ss\\.lv/msg/(lv|ru)/.+\\.html$","res":":\nvar i = $._.indexOf('class=\"ads_photo_label\">');\nif(i<0) { return null; }\nvar t = $._.indexOf('</div></div><div', i);\nif(t<0) { return null; }\nvar res = [];\nvar re = /<a href=\"([^\"]+)\"/gi\nvar data=$._.substring(i,t);\nvar a = re.exec(data);\nwhile(a) {\n res.push([a[1]]);\n a = re.exec(data);\n}\nreturn res;\n","img":"^i\\.ss\\.lv/images/\\d{4}-\\d{2}-\\d{2}/\\d+/[^/]+=/\\d-1\\.th2\\.jpg$","note":"Rodny + Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3760#11\n\nПРИМЕРЫ / EXAMPLES\nhttp://www.ss.lv/lv/animals/dogs/bichon-maltais/\nhttp://www.ss.lv/lv/transport/cars/jaguar/s-type/"},"Startpage":{"link":".*?startpage\\.com/av/anon-image\\?piurl=.+","url":":''","res":":\nreturn (new URL($[0])).searchParams.get('piurl');","img":".*?startpage\\.com/av/proxy-image\\?piurl=(.+)&sp=.+","to":":\nconst data = JSON.parse(document.documentElement.outerHTML.match(/UIStartpage\\.AppSerp, (.+?)\\),/)[1]);\nconst img_array = data.render.presenter.regions.mainline[0].results;\n\nfor (const n in img_array) {\n for (const key in img_array[n]) {\n if (typeof img_array[n][key] === 'string' && img_array[n][key].includes($[1])) return 'https://www.startpage.com' + img_array[n]['clickUrl'];\n }\n}","note":"64h\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1060#13\n\nПРИМЕРЫ / EXAMPLES\nhttps://startpage.com/sp/search"},"StashApp":{"img":"^(localhost:9999/image/.*?/)thumbnail(\\?.*)","to":"$1image$2","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/14cfsdh/comment/joxtqwx"},"SteamPowered":{"img":"^((?:(?:cloud[-\\d]*|images\\.akamai)\\.steam(?:powered|usercontent)\\.com|steamuser(?:images|content)[^.]*\\.akamaihd\\.net)/ugc/\\d+/[\\dA-F]{40}).*","to":"$1/","note":"https://www.reddit.com/r/imagus/comments/j0dmgm/default_steam_filter_only_partially_working/\n\nПРИМЕРЫ / EXAMPLES\nhttps://store.steampowered.com/app/1342260/SAMURAI_SHODOWN/\nhttps://store.steampowered.com/app/814000/ONE_PIECE_ODYSSEY/\nhttps://store.steampowered.com/app/228280/Baldurs_Gate_Enhanced_Edition/"},"SteamPowered_store":{"img":"^((?:(?:cdn|shared)\\.(?:edgecast|akamai|cloudflare)\\.steamstatic\\.com|steamcdn-[a-z]\\.akamaihd\\.net)/(?:store_item_assets/)?steam/apps/\\d+/)(?:(movie)\\.\\d+x\\d+\\.|(\\w+))[^/]+$","to":":\nreturn $[1]+($[2] ? $[2]+'_max.webm' : $[3]+'.jpg')","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1d097kp/comment/l5mbd3l\n\nEXAMPLES\nhttps://store.steampowered.com/app/655500/MX_Bikes/\nhttps://store.steampowered.com/app/1292630/3on3_FreeStyle_Rebound/\nhttps://store.steampowered.com/app/12120/Grand_Theft_Auto_San_Andreas/"},"StopGame.ru":{"img":"(stopga\\.me\\/images\\/uploads\\/images\\/\\d+\\/form\\/\\d+\\/\\d+\\/\\d+\\/)(?:normal|small)_(\\d+\\.(?:jpe?g|png|bmp))","to":"$1$2","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1640#11\n\nПРИМЕРЫ\nhttps://stopgame.ru/blogs/topic/66047\nhttps://stopgame.ru/newsdata/56568/bumer_shuter_dread_templar_pokinet_ranniy_dostup_26_yanvarya"},"StopGame.ru_2":{"img":"(stopga\\.me\\/images\\/articles\\/\\d+\\/\\d+\\/\\d+\\/\\w+-\\d+)-s(\\.(?:jpe?g|png|bmp))","to":"$1$2","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1680#8\n\nПРИМЕРЫ\nhttps://stopgame.ru/show/58933/anatomiya_igr_nachalo"},"Streamable-p":{"link":"^(streamable\\.com/)(?!about|documentation|privacy|terms|signup|login|tools|videos|albums|dashboard|search|clipper)(?:\\w/|album|ajax/groups/)?([\\da-z]+).*","url":"$1s/$2","res":":\n$._ = $._.match(/var videoObject = (\\{[^\\n]+\\})/)\nif(!$._) return null\n$._=JSON.parse($._[1])\nvar t;\nif($._.group) {t=$._.name;$._=$._.group.videos} else {$._=[$._]}\nreturn $._.map(function(x,i) {\n var f=x.files, u=[];\n ['mp4', 'webm', 'mp4-mobile', 'webm-mobile'].forEach(function(t,ii){\n f[t]&&u.push((ii<2?'#':'')+f[t].url)\n })\n return [u, (!i&&t ? '['+t+'] ':'') + ($._.title || '')]\n})","img":"^cdn\\.(streamable\\.com/)video/[^/]+/([^.]+).*","note":"EXAMPLES\nhttps://www.reddit.com/domain/streamable.com/new/"},"Streamff":{"link":"^(streamff\\.[a-z]{2,})/v/(.+)","url":"https://streamff.com/api/videos/$2","res":":\nif($._[0]==='{'){\nconst m = JSON.parse($._);\nreturn m.videoLink?'https://'+$[1]+m.videoLink+'#mp4':'';\n} else {\nreturn '';\n}","to":"\n\n","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l9ag11t\nOLD\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jns5il6\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=120#3\n\n\nEXAMPLES\nhttps://www.reddit.com/domain/streamff.co/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Streamin.me|Streamin.one|Cazn.me":{"link":"^(?:cazn|streamin)\\.(?:one|me)/v/.*","res":":\nreturn $._.match(/(?:og:video:secure_url[\"'] content=|<video src=)[\"']([^'\"]+)/)[1]+\"#mp4\"","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jrdn2ly\n\n!!!\nДля работы фильтра с Яндекс-Диском необходимо правило для SMH (см.ЧаВо п.12).\n==\nFor the sieve to work with Yandex Disc, you need a rule for SMH (see FAQ, p.12).\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/streamin.me/new/\nhttps://www.reddit.com/domain/streamin.one/new/"},"Streamlala":{"link":"streamlala\\.com/\\w+","res":"<meta property=\"og:video:secure_url\" content=\"([^\"]+)\">","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=4000#14\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Streamvi":{"link":"^streamvi\\.com/watch(?:/|\\.php\\?video=)(\\d+).*","to":"//edge1.cdnvi.org/uploads/$1.mp4","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jns5il6\n\nEXAMPLES\nhttps://www.reddit.com/domain/streamvi.com/new/"},"StripDir-x-p":{"link":"(stripdir.com/sd/\\?strip=[^&]*)","url":": $[1] + '&maxpp=all'","res":":\nvar doc = new DOMParser().parseFromString($._, \"text/html\");\nvar images = doc.querySelectorAll('img[id^=\"#sdimg\"]');\nvar imgurls=Array.from(images).map(img => img.src);\nvar baseurl=$.base.replace(new RegExp('((https?://)?[/]).','gi'), '$1');\nvar dirurl=$.base.split(\"/\");\ndirurl.pop();\ndirurl=dirurl.join(\"/\");\nvar i=imgurls.map(function (item) {\n item = item.replace(/src=\"/gi, \"\");\n if ( item.search(/https?:\\/\\//) == -1) {\n if (item[0] == \"/\") item = baseurl + item; else item = dirurl + \"/\" + item;\n }\n return [item, '']; \n});\nreturn i;","note":"regexfan1245\nOLD\nhttps://www.reddit.com/r/imagus/comments/r5b0ic/sieve_for_stripdircom/\n\n!!!\n- В РФ нужен прокси (сам сайт открыт, но использует медиа с закрытых сайтов).\n- Работа фильтра на всех ссылках не гарантируется, так как это агрегатор и использует контент из самых разных источников.\n==\nThe operation of the sieve on all links is not guaranteed, since it is an aggregator and uses content from a variety of sources.\n\n\nEXAMPLES\nhttp://www.stripdir.com/sd/?view=recent100"},"Super-H.fr":{"img":"^(img.super-h.fr/images/[0-9a-f]+)\\.(md|th)\\.(\\w+)","to":"$1.$3","note":"mooms01\nhttps://www.reddit.com/r/imagus/comments/vlyl5u/sieve_for_imgsuperhfr_and_rehostdiberiecom\n\nEXAMPLES\nhttps://forum.hardware.fr/hfr/Discussions/Viepratique/hebergement-gratuit-anonyme-sujet_118598_28.htm#t65791920"},"Sutochno.ru":{"link":"^sutochno.ru/front/searchapp/detail/(\\d+).*","url":": (()=>{debugger; if (!this.node.closest('.card__img, .card-map__img')) throw ''; return 'data:,'+$[1]})()","res":":\nconst x = new XMLHttpRequest;\nx.open('GET', `https://sutochno.ru/api/json/objects/getObject?id=${$[1]}`, false);\nx.setRequestHeader('Api-Version', '1.10');\nx.setRequestHeader('Token', 'Hy6U3z61fflbgT2yJ/VdlQ2719');\nx.send();\nconst data = JSON.parse(x.responseText).data;\n\nconst res = data.object.media.map(i => [i.image_url, i.comment || '']);\n\nconst short = data.object.short_description;\nconst descr = data.object.properties.detail_description?.properties?.find(i => i.name === 'description').value || '';\n\nconst text = [\n `<b>${short}</b>`,\n descr,\n].join('\\n\\n');\n\nif (res.length) {\n res[0][1] = `<imagus-extension type=\"sidebar\">${text}</imagus-extension>`;\n}\n\nthis.TRG.IMGS_ext_data = res;\nreturn { loop: 'imagus://extension' };","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2440#12\n\nПРИМЕРЫ\nhttps://kazan.sutochno.ru/flats?occupied=2023-11-16;2023-11-17\nhttps://spb.sutochno.ru/flats?occupied=2023-11-16;2023-11-17\nhttps://sutochno.ru/front/searchapp/search?is_apartment=1&guests_adults=2&occupied=2023-11-16;2023-11-17&sortings=rating.desc&id=312416&type=city&term=Калининград&SW.lat=54.66713422755213&SW.lng=20.272956688964804&NE.lat=54.74188899002655&NE.lng=20.674644311035124"},"Svadba.pro":{"img":"^(svadba\\.pro/images/(?:users/avatar|(photo))s/)(?:small|mini|medium)/([\\da-f]{32})","to":":\nreturn $[1] + ($[2] ? 'medium/': '/') + $[3];","note":"ПРИМЕРЫ\nhttp://svadba.pro/photos/123\nhttp://svadba.pro/sobokar/allphoto.html"},"Svalko":{"img":"(svalko\\.org/data/)thumbs/(\\w+\\.(?:jpe?g|bmp|png))","to":"$1$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2720#15\n\nПРИМЕРЫ\nhttps://svalko.org/images.html"},"SVGshare|SVGur":{"link":"svg(ur|share)\\.com/s/(\\w+)","img":"svg(ur|share)\\.com/s/(\\w+)","to":"svg$1.com/i/$2.svg","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Talk.op.gg":{"link":"^talk\\.op\\.gg/s/[^/]+/[^/]+/\\d+/","res":":\nif(/<iframe src='/.test($._))return {loop:$._.match(/<iframe src='([^']+)/)[1]}\nreturn [...$._.matchAll(/<img src=\"([^\"]+)\" alt=\"[^\"]*\" \\//g)].map(i=>[i[1]])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/16lam3y/comment/k12s8n3\n\n\nEXAMPLES\nhttps://www.reddit.com/r/imagus/comments/16lam3y/talkopgg_sieves/"},"TBIB-x-p":{"link":"tbib\\.org\\/index\\.php\\?page=post&s=view&id=\\d+","res":":\nconsole.log(\"TBIB.org Sieve\");\n\norig_img_url=$._.match(/href=\"([^\"]*?)\".{1,200}Original image/)[1];\n\nvar returnval = [\n [orig_img_url, \"\"]\n ];\nconsole.log(\"returnval: \", returnval);\nreturn returnval;","note":"iceiller9999\nhttps://www.reddit.com/r/imagus/comments/11s43t5/comment/jccdpl7\n\nEXAMPLES\nhttps://tbib.org/index.php?page=post&s=list&tags=solo\nhttps://tbib.org/index.php?page=post&s=list&tags=smile"},"Telegraph.co.uk-p":{"link":"^telegraph\\.co\\.uk/.+","img":"^(telegraph\\.co\\.uk/content/dam/[^?]+).*","to":":\nconst disable_on_links = false\n\nif($[1])return '#'+$[1]+'\\n'+$[1]+'?imwidth=1280'\nlet t=this.node;\nt=t.closest('article')?.querySelector('img[src]:not([src*=\"%20\"])')?.src?.match(/^([^?]+).*/)?.[1];\nreturn !disable_on_links&&t?.length?'#'+t+'\\n'+t+'?imwidth=1200':''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kuu2fo0\n\nEXAMPLES\nhttps://www.telegraph.co.uk/sport/\nhttps://www.telegraph.co.uk/travel/"},"Tenor":{"link":"tenor\\.com/view/[\\w-]+","res":"<link class=\"dynamic\" rel=\"image_src\" href=\"([^\"]+)\">","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=240#6\n\nПРИМЕРЫ / EXAMPLES\nhttps://tenor.com/search/green-gifs\nhttps://www.reddit.com/domain/tenor.com/new/"},"TESall.ru":{"link":"media\\.tesall\\.ru/image/[\\w-]+","note":"Rodny+Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#11\n\nПРИМЕРЫ\nhttps://tesall.ru/files/modi-dlya-skyrim/vizualnie-effekti/10676-prosto-svet\nhttps://tesall.ru/files/file/3902-alternativnyj-start-zhivi-drugoj-zhiznyu/"},"ThePlace.ru":{"img":"^(theplace\\.ru/)cache/(archive/\\S+/img/\\S+)-gthumb-.+\\.jpg","to":"$1$2.jpg","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1700#9\n\nПРИМЕРЫ\nhttps://www.theplace.ru/photos/natalya_rudina/"},"Thetv.jp":{"img":"^(thetv\\.jp/i/\\w+/\\d+/\\d+\\.jpg).*","to":"#$1?w=5000\n$1?h=1200","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/17n3qm8/comment/k7r2hz8\n\nEXAMPLES\nhttps://thetv.jp/news/detail/1165669/"},"Thingiverse":{"link":"(www\\.)?thingiverse\\.com\\/thing:(\\d+)","res":":\nvar res=[];\nx = new XMLHttpRequest();\nx.open('GET', 'https://api.thingiverse.com/things/' + $[2] + '/images',false);\n//x.timeout=3000;\nx.setRequestHeader('Authorization', 'Bearer 56edfc79ecf25922b98202dd79a291aa');\nx.send();\nif (x.readyState != 4) return;\nif (x.status != 200) return;\nvar c = JSON.parse(x.responseText);\nc.forEach(function(obj) {\n obj.sizes.forEach(function(obj1) {\n if (obj1.type=='display' && obj1.size=='large') {\n res.push([obj1.url, obj.name]);\n }\n });\n});\nreturn res;","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1140#14\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2320#5\n\nEXAMPLES\nhttps://www.thingiverse.com/education?page=1&subjects=History\nhttps://www.thingiverse.com/search?q=table&page=1&type=things&sort=relevant"},"ThumbSnap-p":{"link":"thumbsnap\\.com/(\\w/)?\\w+$","res":"<meta property=\"og:(?:image|video)\" content=\"([^\"]+)\"\n","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=260#5\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=120#3\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/thumbsnap.com/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=100#16"},"Threads-p":{"link":"^threads\\.net/(@[\\w-]+/post/[\\w-]+)$","img":"^(?:[^/.]+\\.)*(?:fbcdn\\.net|cdninstagram\\.com)/(?:[^_]+_)+p\\d+x\\d+&.+","to":":\nconst n=this.node;\nif($[1])return n.offsetParent.offsetParent.querySelector('video[src]')?.src||'';\nreturn n.querySelector('img[srcset]')?.src||''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1enc7kt/comment/lh908bb\n\n!!!\nImagus can't detect the video itself but hovering over the timestamp can activate it.\n\nEXAMPLES\nhttps://www.threads.net/\nhttps://www.threads.net/@trending_wallpaper2024/post/C-atWdaT0XL"},"Tiermaker":{"img":"^tiermaker\\.com/images/chart/chart/.+","to":"$&","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1c8awq8/comment/l0knfbm\n\nEXAMPLES\nhttps://tiermaker.com/search/?q=good\nhttps://tiermaker.com/categories/beauty-cosmetics\nhttps://tiermaker.com/create/video-game-franchises-450-70151"},"TIKTOK-p":{"link":"^(?:(v[tm]\\.tiktok\\.com/\\w+|tiktok\\.com/(?:t/[^/]+|@[^/]+/live))|(?:m\\.)?(tiktok\\.com/)(?:(?:share|@[^/]+)/video|(?:embed/)?v2?|embed(?:/v\\d)?)(/\\d+)).*","url":": $[3] ? 'https://www.tiktok.com/embed/v2'+$[3] : $[0]","res":":\nif(!$[3]){\n$=JSON.parse($._.match(/\"__UNIVERSAL_DATA_FOR_REHYDRATION__\" type=\"application\\/json\">({.+?})<\\/script/)[1]).__DEFAULT_SCOPE__[\"webapp.video-detail\"].itemInfo.itemStruct;\nif(/tiktok\\.com$/.test(location.hostname)){\nlet a=$.author?.nickname,m=$.music,t=['[' + new Date($.createTime*1e3).toLocaleString() + ']', '@'+a, $.desc, '♪', m.authorName + ' - ' + m.title].join(' '),v=$.video.playAddr.length?$.video:$.imagePost.images.map((i,n)=>[i.imageURL.urlList[0],(!n?t:'')]);\nreturn Array.isArray(v) ? v : [(v.playAddr || v.downloadAddr) + '#mp4',t]\n}\nthis._TikTokTime=new Date($.createTime*1e3).toLocaleString();\nreturn {loop:'https://www.tiktok.com/embed/v2/'+$.id}\n}\n$=JSON.parse($._.match(/\"__FRONTITY_CONNECT_STATE__\" type=\"application\\/json\">({.+?})<\\/script/)[1]).source.data[`/embed/v2${$[3]}`].videoData;\nlet a=$.authorInfos?.nickName,m=$.musicInfos,t=[this._TikTokTime?.replace(/.*/,'[ $& ]')||'', '@'+a, $.itemInfos?.text, '♪', m.authorName + ' - ' + m.musicName].join(' '),v=$.itemInfos.video.urls[0];\ndelete this._TikTokTime;\nreturn [v+'#mp4',t]","img":"^(v\\d+-webapp.*\\.tiktok\\.com/(?:[a-f\\d]+/[a-f\\d]+/)?video/tos.+)","to":":\nconst n=this.node\nreturn (n.src?n.src:$[0])+\"#mp4\"","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ktl6lch\nOLD\nhttps://www.reddit.com/r/imagus/comments/go2yu5/comment/jv5ezvt\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=620#2\n\n\n!!!\n- Для показа внешних ссылок и фреймов необходимо правило для SMH (см.ЧаВо, п.12).\n- В некоторых случаях требуется повторное наведение курсора.\n- В Хромиум-браузерах сохранение видео по хоткею и в меню плеера не работает, рекомендуется использовать контекстное меню.\n==\n- To display external links and frames, you need a rule for SMH (see FAQ, p.12).\n- In some cases, re-hovering the cursor is required.\n- In Chromium browsers, saving videos by hotkey and in the player menu does not work, it is recommended to use the context menu.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/tiktok.com/new/\nhttps://www.tiktok.com/@bestfoodmy\nhttps://www.tiktok.com/search?q=машина&t=1681301904701\nhttps://www.tiktok.com/@chineseculture777/live\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=620#3\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"TinyURL":{"link":"^(tinyurl\\.com/[\\w-]{5,30})(?:$|\\?)","loop":1,"url":": $[1]+'?'+Date.now()","res":"<meta property=\"og:url\" content=\"([^\"]+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1b7d4tx/comment/ktwvhwf\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/r/imagus/comments/1b7d4tx/comment/ktl9jmf\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Tistory":{"link":"^[^.]+\\.(?:(?:tistory|comnewb|tensornova|bskyvision|martian36|opnay|iconsketch|readiz|mintmeter)\\.com|(?:openipc|helpot|marketingplus|creativestudio|kinesis|bosim)\\.kr|donza\\.net)/\\d+$","img":"^[^.]+\\.daumcdn\\.net/thumb/[A-Z]\\d+x\\d+/.+fname=(http.+)","dc":2,"to":":\nlet n=this.node;\nn=n.parentNode?.parentNode?.querySelector('img[class=\"thumb_g\"]')?.src?.match(/^.+fname=(http.+)/)?.[1];\nreturn !$[1]&&n?decodeURIComponent(n):$[1]||''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kuyo8ug\n\n!!!\nIn the gallery, the cursor should be placed on the image title.\n\nEXAMPLES\nhttps://www.tistory.com/userskin/gallery\nhttps://murasagi3705.tistory.com/m/22\nhttps://hylee1931.tistory.com/15851730"},"TnAFlix-x-p":{"useimg":1,"link":"^(?:tnaflix.com/(?:[a-z]{2}/)?[\\w-]+/.+?/video(\\d+)|tnaflix\\.com/gallery/.+)","url":": $[1]?'https://www.tnaflix.com/ajax/video-player/'+$[1]:$[0]","res":":\nif(!$[1]){\nif(!this.gallery)this.gallery=[]\nif(!this.ls)this.ls=0\nthis.gallery.push(...[...$._.matchAll(/<a class=\"no_ajax\" href=\"([^\"]+)/g)].map(i=>[i[1]]))\nif(/<link rel=\"next\" href=\"/.test($._)&&this.ls<25){\nthis.ls++\nreturn {loop:$._.match(/<link rel=\"next\" href=\"([^\"]+)/)[1]}\n}else{\nlet a = this.gallery\ndelete this.gallery\ndelete this.ls\nreturn a\n}\n}else{\n$=[...$._.matchAll(/<source src=\\\\\"([^\"]+)/g)]\nconst l=Math.floor($.length/2)-1\nreturn [[$.flatMap((i,n)=>!n||n===l?(!n?'#':'')+i[1].replace(/\\\\/g,''):[])]]\n}","img":"^(img\\.tnastatic\\.com/)[^/]+(/pics/alpha/[^.]+\\.(?:jpe?g|png))","to":"$1q80w900r$2","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kwscpo5\nOLD\nhttps://www.reddit.com/r/imagus/comments/1593h2c/comment/jtxampt\nhttps://www.reddit.com/r/imagus/comments/1593h2c/comment/jtdioop\n\n!!!\nВ РФ нужен хороший прокси (лучше американский).\n\n\nEXAMPLES\nhttps://www.tnaflix.com/gallery/perfect-ass-in-tight-leggings-2549094446\nhttps://www.tnaflix.com/search.php?what=redhead&tab=galleries\nhttps://www.tnaflix.com/profile/jacobs_richard?section=videos"},"TopHotels.ru":{"link":"^tophotels\\.ru/hotel/(\\w+)/media/(?:gallery$|list\\?type=(?:photo|(video)))","url":": $[2] ? $[0] : `https://tophotels.ru/hotel/${$[1]}/media/fsg-items?tab=photos`","res":":\nif($[2]){\nthis.TRG.IMGS_ext_data=[...$._.matchAll(/data-src=\"([h\\/][^\"]+)/g)].map(i=>!/\\/\\/video\\.tophotels\\.ru|\\.mp4\\b/.test(i[1])?['',`<imagus-extension type=\"iframe\" url=\"${i[1].replace(/^\\/\\//,'https://')}\"></imagus-extension>`]:[i[1]+'#mp4','']);\nreturn {loop:'imagus://extension'}\n}\n$=JSON.parse($._).items||[];\nreturn $.map(i=>[i.src,i.description])","img":"^(?:(tophotels\\.ru/icache/(?:hotel|user)_photos/[0-9/]+_)\\d+x\\d+\\.|(video\\.tophotels\\.ru/poster/\\w+/(?:\\S/)?[^./]+\\.jpg))","loop":2,"to":":\nif($[2])return this.node.parentNode.firstElementChild?.getAttribute('data-src')+'#mp4'||$[0];\nreturn $[1]+'#1600x1200 1140x820#.'","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l8pddir\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=580#11\n\nПРИМЕРЫ\nhttps://tophotels.ru/catalog/hotel/83?sort=5"},"toiimg-CDN":{"link":"(static\\.toiimg\\.com/)[^/]+(/[^.]+\\.cms).*","img":"(static\\.toiimg\\.com/)[^/]+/([^.]+\\.cms).*","to":"$1photo$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Toptoon-x-p":{"link":"^toptoon\\.(?:com|net)/.*","img":"^(?:toptoon\\.(?:com|net)/|(?:shtosebzjw|twattraction)\\.akamaized\\.net/).*","to":":\nconst n = this.node\nreturn n.src||n.dataset?.src||n.style[\"background-image\"]?.match(/url\\(\"([^\"]+)/)?.[1]||n.parentNode?.querySelector('div[style^=\"background-image\"]')?.style?.backgroundImage?.match(/url\\(\"([^\"]+)/)?.[1]||''","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/13h211q/comment/kw6eank\nOLD\nhttps://www.reddit.com/r/imagus/comments/13h211q/comment/js5py39\n\n!!!\nО работе данного фильтра / About the operation of this rule:\nhttps://www.reddit.com/r/imagus/comments/13h211q/comment/js6a4fm"},"TradingView":{"link":"^tradingview\\.com/x/.+","res":"<main.+\\n?.+?<img.+?src=['\"](\\S+)['\"]","note":"64h\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1100#12\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1100#12"},"Trakt.tv":{"img":"^(walter\\.trakt\\.tv/images/(?:[^/]+/)+?)(?:thumb|medium|large)/","to":"$1#full large#/","note":"EXAMPLES\nhttps://trakt.tv/movies/popular\nhttps://trakt.tv/shows/recommended/weekly"},"Tranny.one-x-p-b":{"link":"^tranny\\.one/view/\\d+","res":"<video src=\"([^\"]+)","note":"DracoSerge\nhttps://www.reddit.com/r/imagus/comments/150zrnk/nsfw_i_want_to_share_sieves_some_i_made_and_some/\n\nNo album support:\nhttps://www.tranny.one/pics/\nNo HD support:\nhttps://www.tranny.one/hd/\n\nEXAMPLES\nhttps://www.tranny.one/user/312899/view/\nhttps://www.tranny.one/c2050/stockings/\nhttps://www.tranny.one/pornstars/10726/khloe-kay/"},"TrannyTube-x-p":{"link":"^(?:|[a-z]+)trannytube\\.(com|tv|net)+(\\/\\w+)+[\\w\\-\\.]+","res":"<source src=\"([^\"]+)","note":"DracoSerge\nhttps://www.reddit.com/r/imagus/comments/150zrnk/nsfw_i_want_to_share_sieves_some_i_made_and_some/\n\n\nEXAMPLES\nhttps://www.trannytube.tv/newest\nhttps://www.trannytube.tv/category/shemale-on-shemale\nhttps://www.trannytube.net/channels/transbella"},"TrannyVideosX-x-p-b":{"link":"^trannyvideosx\\.com\\/video\\/[\\d]+\\/[\\w\\-]+","res":"source src=\"([^\"]+)","note":"DracoSerge\nhttps://www.reddit.com/r/imagus/comments/150zrnk/nsfw_i_want_to_share_sieves_some_i_made_and_some/\n\nEXAMPLES\nhttps://www.trannyvideosx.com/search/videos/blonde\nhttps://www.trannyvideosx.com/search/videos/alice"},"TransPhoto":{"img":"^(transphoto\\.org/photo/\\d+/\\d+/\\d+/\\d+)_s(\\.jpg)$","to":"$1.#jpg gif png#","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1560#2\n\nEXAMPLES\nhttps://transphoto.org/articles/1123/\nhttps://transphoto.org/comments.php?cid=217&t=1"},"trbimg-CDN":{"link":"(trbimg\\.com/img-[^/]+/.*)","img":"(trbimg\\.com/img-[^/]+/.*)","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Trinixy.ru":{"link":"^trinixy\\.ru/\\d+-[\\w-\\.]+\\.html","res":":\nvar res=[];\nvar re,a;\nvar i = $._.indexOf('<img itemprop=\"image\"');\nif(i>0) {\n var t = $._.indexOf('<div class=\"clear\"', i);\n if(t>0) {\n var data=$._.substring(i,t);\n re = /src=\"([^\"]+)\" alt=\"([^\"]+)\"/gi\n a = re.exec(data);\n while(a) {\n res.push([a[1],a[2]]);\n a = re.exec(data);\n }\n }\n}\nre = /<source src=\"([^\"]+)\" type=\"video\\/mp4\">/gi\na = re.exec($._);\nwhile(a) {\n res.push([a[1]+'#mp4']);\n a = re.exec($._);\n}\nreturn res;","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=620#21\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3900#20\n\n\nПРИМЕРЫ\nhttps://www.reddit.com/domain/trinixy.ru/new/"},"Tripadvisor":{"link":"^tripadvisor\\.com/[\\w-]+\\.html","res":":\nlet res = []\n\ntry {\n let data = JSON.parse(JSON.parse(decodeURIComponent(/<script.+src=\"(data:text.+)/.exec($._)[1]).match(/JSON.parse\\((\".+}\")/)[1]))\n const mediaData = JSON.parse(Object.values(data.urqlSsrData.results).find(v => /mediaWindow\\\":/.test(v.data)).data)\n res.push(...mediaData.mediaWindow.windowPanes[0].albums[0].mediaList.map(img => [img.photoSizes.reduce((prev, cur) => prev.width > cur.width ? prev : cur).url, '']))\n} catch (error) {}\nif (res.length) return res\n\nreturn [...new DOMParser().parseFromString($._, \"text/html\").querySelectorAll('.mobile_flex_container img')]\n .map(i => [i.dataset.lazyurl.replace(/\\/photo-\\w\\//, '/photo-o/')])\n","img":"^(?:dynamic-)?(media-cdn\\.tripadvisor\\.com/media/(?:[^/]+/)*?photo-)[a-z](?:/[\\dx]+)?(/(?:[\\da-f]{2}/){4}[^?]+).*","to":"$1#o s#$2","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2120#14\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1480#11\n\n!!!\nКурсор следует наводить на название объекта в каталоге.\n==\nThe cursor should be pointed at the name of the object in the catalog.\n\nEXAMPLES\nhttps://www.tripadvisor.com/Restaurants-g187147-zfp6-Paris_Ile_de_France.html\nhttps://www.tripadvisor.com/Attractions-g187147-Activities-c42-t183-Paris_Ile_de_France.html\nhttps://www.tripadvisor.com/Hotels-g34438-a_ufe.true-Miami_Florida-Hotels.html\nhttps://www.tripadvisor.com/Hotels-g34438-a_ufe.true-Miami_Florida-Hotels.html#MAPVIEW"},"TrueImages.ru|prtscr.site":{"link":"^(trueimages\\.ru|prtscr\\.site)/(view/)?\\w+$","res":"<meta property=\"og:image\" content=\"([^\"]+)\"","note":"Rodny + Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#20\n\n!!!\ntimg.in - не работают на самом сайте.\n\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"TSModelsTube-x":{"link":"^tsmodelstube\\.com/videos/[\\w-]+\\.html","res":"<source src=\"([^\"]+)","note":"http://www.reddit.com/r/imagus/comments/9h3el8/nsfw_sieve_request/e6fbbfc\n\nEXAMPLES\nhttps://tsmodelstube.com/search/Australian/page1.html\nhttps://tsmodelstube.com/channels/10/gangbang/page1.html"},"Tuchong":{"link":"^(?:[^.]+\\.(tuchong\\.com/)(?:(\\d+)|artist/[^~]+~)|(tuchong\\.com/)\\d+/(\\d+))(?!/?#image\\d+).*","url":": $[2]||$[4] ? `//${$[1]||$[3]}rest/posts/${$[2]||$[4]}` : $[0]","res":":\nif(!$[2]&&!$[4]){\n$=$._.match(/searchResult=([^;]+)/)\n$=$&&JSON.parse($[1]).hits||[]\nreturn $.map(i=>['https://cdn'+[3,6,9][Math.floor(Math.random()*3)]+'-banquan.ituchong.com/weili/image/l/'+i.image_id+'.jpg',i.title])\n}\nvar p,d='http://photos.'+($[1]||$[3])\n$ = JSON.parse($._)\nif(!$||!$.images)return null\np=$.post?[$.post.title, $.post.exerpt].filter(Boolean).join(' - '):'';\np = p ? '['+p+' by '+$.post.author.name+'] ':''\n$=$.images\nreturn $&&$.length ? $.map(function(x,i) {\n return [d + x.user_id + '/f/' + x.img_id + '.jpg', (!i&&p ? p : '')+[x.title, x.description].filter(Boolean).join(' - ')]\n}) : null","img":"^(?:(photos\\.tuchong\\.com/\\d+/)(?!f/)[^/]+|(cdn\\d+-banquan\\.ituchong\\.com/weili/image/)[a-z]{1,3}(/\\d+\\.)\\w+)","to":":\nreturn $[1] ? $[1]+'f' : `${$[2]}l${$[3]}#jpg jpeg png#`\n","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lf0wn7y\n\nEXAMPLES\nhttps://stock.tuchong.com/search?source=tc_pc_home_search&term=green\nhttps://stock.tuchong.com/topic?topicId=50759&from=精选图集-设计素材-热门"},"Tudocdn-CDN":{"link":"^(?:[a-z]+\\.)?tudocdn\\.net/\\d+","to":"$&","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/k1zeaje\n\nПРИМЕРЫ / EXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Tumbex-p":{"link":"^tumbex\\.com/[^.]+\\.tumblr/post/\\d+","loop":1,"res":":\nreturn JSON.parse($._.match(/window\\.launcher\\(({.+?}), /)?.[1]||'{}').params?.content.posts[0].blocks[0].content.filter(i=>i.hd||i.media?.url||i.url).map(i=>i.hd?[['#'+i.hd,i.md]]:[i.media?.url||i.url])||''","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/189cxxu/comment/kbsudd8\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/tumbex.com/new/\nhttps://www.tumbex.com/search?q=Care\nhttps://www.tumbex.com/tastefullyoffensive.tumblr/video"},"TUMBLR-2-p":{"link":"^(\\d\\d\\.media\\.tumblr\\.com/[\\da-f]{32}/[\\da-f]{16}-\\w\\w/)s\\d+x\\d+(/[\\da-f]+\\.\\w+)","res":":\n","img":"^(\\d\\d\\.media\\.tumblr\\.com/[\\da-f]{32}/[\\da-f]{16}-\\w\\w/)s\\d+x\\d+(?:_\\w+)?(/[\\da-f]+\\.\\w+)","to":":\nlet urlSet=this.node.getAttribute('srcset');\nlet urlArray=urlSet.split(/ \\d+w,? ?/);\nreturn urlArray[urlArray.length-2];","note":"Baton34V + Imagus_fan (edit)\nhttps://www.reddit.com/r/imagus/comments/17q5jnk/comment/k8bzaq9\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=680#3\n\n!!!\nДля работы фильтра на внешних ссылках необходимо расширение SMH (см. ЧаВо, п.12)\n==\nThe SMH extension is required for the sieve to work on external links (see FAQ, p.12).\n\n\nEXAMPLES\nhttps://www.tumblr.com/tagged/painting?sort=top\nhttps://www.tumblr.com/tagged/acrylic?sort=recent\nhttps://www.tumblr.com/blog/view/twirld"},"TUMBLR_video-p":{"img":"(va\\.media\\.tumblr\\.com/tumblr_\\w+\\.mp4)","to":"$1","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=660#18\n\n!!!\nДля работы фильтра на внешних ссылках необходимо расширение SMH (см. ЧаВо, п.12)\n==\nThe SMH extension is required for the sieve to work on external links (see FAQ, p.12).\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.tumblr.com/tagged/video?sort=recent"},"TurboImageHost":{"link":"^turboimagehost.com/p/\\d+/.*","res":"=\"og:image\" content=\"([^\"]+)","note":"ПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/turboimagehost.com/new/\nhttps://vipergirls.to/threads/6239200-Agatha-Game-Theory-120-Photos-Jul-23-2021"},"tv2.no":{"img":"^(breaking-general\\.aws\\d\\.tv2\\.no/post/[a-f0-9]+/[a-f0-9]+)/resized/750x0","to":"#$1\n$1/resized/1500x0","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/c9zlcm/comment/jocp1zl"},"Twibooru-x":{"img":"^(cdn.twibooru.org/img.+/).+","to":"#$1full.#png jpg jpeg gif webp mp4 webm#","note":"_1Zen_\nhttps://www.reddit.com/r/imagus/comments/1djehsq/comment/l9gj5i8\n\nEXAMPLES\nhttps://twibooru.org/galleries/458\nhttps://twibooru.org/tags/tumblr\nhttps://twibooru.org/search?q=WEBM"},"TWITCH":{"img":"^(static-cdn\\.jtvnw\\.net\\/)(?:((?:ttv-boxart|(j)tv_user_pictures|(p)reviews-ttv)\\/[^?\\/]+)[-_]\\d+x\\d+(\\.[^?]+).*|((emoticons|badges)\\/[^.]+\\/)\\d+)","to":":\nreturn $[1]+($[2] ? $[2]+($[3]?'-600x600':($[4]?'-0x0':''))+$[5] : $[6]+($[7][0]=='b'?3:5))","note":"ПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/twitch.tv/new/"},"TWITCH_clips-q":{"link":"^(?:clips\\.twitch\\.tv/(?:embed\\?clip=)?|(?:m\\.)?twitch\\.tv/(?:\\w+/)?clip/)([\\w-]+).*","url":": ''","res":":\nvar p = this,x = new XMLHttpRequest\nx.open('POST', 'https://gql.twitch.tv/gql')\nx.timeout = 3000\nx.setRequestHeader('Client-ID', 'kimne78kx3ncx6brgo4mv6wki5h1ko')\nx.send('[{\"operationName\":null,\"variables\":{},\"query\":' + JSON.stringify('{clip(slug:\"' + $[1] + '\"){broadcaster{displayName} createdAt game{name} video{id} title}}') + '},{\"operationName\":\"VideoAccessToken_Clip\",\"variables\":{\"slug\":\"' + $[1] + '\"},\"extensions\":{\"persistedQuery\":{\"version\":1,\"sha256Hash\":\"36b89d2507fce29e5ca551df756d27c1cfe079e2609642b4390aa4c35796eb11\"}}}]');\nx.onloadend = function() {\n const response = JSON.parse(this.responseText);\n const c = response[0].data.clip;\n const c2 = response[1].data.clip;\n const signature = c2.playbackAccessToken.signature;\n const token = JSON.parse(c2.playbackAccessToken.value);\n p.prepareCaption(p.node, '[' + (c.game && c.game.name) + '] ' + [c.title, c.broadcaster && c.broadcaster.displayName, (new Date(c.createdAt)).toLocaleString(), c.video && 'https://twitch.tv/videos/' + c.video.id].filter(Boolean).join(' | '));\n p.set(c2.videoQualities.sort((a, b) => parseInt(b.quality) - parseInt(a.quality)).map(function(v, i) { return (i ? '' : '#') + (v.sourceURL + '?sig=' + signature + '&token=' + encodeURIComponent(JSON.stringify(token)))}));\n}\nreturn null","note":"wakeuph8 + Imagus_fan (fix)\nhttps://www.reddit.com/r/imagus/comments/182tffy/comment/kaolsiy\nOLD\nhttps://www.reddit.com/r/imagus/comments/nlqxa6/comment/gzmswp3\n\n!!!\nВ данном фильтре возможно переключение качества видео с помощью клавиши TAB\n==\nIn this sieve, it is possible to switch the video quality using the TAB key.\n\nEXAMPLES\nhttps://www.reddit.com/r/TwitchClips/\nhttps://www.reddit.com/r/livestreamfails/\nhttps://www.reddit.com/domain/clips.twitch.tv/new/"},"uDrop":{"link":"^(udrop\\.com/)([^/]+/[^./]+\\.(?!7z|exe|msi|pdf|rar|zip)\\w{3,4}\\b)","img":"^(udrop\\.com/)cache/plugins/(?:filepreview|mediaconvert)er/\\d+/[^.]+\\.(?:jpe?|pn)g","to":":\nif(this.node.parentNode?.parentNode?.className===\"thumbIcon\")return null\nreturn $[1]+'file/'+($[2]||location.hostname==='www.udrop.com'&&location.pathname.slice(1))","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l44adg5\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2580#16\n\n\nEXAMPLES\nhttps://www.reddit.com/domain/udrop.com/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Upload.ee":{"link":"^(upload\\.ee/)(?:files/|gallery/\\d+/[^?]+\\?vid=)(\\d+).*","loop":1,"res":"=\"(https?://www.$1(?:image|download)/$2[^\"]+)","img":"^(upload\\.ee/)(?:thumb|preview|files)(/.+\\.(?:jpe?g|a?png|gif|bmp))(\\.html)?$","to":"$1image$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jtd4cv9\n\nEXAMPLES\nhttps://www.upload.ee/?page=myfiles\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"UploadBETA":{"useimg":1,"link":"uploadbeta\\.com/share-picture/\\w+","res":"Full Image Resolution: <a href=[\"']([^\"']+)","img":"(uploadbeta\\.com/_s/upload/[^.]+\\.[a-z]{3,4}).*","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jnrcrmb\n\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"UploadDeImagens.com.br":{"link":"uploaddeimagens\\.com\\.br/imagens/\\w+","res":"<a class=\"fancybox\" href=\"([^?\"]+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttps://www.reddit.com/domain/uploaddeimagens.com.br/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"UploadHouse":{"link":"^(.*)uploadhouse\\.com/imgs/\\d{8}/","res":"value=\\\"\\[img\\](.+(?:jpe?g|a?png|gif|svgz?|webp|w?bmp|xbm|pict|j(?:if|fif?)))\\[/img\\]","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1380#10\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Uploadir":{"link":"uploadir\\.com/(\\d+/)(.*)","loop":1,"res":"<(?:div style=\"padding: 20px;\">|source)[^<s]+(?:<img src=\"|src=\")([^\"]+)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"UrleBird":{"link":"^urlebird\\.com/(?:[a-z]{2}/)?(?:video|song)/(?:[^-/]+-)*(\\d+)/.*","res":":\nconst media = $._.match(/=\"og:(?:vide|audi)o\" content=\"([^\"]+)/)?.[1]\nreturn media?.length ? [media+'#mp4', $._.match(/=\"og:description\" content=\"([^\"]+)/)[1]] : {loop:`//www.tiktok.com/embed/v2/${$[1]}`}","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kz1q4td\nOLD\nhttps://www.reddit.com/r/imagus/comments/1abomvc/comment/kjtsk2u\nhttps://www.reddit.com/r/imagus/comments/fkv5o8/comment/fl3z7cx\n\n\n!!!\nВ зависимости от региона (IP) ТикТок может не показывать пользователю некоторые ролики. В этом случае фильтр будет выдавать ошибку - серый или красный спиннер. Иногда может помочь прокси.\n==\nDepending on the region (IP) TikTok may not show some clips to the user. In this case the sieve will give an error - gray or red spinner. Sometimes proxy can help.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/urlebird.com/new/\nhttps://urlebird.com/videos/\nhttps://urlebird.com/search/?q=LIB\nhttps://urlebird.com/user/laurie.geller/\nhttps://urlebird.com/hash/pourtoi/\nhttps://urlebird.com/ru/user/helensingerdancer/"},"Userapi_sun*-CDN":{"link":"sun\\d{1,2}-\\d{1,2}\\.userapi\\.com\\/\\w{7}\\/\\w{10}\\/\\w{5,6}\\/[\\w-]{11}\\.(?:jpe?g|png|bmp|gif)","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1340#19\n\nEXAMPLES\nhttps://vrotmnen0gi.livejournal.com/3391084.html"},"Userstyles":{"img":"^(userstyles\\.org/(?:auto_)?style_screenshot)(?:_thumbnail)?(s/\\d+[_-]after)(?:-thumbnail)?(\\.(?:jpe?g|png|gif)\\?r=\\d+)$","to":"$1$2$3","note":"Rodny\n\nEXAMPLES\nhttps://userstyles.org/styles/browse/youtube\nhttps://userstyles.org/styles/browse/NNM"},"Utkonos.ru":{"link":"^utkonos\\.ru/item/(\\d+)","url":"data:,$&","res":":\nconst x=new XMLHttpRequest();\nx.open('Get',$[0],false);\nx.send();\nconst t=x.responseText.match(/class=\"product-tab_content\"><p _ngcontent-ng-c4047868991=\"\">([^<]+)/)[1]\nreturn [...x.responseText.matchAll(/src=\"(https:\\/\\/[^\\/]+\\/resample\\/)webp\\/50x50([^\"]+)/g)].map(i=>[['#'+i[1]+'0x0'+i[2],i[1]+'900x900'+i[2]],t])","img":"^(scdn\\.utkonos\\.ru/resample/)webp/(\\d+)x\\d+(/photo/(\\d+)/(?:[a-f0-9_-]+|(\\d+)[A-Z])\\.[a-z]+)","loop":2,"to":":\nif($[2]==='250'&&this.node.className===\"lu-product-card-image ng-star-inserted\")return 'https://www.utkonos.ru/item/'+($[5]||$[4])\nreturn '#'+$[1]+'0x0'+$[3]+'\\n'+$[1]+'900x900'+$[3]","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=100#13\n\n!!!\nКурсор наводить на название товара.\n\nПРИМЕРЫ\nhttps://www.utkonos.ru/catalog/1808\nhttps://www.utkonos.ru/search/печенье%20юбилейное"},"Vero.co":{"link":"^vero/\\?album(.*)","url":"data:,$1","res":":\nreturn [...this.node.closest('div[class=\"slick-track\"]').children].map(i=>[[\"#\"+i.firstElementChild.src.match(/^[^_]+/),i.firstElementChild.src.replace(/_\\d+x\\d+/,\"_c1246x1246\")]])","img":"^(?:(d1dpu3msttfsqg\\.cloudfront\\.net/[a-f0-9-]{36}/[a-f0-9-]{36})_\\d+x\\d+(\\.[a-z]{3,4})|(d2hzlifut58gpa\\.cloudfront\\.net/[a-f0-9-]{36}/[a-f0-9-]{36}/)p0)","loop":2,"to":":\nreturn this.node.alt === \"Album image\" ? '//vero/?album'+$[0] : $[3] ? $[3]+'v0#mp4' : `#${$[1]}\\n${$[1]}_c1246x1246${$[2]}`","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/joowxsu\n\nEXAMPLES\nhttps://vero.co/zacksnyder#type=photo\nhttps://vero.co/zacksnyder#type=video\nhttps://vero.co/zacksnyder#type=person"},"VFL.ru":{"link":"^vfl\\.ru/fotos/(\\w{8})(\\d+)(?:.*)\\.html$","res":"(//images\\.vfl\\.ru/ii/\\d+/\\w{8}/\\d+\\.(?:jpe?g|png|bmp|gif))","img":"(images\\.vfl\\.ru\\/ii\\/\\d+\\/\\w{8}\\/\\d+)_[ms](\\.(?:jpe?g|png|bmp|gif))","to":"$1$2","note":"Baton34V\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=860#20\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=860#6\n\n\nПРИМЕРЫ\nhttps://rutracker.org/forum/viewtopic.php?t=5673439\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=37201&start=3540&limit=1"},"VG.no_TV":{"link":"^tv\\.vg\\.no/video/\\d+/","res":":\nconst o = JSON.parse($._.match(/window.ASSET = ({.+?);/)[1]).streamUrls\nif(o.mp4){\nreturn o.mp4\n}else{\nthis.TRG.IMGS_ext_data = [\n '//' + 'data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1920\" height=\"1080\"></svg>',\n `<imagus-extension type=\"videojs\" url=\"${o.hls}\"></imagus-extension>`\n]\nreturn {loop:'imagus://extension'}\n}","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/c9zlcm/comment/jrxjw5n\n\nEXAMPLES\nhttps://tv.vg.no/kategori/1/nyheter"},"Vidble":{"useimg":1,"link":"^(vidble\\.com/)(?:(?:show|explore[^/]*|album)/|watch\\?v=)([\\da-zA-Z]+).*","res":":\nvar x = $._.match(RegExp(\"src='/[\\\\da-zA-Z]+(_[^.]*)?\\\\.[^']+\", 'g')), t = $._.match(/<h2[^>]*>([^<]+)/), l = 'http://' + $[1];\nreturn x ? x.map(function(i, n) {return ['#' + l + i.replace(/_[^.]+/, ''), !n && t && t[1]]}) : x","img":"^(vidble\\.com/[\\dA-Za-z]+)(?:_[^.]+)?\\.","to":"#$1.","note":"EXAMPLES\nhttps://www.reddit.com/domain/vidble.com/new/"},"Vimeo":{"link":"^(.*\\.)?vimeo\\.com\\/(?!($|for-|user\\d|groups(?!.*\\/videos\\/\\d)|.*?\\/(collections|likes)|((?!\\d+\\/?($|\\?))[^\\/]*?)?(\\/?$|\\?|#)|channels(?!\\/(.*?\\/\\d+))|(((categories|showcase|videoschool|watch|live|log.?in|faq|join|blog|pro|s|help|staff|hc|stock|solutions|settings|features|enterprise|vicdigital|ondemand|store|up(grade|load)|create|cart|ott|site|domain|jobs|about|terms|privacy|dmca|cookie_policy))($|\\/|\\?|#)))).*","loop":1,"res":":\n\nlet url;\nconst json = $._.match(/^\\{/);\nif (json) {\n return parseConfig($._);\n}\n\nconst config = $._.match(/config_url\":\".*?\"/);\nif (config) {\n url = config[0].replace(/config_url\":\"(.*)?\"/, '$1').replace(/\\\\\\//g, '/');\n return url;\n}\n\nconst vUrl = $._.match(/<meta property=\"og:video:url\" content=\"(.+?)\"/)?.[1];\nif (vUrl) {\n return vUrl.replace(/&/g, '&');\n}\n\nconst embedConfig = $._.match(/{.+\"progressive\":\\[.*?\\].+}/);\nif (embedConfig) {\n return parseConfig(embedConfig[0]);\n}\n\nlet chanVidID = $._.match(/ content=\"https:\\/\\/vimeo\\.com\\/channels\\/.*?\\/\\d+\"/);\nif (chanVidID) {\n chanVidID = chanVidID[0].replace(/.*\\/channels\\/.*?\\/(\\d+)\"/, '$1');\n const regex = new RegExp(`data-config-url=\".*?\\\\/${chanVidID}.*?\"`) \n const chanVidConfig = $._.match(regex);\n if (chanVidConfig) {\n url = chanVidConfig[0].replace(/data-config-url=\"(.*?)\"/, '$1').replace(/&/g, '&');\n return url;\n }\n}\n\nconst id = $[0].match(/\\/(\\d+)(\\?|\\/|$)/)?.[1];\nconst pUrl = `https://player.vimeo.com/video/${id}?autoplay=1`;\nif (id && pUrl != $[0]) {\n return pUrl;\n}\n\nfunction parseConfig(config) {\n config = JSON.parse(config);\n\n const qualities = config.request.files.progressive;\n if (qualities?.length) {\n return selectQuality(qualities);\n }\n\n const cdns = config.request.files.hls.cdns;\n const cdn = cdns.akfire_interconnect_quic || cdns.google_mediacdn;\n return cdn.url;\n}\n\nfunction selectQuality(qualities) {\n let res = qualities[0].width;\n let url = qualities[0].url;\n for (let i = 0; i < qualities.length; i++) {\n if (qualities[i].width > res) {\n res = qualities[i].width;\n url = qualities[i].url;\n }\n }\n\n return url;\n}","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2080#13\nOLD\nhttps://www.reddit.com/r/imagus/comments/j2p0ng/a_sieve_for_vimeo_videos/\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/vimeo.com/new/\nhttps://vimeo.com/categories/sports/bikes/videos"},"Vipr|Vipergirls.to-x-p":{"url":"$1$2","res":":\nlet meta = document.querySelector('head > meta[name=\"referrer\"]');\nif (!meta) {\n meta = document.createElement('meta');\n meta.name = 'referrer';\n meta.content = 'same-origin';\n document.getElementsByTagName('head')[0].appendChild(meta);\n} else if (meta.attributes.content.value !== 'same-origin') {\n meta.attributes.content.value = 'same-origin';\n}\nlet url = ($._.match(/src=\"(https?:\\/\\/[^\"]+)\" (?:\\w+=\"[^\"]+\"\\s+)*?(?:class=\"pic|id=\"[^\"]+\"\\s*>)/) || [])[1];\nreturn [url];\n","img":"^i\\d\\.(vipr\\.im\\/)th\\/\\d{5}\\/(\\w+)\\.jpe?g$","note":"Baton34V + hababr (fix)\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2900#12\n\nEXAMPLES\nhttps://vipergirls.to/threads/5829954-MARLENE-HOLY-MARL-Jan-14-2021-X57-8256px\nhttps://vipergirls.to/threads/6010551-Riya-Lime-Green-100-Photos-Apr-03-2021?p=81831177&viewfull=1#post81831177"},"VixenMediaGroup-x-q-p":{"link":"(vixen|tushy|tushyraw|blacked|blackedraw|slayed|deeper|milfy)\\.com/videos/.+","url":"data:,$&","res":":\nconst max_resolution = 900;\n\nconst req = new XMLHttpRequest();\nreq.open('GET', $[0], false);\nreq.send();\n$._=req.responseText;\nconst vidId = $._.match(/(?:videoTokenId|newId)\":\"(?<id>\\d+)/)?.groups?.id;\nif (!vidId) return;\n\nreq.open('POST', `https://www.${$[1]}.com/graphql`, false);\nreq.setRequestHeader('Content-Type', 'application/json');\nreq.send(\n `{\"operationName\":\"getToken\",\"variables\":{\"videoId\":\"${vidId}\",\"device\":\"trailer\"},\"query\":\"query getToken($videoId: ID!, $device: Device!) {generateVideoToken(input: {videoId: $videoId, device: $device}) {p270 {token}p360 {token}p480 {token}p720 {token}p1080 {token}p2160 {token}}}\"}`\n);\nif (req.status !== 200) return;\n\nlet streams = {};\ntry { streams = JSON.parse(req.responseText)?.data?.generateVideoToken;} catch (e) { return; }\n\nconst trailers = Object.keys(streams)\n .map(s => ({ res: Number(s.replace(/\\D/g, '')), url: streams[s]?.token }))\n .filter(a => a.res <= max_resolution)\n .sort((a, b) => a.res - b.res);\n\nreturn trailers.pop()?.url || null;","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/ldwp0kw\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1943&limit=1&m=1#1\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=220#11\n\nSUPPORTED SITES:\nblacked.com\nblackedraw.com\ndeeper.com\nmilfy.com\nslayed.com\ntushy.com\ntushyraw.com\nvixen.com\n\n!!!\nChange max_resolution to your max preferred resolution -\nconst max_resolution = \n1080 will result in 1080p video\n900 will result in 720p video\n\nEXAMPLES\nhttps://www.blackedraw.com/videos?search=cuckold&sort=rating\nhttps://www.deeper.com/videos?search=big+tits\nhttps://www.slayed.com/videos?search=natural+tits\nhttps://www.milfy.com/videos?search=Doggystyle\nhttps://www.vixen.com/videos?search=cow+girl"},"VK-2":{"link":"^(?:vk\\.com/(?:([\\w.]+)\\?pfp_thumb$|(doc[0-9_]+\\?hash=)|(video_ext\\.php\\?oid=-?\\d+&id=\\d+)|(album-?[0-9_]+)|[\\w-]+\\?(?:own=1&)?(z=photo-|reply=)|(video-\\d+_\\d+\\?list=)).*|vk_album/(?:([^!]+)!)?(.+))","url":": (()=>{this.enable_on_video = true /*If false, VK_video-q also needs to be disabled*/; const n=this.node, l_id=(n.IMGS_TRG||n).closest('div[class^=\"ui_gallery__inner\"]')?.querySelector('div[data-list-id]')?.getAttribute('data-list-id'), p_id=(n.IMGS_TRG||n).closest('div[class^=\"ui_gallery__inner\"]')?.querySelector('div[data-photo-id]')?.getAttribute('data-photo-id');if(!this.enable_on_video&&($[3]||$[6]))throw '';return $[1] ? '//vk.com/'+$[1] : !$[2]&&!$[3]&&!$[5]&&!(n.IMGS_TRG||n).getAttribute('data-list')&&n.parentNode?.className!=='lnk'&&n.className!=='MediaGrid__imageElement'&&($[4]||$[6]||$[7]||$[8]||l_id) ? 'https://vk.com/al_photos.php?act=show :act=show&al=1'+($[4]||$[7]||l_id?'&list='+($[4]||$[7]||l_id):'')+($[8]||p_id?'&photo='+($[8]||p_id):'') : $[0]})()","res":":\nconst max_images = 300 // Maximum number of images in album. Lower number loads faster.\n\nif($[1]){\nconst t=[...$._.matchAll(/\"photo_\\d+\":\"(https:\\\\\\/\\\\\\/sun[\\-0-9]+\\.userapi\\.com\\\\\\/(?:s\\\\\\/v1\\\\\\/i\\w\\d\\\\\\/[^.]+\\.jpg\\?quality=\\d+&crop=(?:\\d+,?)+&as=(?:(\\d+x\\d+),?)+&ava=\\d&u=[^&]+&cs=|impf\\\\\\/[^\"]+))[^\"]*/g)].pop();\nreturn t?.length?t[2]?t[1].replace(/\\\\/g,'')+t[2]:t[1]:''\n}\nif($[2])return $._.match(/\"docUrl\":\"([^\"]+)/)?.[1].replace(/\\\\/g,'')\nif($[3]||$[4]||$[6]||$[7]||$[8]){\nlet s, m, n=this.node, has_video=false;\nthis.vk_data=this.vk_data||{};\nthis.vk_data.vids=this.vk_data.vids||[...n.closest('.post_content')?.querySelectorAll('div[class=\"VideoPrimaryAttachment__thumbWrapper\"]>a[data-video]')||[]];\nthis.vk_data.vid_length=this.vk_data.vid_length||this.vk_data.vids.length;\nthis.vk_data.vid_num=this.vk_data.vid_num||0;\nthis.vk_data.gallery_length=this.vk_data.gallery_length||n.closest('.post_content')?.querySelectorAll('div[class^=\"PhotoPrimaryAttachment__\"]')?.length;\nthis.vk_data.album=this.vk_data.album||[];\nthis.loop_stop=this.loop_stop||0;\nthis.loop_stop++;\nif(this.enable_on_video&&$[3]||($[6]&&(n.getAttribute('data-list')||n.parentNode?.className==='lnk'||n.className==='MediaGrid__imageElement'))){\nhas_video=true;\n$=JSON.parse($._.match(/var playerParams = ({.+?});/)?.[1]||$._.match(/'al_video\\.php[^[]+(.+])\\)/)?.[1]||'{}');\n$=($[4]?.player?.params||$.params)?.[0]||[];\nif($.extra_data)return {loop:'https://www.youtube.com/embed/'+$.extra_data};\n$=Object.entries($).filter(i=>/^url\\d+$/.test(i[0])).map(i=>i[1]).reverse();\nif($?.length)this.vk_data.album.push([['#'+$[0]+'#mp4',$[Math.floor($.length/2)]+'#mp4']])\n}else{\nconst l=$[4];\n$=JSON.parse($._.slice($._.indexOf('{'))).payload[1];\ns=$[1];\n$=$[3]||[];\nconst id=$.length?$[$.length-1].id:'';\n$=$.flatMap((i,n)=>!this.vk_data.album.some(x=>x[0][1]===(i.z_src||i.y_src||i.x_src))?[[[(i.w_src?'#'+i.w_src:''),(i.z_src||i.y_src||i.x_src)]]]:[]);\nif(this.vk_data.gallery_length===1)$=[$[4]];\nthis.vk_data.album.push(...$);\nif((!this.vk_data.gallery_length||this.vk_data.gallery_length>1)&&this.vk_data.album.length<s&&this.vk_data.album.length<max_images&&$.length>0&&this.loop_stop<150)return {loop:'//vk_album/'+(l?l+'!':'')+id}\n}\nconst vid=this.vk_data.vids[this.vk_data.vid_num]?.getAttribute('data-video').split('_');\nthis.vk_data.vid_num++;\nif(this.enable_on_video&&vid)return {loop:'https://vk.com/video_ext.php?oid='+vid[0]+'&id='+vid[1]}\n$=this.vk_data.album;\ndelete this.vk_data;\ndelete this.loop_stop;\nreturn $\n}\n$=JSON.parse($._.match(/{\"zFields\"[^\\)]+/)[0])?.zOpts?.temp;\nreturn $&&($.w||$.w_||$.z||$.z_||$.y||$.y_||$.x||$.x_) ? [[[($.w||$.w_)&&'#'+($.w||$.w_),($.z||$.z_||$.y||$.y_||$.x||$.x_)?.[0]]]] : !1","img":"^(sun[\\-0-9]+\\.userapi\\.com/)(?:.+?size=[\\dx]+&quality=\\d+&sign=\\w+|([^.]+\\.jpg\\?)(quality=\\d+(?:&crop=(?:\\d+,?)+)?&as=(?:(\\d+x\\d+),?)+&(?:(?:ava=\\d|from=\\w+)&u=[^&]+&cs|sign)=|size=\\d+x\\d+&quality=\\d+&crop=)).*","loop":2,"to":":\n//if($[4])return $[1]+$[2]+$[3]+$[4];\nvar y, x = this.node,p=x&&x.parentNode;\nif($[3]&&(p.href||x.href)){\ny=(p.href||x.href);\nreturn y?y+'?pfp_thumb':'';\n}\nif (location.hostname==='vk.com'&&x) {\n if ((y=x.getAttribute('onclick')) && y.indexOf('showPhoto(')>0) {\n x=JSON.parse(y.match(/(\\{.+\\})/)[0]).temp;\n x=(x.w ? '#' + x.w + '\\n' : '') + (x.z || x.y || x.x);\n if(x?.length){\n return x;\n }\n y=y.match(/showPhoto\\('([^']+)',\\s*'([^']+)/);\n return location.hostname+location.pathname+(location.search==='?own=1'?location.search+'&':'?')+'z=photo'+y[1]+'/'+y[2];\n }\n else if(y=p.getAttribute('data-photo-id')){\n var l=p.getAttribute('data-list-id');\n if(p.parentNode?.className===\"PhotoPrimaryAttachment PhotoPrimaryAttachment--thinBorder PhotoPrimaryAttachment--inCarousel\"){\n return '//vk_album/'+l+'!'+y;\n }\n return location.hostname+location.pathname+'?z=photo'+y+(l?'/'+l:'');\n }\n}\nreturn $[0];","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lgfdacd\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lateumw\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l5md1f8\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2280#18\n\n!!!\n- Размещать ПЕРЕД фильтром [wordpress].\n- Иногда может потребоваться повторное наведение курсора.\n- Отключить работу фильтра на видео (оставить только фото) - this.enable_on_video = false (второе поле сверху).\n- Просмотр альбомов (несколько изображений в публикации) в группе возможен при наведении на любое фото альбома. Если в альбоме присутствует видео, оно будет в конце альбома.\n- На странице альбомов просмотр всего альбома также возможен при наведении на его миниатюру.\n- Для более комфортного просмотра альбомов рекомендуется создать слеюущее правило для uBO (Ublock Origin):\nvk.com##.description.photos_album_description\n- NB! - VK очень крупный и сложный портал, который часто меняет свой код. Фильтр находится в состоянии постоянной разработки, поэтому нормально, когда что-то может не работать.\n\n\n\nПРИМЕРЫ\nhttps://vk.com/leprazo\nhttps://vk.com/wall-41437811_2301950?reply=2301954\nhttps://vk.com/photos-141834632?act=comments\nКоллаж в ленте группы:\nhttps://vk.com/wall-636950_753196\nhttps://vk.com/wall-208554775_98061\nВсе альбомы группы:\nhttps://vk.com/albums-141834632\nhttps://vk.com/id845231355?from=search&z=albums845231355\nВидео в коллаже:\nhttps://vk.com/wall-6980140_33052"},"VK_video-q":{"link":"^(?:m\\.)?(vk\\.com/)(?:video|(?:clips/[a-z]+\\?z=)?clip)(-?\\d+_\\d+).*","url":"https://$1video$2","res":":\nconst max_resolution = 1080\n\nconst params = JSON.parse($._.match(/'al_video\\.php[^[]+(.+])\\)/)[1])[4].player.params[0]\nconst max_res_url = (i) => i[Object.keys(i).reduce((a, c) => (/^url\\d+$/.test(c) && Number(c.slice(3)) <= max_resolution && Number(c.slice(3)) > Number(a.slice(3))) ? c : a, '')]\nreturn [ max_res_url(params) + '#mp4', params.md_title ];","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l5pz9kf\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1571#1\n\n!!!\nДля изменения размера видео - заменить разрешение в параметре (480/720/1080/2160):\nconst max_resolution = \n\n\nПРИМЕРЫ\nhttps://vk.com/video/@leprazo\nhttps://vk.com/clips/leprazo\nвнешние ссылки:\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Vogue":{"link":"^(?:vogue\\.com/video/.+|voguegallery/(.*)$)","url":": $[1]?'data:'+$[1]:$[0]","res":":\nconst visible_gallery_image_first = true // <- Set to true for the visible image to be the first image in the album, false to keep the first gallery image as the first album image.\nconst a = visible_gallery_image_first\nif(!$[1]){\nconst o=JSON.parse(($._.match(/__PRELOADED_STATE__ = ({.+?});/)||[,'{}'])[1]).transformed?.video\nif(!o)return null\nreturn [o.sources.mp4.src,o.title+' | '+o.description]\n}else{try{\nlet m = Object.values(JSON.parse([...document.scripts].find(i=>RegExp(`${$[1]}`).test(i.textContent)).textContent.match(/^[^{]+({.+?});/)[1]).transformed.article.body).find(i=>i[1]?.props?.contentType==='gallery')[1].props.slides.map(i=>[['#'+i.image.sources.md.url.replace(/\\/w_\\d+[^/]+/,''),i.image.sources.md.url],i.dangerousHed])\nif(a)m=m.concat(m.splice(0,m.findIndex(i=>RegExp(`${$[1]}`).test(i[0]))))\nreturn m\n}catch{\nreturn this.node.src?.replace(/\\/(?:4:3\\/[^/]+|master\\/w_[^/]+)/,'/master')\n}\n}","img":"^(?:(images\\.vogue\\.it/photovogue/[^_]+_)admin-thumbnail|(assets\\.vogue\\.com/photos/([^/]+)/.+)|vogue\\.com/(?:photovogue/photos|article)/.*|dwgyu36up6iuz\\.cloudfront\\.net/.+)","ci":2,"loop":2,"to":":\nreturn $[3]&&RegExp(`\"slides\":\\\\[.+?\"id\":\"${$[3]}\",\"`).test(document.body.textContent)?'//voguegallery/'+$[3]:$[1]?$[1]+'gallery':$[2]?$[2].replace(/\\/(?:4:3\\/[^/]+|master\\/w_[^/]+)/,'/master'):/cloudfront/.test($[0])&&/\\/video/.test(this.node.baseURI)?this.node.closest(`div[data-in-view='{\"pattern\":\"SummaryItem\"}']`)?.querySelector('a[href^=\"https://www.vogue.com/video/\"]')?.href??$[0]:this.node.src?.replace('admin-thumbnail','gallery')??this.node.parentNode.parentNode.parentNode.querySelector('img[src]')?.src?.replace(/\\/(?:4:3\\/[^/]+|master\\/w_[^/]+)/,'/master')??''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jvkro5n\n\nEXAMPLES\nhttps://www.vogue.com/video\nhttps://www.vogue.com/beauty/skin\nhttps://www.vogue.com/photovogue/photos/best\n(альбом)\nhttps://www.vogue.com/article/serena-williams-pregnant-met-gala-2023"},"Vprok.ru":{"link":"^(zoo\\.)?vprok\\.ru/product/[\\w-]+","res":":\nconst data = JSON.parse($._.match(/__NEXT_DATA__[^{]+(.+)<\\/script>/)[1]);\nconst res = data.props.pageProps.initialStore.productPage.product.images.map(i => [i.url.replace('<SIZE>', 'x1400'), '']);\nif (res.length > 0) {\n res[0][1] = data.props.pageProps.initialStore.productPage.product.description;\n}\n\nreturn res.length ? res : false;","img":"^(media\\.vprok\\.ru/.+)/x\\d+/(.+)","to":"$1/x1400/$2","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2120#10\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1680#2\n\n!!!\nКурсор рекомендуется наводить на название товара.\n\n\nПРИМЕРЫ\nhttps://zoo.vprok.ru/catalog/1571/suhoy-korm\nhttps://www.vprok.ru/catalog/1532/chay?sort=price_asc"},"vsco-x":{"img":"^(?:i(?:m(?:age(?:-aws[\\w-]+)?)?)?)(\\.vsco\\.co/)(?:[^/]{1,23}/)*?([\\da-f]{24}).*","to":"//i$1$2","note":"!!!\nВ настоящее время фильтр частично не работает (внешние ссылки на галереи).\n==\nCurrently, the rule partially does not work (external links to galleries).\n\nEXAMPLES\nhttps://www.reddit.com/domain/vsco.co/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"VseInstrumenti.ru":{"link":"^(\\w+\\.)?vseinstrumenti\\.ru\\/product\\/","res":":\nconst res = [];\n\nconst data = /__NUXT__.+/.exec($._)[0];\nconst guid = /guid:\"(.+?)\"/.exec(data)[1];\nconst images = JSON.parse(/productImages:\\s*(\\[.+?\\])/.exec(data)[1]);\n\ntry {\n const custImages = JSON.parse(/customerImages:\\s*(\\[.+?\\])/.exec(data)[1]);\n images.push(...custImages);\n} catch (error) {}\n\n\nfor (let img of images) {\n res.push([img.replace(/\\/\\d+x\\d+\\//, '/1200x800/')]);\n}\n\ntry {\n const x = new XMLHttpRequest();\n x.open('GET', `https://bff.vseinstrumenti.ru/product/reviews?guid=${guid}&sortBy=createdAt&sortDirection=desc&hasImages=true&itemsPerPage=40&page=1`, false);\n x.withCredentials = true;\n x.send();\n const info = JSON.parse(x.responseText);\n\n for (let r of info.reviews) {\n for (const img of r.images) {\n const text = [r.productRating + '⭐'];\n if (r.content.advantages) text.push('👍🏻 ' + r.content.advantages);\n if (r.content.disadvantages) text.push('👎🏻 ' + r.content.disadvantages);\n if (r.content.comment) text.push(r.content.comment);\n if (r.content.reasonToBuy) text.push(r.content.reasonToBuy);\n res.push([img.replace('{width}x{height}', '1200x800'), text.join(' | ')]);\n }\n }\n} catch (error) {\n console.error(error);\n}\n\nreturn res;","img":"(cdn\\.vseinstrumenti\\.ru/images/(?:responses|goods)/.+)/\\d+x\\d+/(.+\\.jpg)","to":"$1/1200x800/$2\n","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1960#17\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2680#6\n\n!!!\nФильтр поддерживает показ фото покупателей и их отзывов (если они имеются).\n\nПРИМЕРЫ\nhttps://www.vseinstrumenti.ru/category/motopompy-143/\nhttps://bryansk.vseinstrumenti.ru/category/schetchiki-vody-6935/?asc=asc&orderby=price"},"Vsemayki.ru":{"link":"^vsemayki\\.ru/product/.+","res":":\n$=JSON.parse($._.match(/\"__NEXT_DATA__\" type=\"application\\/json\">(.+?)<\\/script/)[1]).props.initialReduxState.application.tagmanagerEvents[1].payload.sides;\nreturn $.map(i=>[['#'+i.big.replace('500.','700.'),i.big]])","img":"^(storage\\.vsemayki\\.ru/images/(?:\\d+/)+previews/(?:[^_]+_)+)\\d+\\.","to":"#$1700.\n$1500.","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l6ahcr8\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3760#11\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2000#3\n\nПРИМЕРЫ\nhttps://www.vsemayki.ru/"},"Wallhaven":{"link":"^(wallhaven\\.cc/)w/(([\\da-z]{2})[\\da-z]{4}).*","img":"^th\\.(wallhaven\\.cc/)[^/]+/\\w\\w/(([\\da-z]{2})[\\da-z]{4}).*","to":"w.$1full/$3/wallhaven-$2.#jpg png#","note":"EXAMPLES\nhttps://wallhaven.cc/random\nhttps://wallhaven.cc/search?q=green&categories=110&purity=100&sorting=random&order=desc&seed=slzFfC&page=2"},"WallHere":{"link":"^(wallhere\\.com/)\\w\\w/(wallpaper)/(\\d+).*","img":"^c\\.(wallhere\\.com/)photos/\\w\\w/\\w\\w/([^.]+)-(\\d+).*","to":"get.$1photo/$2-$3.jpg","note":"EXAMPLES\nhttps://wallhere.com/en/random\nhttps://wallhere.com/en/wallpapers?q=adam"},"Walmart-p":{"link":"^walmart.com/ip/.+/\\d+","res":":\nconst res = [];\nconst images = JSON.parse(/\"allImages\":\\s*(\\[.+?\\])/.exec($._)[1]);\nfor (let img of images) {\n res.push([img.url]);\n}\nreturn res;","img":"^(i\\d\\.walmartimages\\.com/[^?]+).+","to":"$1","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1940#20\nOLD\nhttps://www.reddit.com/r/imagus/comments/fdqbls/comment/fjkohxy\n\nEXAMPLES\nhttps://www.walmart.com/search?page=1&query=meat+grinder&sort=price_high\nhttps://www.walmart.com/browse/cell-phones/samsung-galaxy-phones/1105910_7551331_1986562"},"Weasyl":{"link":"^(weasyl\\.com)/(?:~[^/]+/)?(?:submissions?|character)(/\\d+)/[\\w-]+","res":"href=\"(https://cdn\\.$1/(?:~[^/]+/submissions$2|static/(?:character|submission))/[\\da-f/]+/[^\"]+)\n<title>([^<]+)","note":"EXAMPLES\nhttps://www.weasyl.com/popular\nhttps://www.weasyl.com/search?q=dog"},"Webfail":{"useimg":1,"link":"^(?:(?:en|de)\\.)?(webfail\\.com/)([\\da-f]{11})(?:\\?tag=\\w+)?$","loop":1,"res":"(?:src=\"about:blank\" data-cmp-vendor=\"s30\" data-cmp-|<img class=\"wf-image\" )src=\"([^\"]+)","img":"^cdn\\.(webfail\\.com/)upl/img/([\\da-f]{11})/(?!post).+","to":"cdn.$1upl/img/$2/post2.jpg","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jnit0kk\n\nEXAMPLES\nhttps://www.reddit.com/domain/webfail.com/new/"},"WebmShare":{"link":"^(webmshare\\.com/)(?!terms)(?:play/|done/)?(\\w{5})(?:[#?]|$)","url":"$1play/$2","res":"=\"og:video\" content=\"([^\"]+)\n=\"og:title\" content=\"([^\"|]+)","note":"EXAMPLES\nhttps://www.reddit.com/domain/webmshare.com/new/\nhttps://webmshare.com/c/random/latest"},"WeHeartIt-p":{"useimg":1,"link":"^weheartit\\.com/entry/(\\d+).*","url":"weheartit.com/entry/$1","res":"<meta property=\"og:image\" content=\"([^\"]+)\"\n<title>([^|<]*)","img":"^data\\d*\\.whicdn\\.com/images/(\\d+)/(?!original\\.).*","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3360\n\nEXAMPLES\n???"},"Weibo":{"link":"^(?:(?:imagus(album)?\\.)?weibo\\.com/\\d+/(\\w+).*|weiboalbum/([^/]+)/(.+))","url":": $[2] ? 'https://weibo.com/ajax/statuses/show?id='+$[2]+($[1]?'&'+Date.now():'') : ''","res":":\nconst video=this._video_backup, album=this._album_backup;\ndelete this._video_backup;\ndelete this._album_backup;\nif($[3]&&$[4]){\nlet array=$[4].split(\"!\").map(i=>[i]), num=(array.findIndex(i=>RegExp(`${$[3]}`).test(i[0])))\nthis.TRG.IMGS_album=$[3];\nthis.stack[$[3]]=array;\nthis.stack[$[3]].unshift(1);\nthis.album(num);\nreturn [[['','']]]\n}\n$=JSON.parse($._);\nconst t=(new Date($.created_at)?.toLocaleString().replace(/.+/,'[$&] ')||'')+($.text_raw||'');\nif($.pic_infos){\n$=Object.values($.pic_infos).slice(this._num);\ndelete this._num;\n$=$.map((i,n)=>[i.video?.replace(/.+/,'$&#mp4')||i.large.url,!n?t:''])\nif(this._imgId){\n$=$.slice($.findIndex(i=>RegExp(`${this._imgId}`).test(i[0])));\n$[0][1]=t\ndelete this._imgId;\n}\nreturn $\n}\nif($.mix_media_info?.items){\nreturn $.mix_media_info?.items.map(i=>[i.media_info?.mp4_hd_url||i.data?.media_info?.mp4_hd_url||i.data?.video?.replace(/.+/,'$&#mp4')||i.data?.large?.url,t])\n}\nif($.page_info?.media_info){\n$=$.page_info?.media_info;\nconst hd=Object.entries($).find(i=>/^mp4_\\d+p_mp4$/.test(i[0]))?.[1]||'';\nreturn [[[hd?.replace(/.+/,'#$&'),$.mp4_hd_url||''],t]]\n}\n$=video||album||'';\nreturn $","img":"^(?:((w[a-z]|tva|mu)\\d\\.sinaimg\\.cn/)(?!large)[^/]+/(.+)|(video\\.weibo\\.com/media/play\\?livephoto=https?(?:%3A%2F%2F|://).+(?:/|%2F)([^.]+)\\..+))","loop":2,"to":":\nconst show_gallery_thumbs_as_album = true // Show posts with multiple thumbnail images as album\nconst truncate_album = true // Removes images before hovered thumbnail in album\nconst show_caption_with_video = true // Displays the caption with the video but is slower to load\n\nconst n=this.node, l=n.parentNode?.querySelector('video')?.src, h=n.closest('[class^=Feed_body_],.card-feed')?.querySelector('[class^=head-info_time],a[href][target=\"_blank\"][suda-data$=\"click:wb_time\"]')?.href?.match(/^[^?]+/)?.[0].replace('//','//imagus.');\nif($[4]){\nthis._imgId=$[5];\nreturn h?.replace(/(imagus)/,'$1album')\n}\nif(show_gallery_thumbs_as_album){\nconst m=show_gallery_thumbs_as_album&&[...n.closest('.wbpro-feed-content,div[class=\"media media-piclist\"]')?.querySelectorAll('img[class*=\"_focusImg\"],img[data-gifviedo=\"\"],img[class=\"woo-picture-img\"]')||[]].map(i=>[i.src?.replace(/\\/(?:orj?|mw|thumb)\\d+\\//,'/original/')]);\nthis._num=m&&m.findIndex(i=>RegExp(`${$[3]}`).test(i[0]));\nthis._video_backup=l;\nthis._album_backup=m;\nif(truncate_album)this._album_backup=this._album_backup.slice(this._num);\nreturn l?.length ? show_caption_with_video&&h||l : m?.length>1 ? truncate_album&&h?.replace(/(imagus)/,'$1album')||'//weiboalbum/'+$[3]+'/'+m.join(\"!\") : ($[2]=='mu' ? 'http://' : $[1]+'large/') + $[3]\n}\nreturn l||($[2]=='mu' ? 'http://' : $[1]+'large/') + $[3]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/e9wvb3/request_weibo/kuy45bp/\n\n\n!!!\nA uBlock Origin rule is required for the sieve to work:\nweibo.com##.woo-picture-slot\n+\nThe sieve currently doesn't work with videos, but can zoom in on covers\nhttps://weibo.com/tv/home\n\n\nEXAMPLES\nhttps://weibo.com/tv/home\nhttps://weibo.com/1886176512/O4pEby0t0\nhttps://weibo.com/7412351656/4981317911972411\nhttps://weibo.com/newlogin?tabtype=weibo&gid=102803&openLoginLayer=0&url=https%3A%2F%2Fweibo.com%2F"},"WikiArt-p":{"img":"^(uploads\\d\\.wikiart\\.org/[^!]+)!.*","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kuu2fo0\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1560#2\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.wikiart.org/en/artists-by-nation/norwegian#!#resultType:masonry\nhttps://www.wikiart.org/en/paintings-by-genre/jewelry#!#filterName:all-works,viewType:masonry"},"Wikimedia":{"useimg":1,"link":"^[^/]{4,70}/(?:[^/#?]*/)*?(?:index\\.php\\?title=)?(?:(?:%\\w\\w){2,42}|[ABDFIPST](?:%\\w\\w|[^\\d:/?&#]){2,10})(?::|%3A)[^/&]{1,1000}\\.(?:jp(?:g|eg?)|a?png|gif|svgz?|web[pm]|bmp|og[gv]|mp[g34]|wav)(?!&action=)","ci":3,"dc":1,"res":"(?:<td>[^<]+</td>(?:\\n[^<]*)?<td>[\\d.]+\\s+[A-Za-z]?bps</td>(?:\\n[^<]*)?<td|(?![\\W\\w]+id=\"transcodestatus\">)fullMedia\"[^>]*>(?:\\n[^<]*)?<p|class=\"fullImageLink\" id=\"file\")>(?:\\n[^<]*)?<a href=\"([^\"]+)","img":"^([^/]+/+([^/]+/+)*?)(?:thumb|(images|avatars))/((?:archive/)?\\w{1,2}/\\w{1,4}/([^/]+(?:\\.(jpe?g|gif|png|svgz?|tif)|(?=/revision/))))(?:/(lossy-page\\d+-)?\\d+px-(?:\\3|thumbnail).*|(/revision/)[^?]*)","to":":\nif($[7])return $[1] + 'thumb/' + $[4] + '/' + $[7] + '2048px-' + $[5] + '.jpg';\nreturn '#' + $[1] + ($[3] ? $[3] + '/' : '') + $[4] + (!$[8] && !$[1].lastIndexOf('upload.wikimedia.org',0) && !/^gif/i.test($[6]) ? '\\n'+ $[1] + 'thumb/' + $[4] + '/1024px-' + $[5] + (/^svg/i.test($[6]) ? '.png' : '') : ($[8] ? $[8] + 'latest' : ''))","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/17zsllc/comment/kxo1ema\nOLD\nhttps://www.reddit.com/r/imagus/comments/17zsllc/comment/kvv0a22\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1980#2\n\nEXAMPLES\nhttps://commons.wikimedia.org/wiki/Category:Camcorders\nhttps://commons.wikimedia.org/wiki/Category:Animated_GIF_files_between_50_MP_and_100_MP\nhttps://commons.wikimedia.org/wiki/Category:Videos_taken_with_Panasonic"},"WILDBERRIES.ru":{"link":"^(global\\.)?wildberries\\.ru/(?:catalog/|product/[-\\w]+-)(\\d+)(?:/(detail\\.aspx|feedbacks)(\\S+)?)?","url":": ''","res":":\n//debugger;\n\nlet showVideos = true;\n\nlet asyncMode = false;\nlet hasVideo = false;\nvar r = [];\nvar that = this;\n\n// show images only for global.wildberries.ru\nif ($[1]) {\n showVideos = false;\n asyncMode = true;\n}\n\nconst x = new XMLHttpRequest();\nconst cardInfoUrl = constructHostV2($[2], 'nm') + `/info/ru/card.json`;\nx.open('GET', cardInfoUrl, asyncMode);\nx.onloadend = function () {\n const info = JSON.parse(this.responseText);\n\n // fetch item photos\n // skip when triggered by feedback links or elements\n if (($[2] || $[3] == 'detail.aspx') && !$[4]?.includes('#Comments')\n && !that.TRG.className?.includes('product-review')\n && !that.TRG.className?.includes('product-product-review__rating')\n && !that.TRG.className?.includes('product-review__count-review'))\n {\n // const folder = 1e4 * Math.floor(info.nm_id / 1e4);\n if (info.media.has_video && showVideos) {\n // r.push([`https://video.wbstatic.net/video/new/${folder}/${info.nm_id}.mp4`, info.imt_name]);\n r.push(['', `<imagus-extension type=\"videojs\" url=\"${urlVideoProduct(info.nm_id, \"hls\", \"1440p\")}\"></imagus-extension>${info.imt_name}`]);\n hasVideo = true;\n }\n\n for (var i = 1; i <= info.media.photo_count; i++) {\n r.push([imageUrl(info.nm_id, 'big', i), info.imt_name]);\n }\n }\n\n const x2 = new XMLHttpRequest();\n\n // fetch feedback photos page by page\n x2.open('GET', `${feedbackDomain(info.imt_id)}/feedbacks/v1/${info.imt_id}`, asyncMode);\n x2.onloadend = function () {\n const resp = JSON.parse(this.responseText);\n resp.feedbacks?.forEach(f => {\n let text = '⭐' + f.productValuation + ' | ' + f.text + ' | ' + f.createdDate.substring(0, 10);\n f.photo?.forEach(p => r.push([urlFeedbackPhoto(p), text]))\n\n if (showVideos && f.video) {\n hasVideo = true;\n let [idx, id] = f.video.id.split('/');\n let vUrl = `https://videofeedback${String(idx).padStart(2, '0')}.wb.ru/${id}/index.m3u8`;\n r.push(['', `<imagus-extension type=\"videojs\" url=\"${vUrl}\"></imagus-extension>${text}`]);\n }\n });\n\n if (r.length == 0) {\n r = false;\n } else if (hasVideo) {\n that.TRG.IMGS_ext_data = r;\n r = { loop: 'imagus://extension' };\n that.TRG.IMGS_c_resolved = { URL: that.TRG.href }\n }\n\n if (asyncMode && (that.TRG?.IMGS_ext_data?.length || r?.length)) {\n that.TRG.IMGS_album = $[0];\n that.stack[$[0]] = that.TRG?.IMGS_ext_data || r;\n that.stack[$[0]].unshift(1);\n that.album(0);\n }\n }\n x2.send();\n}\nx.send();\n\nif (asyncMode) {\n return null\n}\n\nreturn r;\n\nfunction urlFeedbackPhoto(e) {\n const n = parseInt(e, 10);\n return `${constructHostV2(n, \"feedback\")}/photos/fs.webp`\n}\n\nfunction feedbackDomain(t) {\n const e = crc16Arc(t) % 100 >= 50 ? \"2\" : \"1\";\n return `https://feedbacks${e}.wb.ru`;\n}\n\nfunction imageUrl(id, size, number) {\n var i = parseInt(id, 10);\n var ext = \"jpg\";\n var url = constructHostV2(i);\n return \"\".concat(url, \"/images/\").concat(size, \"/\").concat(null != number ? number : 1, \".\").concat(ext)\n}\n\nfunction volHostV2(e) {\n let t;\n switch (!0) {\n case e >= 0 && e <= 143: t = \"01\"; break;\n case e <= 287: t = \"02\"; break;\n case e <= 431: t = \"03\"; break;\n case e <= 719: t = \"04\"; break;\n case e <= 1007: t = \"05\"; break;\n case e <= 1061: t = \"06\"; break;\n case e <= 1115: t = \"07\"; break;\n case e <= 1169: t = \"08\"; break;\n case e <= 1313: t = \"09\"; break;\n case e <= 1601: t = \"10\"; break;\n case e <= 1655: t = \"11\"; break;\n case e <= 1919: t = \"12\"; break;\n case e <= 2045: t = \"13\"; break;\n case e <= 2189: t = \"14\"; break;\n case e <= 2405: t = \"15\"; break;\n case e <= 2621: t = \"16\"; break;\n default: t = \"17\"\n }\n return `basket-${t}.wbbasket.ru`\n}\n\nfunction volFeedbackHost(e) {\n let t;\n switch (!0) {\n case e >= 0 && e <= 431: t = \"01\"; break;\n case e <= 863: t = \"02\"; break;\n case e <= 1199: t = \"03\"; break;\n case e <= 1535: t = \"04\"; break;\n case e <= 1919: t = \"05\"; break;\n case e <= 2303: t = \"06\"; break;\n default: t = \"07\"\n }\n return `feedback${t}.wbbasket.ru`\n}\n\nfunction volVideoHost(e) {\n let t;\n switch (!0) {\n case e >= 0 && e <= 11: t = \"01\"; break;\n case e <= 23: t = \"02\"; break;\n case e <= 35: t = \"03\"; break;\n case e <= 47: t = \"04\"; break;\n case e <= 59: t = \"05\"; break;\n case e <= 71: t = \"06\"; break;\n case e <= 83: t = \"07\"; break;\n case e <= 95: t = \"08\"; break;\n case e <= 107: t = \"09\"; break;\n case e <= 119: t = \"10\"; break;\n case e <= 131: t = \"11\"; break;\n case e <= 143: t = \"12\"; break;\n default: t = \"13\"\n }\n return `videonme-basket-${t}.wbbasket.ru`\n}\n\nfunction constructHostV2(e, t = \"nm\") {\n const r = parseInt(e, 10)\n , n = \"video\" === t ? r % 144 : ~~(r / 1e5)\n , a = \"video\" === t ? ~~(r / 1e4) : ~~(r / 1e3);\n let o;\n return \"nm\" === t ? o = volHostV2(n) : \"feedback\" === t ? o = volFeedbackHost(n) : \"video\" === t && (o = volVideoHost(n)),\n `https://${o}/vol${n}/part${a}/${r}`\n}\n\nfunction urlVideoProduct(e, t = \"mp4\", r = \"360p\") {\n const n = parseInt(e, 10);\n return `${constructHostV2(n, \"video\")}/${t}/${r}/${\"mp4\" === t ? \"1.mp4\" : \"index.m3u8\"}`\n}\n\nfunction numToUint8Array(r) {\n const t = new Uint8Array(8);\n for (let n = 0; n < 8; n++) {\n t[n] = r % 256;\n r = Math.floor(r / 256);\n }\n return t;\n}\n\nfunction crc16Arc(r) {\n const t = numToUint8Array(r);\n let n = 0;\n for (let r = 0; r < t.length; r++) {\n n ^= t[r];\n for (let r = 0; r < 8; r++)\n (1 & n) > 0 ? n = n >> 1 ^ 40961 : n >>= 1;\n }\n return n;\n}\n","img":"^(?:(feedback\\d+\\.(?:wb|wbbasket)\\.ru/.+/photos)/[fm]s\\.(?:webp|jpg)|(basket-\\d+\\.(?:wb\\.ru|wbcontent\\.net|wbbasket\\.ru)/.+/images)/c\\d+x\\d+/(\\d+\\.webp)|(videofeedback\\d+\\.(?:wb|wbbasket)\\.ru/.+)/preview\\.(?:webp|jpg))","ci":2,"loop":2,"to":":\n//debugger;\n\nif (!this.styleAdded && document.URL.includes('/feedbacks')) {\n const style = document.createElement(\"style\")\n style.textContent = `\n .sw-slider-thumbs-gallery .gallery-set .gallery-set__item::before { z-index: 0 !important; }\n .gallery-set__list > li > img.hide-desktop { display: block !important;}\n `\n document.head.appendChild(style)\n this.styleAdded = true;\n}\n\nif ($[1]) {\n\treturn `${$[1]}/fs.webp`\n} else if ($[2]) {\n\treturn `${$[2]}/big/${$[3]}`\n} else if ($[4]) {\n return `${$[4]}/index.m3u8`\n}\n","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2680&limit=1&m=1#1\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2671#1\n\n\n!!!\nКурсор рекомендуется наводить на область с названием товара.\n+\nФильтр показывает видео (если есть) + оценку + фото/видео/отзывы покупателей.\n\n\nПРИМЕРЫ\nhttps://global.wildberries.ru/catalog?search=свитер+женский&tail-location=SNS\nhttps://www.wildberries.ru/seller/664010\nhttps://www.wildberries.ru/catalog/igrushki/igrovye-nabory\nhttps://www.wildberries.ru/catalog/58113505/feedbacks?imtId=43628090"},"Wildcritters-p-b":{"useimg":1,"link":"^wildcritters\\.ws/post/show/\\d+","res":": <a href=\"(http[^\"]+)\" id=\"highres\"","img":"^(wildcritters\\.ws/data/)(?:preview|sample)/([\\da-f]{32}\\.).+","to":"#$1$2#jpg png gif#\n$1sample/$2#jpg png gif#","note":"EXAMPLES\nhttps://wildcritters.ws/post/list/ambiguous_gender\nhttps://wildcritters.ws/post/list/open_mouth"},"Wired":{"useimg":1,"link":"^wired\\.com/[^/]+/.+","img":"^(media\\.wired\\.com/photos/\\w+/)[\\d:]+/w_\\d+(,c_limit/.+\\.\\w+)","to":":\nif($[1])return $[1]+$[2];\nconst m = 'https://media.wired';\nlet t = this.node;\nt = RegExp(`^${m}`).test(t.src) ? t.src : t.querySelector(`img[src^=\"${m}\"]`)?.src||'';\nreturn t.replace(/\\/(?:\\d{1,2}:\\d{1,2}|w_\\d+[^/]+)/g,'')","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jo3ahc3\n\nEXAMPLES\nhttps://www.wired.com/category/culture/\nhttps://www.wired.com/tag/video-games/"},"WordPress_fix":{"img":"^(.+/wp-content/uploads/.+)-\\d+x\\d+(\\.jpg)$","to":"$1$2","note":"Rodny"},"wsimg-CDN":{"link":"(wsimg.com/(?:isteam/)?ip/[^.]+\\.[^/]+)","img":"((?:[^.]+\\.)?wsimg.com/(?:isteam/)?ip/[^.]+\\.[^/]+)","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Wykop.pl-p":{"img":"^((?:x\\w\\.)?(?:cdn\\d+\\.imgwykop\\.pl|wykop.pl/cdn)/c\\d+/[^,]+),[^.]+","to":"$1","note":"EXAMPLES\nhttps://wykop.pl/k/technologia\nhttps://wykop.pl/k/informacje/strona/2\nhttps://wykop.pl/szukaj/wszystkie/star"},"X.COM-p":{"useimg":1,"link":"^(?:m(?:obile)?\\.)?(?:x|(api\\.[fv]x)?twitter)\\.com/(?:[^/]+/)*status/(\\d+)(?:\\?img_id/(.+))?.*","url":": (()=>{const use_on_timestamp = true , n=this.node;if(/^https:\\/\\/platform\\.twitter/.test(n.baseURI)||/^(?:x|twitter)\\.com$/.test(location.hostname)&&!RegExp(`^(?:svg|path${use_on_timestamp?'|time':''})$`).test(n.localName)&&!n.IMGS_TRG)throw new Error('Not used on this link');return $[1]||!$[2]?$[0]:'https://cdn.syndication.twimg.com/tweet-result?id='+$[2]+'&token='+((Number($[2])/1e15)*Math.PI).toString(6**2).replace(/(0+|\\.)/g,'')+($[3]?'&'+$[3]:'')})()","res":":\nconst show_post_with_multiple_images_as_album = true // Hovering over image in multi-image post shows images as an album.\n\nconst show_hovered_image_first_in_album = true // Shows the hovered over image first in the album.\n\nconst truncate_album_before_hovered_image = true // Removes images before hovered image in album.\n\nconst show_pfp_if_no_media = false // Show profile image instead of 'No Media' message.\n\nconst use_vxtwitter_api_fallback = false // Use third party API VXTwitter as backup\n\nconst use_fxtwitter_api_fallback = true // Use third party API FXTwitter as backup\n\n// If both VXTwitter and FXTwitter are set to true, one is randomly chosen\n\nconst hide_third_party_api_message = false // Hide API message on sensitive media\n\nif(!$[1]&&$._[0]!=='{'){\nconst x = new XMLHttpRequest();\nx.open('Get','https://cdn.syndication.twimg.com/tweet-result?id='+$[2]+'&token='+((Number($[2])/1e15)*Math.PI).toString(6**2).replace(/(0+|\\.)/g,''),false);\nx.send();\nif(x.status!==200)return '';\n$._ = x.responseText;\n}\nlet data = $._[0]==='{'?JSON.parse($._):'';\nif(!data)return null;\nconst upgradeImage = img => ['#'+img.replace(/\\.([a-z0-9]{3,4}$)/,'?format=$1&name=orig').replace('webp', 'jpg'), img.replace(/\\.([a-z0-9]{3,4}$)/,'?format=$1&name=large').replace('webp', 'jpg')];\nlet media = [];\nconst imgIdRegex = new RegExp(`${$[3]}`), pfp = data.user?.profile_image_url_https?.replace(/_[a-z0-9]+\\./, '.'), backupURL = use_fxtwitter_api_fallback&&use_vxtwitter_api_fallback ? ['v', 'f'][Math.floor(Math.random()*2)] : use_vxtwitter_api_fallback ? 'v' : use_fxtwitter_api_fallback ? 'f' : '';\nif(!$[1]){\nconst text = data.text, qText = data.quoted_tweet?.text;\nlet mediaDetails = data.mediaDetails||[], qtMediaDetails = data.quoted_tweet?.mediaDetails||[], card = data.card?.binding_values?.unified_card?.string_value||data.card?.binding_values;\nif(!$[3]){\nif(mediaDetails)mediaDetails.forEach(i => {\n\tconst isVideo = i.video_info ? true : false;\n\ti = isVideo ? i?.video_info?.variants.filter(i=>i.content_type==='video/mp4').sort((a,b)=>b.bitrate-a.bitrate).map(i=>i.url) : i.media_url_https;\n\tmedia.push(isVideo ? [['#'+i[0],i?.[1]||''],(qtMediaDetails?.length?'Main tweet media: ':'')+text+(!qtMediaDetails?.length&&qText?' | Quote tweet text: '+qText:'')] : [upgradeImage(i),(qtMediaDetails?.length?'Main tweet media: ':'')+text+(!qtMediaDetails?.length&&qText?' | Quote tweet text: '+qText:'')]);\n\t})\nif(qtMediaDetails)qtMediaDetails.forEach(i => {\n\tconst isVideo = i.video_info ? true : false;\n\ti = isVideo ? i?.video_info?.variants.filter(i=>i.content_type==='video/mp4').sort((a,b)=>b.bitrate-a.bitrate).map(i=>i.url) : i.media_url_https;\n\tmedia.push(isVideo ? [['#'+i[0],i?.[1]||''],'Quote tweet media: '+qText+(!mediaDetails?.length&&text?' | Main tweet text: '+text:'')] : [upgradeImage(i),'Quote tweet media: '+qText+(!mediaDetails?.length&&text?' | Main tweet text: '+text:'')]);\n\t})\nif(card)media.push([typeof card === 'string' ? [Object.values(JSON.parse(card)?.media_entities)?.[0]?.media_url_https] : ['#'+card.photo_image_full_size_original?.image_value?.url, card.photo_image_full_size_large?.image_value?.url],text]);\n}else{\n const videoId = mediaDetails.concat(qtMediaDetails).find(i=>imgIdRegex.test(i.media_url_https))?.video_info?.variants?.filter(i=>i.content_type==='video/mp4').sort((a,b)=>b.bitrate-a.bitrate)?.[0].url?.match(/\\/([^\\/.]+)\\.mp4/)?.[1]||'', videoIdRegex = videoId ? new RegExp(videoId) : null;\nif(mediaDetails?.video_info?.variants?.some(i=>imgIdRegex.test(i.poster))||mediaDetails?.some(i=>imgIdRegex.test(i.media_url_https)))mediaDetails.forEach(i => {\n\tconst isVideo = i.video_info ? true : false;\n\ti = isVideo ? i.video_info.variants.filter(i=>i.content_type==='video/mp4').sort((a,b)=>b.bitrate-a.bitrate).map(i=>i.url) : i.media_url_https;\n\tmedia.push(isVideo ? [['#'+i[0],i?.[1]||''],text] : [upgradeImage(i),text]);\n\t})\n\tif(qtMediaDetails?.video_info?.variants?.some(i=>imgIdRegex.test(i.poster))||qtMediaDetails?.some(i=>imgIdRegex.test(i.media_url_https)))qtMediaDetails.forEach(i => {\n\tconst isVideo = i.video_info ? true : false;\n\ti = isVideo ? i.video_info.variants.filter(i=>i.content_type==='video/mp4').sort((a,b)=>b.bitrate-a.bitrate).map(i=>i.url) : i.media_url_https;\n\tmedia.push(isVideo ? [['#'+i[0],i?.[1]||''],qText] : [upgradeImage(i),qText]);\n\t})\nif(card)media.push([['#'+card.photo_image_full_size_original?.image_value?.url, card.photo_image_full_size_large?.image_value?.url],text]);\n if(!show_post_with_multiple_images_as_album)media=[media.find(i=>imgIdRegex.test(i[0][0])||videoIdRegex?.test(i[0][0]))];\n else if(truncate_album_before_hovered_image)media = media.splice(media.findIndex(i=>imgIdRegex.test(i[0][0])||videoIdRegex?.test(i[0][0])));\n\telse if(show_hovered_image_first_in_album)media = media.concat(media.splice(0,media.findIndex(i=>imgIdRegex.test(i[0][0])||videoIdRegex?.test(i[0][0]))));\n\t}\nreturn media?.length&&media||!text&&!qText&&backupURL&&{loop:'https://api.'+backupURL+'xtwitter.com/status/'+$[2]+($[3]?'?img_id'+$[3]:'')}||no_media(text)\n} else {\n const backupMessage = !hide_third_party_api_message&&'A third party API, '+$[1].slice(4).toUpperCase()+'Twitter, was used to get this media. This can be disabled in the sieve. For more information, see the notes section of the TWITTER_ext-p sieve. | '||'';\n if($[1][4]==='v'){\n this.loopStop = this.loopStop||0;\n const text = data.text;\n let mediaURLs = data.media_extended;\n if($[3]){\n if(!mediaURLs.some(i=>imgIdRegex.test(i.thumbnail_url))&&this.loopStop===0&&data.qrtURL){\n this.loopStop=1;\n return {loop:data.qrtURL.replace(/^.+(\\.com\\/).*(status\\/\\d+).*/,(t,g1,g2)=>'https://api.vxtwitter'+g1+g2+($[3]?'?img_id'+$[3]:''))};\n }\n if(!show_post_with_multiple_images_as_album){\n media = [mediaURLs.find(i=>imgIdRegex.test(i.thumbnail_url))].map(i=>[(i.type==='video'||/\\.mp4/.test(i.url)?i.url:upgradeImage(i.url)),backupMessage+text]);\n }else if(truncate_album_before_hovered_image){\n media = mediaURLs.splice(mediaURLs.findIndex(i=>imgIdRegex.test(i.thumbnail_url))).map(i=>[(i.type==='video'||/\\.mp4/.test(i.url)?i.url:upgradeImage(i.url)),backupMessage+text]);\n }else if(show_hovered_image_first_in_album){\n media = mediaURLs.concat(mediaURLs.splice(0,mediaURLs.findIndex(i=>imgIdRegex.test(i.thumbnail_url)))).map(i=>[(i.type==='video'||/\\.mp4/.test(i.url)?i.url:upgradeImage(i.url)),backupMessage+text]);\n }else{\n media = mediaURLs.map(i=>[(i.type==='video'||/\\.mp4/.test(i.url)?i.url:upgradeImage(i.url)),backupMessage+text]);\n }\n }else{\n media = mediaURLs.map(i=>[(i.type==='video'||/\\.mp4/.test(i.url)?i.url:upgradeImage(i.url)),backupMessage+text]);\n }\n delete this.loopStop;\n} else {\n const text = data.tweet?.text, qText = data.quote?.text;\n let mediaURLs = data.tweet?.media?.all||[],qtMediaURLs = data.tweet?.quote?.media?.all||[];\n if(!$[3]){\n mediaURLs.forEach(i => {\n\tconst isVideo = /\\.mp4/.test(i.url) ? true : false;\n\ti = isVideo ? i?.variants.filter(i=>i.content_type==='video/mp4').sort((a,b)=>b.bitrate-a.bitrate).map(i=>i.url) : i.url;\n\tmedia.push(isVideo ? [['#'+i[0],i?.[1]||''],backupMessage+text] : [upgradeImage(i),backupMessage+text]);\n\t})\n }else{\n const videoId = mediaURLs.concat(qtMediaURLs).find(i=>imgIdRegex.test(i.thumbnail_url))?.variants?.filter(i=>i.content_type==='video/mp4').sort((a,b)=>b.bitrate-a.bitrate)?.[0].url?.match(/\\/([^\\/.]+)\\.mp4/)?.[1]||'', videoIdRegex = videoId ? new RegExp(videoId) : null;\n if(mediaURLs?.some(i=>imgIdRegex.test(i.thumbnail_url))||mediaURLs?.some(i=>imgIdRegex.test(i.url)))mediaURLs.forEach(i => {\n\tconst isVideo = /\\.mp4/.test(i.url) ? true : false;\n\ti = isVideo ? i.variants.filter(i=>i.content_type==='video/mp4').sort((a,b)=>b.bitrate-a.bitrate).map(i=>i.url) : i.url;\n\tmedia.push(isVideo ? [['#'+i[0],i?.[1]||''],backupMessage+text] : [upgradeImage(i),backupMessage+text]);\n\t})\n\tif(qtMediaURLs?.some(i=>imgIdRegex.test(i.thumbnail_url))||qtMediaURLs?.some(i=>imgIdRegex.test(i.url)))qtMediaURLs.forEach(i => {\n\tconst isVideo = i.format?.startsWith('video') ? true : false;\n\ti = isVideo ? i.variants.filter(i=>i.content_type==='video/mp4').sort((a,b)=>b.bitrate-a.bitrate).map(i=>i.url) : i.url;\n\tmedia.push(isVideo ? [['#'+i[0],i?.[1]||''],qText] : [upgradeImage(i),backupMessage+qText]);\n\t})\n if(!show_post_with_multiple_images_as_album)media=[media.find(i=>imgIdRegex.test(i[0][0])||videoIdRegex?.test(i[0][0]))];\n else if(truncate_album_before_hovered_image)media = media.splice(media.findIndex(i=>imgIdRegex.test(i[0][0])||videoIdRegex?.test(i[0][0])));\n\telse if(show_hovered_image_first_in_album)media = media.concat(media.splice(0,media.findIndex(i=>imgIdRegex.test(i[0][0])||videoIdRegex?.test(i[0][0]))));\n\t}\n }\n return media\n}\nfunction no_media(t){\nreturn show_pfp_if_no_media&&pfp ? [pfp,'No media. Tweet text: '+t] : [ 'data:image/svg+xml,' + encodeURIComponent(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"100\" width=\"540\" style=\"background-color: #2a2a2a;\">\n <foreignObject height=\"100%\" width=\"100%\">\n <div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table; height: 100%; width: 100%;\">\n <span style=\"color: tomato; display: table-cell; font: 36px sans-serif; vertical-align: middle; text-align: center; white-space: pre-wrap;\">\n No media\n </span>\n </div>\n </foreignObject>\n </svg>`.replace(/\\n\\s+/g, '')), 'Tweet text: '+t ]\n}","img":"^(?:(pbs\\.twimg\\.com/(?:(profile_banners/\\d+/\\d+/)|([^?]+\\?format=[^&]+&name=)|(?!profile_images/)[^.]+\\.)).*|((?:x|twitter)\\.com/\\w+(?:/photo|\\?|$).*))","loop":2,"to":":\nconst n=this.node\nconst id=$[0].match(/\\/([^\\/?.]+)(?:[?.]|$)/)?.[1]||''\nif($[2])return $[1]+'1500x500'\n\nif($[4])return n.closest('a')?.querySelector('img[src][draggable=\"true\"]')?.src?.replace(/_[a-z0-9]+\\./, '.')||''\n\nif(!/(?:x|twitter)\\.com$/.test(location.hostname)||/\\/semantic_core_img\\//.test($[1]))return '#'+$[1].replace(/\\.([a-z0-9]{3,4}$)|\\?format=(\\w+)&.+/,'?format=$1$2&name=orig').replace('webp', '#jpg png#')+'\\n'+$[1].replace(/\\.([a-z0-9]{3,4}$)|\\?format=(\\w+)&.+/,'?format=$1$2&name=large').replace('webp', '#jpg png#')\n\nif((/(?:x|twitter)\\.com\\/(?:[^\\/]+\\/|search\\?q=.+=)media/.test(location.href) && !/\\/semantic_core_img\\//.test($[0]))){\n let el = n;\n while (el.parentNode && !el.querySelector('a[href*=\"/status/\"]')) {\n el = el.parentNode\n };\n return el.querySelector('a[href*=\"/status/\"]').href.replace(/^(https:\\/\\/[^\\/]+\\/[^\\/]+\\/status\\/\\d+).*/, '$1?img_id/'+id)\n}\n\nreturn (n.closest('article')?.querySelector('a[href*=\"/status/\"][aria-label]') || n.closest('article,div[class=\"css-1dbjc4n r-1iusvr4 r-16y2uox r-a5pmau r-bnwqim\"],div[class=\"css-1dbjc4n r-1iusvr4 r-16y2uox r-bnwqim\"]')?.querySelector('a[href*=\"/status/\"]'))?.href?.replace(/^(https:\\/\\/[^\\/]+\\/[^\\/]+\\/status\\/\\d+).*/, '$1?img_id/'+id)","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/189brbb/comment/lb47q8o\nOLD\nhttps://www.reddit.com/r/imagus/comments/1bg8o7a/comment/l37gkgo\nhttps://www.reddit.com/r/imagus/comments/1bg8o7a/comment/kvpiolk\n\n\n!!!\nA sieve to support Twitter external links (videos and images + albums).\n+\nThis rule should PRECEDE the Twitter-p rule.\n+\nAll information about the capabilities and features of the sieve, and also about the options presented in it: see FAQ, p.20.\n\n\nEXAMPLES\nhttps://www.reddit.com/domain/x.com/new\nhttps://www.reddit.com/domain/twitter.com/new\nhttps://x.com/3d_hentai1/media\nhttps://www.reddit.com/r/imagus/comments/159jk73/comment/jti74is\nhttps://x.com/otosalex\nhttps://x.com/search?q=example&src=typed_query&f=media\nhttps://x.com/rei_RR/status/1737115628472086910"},"X.COM_proxy":{"img":"^o\\.twimg\\.com/2/proxy\\.jpg\\?(?:[^&]+&)*?t=([^&]+).*","loop":2,"to":":\nreturn decodeURIComponent(window.atob($[1].replace(/_/g, '/')).replace(/^[^h]*(https?:\\/\\/[^\\/]+\\/([\\w\\-.~:/?#\\[\\]@!$&'()*+,;=]|%\\d\\d)+).*/, '$1'))"},"xHamster_gallery-x-p":{"link":"^(?:[a-z]{2}\\.)?xhamster2?\\.(?:com|desi)/photos/gallery/[\\w/-]+","res":":\nif(!this.gallery)this.gallery=[]\nif(!this.ls)this.ls=0\nthis.gallery.push(...[...$._.matchAll(/<a href=\"([^\"]+)\" data-height=/g)].map(i=>[i[1]]))\nif(/data-page=\"next\" href=\"[^\"]/.test($._)&&this.ls<25){\nthis.ls++\nreturn {loop:$._.match(/data-page=\"next\" href=\"([^\"]+)/)[1]}\n}else{\nlet a = this.gallery\ndelete this.gallery\ndelete this.ls\nif(!a.length){\na=JSON.parse($._.match(/window\\.initials=(.+?);</)[1])\na=a.photosGalleryModel.photos.items.find(i=>i.id===a.photoModel.id).imageURL\n}\nreturn a\n}","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/15hwwri/comment/juvh7os\n\nEXAMPLES\nhttps://xhamster.com/photos/categories/blonde"},"xHamster_video-x-p":{"link":"^(?:.*\\.)?xhamster2?\\.(?:com|desi)/videos/.*-.*","res":":\n$=Object.values(JSON.parse($._.match(/\"sources\":{\"mp4\":({.+?}),/)?.[1]||'{}'))\nreturn $.length?[[['#'+$[$.length-1],$[Math.floor($.length/2)]||'']]]:''","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l3faz1j\nOLD\nhttps://www.reddit.com/r/imagus/comments/15hwwri/comment/jur9krc\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=880#19\n\n!!!\nКурсор следует наводить на название видео.\n==\nThe cursor should be placed over the title of the video.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://xhamster.com/categories/milf\nhttps://www.reddit.com/domain/xhamster.com/new\nhttps://www.reddit.com/domain/xhamster.desi/new"},"Xiaohongshu":{"link":"^xiaohongshu\\.com/(?!user/profile/[a-f0-9]{24}$)(?:[^/]+/)*([a-f0-9]{24})(?:$|\\?)","res":":\nconst use_sidebar = true\n\n$=JSON.parse($._.match(/__INITIAL_STATE__\\s*=\\s*({.+?})<\\//)[1].replace(/:undefined/g,':\"\"')).note.noteDetailMap[$[1]].note;\nconst t=[$.title,$.user?.nickname,new Date($.time).toLocaleDateString(),$.desc].filter(Boolean).join(use_sidebar?'\\n':' | ');\n$=($.video?.media?.stream?.h264||$.imageList||[]).map((i,n)=>[i.urlDefault||i.masterUrl,!n?t:'']);\nif(use_sidebar){\n$[0][1]=`<imagus-extension type=\"sidebar\">${t}</imagus-extension>`;\nthis.TRG.IMGS_ext_data=$;\n}\nreturn use_sidebar?{loop:'imagus://extension'}:$","img":"^(sns-(?:avatar|webpic)-qc\\.xhscdn\\.com/[^?]+).*","to":"$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/1artw9b/comment/kr34nny\n\n\n!!!\nHow to turn on / disable sidebar:\nconst use_sidebar = true / false\n\n\nEXAMPLES\nhttps://www.xiaohongshu.com/explore"},"xkcd":{"link":"^(?:m\\.)?(xkcd\\.(?:org|com)/\\d{1,5})/?$","url":"$1/info.0.json","res":":\nif ($._[0] != '{') $ = false\nelse $ = JSON.parse($._), $ = [[$.num > 1050? [$.img.replace(/(\\.\\w+)$/, '_2x$1'), $.img] : $.img, [$.year, ('0'+$.month).slice(-2), ('0'+$.day).slice(-2)].join('-') + ' (#' + $.num + ') | ' + $.safe_title + ' - ' + $.alt + ' ' + $.link]]\nreturn $","note":"EXAMPLES\nhttps://xkcd.com/archive/\nhttps://www.reddit.com/domain/xkcd.com/new/"},"XNXX-x-p":{"link":"(.*\\.)?xnxx.com\\/(prof-)?video-.*","res":":\nconst url = $._.match(/setVideoUrlHigh.*\\.mp4\\?.*?'/)[0].replace(/setVideoUrlHigh.*\\('(.*?)'/, '$1');\n\nreturn url;","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=220#13\nOLD\nhttps://www.reddit.com/r/imagus/comments/iv556b/nsfw_bunch_of_sieves_for_popular_adult_site_videos/\n\n!!!\n- небольшой размер видео потому что сайт использует HLS для HD-видео (пока не поддерживается) \n- платные видео (значок GOLD) недоступны.\n==\n- HD videos are in HLS only (not supported so far) \n- paid videos (GOLD icon) are not available.\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.xnxx.com/best/2022-12/5\nhttps://www.xnxx.com/search/3d-hentai/8\nhttps://www.xnxx.com/search/gold/milf+blowjob/7"},"XUP.in-p":{"link":"^(.*)xup\\.in/exec.+","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1380#10\n\n!!!\nВ некоторых случаях требутся повторное наведение курсора.\n==\nIn some cases, you need to hover the cursor again.\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"XUP.in_2-p":{"link":"^xup\\.in/dl,\\d+/[\\w-]+\\.\\w+/","res":":\nlet srcS=atob($._.match(/var \\w+ = \"([^\"]+)\";/)[1]);\nlet res=srcS.match(/<div id=\"picture\"><img src=\"([^\"]+)\" alt=\"([^\"]+)\"/);\nreturn [res[1],res[2]];","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1440#15\n\nПРИМЕРЫ / EXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1393&limit=1&m=1#1"},"XVideos|XV-ru-x-q-p":{"link":"^(?:.*\\.)?(xvideos\\.com|xv-ru\\.com)\\/(?:search-video\\/|video[\\d./]).+","loop":1,"res":":\nconst use_mp4 = true; // <- Set to true for mp4 video, false for HLS.\nif(!use_mp4){\n$=$._.match(/html5player\\.setVideoHLS\\('([^']+)/)?.[1]||''\nthis.TRG.IMGS_ext_data = [\n '//' + `data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"640\" height=\"480\"></svg>`,\n `<imagus-extension type=\"videojs\" url=\"${$}\"></imagus-extension>`\n]\nreturn $?{loop:'imagus://extension'}:''\n}\nreturn $._.match(/setVideoUrlHigh\\([\"']([^\"']+)/)?.[1]||''","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kwscpo5\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=220#13\nhttps://www.reddit.com/r/imagus/comments/iv556b/nsfw_bunch_of_sieves_for_popular_adult_site_videos/\n\n!!!\nВ фильтре есть возможность настроить размер (от 480 до 1080) и формат (MP4 / HLS). MP4 позволяет сохранить видео, но имеет более низкое разрешение. Для сохранения видео в высоком разрешении пользуйтесь специализированными программами загрузки, например IDM.\nНайдите и замените на нужное значение:\nconst use_mp4 = false; // <- Set to true for mp4 video, false for HLS.\nconst HLS_resolution = 1080;// <- Set resolution\n==\nThe sieve has the ability to adjust the size (from 480 to 1080) and format (MP4 / HLS). MP4 allows you to save videos, but has a lower resolution. To save videos in high resolution, use specialized download programs, such as IDM.\nFind and replace with the desired value:\nconst use_mp4 = false; // <- Set to true for mp4 video, false for HLS.\nconst HLS_resolution = 1080;// <- Set resolution\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.xv-ru.com/c/Milf-19/4\nhttps://www.xv-ru.com/c/s:uploaddate/Teen-13\nhttps://www.xv-ru.com/?k=perfect"},"XYZcomics-x-p":{"link":"^xyzcomics\\.com/.*/$","res":":\nlet parser = new DOMParser();\nlet doc = parser.parseFromString($._, \"text/html\");\nlet images = doc.querySelectorAll('#jig1-html ul li a');\nif(images.length === 0) return null;\nlet final = [];\nfor(image of images){\n final.push([image.href])\n}\nreturn final;","note":"Randlai\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=620#12\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://xyzcomics.com/porn-dude/\nhttps://xyzcomics.com/tag/3dcaptor/"},"Yahoo-p":{"link":"^(?:(?:images|video)\\.search\\.yahoo\\.com/(?:search/images|images/view|video/play)[?;](?:[^&]+&)*?(?:imgurl|rurl)=(?:https?(?:%3A%2F%2F|://))?([^&]+).*|news\\.yahoo\\.com/.+)","dc":3,"loop":3,"img":"^(?:[sl]\\d?\\.yimg\\.com/|yahoo.com/\\w\\w/)\\w\\w/api/res/(?:[^/]+/)+?(https?://.+)","to":":\nif(!$[1])$[1] = this.node.offsetParent.querySelector('img[src]')?.src\nreturn $[1] ? ($[2] ? ($[1]||'//') + $[2] : $[1].replace(/\\.cf\\.\\w{3,4}$/, '')) : ''","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jtd4cv9\n\nEXAMPLES\nhttps://news.yahoo.com/us/\nhttps://news.yahoo.com/politics/\nhttps://video.search.yahoo.com/search/video;?p=funny\nhttps://images.search.yahoo.com/search/images;?p=valentine&fr2=piv-web&fr=sfp"},"YANDEX_avatars":{"link":"^yandex_vid/([^!]+)!(.+)","url":": this.yandex_vid_data ? '' : $[2]","res":":\nthis.yandex_vid_data=this.yandex_vid_data||Object.values(JSON.parse($._.match(/({\"widgets\":{\"@card\\/Actions\":.+?)<\\/noframes>/)?.[1]||'{}').collections?.mediaItem);\n$=this.yandex_vid_data.find(i=>RegExp($[1].slice(0,-7)).test(i.previewUrl));\nreturn {loop:$.streams[0].url}","img":"^(avatars(?:\\.mds)?\\.yandex\\.net/get-([^?]+)/)[^?].*","loop":2,"to":":\nreturn $[2].slice(0,3)==='vh/'&&location.pathname.split('/').includes('reviews') ? '//yandex_vid/'+$[2]+'!'+location.href : $[1]+'orig'","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/18n32dx/comment/ljoqv9k\n\n!!!\nПоддержка видео покупателей.\n\nПРИМЕРЫ\nhttps://market.yandex.ru/product--pylesos-kitfort-kt-509/12349421/reviews?cpa=1"},"YANDEX_Disk|yadi.sk":{"link":"^(yadi\\.sk|disk\\.yandex\\.(?:com|ru))/\\w/\\w+","res":":\nlet m=$._.match(/id=\"store-prefetch\">({.+?})<\\/script/)?.[1];\nif(m)m=JSON.parse(m);\nif(m?.resources)m=Object.values(m.resources)?.[0]?.videoStreams?.videos?.pop()?.url;\nif(m)return {loop:m};\nvar re = /<meta property=\"og:image\" content=\"([^\"]+)\">/gi;\nvar a = re.exec( $._ );\nlet meta = document.querySelector('head > meta[name=\"referrer\"]');\nif (!meta) {\n meta = document.createElement('meta');\n meta.name = 'referrer';\n meta.content = 'same-origin';\n document.getElementsByTagName('head')[0].appendChild(meta);\n} else if (meta.attributes.content.value !== 'same-origin') {\n meta.attributes.content.value = 'same-origin';\n}\nreturn a[1].replace('&','&').replace(/size=[^&]+/, 'size=10000x10000').replace(/logo=[^&]*/,'logo=0');","img":"^\\d\\.downloader\\.disk\\.yandex\\.(?:com|ru)/preview/[\\da-f]{64}/inf/[^?]+\\?(?:[^&]+&)*?(?:content_type=image).+","to":":\nreturn $[0].replace(/&crop=[^&]*/, '').replace(/(&size=)[^&]+/, '$110000x10000')","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lfbh47p\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3540#20\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1160#6\n\n\n!!!\nSometimes got a gray spinner but it was caused by redirection to a captcha page.\n\n\nПРИМЕРЫ\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"YANDEX_fotki":{"img":"^(img\\d*-fotki\\.yandex\\.(?:ru|net)/get/\\d+/\\S+/\\w+_).+","to":"$1orig","note":"64h\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1080#8\n\nПРИМЕРЫ\nhttps://forum.rutoken.ru/topic/2673/"},"YANDEX_Images":{"link":"^ya(?:ndex)?\\.\\w+/images/search\\?\\S+?img_url=([^&]+).*","loop":1,"to":":\nconst original_img_url = decodeURIComponent($[1]);\nconst inner_html = this.TRG.parentNode.innerHTML.replace(/&/g, '&');\nconst yandex_thumb_url = inner_html.match(/avatars\\.mds\\.yandex\\S+n=13|yandex-images\\.clstorage\\.net\\/[^\"]+/)?.[0]||'';\n\nreturn original_img_url + '\\n' + yandex_thumb_url;","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/kuh3hxu\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1080#8\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3740#4\n\n!!!\nЕсли увеличения не происходит, рекомендуется навести на значок с размером изображения (внизу справа).\n\n\nПРИМЕРЫ\nhttps://yandex.ru/search/?text=дятел&lr=38&clid=2359101\nhttps://yandex.ru/images/search?rpt=imageview&lr=38&url=https://avatars.mds.yandex.net/get-images-cbir/1974228/VFn0quRacFJhdGBgIsq2BQ8757/orig&cbir_id=1974228/VFn0quRacFJhdGBgIsq2BQ8757"},"YANDEX_Images_sideblock":{"img":"^(?:avatars\\.mds\\.yandex\\.net/i\\?id=\\S+images-thumbs|yandex-images\\.clstorage\\.net).+","loop":2,"to":":\n\n// --- MM Gallery (Left Sideblock) ---\n\nif (this.TRG.className == 'MMThumbImage-Image') {\n for (const item of window.wrappedJSObject.Ya.SerpContext.serpItems) {\n if (item.thumb.url.includes($[0])) return item.img_href + '\\n' + item.thumb.url;\n }\n}\n\n// --- Related Images (Right Sideblock) ---\n\nif (this.TRG.className == 'RelatedImages-Thumb') {\n for (const element of window.wrappedJSObject.Ya.reactBus.e['cbir:drag-start']) {\n if (element.ctx === undefined) continue;\n for (const rim_item of element.ctx._reactInternals.return.pendingProps.state.rimForItem) {\n if (rim_item.thumb.url.includes($[0])) {\n let urls = '';\n for (const preview_item of rim_item.preview) {\n urls += preview_item.origin?.url ? preview_item.origin?.url + '\\n' + preview_item.url + '\\n' : preview_item.url + '\\n';\n }\n return urls;\n }\n }\n }\n}\n\nreturn $[0];","note":"64h\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1120#21\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1080#3\n\n!!!\nДля увеличения Я-Картинки > ЛКМ > \"Cвязанные картинки\". Работает пока только в Firefox / Waterfox."},"YANDEX_Market":{"link":"^market\\.yandex\\.[^/]+/product-.*","res":":\nlet newUrl = $._.match(/window\\.location\\.replace\\(\"(.+?)\"\\)/)?.[1] || $[0];\nnewUrl = newUrl.replace(/(\\/reviews)?\\?/, '/reviews?');\n\nlet x = new XMLHttpRequest;\nx.open('GET', newUrl, false);\nx.send();\n$._ = x.responseText + $._;\nconst page = new DOMParser().parseFromString($._, \"text/html\");\n\n// product images\nlet hasVideo = false, data = JSON.parse($._.match(/({\"widgets\":{\"@card\\/MediaViewerGallery\":{\"\\/content\\/page\\/fancyPage\\/mediaViewerGallery\".+?})<\\/noframes>/)[1]);\nlet imgs = [];\nObject.values(data.collections.mediaItem).forEach(o => {\n let origImg = o.video ? ['',`<imagus-extension type=\"videojs\" url=\"${o.streams?.[0]?.url}\"></imagus-extension>${o.title||''}`] : o.origUrl ? [o.origUrl] : '';\n if(o.video)hasVideo = true;\n // skip duplicates\n if(origImg&&!o.picture&&!imgs.find(i => i[0]?.[0] == origImg))imgs.push(origImg);\n});\n\n// gallery\nlet mediaInfo;\ntry {\n mediaInfo = JSON.parse($._.match(/>({\"widgets\":{\"@MarketNode\\/UgcMediaGallery\".+?})<\\//)?.[1]);\n} catch (error) {}\n\n// reviews\nif (mediaInfo?.collections?.review) {\n for (const r of Object.values(mediaInfo.collections.review).reverse()) {\n r.photos.forEach(p => {\n const text = ['⭐' + r.averageGrade];\n if (r.comment) text.push(r.comment);\n if (r.pro) text.push('👍🏻 ' + r.pro);\n if (r.contra) text.push('👎🏻 ' + r.contra);\n if (r.created) text.push(new Date(r.created).toISOString().substring(0,10))\n imgs.push([`https://avatars.mds.yandex.net/get-${p.namespace}/${p.groupId}/${p.imageName}/orig`, text.join(' | ')]);\n })\n }\n}\n\nlet userImgs = [...page.querySelectorAll('[data-zone-name=\"ugc-media-gallery\"] img')].map(i => i.src.replace(/\\/\\d+x\\d+$/, '/orig'));\nfor (const ui of userImgs) {\n if (!imgs.find(i => i[0] == ui)) {\n imgs.push([ui, 'User Image']);\n }\n}\n\n// videos\nif (mediaInfo?.collections?.ugcvideo) {\n let vidInfo = Object.values(mediaInfo?.collections?.ugcvideo);\n for (const img of imgs) {\n // let id = i[0].match(/\\/get-vh\\/\\d+\\/(\\w+)\\//)?.[1];\n if (!img[0].includes('/get-vh/')) continue;\n let info = vidInfo.find(v => v.metaInfo?.thumbnail == img[0]);\n if (!info) continue;\n hasVideo = true;\n img[1] = `<imagus-extension type=\"videojs\" url=\"${info.metaInfo.streamUrl}\"></imagus-extension>${info.title}`;\n img[0] = '';\n }\n}\n\nif (hasVideo) {\n this.TRG.IMGS_ext_data = imgs;\n return { loop: 'imagus://extension' };\n}\n\nreturn imgs;\n","img":"^mdata\\.yandex\\.[^/]+/i\\?path=[^/]+\\.(?:jpe?g|png|gif|bmp)$","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/18n32dx/comment/ljiue0d\nOLD\nhttps://www.reddit.com/r/imagus/comments/18n32dx/comment/kebeozx\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2428&limit=1&m=1#1\n\n\n!!!\n- Есть показ фото и видео покупателей.\n- Курсор рекомендуется наводить на название товара.\n\n\nПРИМЕРЫ\nhttps://market.yandex.ru/catalog--televizory/26960210\nhttps://market.yandex.ru/product--pylesos-kitfort-kt-509/12349421/reviews?cpa=1&uniqueId=920840\nhttps://market.yandex.ru/catalog--planshety/54545"},"YANDEX_Realty":{"link":"^realty\\.ya\\.ru/offer/\\d+","ci":1,"res":":\nconst ret = [];\n\nconst data = JSON.parse(/window.INITIAL_STATE\\s*=\\s*({[^]+?})[;\\s]*<\\/script>/gm.exec($._)[1]);\n\nfor (let i = 0; i < data.offerCard.card.fullImages.length; i++) {\n ret.push([\n data.offerCard.card.fullImages[i],\n i === 0 ? data.offerCard.card.description : ''\n ]);\n}\n\nreturn ret;","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2060#7\n\n!!!\nКурсор наводить на название объекта.\n\nПРИМЕРЫ\nhttps://realty.ya.ru/snyat/komnata/\nhttps://realty.ya.ru/kupit/kvartira/dvuhkomnatnaya/\nhttps://realty.ya.ru/kupit/kommercheskaya-nedvizhimost/"},"YAPfiles.ru":{"link":"^yapfiles\\.ru\\/show\\/\\d+\\/.*\\.html$","ci":1,"res":"name=\"direct_link\" value=\"([^\"]+)\"","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=220#20\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1020#14\n\nПРИМЕРЫ\nhttps://www.yapfiles.ru/\nhttps://www.reddit.com/domain/yapfiles.ru/new/"},"YaPlakal":{"img":"(\\w\\d\\d?\\.yaplakal\\.com/pics/pics_)preview(/\\d+/\\d+/\\d+/\\d+\\.jpg)","to":"$1original$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2940#9\n\nПРИМЕРЫ\nhttps://pics.yaplakal.com/\nhttps://www.yaplakal.com/forum2/topic2653766.html"},"Yapx.ru":{"link":"^yapx\\.ru/(?:album|image)s?/\\w+","res":":\n$=JSON.parse($._.match(/view_image\\s*=\\s*(.+?)<\\/script/)[1]);\nreturn $.images.map(i=>[i.pl?.src])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l6ahcr8\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3720#20\n\nПРИМЕРЫ\nhttps://rutracker.org/forum/viewtopic.php?t=5615920\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Yarn":{"link":"^(yarn\\.co/)yarn-clip/([\\da-f-]{36}).*","img":"^y\\.(yarn\\.co/)([\\da-f-]{36}).*","to":"y.$1$2.mp4","note":"EXAMPLES\nhttps://yarn.co/yarn-find?text=movie&p=1\nhttps://www.reddit.com/domain/yarn.co/new/"},"Yelp":{"useimg":1,"link":"^yelp\\.com/biz(?:/[a-z0-9-]+|_photos/\\w+)$","res":":\nconst max_images = 300 // Maximum images in album. Lower number loads faster.\n\nconst x=new XMLHttpRequest(), u=$._.match(/(biz_photos)(\\/[\\w-]+)(?=[?\"])/);\nlet o, m=[];\nfor(i=0;i<max_images;i+=30){\nx.open('GET','https://www.yelp.com/'+u[1]+'/get_media_slice'+u[2]+'?start='+i+'&dir=f',false);\nx.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\");\nx.send();\no=x.responseText[0]==='{'&&JSON.parse(x.responseText).media||[];\nm.push(...o.map(x=>[x.src?.replace(/(video_contribution\\/\\d+\\/)[^\\/]+(\\/.+)/,'$1progressive_video_high$2#mp4'),x.media_data?.caption]));\nif(o.length<30)break;\n}\nreturn m","img":"^(?:(s\\d(yelp\\d-a\\.akamaihd\\.net|-media\\d\\.\\w\\w\\.yelp(?:cdn|assets)\\.com)/[a-z]?photo/[\\w-]+/)(?!o)[^.]+|yelp\\.com/\\w+/consumer_video_contribution/.+)","to":":\nreturn $[1] ? $[1]+'o' : $[0]?.replace(/(video_contribution\\/\\d+\\/)[^\\/]+(\\/.+)/,'$1progressive_video_high$2#mp4')","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/lkmy7ux\n\nEXAMPLES\nhttps://www.yelp.com/search?cflt=beautysvc&find_loc=San+Francisco%2C+CA%2C+US\nhttps://www.yelp.com/search?cflt=nightlife&find_loc=San+Francisco%2C+CA%2C+US\nhttps://www.yelp.com/search?cflt=restaurants&find_loc=San+Francisco%2C+CA%2C+US"},"Ylilauta":{"img":"^([a-z]\\.ylilauta\\.org/)(\\w+)/([^-]+)-[^.]+\\.avif","to":"$1$3.$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/131uisg/comment/k4yfb7c\nOLD\nhttps://www.reddit.com/r/imagus/comments/131uisg/comment/jo3ba7h\n\nEXAMPLES\nhttps://ylilauta.org/pelit/\nhttps://ylilauta.org/esports/"},"Yodayo":{"link":"^yodayo\\.com/\\d+/posts/[a-f0-9-]+/","res":":\nreturn [...$._.matchAll(/div class=\"relative\"><img src=\"([^\"]+)/g)].map(i=>[i[1]])","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/15dz344/comment/jubjesu\n\nEXAMPLES\nhttps://yodayo.com/explore/?key=&type=posts&sort=top\nhttps://yodayo.com/1/users/2cd3c9cd-1148-42b1-8b45-69035ac43804/\nhttps://yodayo.com/explore/?key=GREEN&type=posts&sort=recent"},"YouJizz-x-p":{"link":"(.*\\.)?youjizz.com\\/videos\\/.*-(.*?)\\.html.*","url":"https://www.youjizz.com/videos/embed/$2","res":":\nconst url = $._.match(/dataEncodings.*?filename\\\":\\\".*264\\.mp4\\?.*?\\\"/)[0].replace(/dataEncodings.*(\\\\\\/\\\\\\/.*?)\\\"/, '$1').replace(/\\\\\\//g, '/');\n\nreturn `https:${url}`;","note":"papadocTOMP\nhttps://www.reddit.com/r/imagus/comments/iv556b/nsfw_bunch_of_sieves_for_popular_adult_site_videos/\n\nEXAMPLES\nhttps://www.youjizz.com"},"Youla.ru":{"link":"youla\\.ru/\\S+/\\S+/\\S+/\\S+","res":":\nvar i = $._.indexOf('window.__YOULA_STATE__ = {');\nif(i<0) {return null;}\nvar t = $._.indexOf('};', i);\nif(t<0) {return null;}\nvar js=JSON.parse($._.substring(i+25,t+1));\nvar res = [];\nfor (let img of js.entities.products[0].images){\n res.push([img.url]);\n}\nreturn res;\n","img":"((?:cache3|cdn\\d)\\.youla\\.io/files/images/)\\d+_\\d+(?:_out)?(/\\w+/\\w+/\\S+\\.\\w+)","to":"$1orig$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3360#17\n\nПРИМЕРЫ\nhttps://youla.ru/moskva/auto\nhttps://youla.ru/moskva/smartfony-planshety"},"YouPic":{"link":"^youpic\\.com/image/\\d+","res":":\nvar x=JSON.parse($._.match(/{\"@context\"[^\\n]+/)[0]), i = x.image.split(/(?:huge|large|medium|small|link)/)\nreturn [[['#'+i[0]+'huge'+i[1], i[0]+'large'+i[1]], [x.name, x.description].filter(Boolean).join(' | ')]]","img":"^((?:cdn\\.youpic\\.com|df0179xsabjj8\\.cloudfront\\.net)/)(?:huge|large|medium|small|tiny)(/\\d+_[\\da-z]+_\\d+)","to":"#$1huge$2\n$1#large medium#$2","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3360\n\nПРИМЕРЫ / EXAMPLES\nhttps://youpic.com/inspiration\nhttps://www.reddit.com/domain/youpic.com/new/"},"YOUTUBE-q":{"useimg":1,"link":"^(?:(?:(?:(?:\\w+\\.)?[yY][oO][uU][tT][uU][bB][eE](?:-nocookie|kids)?\\.com|youtube\\.googleapis\\.com)/(?:.*?\\#/)?(?:(?:(?:v|embed|e|shorts)/(?!videoseries|live_stream))|(?:(?:(?:watch|movie)(?:_popup)?(?:\\.php)?/?)?(?:\\?|\\#!?)(?:.*?[&;])??v=)))|youtu\\.be/)([0-9A-Za-z_-]{11})(?!&lc=)(?:\\?(thumb\\b))?(?:[?&](?:star)?t=(\\d+(?:\\.\\d+)?)s?)?(?:&end=(\\d+(?:\\.\\d+)?)s?)?.*$","url":": (()=>{var disable_on_thumbs = false , disable_on_links = false , disable_on_iframe = false ; if(disable_on_iframe&&this.node.IMGS_TRG?.localName==='iframe'||disable_on_links&&!this.node.IMGS_TRG||disable_on_thumbs&&(/\\/embed\\/[\\w-]{11}\\?thumb\\?/.test(this.node.href)||this.node.id===\"thumbnail\")||(this.node.nodeName===\"YTD-BADGE-SUPPORTED-RENDERER\"||this.node.id!==undefined&&this.node.id!=='title'&&this.node.id!=='video-title'&&/^(?:yt-simple-endpoint style-scope ytd-compact-movie-renderer|movie-metadata style-scope ytd-compact-movie-renderer|badge badge-style-type-ypc style-scope ytd-badge-supported-renderer style-scope ytd-badge-supported-renderer|ytp-impression-link(?:-[a-z]+)?|badge badge-style-type-live-now-alternate style-scope ytd-badge-supported-renderer style-scope ytd-badge-supported-renderer|ytp-youtube-button ytp-button yt-uix-sessionlink|ytp-title-link yt-uix-sessionlink|style-scope ytd-thumbnail-overlay-hover-text-renderer|progress|style-scope ytd-thumbnail-overlay-toggle-button-renderer|playlist-drag-handle style-scope ytd-playlist-panel-video-renderer|style-scope ytd-thumbnail(?:-overlay-time-status-renderer)?|style-scope ytd-playlist-panel-video-renderer|editable style-scope ytd-playlist-panel-video-renderer style-scope ytd-playlist-panel-video-renderer|yt-simple-endpoint style-scope ytd-structured-description-playlist-lockup-renderer|style-scope ytd-macro-markers-list-item-renderer|style-scope ytd-structured-description-playlist-lockup-renderer|yt-simple-endpoint style-scope ytd-structured-description-video-lockup-renderer|style-scope ytd-structured-description-video-lockup-renderer|style-scope ytd-badge-supported-renderer|badge badge-style-type-simple style-scope ytd-badge-supported-renderer style-scope ytd-badge-supported-renderer|yt-simple-endpoint style-scope ytd-compact-video-renderer|badges style-scope ytd-compact-video-renderer|style-scope ytd-video-meta-block)$/.test(this.node.className)))throw new Error('YouTube sieve not used on this page element');return 'https://www.youtube.com/embed/'+$[1]+'?'+$[2]+'&'+$[3]+'&'+$[4]})()","res":":\n// config options\nvar config = {\n// change the display order of the image/videos by using 1, 2, 3, or 4. disable with 0\n order: {\n \"thumb\": 1,\n \"native (360p)\": 2,\n \"hls (1080p/4K)\": 3,\n \"embed (360p-1080p)\": 4\n },\n returnDislikes: true, // get dislikes and rating from ReturnYouTubeDislike.com\n useSidebar: true, // show description at the left of the thumbnail (Requires either thumbVideoInfo, nativeVideoInfo, or both to be set to true)\n useSmallerThumbnail: false, // use lower resolution thumbnail\n thumbVideoInfo: true, // display sidebar or detailed caption on thumbnail\n nativeVideoInfo: false // display sidebar or detailed caption on native player\n}\n\nfallback = () => {\n this.TRG.IMGS_ext_data = [['', `<imagus-extension type=\"iframe\" url=\"https://youtube.com/embed/${$[1]}?${timeParam}\"></imagus-extension>`]]\n return { loop: 'imagus://extension' }\n}\n\nvar fL, fH, f = {}, g = false, cipher, decsig, o, mfr, ps, basejs, hls\nvar x = new XMLHttpRequest\nwindow.imagusCache = window.imagusCache || {}\n\nvar timeParam = ($[3] ? 't=' + $[3] + ($[4] ? ',' + $[4] : '') + '&' : '')\nvar baseJsUrl = 'https://www.youtube.com' + JSON.parse($._.match(/\\\"[^\\\"]+player_[^\\\"]+\\/base.js\\\"/)[0])\nif (window.imagusCache[baseJsUrl]) {\n basejs = window.imagusCache[baseJsUrl]\n} else {\n try {\n x.open('GET', baseJsUrl, false)\n x.send()\n basejs = x.responseText\n window.imagusCache[baseJsUrl] = basejs\n } catch (e) {\n return fallback(this)\n }\n}\n\nconst escapeRegExp = s => s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\nconst parseunthrottle = data => {\n const fnnameresult = /\\.(?:D&&\\((?:[A-Za-z]L\\(a\\),b=a\\.j\\.n|b=\"nn\"\\[\\+a.D\\],[A-Za-z]L\\(a\\),c=a\\.j\\[b\\])\\|\\|null|get\\((?:\"n\"|b)\\))\\)&&\\([bc]=([^(]+?)(?:\\[(\\d+)\\])?\\([a-zA-Z0-9]\\)/.exec(data)\n var fnname = fnnameresult[1]\n if (fnnameresult[2]) fnname = new RegExp('var ' + escapeRegExp(fnname) + '\\\\s*=\\\\s*\\\\[(.+?)\\\\][,;]').exec(data)[1].split(',')[parseInt(fnnameresult[2])]\n const _argnamefnbodyresult = new RegExp(escapeRegExp(fnname) + '=function\\\\(([^\\)]+)\\\\){(.+?return (?:b\\\\.join\\\\(\"\"\\\\)|Array\\\\.prototype\\\\.join\\\\.call\\\\(b,(?:\"\"|\\n?\\\\(\"\",\"\"\\\\))\\\\)))};', 's').exec(data)\n const [_, argname, fnbody] = _argnamefnbodyresult\n return new Function([argname], fnbody)\n}\nunthrottle = window.imagusCache[baseJsUrl + '_unthrottle'] || parseunthrottle(basejs)\nwindow.imagusCache[baseJsUrl + '_unthrottle'] = unthrottle\n\nfunction nt(s) {\n var u = new URL(s)\n var p = u.searchParams\n var n = p.get('n')\n if (!n) return s\n p.set('n', unthrottle(n))\n u.search = p.toString()\n return u.toString()\n}\n\nconst api_key = 'AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8'\nconst client_ver = '2.20211221.00.00'\nconst sigtime = Number(basejs.match(/signatureTimestamp\\s*:\\s*(\\d+)/)[1])\nconst vid = $[1]\nfunction player_response(embed) {\n x.open('POST', 'https://www.youtube.com/youtubei/v1/player?imagus&key=' + api_key, false)\n x.setRequestHeader('Content-Type', 'application/json')\n var data = {\n context: {\n client: {\n clientName: 'WEB',\n clientVersion: client_ver\n }\n },\n videoId: vid,\n playbackContext: {\n contentPlaybackContext: {\n signatureTimestamp: sigtime,\n html5Preference: 'HTML5_PREF_WANTS'\n }\n },\n contentCheckOk: true,\n racyCheckOk: true\n }\n if (embed === 'agegate') data.context.client.clientScreen = 'EMBED'\n if (embed === 'embed') data.context.client = { clientName: 'TVHTML5_SIMPLY_EMBEDDED_PLAYER', clientVersion: '2.0' }\n if (embed) data.context.thirdParty = { embedUrl: 'https://www.youtube.com/' }\n x.send(JSON.stringify(data))\n o = JSON.parse(x.responseText)\n mfr = o.microformat || mfr\n ps = o.playabilityStatus\n return ps.status === 'OK'\n}\n\nfunction getDislikes(id) {\n try {\n x.open('GET', `https://returnyoutubedislikeapi.com/Votes?videoId=${id}`, false)\n x.send()\n return JSON.parse(x.responseText)\n } catch (e) { }\n}\n\nconst prepResult = (res, content) => {\n // hls\n if(hls)res.push(['', `<imagus-extension type=\"videojs\" url=\"${hls}\"></imagus-extension>${title}`])\n // embeded player\n res.push(['', `<imagus-extension type=\"videojs\" url=\"https://youtube.com/embed/${$[1]}?${timeParam}\"></imagus-extension>`])\n\n if (config.useSmallerThumbnail) res[0][0] = res[0][0].replace('maxresdefault', '0')\n\n if (config.useSidebar) {\n content = content.replace(/https?:\\/\\/[\\w\\.\\/?=&+@#\\-]+/g, '<a href=\"$&\" target=\"_blank\">$&</a>')\n if(config.nativeVideoInfo&&fL?.length)res.find(i=>/\\.googlevideo\\.com\\/videoplayback\\?/.test(i[0]))[1] = `<imagus-extension type=\"sidebar\">${content}</imagus-extension>`\n if(config.thumbVideoInfo)res.find(i=>/\\.ytimg\\.com\\//.test(i[0]))[1] = `<imagus-extension type=\"sidebar\">${content}</imagus-extension>`\n } else {\n content = content.replace(/https?:\\/\\/[\\w\\.\\/?=&+@#\\-]+/g, '')\n content = content.replace(/[\\s\\n]*\\n[\\s\\n]*/g, ' | ')\n if(config.nativeVideoInfo&&fL?.length)res.find(i=>/\\.googlevideo\\.com\\/videoplayback\\?/.test(i[0]))[1] = content\n if(config.thumbVideoInfo)res.find(i=>/\\.ytimg\\.com\\//.test(i[0]))[1] = content\n }\n var orderSort = Object.entries(config.order).filter(i=>i[1]>=1).sort((a,b)=>a[1]-b[1]).map(i=>i[0])\n var ordered = orderSort.map(type => {\n switch (type) {\n case 'thumb': return res[0]\n case 'native (360p)': return res[1] || res[2]\n case 'hls (1080p/4K)': return res[2] || res[1]\n case 'embed (360p-1080p)': return res[3] || res[2] || res[1]\n }\n })\n ordered.length = res.length\n ordered = ordered.filter(Boolean)\n this.TRG.IMGS_ext_data = ordered\n return { loop: 'imagus://extension' }\n}\n\nfor (let i of [null, 'embed', 'agegate']) if (player_response(i)) break\n\nif (['ERROR', 'LOGIN_REQUIRED'].indexOf(ps.status) != -1) return [ps.errorScreen.playerErrorMessageRenderer.thumbnail.thumbnails[0].url, '[' + ps.status + ', ' + ps.reason + ']']\nvar q = o.videoDetails, r = mfr.playerMicroformatRenderer\nvar title = q.title, lenSec = parseInt(q.lengthSeconds), sText = r.title.simpleText, thumbnail = r.thumbnail.thumbnails[0].url+'?noloop'\nvar ss = lenSec % 60, mm = (lenSec - ss) / 60 % 60, hh = (lenSec - ss - mm * 60) / 3600\nvar lenStr = (hh === 0 ? '' : hh + ':') + ('0' + mm).slice(-2) + ':' + ('0' + ss).slice(-2)\nvar rt = Number(q.averageRating)\nvar dl = config.returnDislikes ? getDislikes(q.videoId) : undefined\nif (dl?.rating) {\n var colorShift = Math.round(120 * Math.max(0, dl.rating - 3) / 2) // rates from 0 to 3 will be red; from 3 to 5: scale from red to green\n var rateStyle = `background-color: hsl(${colorShift} 100% 31%); padding: 0 3px 0 1px; border-radius: 2px; color: white; line-height: 18px; display: inline-block`\n dl.rating = `<span style=\"${rateStyle}\">⭐${Math.round(dl.rating * 20 * 10) / 10}%</span>`\n}\nvar descr = [\n `<h3>${title}</h3>`,\n title !== sText && sText,\n 'Author:\\t<a href=\"//www.youtube.com/channel/' + q.channelId + '\" target=\"_blank\" style=\"color:white\">' + q.author + '</a>',\n 'Date:\\t' + (r.publishDate ? new Date(Date.parse(r.publishDate)).toLocaleString() : ''),\n 'Length:\\t' + lenStr,\n 'Views:\\t' + (q.viewCount | 0).toLocaleString(),\n dl ? `Rating:\\t${dl.rating} | 👍🏻${dl.likes?.toLocaleString()} | 👎🏻${dl.dislikes?.toLocaleString()} <br>(by returnyoutubedislike.com)` : '',\n '\\n' + q.shortDescription\n].filter(Boolean).join('\\n')\n\nif (ps.status !== 'OK') return prepResult([[thumbnail, '']], `<h3>${ps.status} - ${ps.reason}</h3><br>` + descr)\n\nvar fs = o.streamingData.formats\n\nif(Number(config.order['hls (1080p/4K)']) > 0){\n x.open('POST', 'https://www.youtube.com/youtubei/v1/player?imagus&key=' + api_key, false)\n x.setRequestHeader('Content-Type', 'application/json')\n var hls_data = {\n context: {\n client: {\n clientName: 'IOS',\n clientVersion: '19.09.3',\n deviceModel: 'iPhone14,3',\n userAgent: 'com.google.ios.youtube/19.09.3 (iPhone14,3; U; CPU iOS 15_6 like Mac OS X)',\n }\n },\n videoId: vid,\n playbackContext: {\n contentPlaybackContext: {\n signatureTimestamp: sigtime,\n html5Preference: 'HTML5_PREF_WANTS'\n }\n },\n contentCheckOk: true,\n racyCheckOk: true\n }\n x.send(JSON.stringify(hls_data))\n hls = JSON.parse(x.responseText).streamingData?.hlsManifestUrl\n }\nif (!fs) return prepResult([[thumbnail, '']], '<h3>No suitable formats to download, probably livestreaming</h3><br>' + descr)\nfs.forEach(function (format) {\n if (format.url) { f[format.itag] = nt(format.url); return; }\n cipher = new URLSearchParams(format.signatureCipher)\n if (cipher.get('sig')) { f[format.itag] = `${cipher.get('url')}&signature=${cipher.get('sig')}`; return; }\n g = true\n})\nif (g) {\n try {\n descr = '*' + descr\n const parseDecsig = data => {\n if (data.startsWith('var script')) {\n // they inject the script via script tag\n const obj = {}\n const document = {\n createElement: () => obj,\n head: { appendChild: () => { } }\n }\n eval(data)\n data = obj.innerHTML\n }\n const fnnameresult = /=([a-zA-Z0-9\\$]+?)\\(decodeURIComponent/.exec(data)\n const fnname = fnnameresult[1]\n const _argnamefnbodyresult = new RegExp(escapeRegExp(fnname) + '=function\\\\((.+?)\\\\){(.+?)}').exec(data)\n const [_, argname, fnbody] = _argnamefnbodyresult\n const helpernameresult = /;(.+?)\\..+?\\(/.exec(fnbody)\n const helpername = helpernameresult[1]\n const helperresult = new RegExp('var ' + escapeRegExp(helpername) + '={[\\\\s\\\\S]+?};').exec(data)\n const helper = helperresult[0]\n return new Function([argname], helper + '\\n' + fnbody)\n }\n decsig = parseDecsig(basejs)\n } catch (ex) {\n console.error(ex)\n }\n fs.forEach(function (format) {\n if (f[format.itag]) return\n cipher = new URLSearchParams(format.signatureCipher)\n f[format.itag] = nt(`${cipher.get('url')}&${cipher.get('sp') || 'signature'}=${decsig(cipher.get('s'))}`)\n })\n}\n\nfL = f[18] || f[59] || f[78] || f[46] || f[45] || f[44] || f[43] || f[37] || f[22]\nfH = f[37] || f[22] || f[18] || f[59] || f[78] || f[46] || f[45] || f[44] || f[43] || fL\nvar ct = (timeParam ? '#' + timeParam : '') + '#mp4'\n\nvar res = [[thumbnail, title]]\nif (fH) {\n fH = [(!config.lowResFirst ? '#' : '') + fH + ct, (config.lowResFirst ? '#' : '') + fL + ct]\n res.push([fH, title])\n}\nreturn prepResult(res, descr)","img":"^(?:i(?:\\d|mg)?\\.ytimg\\.com/(?:vi|an_webp)[^/]*/([\\w\\-]{11})/(?:[\\w]+?)\\.(?:\\w+)(?!.*[&?]noloop)|^(?:(?:(?:(?:\\w+\\.)?[yY][oO][uU][tT][uU][bB][eE](?:-nocookie|kids)?\\.com|youtube\\.googleapis\\.com)/(?:.*?\\#/)?(?:(?:(?:v|embed|e|shorts)/(?!videoseries|live_stream))|(?:(?:(?:watch|movie)(?:_popup)?(?:\\.php)?/?)?(?:\\?|\\#!?)(?:.*?[&;])??v=)))|youtu\\.be/)([0-9A-Za-z_-]{11})(?!&lc=)(?:\\?(thumb\\b))?(?:[?&](?:star)?t=(\\d+(?:\\.\\d+)?)s?)?(?:&end=(\\d+(?:\\.\\d+)?)s?)?.*$)","loop":2,"to":"www.youtube.com/embed/$1$2?thumb","note":"Dulus_No + hababr/Imagus_fan (edit)\nhttps://www.reddit.com/r/imagus/comments/1epkwu4/comment/lho76ct\nOLD\nhttps://www.reddit.com/r/imagus/comments/1ege45z/comment/lfsfa18\nhttps://www.reddit.com/r/imagus/comments/1dl31b4/comment/lfgqa24\nhttps://www.reddit.com/r/imagus/comments/1dl31b4/comment/ledqqeq\n\n\n\n\n!!!\nВся информация о возможностях и особенностях фильтра, а также о представленных в нем опциях: ЧаВо, п.11.\n==\nAll information about the capabilities and features of the sieve, and also about the options presented in it: see FAQ, p.11.\n\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/youtube.com/new\nhttps://www.youtube.com/@youtubeshortsbeta9577/shorts\nhttps://www.reddit.com/r/imagus/comments/r19duk/comment/hxfd2pa\nhttps://www.reddit.com/r/imagus/comments/18pcszv/comment/kj7uh7s\nhttps://www.youtube.com/playlist?list=UUMOXuqSBlHAE6Xw-yeJA0Tunw"},"YOUTUBE_redirect":{"link":"youtube\\.com/redirect\\?event=comments&redir_token=\\w+&q=(.+?)&.+","ci":1,"dc":1,"loop":1,"to":"$1","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3920#8\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.youtube.com/watch?v=j1e7-_Ho6dc&lc=UgzlD0vMw0oOl9KLbzd4AaABAg"},"YOUTUBE_clip_redirect":{"link":"(?:www\\.)?youtube\\.com/clip/","loop":1,"res":":\nvar u = $._.match(/(?:<link itemprop=\"embedUrl\" href=\"|<meta (?:property=\"og:video:(?:secure_)?url\"|name=\"twitter:player\") content=\")(https?:\\/\\/www\\.youtube\\.com\\/embed\\/[0-9A-Za-z_-]{11})/)[1]\nvar c = $._.match(/\"clipConfig\"\\s*:\\s*{([^}]+)}/)[1]\nvar s = Number(c.match(/\"startTimeMs\"\\s*:\\s*\"(\\d+)\"/)[1]) / 1000\nvar e = Number(c.match(/\"endTimeMs\"\\s*:\\s*\"(\\d+)\"/)[1]) / 1000\nreturn u + '?start=' + s.toFixed(3) + '&end=' + e.toFixed(3)","note":"Dulus_No\nhttps://www.reddit.com/r/imagus/comments/r19duk/comment/hzvi9jd\nOLD\nhttps://www.reddit.com/r/imagus/comments/r19duk/comment/hxfqz6p\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/r/imagus/comments/r19duk/comment/hxfd2pa"},"YunPhoto|tmyun":{"link":"^yunphoto\\.net/(?:\\w+/)?photobase/yp(\\d+)\\.html$","to":"#http://tmyun.com/jpeg/yun_$1.jpg\nhttp://www.tmyun.com/mid/yun_$1.jpg","note":"Rodny\n\nEXAMPLES\nhttps://yunphoto.net/fr/photobase/yp3742.html"},"Yupoo":{"link":"^[^.]+\\.x\\.yupoo\\.com/albums/.*","res":":\nlet m = [...$._.matchAll(/data-origin-src=\"([^\"]+)/g)].map(i=>[i[1]])\nm.unshift(m.splice(m.findIndex(i=>(i[0].match(/photo\\.yupoo\\.com\\/[^\\/]+\\/([^/]+)/)||[,''])[1]===(this.node.previousElementSibling.src.match(/photo\\.yupoo\\.com\\/[^\\/]+\\/([^/]+)/)||[,'null'])[1]),1)[0])\nreturn m","img":"^[^.]+\\.yupoo\\.com/.+\\.(?:png|jpe?g)","to":":\nif(/ic_play/.test($[0])){\nlet m = this.node.closest('div[data-type=\"video\"]')?.firstElementChild.dataset;\nreturn m ? m.src.match(/\\/\\/[^\\/]+/) + m.path + (!/\\.mp4/.test(m.path) ? '#mp4' : '') : ''\n} else if (/\\/small/.test($[0])){\nreturn this.node.offsetParent.firstElementChild.dataset.originSrc\n} else {\nreturn $[0]\n}\n","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/14iuu77/comment/jpse4k9\n\nEXAMPLES\nhttps://copyaaa.x.yupoo.com/albums?lang=en\nhttps://no1factory.x.yupoo.com/albums?tab=gallery"},"Zapodaj":{"link":"(zapodaj\\.net/)([^.]+\\.[^.]+)\\.html","img":"(zapodaj\\.net/)([^.]+\\.[^.]+)\\.html","to":"$1images/$2","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\n!!!\nНеобходимо правило для SMH (см.ЧаВо, п.12).\n==\nNeed a rule for SMH (see FAQ, p.12).\n\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"ZdravCity.ru":{"link":"^zdravcity\\.ru/[\\w-]+\\.html","res":":\nreturn JSON.parse($._.match(/\"__NEXT_DATA__\" type=\"application\\/json\">({.+?})<\\/script/)[1]).props.pageProps.product.images.filter(i=>i.src).map(i=>[i.src])","img":"^(static\\.zdravcity\\.ru/upload/iblock/\\w+/|partners\\.protek\\.ru/api/files/shared-download\\?filename=\\d+\\.\\d+)(?:\\d+_\\d+_|_\\d+x\\d+)","to":"$1\n","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/l6ahcr8\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1340#20\n\n!!!\nПри входе на сайт может сработать защита (CloudFlare), фильтр будет работать только после прохождения \"аутентификации\".\n\nПРИМЕРЫ\nhttps://zdravcity.ru/c_termometry/\nhttps://zdravcity.ru/search/?what=витамины\nhttps://zdravcity.ru/catalog/lekarstvennye-preparaty/antibakterialnye-sredstva/antibiotiki/r_ufa/"},"Zerochan":{"useimg":1,"link":"^(zerochan\\.net)(/)(?:full/)?(\\d{4,}).*","img":"^s(?:[123]|tatic)\\.(zerochan\\.net/)(?:(?:\\d\\d/)+|([^/]*)\\.(?:\\d+|full)\\.)(\\d{4,})\\.","to":"http://static.$1$2.full.$3.#jpg png gif#","note":"EXAMPLES\nhttps://www.zerochan.net/Brown?q=brown&p=2\nhttps://www.zerochan.net/Star+%28Ikaruga%29?q=Star+%28Ikaruga%29"},"zip2img":{"link":"zip2img\\.com/(?:i/)?\\?fv?=(.*)","img":"zip2img\\.com/(?:i/)?\\?fv?=(.*)","to":"zip2img.com/?f=$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jn8v5j7\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1360#11"},"Zonerama":{"link":"eu.zonerama.com/(?:\\w+)/Photo/(?:\\d+)/(?:\\d+)","res":"<meta property=\"og:image\" content=\"([^\"]+)\"","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1620#2\n\nEXAMPLES\nhttps://eu.zonerama.com/Hrubasovofotoalbum/Album/5718541"},"ZR.ru":{"link":"^forum\\.zr\\.ru/forum/gallery/album/.+","res":":\nreturn [...$._.matchAll(/class=\"galimageview\"><img src=\"([^\"]+)/g)].map(i=>[i[1]])","img":"^\\w+(\\.zr\\.ru/_ah/img/[^=]+).*","to":"img$1","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/kd6jo2n\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2660#20\n\n\n!!!\nДля работы некоторых изображений на ZR требуется фильтр uBO:\nwww.zr.ru##.lfaobO.styled__FullscreenButton-sc-z43jib-7\n\n\nПРИМЕРЫ\nhttps://www.zr.ru/news/\nhttps://www.zr.ru/content/news/942359-uzhasnaya-i-neudobnaya-na-chem-po/\nhttps://forum.zr.ru/forum/gallery/"},"Zupimages-p":{"link":"^(.*)zupimages\\.net/viewer\\.php.+(?:jpe?g|a?png|gif|svgz?|webp|w?bmp|xbm|pict|j(?:if|fif?))","res":"<a href=\\\"(.+(?:jpe?g|a?png|gif|svgz?|webp|w?bmp|xbm|pict|j(?:if|fif?)))\\\">","to":"https://www.zupimages.net/$1","note":"destiny child\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1380#10\n\nEXAMPLES\nhttps://www.reddit.com/domain/zupimages.net/new/\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1369#2"},"[_dereferers_]":{"link":"^[^/]{3,70}/\\??(https?:[^?#]+\\.(?:jpe?g|a?png|gifv?|bmp|svgz?|web[pm]|og[gv])).*","ci":1,"dc":1,"loop":1,"to":"$1"},"[Akina-Photohost]":{"link":"^([^/]+/)(demo/)?\\?v=(\\d{4}-\\d\\d)-(\\d\\d)_([^&]+).*","img":"^([^/]+/)(demo/)?thumbs/(\\d{4}-\\d\\d)/(\\d\\d)/([^?]+).*","to":"$1$2img/$3/$4/$5","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jv5cpmr\n\nEXAMPLES\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=40#15"},"[Discourse]":{"img":"(?:/optimized(/[1-8](?:\\.[1-9])?X/([\\da-f])(?:/[\\da-f])*?/\\2[\\da-f]{39})[^.]*|(^[\\da-z.-]+/user_avatar/[\\da-z.-]+\\.[a-z]+/[^/]{2,40}/)\\d{1,4}(/\\d+(?:_\\d)?\\.png))","to":":\nreturn $[1] ? '/original' + $[1] : $[3] + '1000' + $[4]","note":"EXAMPLES\n???"},"[Lemmy]":{"img":"^([^/]+/pictrs/image/[a-f0-9-]+\\.[a-z\\d]{3,4})\\?format=webp.*","to":"$1","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/14wceoz/comment/jrmquko\n\nEXAMPLES\nhttps://lemmy.world/\netc"},"[PeerTube|PeerVideo]":{"link":"^([^/]+)/(?:videos/watch/([a-f0-9-]{36})|w/(\\w{22}))(?:[?/]|$)","url":"https://$1/api/v1/videos/$2$3","res":":\nif(!/^\\{/.test($._))return ''\nconst o = JSON.parse($._), n = o.duration;\nlet m = o.files[0] ? o.files : o.streamingPlaylists[0]?.files\nm.reverse()\nreturn [[[\"#\"+m.pop().fileUrl,m&&m.length&&m[m.length-1].fileUrl],[o.name,o.account.name,new Date(o.createdAt).toDateString(),[Math.floor(n/3600).toString().replace('0',''),Math.floor((n%3600)/60).toString().replace(/^(\\d)$/,'0$1'),Math.floor(n%60).toString().replace(/^(\\d)$/,'0$1')].filter(Boolean).join(\":\"),o.description].filter(Boolean).join(\" | \")]]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/ju6q9k5\nOLD\nhttps://www.reddit.com/r/imagus/comments/150zrnk/nsfw_i_want_to_share_sieves_some_i_made_and_some/\n\n!!!\nТолько для Firefox - на Chrome/Chromium видео очень долго грузится - бесконечный \"белый спиннер\".\n==\nOnly for Firefox - on Chrome/Chromium the video takes a very long time to load - endless \"white spinner\".\n\n\nПРИМЕРЫ\nhttps://www.reddit.com/domain/peertube.su/new/\nhttps://peertube.su/videos/recently-added\nhttps://peertube.tv/search?search=green&searchTarget=local\nhttps://peervideo.ru/videos/local"},"[thumbor]":{"img":"^[^/]{4,70}/(?:thumbor/|(?:new-)?resizer/|v\\d)?[\\w\\-]{26}[\\w\\=-]{2}/(?:(?:smart|trim(?::(?:top-left|bottom-right))?|left|center|right|top|middle|bottom|(?:full-)?fit-in|-?(?:\\d+|orig)?x-?(?:\\d+|orig)?|\\d+x\\d+:\\d+x\\d+|filters:[^/]+)/)*((?:https?(?:%3[aA]|:)(?:%2[fF]|/){2})?(?:[^./]{1,70}\\.)+[a-z]{2,6}(?:%2[fF]|/)[^&?#]+).*","to":":\nif($[1].indexOf('%')>0)$[1] = decodeURIComponent($[1])\nreturn /^http/.test($[1]) ? $[1] : '//' + $[1]","note":"EXAMPLES\n???"},"[TUMBLR]-p":{"link":"^(?:([^/]{5,70})/(?:image|post)|tumblr\\.com/([\\w-]+))/(\\d{8,18})(?:/[^.?]*$|\\?|#|$).*","url":"https://api.tumblr.com/v2/blog/$1$2/posts?id=$3&filter=raw&api_key=4AjWu4k7xrMxAqiJjppAHatW1QLQGxZ2NKo2XdTlcov4i8qZuw","res":":\n$._=JSON.parse($._)\nif($._.meta.status!=200)return null\n$=$._.response.posts[0]\nvar t=$.caption||''\nreturn $.body ? [...new DOMParser().parseFromString($.body,\"text/html\").querySelectorAll('img,source')].map((i,n)=>[i.srcset?.split(/\\s+\\d+w(?:,\\s+)?/).filter(Boolean).pop()||i.src,(!n?t:'')]) : $.photos ? $.photos.map((i,n)=>[i.original_size?.url,(!n?t:'')]) : $.video_url ? [$.video_url,t] : $.permalink_url ? {loop:$.permalink_url} : null","img":"^(?:((?:\\d\\d\\.)?media)|data)(\\.tumblr\\.com/(?:[\\da-f]{32}/)?tumblr_\\w+_)((?:\\d{2,4}|raw)\\.(?!gif)|frame\\d*\\.jpg)","to":":\nreturn $[4][0]=='f' ? 'vt'+$[2]+'.mp4' : '//'+($[1]||'78.media')+$[2]+'#1280 500 400#.'","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/191bxho/comment/kh75bgm\n\n!!!\nДля работы фильтра на внешних ссылках необходимо расширение SMH (см. ЧаВо, п.12)\n==\nThe SMH extension is required for the sieve to work on external links (see FAQ, p.12).\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/domain/tumblr.com/new/\nhttps://www.tumblr.com/search/yellow\nhttps://www.tumblr.com/strawberry-s0ap\nhttps://art.tumblr.com/archive\nhttps://www.tumblr.com/tagged/movie?sort=top\nhttps://www.tumblr.com/tagged/video?sort=top"},"[SMF_images]":{"link":"^[^/]+/forum/index\\.php\\?(.+)\\;attach=\\d+\\;image$","note":"Rodny\n\nEXAMPLES\n???"},"[XenForo]":{"img":"/attachments/[^/]+[.-](?:jpe?g|png|gif)\\.\\d+/","to":"$&","note":"https://www.reddit.com/r/imagus/comments/jgp6id/xenforo/\n\nEXAMPLES\nhttps://www.hairlosstalk.com/interact/threads/exploring-the-hormonal-route-hair-life.109288/post-1870494\nhttps://www.hairlosstalk.com/interact/threads/exploring-the-hormonal-route-hair-life.109288/post-1870693"},"[XFileSharing_post]":{"link":"^([^/]+/)([\\da-z]{12})(/[\\w.-]+\\.(?:[Jj][Pp][Ee]?[Gg]|png|PNG|gif|GIF|bmp|BMP)(?:\\.html)?)$","url":"$1$2$3 :op=view&id=$2&pre=1","res":"src=\"(https?://[^\"]+)\" (\\w+=\"[^\"]+\"\\s+)*?(?:class=\"pic|id=\"[^\"]+\"\\s*>)","img":"^(?:i\\D{0,3}\\d*\\.|main\\.)?([^/]+/)(?:i/\\d{5}/([\\da-z]{12})_[^.]+|th/\\d{5}/([\\da-z]{12}))\\.jpg$","note":"!!!\nНет возможности проверить (нет примеров)."},"[Typepad]":{"img":"^(?:([^/]{3,70}/\\.a/[\\da-f]{34})(?:-(?:\\d+wi|popup|pi))?|typepad\\.com/showcase/images(/[^-]+).*)$","to":":\nreturn $[1] ? $[1] : this.node.parentNode.hostname ? '//'+this.node.parentNode.hostname+'/.a'+$[2] : ''\n","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/130svfu/comment/jr9iz3u\n\n\nEXAMPLES\nhttps://www.typepad.com/showcase/animals"},"[porn-galleries]-x":{"img":"^(content\\d\\.[^.]{3,20}\\.[a-z]+/[\\da-z-]{3,20}(?:\\.[a-z]{2,5})?/(?:[a-z_-]+/){0,2}\\d+/(?:[^.]+_)?)tn_(?=\\d{2,3}\\.jpg)","to":"$1","note":"EXAMPLES\n???"},"[NDsoft-kr-news]":{"img":"^([^/]{4,50}/news/)thumbnail(/\\d+/[\\d_]+)_v\\d+","to":"$1photo$2","note":"EXAMPLES\n???"},"[Marginal-Hacks]":{"img":"^([^/]+/(?:[^/]+/+)*?)tn/([^/]+?)(?:(\\.(?:gif|png|bmp))\\.jpg|(?:\\.med)?(\\.(?:jpg|gif|png|bmp)))$","ci":2,"to":":\nreturn $[4] ?\n'#' + $[1] + $[2] + $[4] + '\\n' + $[1] + 'tn/' + $[2] + '.med' + $[4] :\n'#' + $[1] + $[2] + $[3] + '\\n' + $[1] + 'tn/' + $[2] + $[3];","note":"EXAMPLES\n???"},"[Coppermine_gallery]":{"img":"^([^/]{3,70}/(?:[^/]{3,}/){0,2}?albums/(?:[^/]+/)+?)(?:thumb|normal)_(?=[^/]+$)","to":"$1# normal_#","note":"EXAMPLES\nhttps://coppermine-gallery.net/demo/cpg15x/thumbnails.php?album=3\nhttps://coppermine-gallery.net/demo/cpg15x/thumbnails.php?album=2"},"[Labrador_CMS]":{"img":"^([^/]+/(?:[^.]+\\.webp\\?imageId=\\d+|images/\\d+\\.webp\\?)).*?&width=\\d+&height=\\d+.*&format=webp","to":"$1&width=-1&height=-1&format=webp","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/c9zlcm/comment/jocbjvr"},"[Cloudinary]":{"img":"^([^/]{4,70}/(?:[\\w-]+/){0,2})(?:(image/(?:upload|fetch|sprite|facebook|twitter|gplus|instagram_name|gravatar|youtube|hulu|vimeo|animoto|worldstarhiphop|dailymotion))(?:/s--[\\da-zA-Z]{8}--)?(?:/(?:(?:[eghloqrtuwxyz]|\\$\\w+|ar?|bo?|c[os]?|d(?:l|n|pr)?|fl?|if|pg)_[^,/]+,?)+)*|(video/upload)(?:/s--\\w{8}--)?(?:/(?:(?:[ghloqwxyr]|a[cfr]?|b[or]?|co?|d[lu]|eo?|fl?|s[op]|v[cs])_[^,/]+,?)+)*)(/[^?#]+).*","to":"$1$2$3$4","note":"EXAMPLES\nhttps://www.reddit.com/domain/cloudinary.com/new"},"[CbsiStatic]":{"img":"^([^/]{4,50}/)(?:((?:hub/)?i/)r/(\\d{4}/\\d\\d/\\d\\d/[\\da-f-]{30,}/)[^/]+/[\\dxauto]+/|(img/)[\\w=-]+/(?:[\\dx:]+/)?\\d+x\\d+/)","to":"$1$2$3$4","note":"EXAMPLES\n???"},"[WixStatic]":{"img":"^(static.wixstatic\\.com/[^.]+\\.[a-zA-Z]+).*","to":"$1","note":"EXAMPLES\n???"},"[vBulletin]":{"link":"^[^/]{5,70}/(?:forums?/)?attachment\\.php\\?(?:[^&]+&)*?attachmentid=(\\d+).*","img":"^[^/]{5,70}(?:/[^/]+)?/attachment\\.php\\?(?:[^&]+&)*?thumb=(1)(?:$|&.*)","to":":\nvar n=this.node, r=/\\.(jpe?g|gif|png|bmp|web[mp]|mp[34])\\b/i\nconsole.log(n.title)\nreturn $[1]==1 || r.test(n.textContent) || r.test(n.title) || ~(n.src||'').indexOf($[1]) || n.classList.contains('thumbnail') ? $[0].replace(/thumb=1&?/,'') : ''","note":"EXAMPLES\n???"},"[ImgShot-script]":{"useimg":1,"link":"^[^/]+/(?:[a-z]{1,5}/)?i(?:/|mg-)[\\da-f]{13}\\.html$","url":"$& :imgContinue=","res":"<img.+?' src=[\"']([^\"']+)","img":"^([^/]+/[^/]+/)small(/\\d{4}/\\d{2}/\\d{2}/[\\da-f]{13}\\..+)","to":"$1big$2","note":"EXAMPLES\n???"},"[CF-Image-Host]":{"img":"^([^/]+/)(?:(?:[pd][mtl](-\\d+)|((?:[^/]+/)*?)[pd][mtl](/[\\dA-Z]{3,6}/.+))\\.(?:jpe?g|png|gif|bmp|html)$|(?:i(?:ndex|mage)\\.php)?\\?[pd][mtl]=([\\dA-Z]{3,6}))","to":":\nreturn 'http://'+$[1]+($[5] ? '#image.php #?di=' + $[5] : ($[3]||'')+ 'di' +($[2]||'') + ($[4]||'') +'.jpg');","note":"EXAMPLES\n???"},"[CF-Image-Host_stock-photos]":{"link":"^[^/]+/p/\\d{4,10}(?:_\\d)?\\.html$","res":"src=\"([^\"]+)","note":"EXAMPLES\n???"},"[image-host-script]":{"link":"/share(?:-|\\.php\\?id=)([\\dA-F]{4}_[\\dA-F]{8}).*","url":"/share.php?id=$1","res":"\\[img\\]([^\\[]+/image\\.php\\?id=$1[^\\[]+)\n<h1>([^<]+)","img":"/(?:thumb|image)(?:-|\\.php\\?id=)([\\dA-F]{4}_[\\dA-F]{8}).*","note":"EXAMPLES\n???"},"[LinkedMedia]":{"link":"^[^?#]{6,4096}\\.(?:jp(?:g|eg?)|heic|3gp|a?png|gif|web[pm]|bmp|xbm|pict|j(?:if|fif?)|flv|m2ts|mkv|mov|mpeg|mpg|og[gv]|mp[34]|m4[va]|svgz?|ts|rm|wm[va])(?:$|[?#]).*","ci":3,"img":"^[^?#]{6,4096}\\.(?:jp(?:g|eg?)|heic|3gp|a?png|gif|web[pm]|bmp|xbm|pict|j(?:if|fif?)|flv|m2ts|mkv|mov|mpeg|mpg|og[gv]|mp[34]|m4[va]|svgz?|ts|rm|wm[va])(?:$|[?#]).*","to":":\nconst disable_on_video = false\n\nif (location.hostname === 'www.google.com') return '';\nconst n = this.node;\nif ( disable_on_video && n?.nodeName === 'VIDEO') return '';\nif (!disable_on_video && n?.nodeName === 'VIDEO') n.title = 'Imagus activating on videos can be disabled in the [LinkedMedia] sieve';\n\nif (!RegExp.prototype.test_original) {\n /* workaround for Imagus bug, force RexExp.test to ignore case */\n RegExp.prototype.test_original = RegExp.prototype.test;\n RegExp.prototype.test = function(str) {\n if (this.source?.startsWith(\"^[^?#]+\\\\.\")) {\n return (new RegExp(this.source, 'i')).test_original(str)\n } else {\n return this.test_original(str)\n }\n }\n}\n\n// width and height of the tagret element should be more that 39px\nif (this.TRG?.localName !== 'a' && \n this.TRG?.clientWidth && this.TRG?.clientWidth < 40 && \n this.TRG?.clientHeight && this.TRG?.clientHeight < 40)\n{\n return '';\n}\n\n// Imagus fix\nif (this.TRG?.hasAttribute(\"src\") && !this.TRG.src) {\n this.TRG.src = this.TRG.getAttribute(\"src\");\n}\n\nreturn $[0];","note":"hababr\nhttps://www.reddit.com/r/imagus/comments/1f4dxjw/comment/lkty6h3\nOLD\nhttps://www.reddit.com/r/imagus/comments/1em6o9c/comment/lgwseyq\nhttps://www.reddit.com/r/imagus/comments/1dvfa8n/comment/lbpyemi\nhttps://www.reddit.com/r/imagus/comments/1blyg8c/comment/kwbchh9\n\n\n!!!\nЭтот универсальный фильтр реагирует на расширения файлов в ссылках и пытается загрузить изображение, если находит ссылку на медиафайл.\n==\nThis universal sieve reacts to file extensions on links and tries to launch Imagus if it finds a link to a media file.\n\n\nEXAMPLES\nhttps://www.photo.net/search/?q=yellow&quick=1\nhttps://code.visualstudio.com/updates/v1_87"},"[phpGraphy]":{"img":"^([^/]+/(?:[^/]+/)*?index\\.php\\?)(?:display(?:pic)?|previewpic)=([^&]+).*","to":":\nreturn $[2].slice(-13) === 'directory.jpg' ? $[0] : $[1] + 'displaypic=' + $[2];","note":"EXAMPLES\n???"},"[WordPress]":{"img":"^(?:(?![^/]*userapi\\.com))^([^/]{4,70}(?:/[^/?#]+){1,10})(?:(/)(?:(gallery/(?:[^/]+/)*?)thumbs/thumbs_|((?:upload|image(?:s_blog)?|file)s/)(?:(?:thumbnails_\\d+x\\d+/thumb_([^.]+?)(?:-\\d+x\\d+)?|([^?]+)-\\d{2,}x\\d{2,})(\\.[a-z]{3,4})))|(.{5})/?\\?(?:[^&]*&)*?(?:quality=[\\d.]+|fit=[\\d%C]+|(?:w(?:idth)?|h(?:eight)?|resize)=\\d+(?:(?:%2C|,)\\d+)?)(?:&.*|$))","ci":2,"loop":2,"to":":\nif(/\\.php$/.test($[8]))return !1\nif(/[&?]s=[\\da-f]{32}/.test($[0]))return $[0]\nvar m=$[0].match(/[&?](?:url|src)=([^&]+)/)\nif(m)return decodeURIComponent(m[1])\nvar x=$[8]&&$[8].match(/^(.*\\.)(jpe?g|gif|png)$/i)\nreturn $[1] + ($[2] || '') + ($[3] || '') + ($[4] || '') + ($[5] || '') + ($[6] ? $[6] + $[7] : '') + (x && x[2] ? x[1] + (x[2]!='j' ? x[2] : '#jpg jpeg png gif#') : $[8]||'')","note":"64h\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1571#1"},"[VK]":{"link":"^(?:m\\.)?vk\\.com/photo([\\d\\-_]+)(?:\\?(tag)=(\\d+))?.*","url":": 'vk.com/al_photos.php :list=' + ($[3] ? $[2]+$[3]:((this.node.parentNode.getAttribute('onclick')+'').match(/wall-[\\d_]+/)||'')+'')+'&act=show&al=1&photo='+$[1]","res":":\nvar m = /[\\-\\d_]+/, img, ret = null, cache = {'_arr': []}, i, pid = $.url[1].substr($.url[1].lastIndexOf('=') + 1), x = JSON.parse($._.slice($._.indexOf('{'))).payload[1][3]\nfor (i in x) {\n ret = x[i].w_src ? ['#' + x[i].w_src] : [];\n ret.push(x[i].z_src || x[i].y_src || x[i].x_src);\n if (x[i].id == pid) { img = [[ret]] }\n else { cache[x[i].id] = ret; cache._arr.push('a[href^=\"/photo'+x[i].id+'\"]') }\n}\ncache._arr.length && [].forEach.call(document.body.querySelectorAll(cache._arr.join(',')), function(node) {\nvar x = cache[node.pathname.match(m)[0]];\nif (!node.IMGS_c) {\n node.IMGS_c_resolved = x;\n node.firstElementChild && (node.firstElementChild.IMGS_c_resolved = x);\n}\n})\nreturn img","img":"^(?:cs\\d+|pp|sun[\\-0-9]+)\\.(?:userapi\\.com|vk\\.me)\\/(c\\d+\\/*[uv]\\d+\\/.+\\/|.+\\/).+","to":":\nvar y, x = this.node,p=x&&x.parentNode;\nif (x.dataset.src_big) {\n x = x.dataset.src_big.split('|')[0];\n return x;\n}\nelse if (x) {\n if (p && p.href && x.classList.contains('page_doc_photo')) {\n x = p.href + '&wnd=1';\n return x;\n }\n else if ((y=x.getAttribute('onclick')) && y.indexOf('showPhoto(')>0) {\n x = JSON.parse(y.match(/(\\{.+\\})/)[0]).temp;\n x=(x.w ? '#' + x.w + '\\n' : '') + (x.z || x.y || x.x);\n return x;\n }\n else if ((y=p.getAttribute('onclick')) && y.indexOf('showPhoto(')>0) {\n x = JSON.parse(y.match(/(\\{.+\\})/)[0]).temp;\n x=(x.w ? '#' + x.w + '\\n' : '') + (x.z || x.y || x.x);\n return x;\n }\n else if ((y=x.getAttribute('style')) && (y.indexOf('background-image:')>0)) {\n var re=/.+background-image: url\\((.*)\\).*/;\n z=re.exec(y);\n if (z!=null) return z[1];\n }\n}\nreturn $[0];","note":"Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2860#19\nOLD\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1860#14\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=1740#13\n\n!!!\n- Поместить ниже дефолтных фильтров, т.к. мешает другим фильтрам для userapi.com, обсуждение:\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2000#14\n- Увеличение аватарок пользователей возможно - для этого нужно выключить фильтр [Chevereto], включить [MediaGrabber] и обновить страницу.\n==\n- Put it below the default sieves, because it interferes with other sieves for userapi.com, discussion (rus):\nhttps://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=2000#14\n- An increase in user avatars is possible - to do this, turn off the [Chevereto] sieve, turn on [MediaGrabber] and refresh the page."},"[Chevereto]":{"link":"^(?!(?:x|twitter)\\.com)[^/]{4,}/(?:(a|alb|album)|(g|i|ib|image|images|imagine|img|view))/(?:[^\\./]+\\.)?\\w{1,7}$","res":":\nreturn $[1] ? [...$._.matchAll(/img\\s+src=\"([^\"]+)\"\\s+alt/g)].map(i => [i[1]]) : [ $._.match(/=\"og:image\" content=\"([^\"]+)/)[1], $._.match(/=\"og:title\" content=\"([^\"]*)/)[1] ]","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/16s3qjn/comment/kdqo4ui\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2220#9\nhttps://www.reddit.com/r/imagus/comments/152pg3l/comment/jxk3sj4\n\n!!!\nДанный специализированный фильтр предназначен для поддержки медиа-хостингов на движке Chevereto (более 80 хостингов). Если включен более универсальный фильтр [MediaGrabber], то данный фильтр нужно выключить.\n==\nThis specialized sieve is designed to support media hostings based on the Chevereto engine (more than 80 hostings). If you have the more universal sieve [MediaGrabber] enabled, then this sieve needs to be turned off.\n\nПРИМЕРЫ / EXAMPLES\nhttps://www.reddit.com/r/imagus/comments/152pg3l/comment/jsq30ra\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=20#14"},"[MediaGrabber]":{"link":"^(?!(?:[a-z0-9.-]+\\.)?(?:8muses\\.(?:com|io)|4chan(?:nel)?\\.org|alphacoders\\.com|bdnews24\\.com|geograph\\.org\\.uk|hentaisea\\.com|joemonster\\.org|kinorium\\.com|nhentai\\.net|rule34\\.xxx|twitter\\.com|ya\\.ru)/).*(?:^z\\.photos/i|a|alb|album|cld|cloud|drop|file|files|fotka|foto|g|gif|gifs|host|hosting|i|ib|im|ima|imag|image|images|imagine|img|jpg|jpeg|keep|load|media|meme|photo|pic|pica|pico|pics|pict|picu|pik|pix|pixel|pixs|png|post|put|save|screen|send|share|shot|snap|stock|stream|thumb|thumbnail|thumbnails|tumb|upl|upload|vi|vid|video|view|watch/\\w+).*","url":": (()=>{this.oImg = this.node.src??this.node.closest('a').querySelector('img[title]')?.src??'';if(!this.sReg)this.sReg=new RegExp(cfg.sieve.filter(i=>i.off!==1).map(i=>i.img?.source).filter(Boolean).join(\")|(?:\").replace(/.*/,'(?:$&)'));return this.sReg.test(this.oImg.replace(/^https?:\\/\\/(?:www\\.)?/,'')) ? 'data:'+$[0] : $[0]})()","res":":\nif(/^data:/.test($.base))return {loop:this.oImg}\nreturn /\\/(?:a|alb|album)\\//.test($[0])?[...$._.matchAll(/img\\s+src=\"([^\"]+)\"\\s+alt/g)].map(i=>[i[1]]):($._.match(/<meta property=\"og:image\" content=\"([^\"]+)\"/)||[,''])[1]","note":"imqswt\nhttps://www.reddit.com/r/imagus/comments/18bz31i/comment/kchhhm7\nOLD\nhttps://www.reddit.com/r/imagus/comments/152pg3l/comment/jstukym\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1740#6\n\n\n!!!\nДанный универсальный фильтр не только поддерживает хостинги на движке Chevereto, но и является мощным граббером (поисковиком, сборщиком) медиа - с ним Imagus Mod начинает работать там, где он работать до этого без фильтра не мог (например, увеличивает аватарки в VK и т.п.). Появляется частичная поддержка тысяч новых сайтов. Обратной стороной данного преимущества является более частое \"ложное срабатывание\" расширения (появление вращающегося индикатора). Чтобы отменить это - достаточно просто отвести курсор от ссылки или миниатюры, для которых увеличение не требутся.\n==\nThis universal sieve \"media-grabber\" not only supports hosting on the Chevereto engine, but is also a powerful media grabber - Imagus / Imagus Mod starts working with it where it could not work without a sieve before. Partial support for thousands of new sites appears. The downside of this advantage is the more frequent “false positive” of the extension (appearance of a rotating indicator). To cancel this, simply move the cursor away from the link or thumbnail that does not require magnification. Learn more about the sieve:\nhttps://www.reddit.com/r/imagus/comments/1bhii34/comment/kvk0an2\n\nПРИМЕРЫ / EXAMPLES\n(для Chevereto / for Chevereto)\nhttps://www.reddit.com/r/imagus/comments/152pg3l/comment/jsq30ra\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=20#14","off":1}}