Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {"VK-h":{"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/(?:([^!]+)!)?(.+)|vk_gallery/([^!]+)!(.+))","url":": (()=>{this.enable_on_video = true /*If false, VK_video-q also needs to be disabled*/; const t=this.node, n=t.IMGS_TRG||t, l_id=$[4]||$[7]||(n.closest('div[class^=\"ui_gallery__inner\"]')?.querySelector('div[data-list-id]')?.getAttribute('data-list-id')||n.closest('.post_info')?.querySelector('div[class^=\"PostBottomAction PostBottomAction--transparent PostButtonReactions\"]')?.getAttribute('data-reaction-target-object')), p_id=$[8]||(n.closest('div[class^=\"ui_gallery__inner\"]')?.querySelector('div[data-photo-id]')?.getAttribute('data-photo-id')||n.parentNode?.href?.match(/photo(-\\d+_\\d+)/)?.[1]);if(!this.enable_on_video&&($[3]||$[6]))throw '';return $[1] ? '//vk.com/'+$[1] : $[6]&&!n.closest('.vkuiCarouselBase__slide')&&!n.closest('.vkitBaseGallery__slide--JhgoZ')&&(n.getAttribute('class')==='vkitMediaGridImage__image--EA3Qm vkitOverlay__root--AjJAj'||n.parentNode?.getAttribute('data-video')||n.getAttribute('data-list'))||$[9] ? 'data:,'+($[6]||$[9]) : !$[2]&&!$[3]&&!$[5]&&!n.getAttribute('data-list')&&n.parentNode?.className!=='lnk'&&n.className!=='MediaGrid__imageElement'&&($[6]||l_id) ? 'https://vk.com/al_photos.php?act=show :act=show&al=1'+(l_id?'&list='+l_id:'')+(p_id?'&photo='+p_id:'') : $[0]})()","res":":\nconst max_images = 300 // Maximum number of images in album. Lower number loads faster.\n\nlet vk_data = this.vk_data || {}, n=this.node, m;\ndelete this.vk_data;\nconst getVid=u=>{\nlet x=new XMLHttpRequest()\nx.open('POST','https://vk.com/al_video.php?act=show',false);\nx.setRequestHeader('content-type','application/x-www-form-urlencoded');\nx.setRequestHeader('x-requested-with','XMLHttpRequest');\nx.send(`act=show&al=1&video=${u.match(/\\/video([\\d_-]+)/)[1]}`);\nx=JSON.parse(x.responseText).payload[1][4].player?.params?.[0];\nreturn Object.entries(x).filter(i=>/^url\\d+/.test(i[0])).pop()[1]+'#mp4'\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($[9]&&$.base[0]==='d'){\nconst m=$[10].split('!'), n=m.indexOf($[9]);\nreturn {\"\":m.map(i=>[/\\/video/.test(i)?getVid(i):i.replace(/=(\\d+x\\d+)$/,'='+i.match(/&as=(\\d+x\\d+,?)+/)?.[1])]),idx:n<0?0:n}\n}\nif(m=$[6]&&(n.getAttribute('class')==='vkitImageSingle__image--wgSJ5 vkitOverlay__root--AjJAj'||n.getAttribute('class')==='vkitMediaGridImage__image--EA3Qm vkitOverlay__root--AjJAj')&&n.closest('[class=\"vkitBaseGallery__layer--JNMtq\"],[class=\"vkitMediaGrid__root--FEt3Y vkitMediaGridTwoRows__root--ItwHW\"],[class=\"vkuiCarouselBase__layer\"],[class=\"post_info\"]')){\nm=[...m.querySelectorAll('[class=\"vkitImageSingle__image--wgSJ5 vkitOverlay__root--AjJAj\"],[class=\"vkitMediaGridImage__image--EA3Qm vkitOverlay__root--AjJAj\"]')]\nconst idx=m.findIndex(i=>i.parentNode?.href===$[0])\nif(m.length>1)return {\"\":m.map(i=>[/\\/video/.test(i.parentNode?.href)?getVid(i.parentNode?.href):i.src?.replace(/=(\\d+x\\d+)$/,'='+i.src.match(/&as=(\\d+x\\d+,?)+/)?.[1])]),idx:idx}\n}\nif($[6]&&$.base[0]==='d')return {loop:$[0].replace('?','&')}\nif(!$[7]&&$[8]&&!vk_data.album?.length){\n$=JSON.parse($._.slice($._.indexOf('{'))).payload[1][3].find(i=>$[8]===i.id);\nreturn $&&($.w_src||$.z_src||$.y_src||$.x_src)\n}\nif($[3]||$[4]||$[6]||$[7]||$[8]){\nlet s, has_video=false;\nvk_data.vids=vk_data.vids||[...n.closest('.post_content,post_info')?.querySelectorAll('div[class=\"vkitOverlay__root--AjJAj\"]>a[data-video],a[class^=\"vkitInteractiveWrapper__root--TuhPN\"][href*=\"video\"]')||[]];\nvk_data.vid_length=vk_data.vid_length||vk_data.vids.length;\nvk_data.vid_num=vk_data.vid_num||0;\nvk_data.num;\nvk_data.gallery_length=vk_data.gallery_length||n.closest('.post_content')?.querySelectorAll('div[class^=\"PhotoPrimaryAttachment__\"]')?.length;\nvk_data.album=vk_data.album||[];\nvk_data.loop_stop=vk_data.loop_stop||0;\nvk_data.loop_stop++;\nif(this.enable_on_video&&$[3]||($[6]&&(n.getAttribute('data-list')||n.parentNode?.getAttribute('data-video')||n.parentNode?.className==='lnk'||n.className==='MediaGrid__imageElement'))&&!/al_photos\\.php/.test($.url[0])){\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)vk_data.album.push([['#'+$[0]+'#mp4',$[Math.floor($.length/2)]+'#mp4']])\n}else{\nconst l=$[4]||$[7], src=$[8];\n$=JSON.parse($._.slice($._.indexOf('{'))).payload[1];\ns=$[1];\n$=$[3]||[];\nvk_data.num=n.nodeName==='IMG'&&$.findIndex(i=>i.id===src);\nconst id=$.length?$[$.length-1].id:'';\n$=$.flatMap((i,n)=>!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(vk_data.gallery_length===1)$=[$[4]];\nvk_data.album.push(...$);\nif((!vk_data.gallery_length||vk_data.gallery_length>1)&&vk_data.album.length<s&&vk_data.album.length<max_images&&$.length>0&&vk_data.loop_stop<150){\nthis.vk_data=vk_data;\nreturn {loop:'//vk_album/'+(l?l+'!':'')+id}}\n}\nconst vid=(vk_data.vids[vk_data.vid_num]?.getAttribute('data-video')||vk_data.vids[vk_data.vid_num]?.getAttribute('href')?.match(/\\/video([\\w-]+)/)?.[1])?.split('_');\nvk_data.vid_num++;\nif(this.enable_on_video&&vid){\nthis.vk_data=vk_data;\nreturn {loop:'https://vk.com/video_ext.php?oid='+vid[0]+'&id='+vid[1]}\n}\n$=vk_data.album;\nreturn vk_data.num ? {\"\":$,idx:vk_data.num} : $\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+,?)+)?(?:&blur=(?:\\d+,?)+)?&as=(?:(\\d+x\\d+),?)+&(?:(?:ava=\\d|from=\\w+)&(?:u=[^&]+&)?cs|sign)=|size=\\d+x\\d+&quality=\\d+&crop=)).*","loop":2,"to":":\nvar y, l, x=this.node, p=x&&x.parentNode;\n\nif (location.hostname==='vk.com'&&x) {\n if ((y=x.getAttribute('onclick')||p.getAttribute('onclick')) && y.indexOf('showPhoto(')>0) {\n x=y.indexOf('temp')>0&&JSON.parse(y.match(/(\\{.+\\})/)[0]).temp;\n x=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 /\\/rev$/.test(y[2]) ? '//vk_album/'+y[1] : location.hostname+location.pathname+(location.search==='?own=1'?location.search+'&':'?')+'z=photo'+y[1]+'/'+y[2];\n }\n if(y=p.getAttribute('data-photo-id')){\n 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 }\nif(y=p.href?.match(/photo(-\\d+_\\d+)/)?.[1]){\n if(l=(x.getAttribute('class')!=='vkitImageSingle__image--wgSJ5 vkitOverlay__root--AjJAj'||p.closest('div[class=\"vkuiCarouselBase__layer\"],.post_info').querySelector('a[data-video]'))&&x.closest('.post_info')?.querySelector('div[class^=\"PostBottomAction PostBottomAction--transparent PostButtonReactions\"]')?.getAttribute('data-reaction-target-object')){\n return '//vk_album/'+l+'!'+y;\n }\n }\n if(y=(x.getAttribute('class')==='vkitImageSingle__image--wgSJ5 vkitOverlay__root--AjJAj'||x.getAttribute('class')==='vkitMediaGridImage__image--EA3Qm vkitOverlay__root--AjJAj')&&x.closest('[class=\"vkitBaseGallery__layer--JNMtq\"],[class=\"vkitMediaGrid__root--FEt3Y vkitMediaGridTwoRows__root--ItwHW\"],[class=\"vkuiCarouselBase__layer\"],[class=\"post_info\"]')){\n y=[...y.querySelectorAll('[class=\"vkitImageSingle__image--wgSJ5 vkitOverlay__root--AjJAj\"],[class=\"vkitMediaGridImage__image--EA3Qm vkitOverlay__root--AjJAj\"]')].map(i=>/\\/video/.test(i.parentNode?.href)?i.parentNode?.href:i.src);\nif(y.length>1)return 'vk_gallery/https://'+$[0]+'!'+y.join('!')\n }\n if(y=p.getAttribute('id')==='pv_photo'){\n y=p.closest('[class=\"clear_fix pv_photo_wrap\"]')?.querySelector('a[class^=\"like_btn share _share\"]');\n l=y?.getAttribute('onclick')?.match(/'list':'([^']+)/)?.[1];\n y=y?.getAttribute('onmouseover')?.match(/this, 'photo([^']+)/)?.[1];\n if(l&&y)return '//vk_album/'+l+'!'+y;\n }\n}\nreturn $[4] ? $[1]+$[2]+$[3]+$[4] : $[0];","note":"Imagus_fan\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/mirokmb\nOLD\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/me4usto\nhttps://www.reddit.com/r/imagus/comments/z0zyox/comment/m7skqco\n\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ПРИМЕРЫ\nhttps://vk.com/leprazo\nhttps://vk.com/saratov_24\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"}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement