RandomSexyPic

Random Sexy Pictures

Verzia zo dňa 26.12.2021. Pozri najnovšiu verziu.

  1. // ==UserScript==
  2. // @name RandomSexyPic
  3. // @namespace hoothin
  4. // @version 1.3.3
  5. // @description Random Sexy Pictures
  6. // @author hoothin
  7. // @include https://api.lolicon.app/setu/v2*
  8. // @include https://api.nyan.xyz/httpapi/sexphoto*
  9. // @include https://huanmengii.xyz/ZY/aCOS/cos*
  10. // @include https://api.uomg.com/api/rand.img3*
  11. // @include https://api.vvhan.com/api/tao*
  12. // @include https://www.hlapi.cn/api/mjx*
  13. // @include https://3650000.xyz/api/?*
  14. // @icon data:image/jpg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAgACADASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAABgcICQX/xAAsEAABAwMEAQIFBQEAAAAAAAABAgMEBQYRAAcSITEIQRMUIjJRIyRCYYHB/8QAFgEBAQEAAAAAAAAAAAAAAAAABgQF/8QAIxEAAgEDBAEFAAAAAAAAAAAAAQMCABESBCFBUQUVMWHB8P/aAAwDAQACEQMRAD8AHNrPQdFYZlXBX6fJuRqns/NhptIUmSodhCG0nsdeCcqOAPOnVLvK3r227YVFjy6OEpLaWavEMKU2cY4utn7eseMjAHeq7vuaxtDs/VnaRSG6nIp9MffjwnMhD7jTKlpQsgZ7KcfnWQFv+sO6d0txKOxcFuw7ibqUpDUmPT4vwnWStQT+ksKJPHOfqB6Hf50Qd4vUOjlKWUj3x8Dik6PIJhO2Nojr7qo6fGtG1YUVNSrcJMl7PAzpjcZtPXkKUQCP+6CNz7Ttq+rdmP1iOKnDhq5iTBd5OMjoFbS0+evbvIGmfbm2dgVrcmq29W4MauJSwWYqpzaHUK4r+ocVAgE9eOzpmVnYaj2zt4qZQ4saOWnlhuBGYRHa+AnyPhoAGcknx3qD05qEiUY2MeR+vWgNeljTAm4l3T6vCDG3k2YffoFQfDdRhplQ5UNYK1j7hxPvyHX+6yhqm3tV2XuqrV2mJpLkpt1TiXFMltb5UMlOBnifOR1351f3owrEmgekbb52mKXVG2qU0ostjms9q5cO++8jGkp6lrQtLca6H7lp8gUCsrBcqESYSxyUPKig/wAseT76ZLcJQBB3omV4zsfapo2gq993nuhR6vUGl01EV/5pNOhO/uJCgfpSpRGG289n+vfV/wBs3LMNoNxn1olzo6HEvSgrkyHVrJWEqx2lOeIPvjU02Kzbe3VBkvPzIkl+SOSni5kke3+f1jXN3i9Vsdi2GqDakOUoBHFElCShAI8qB/GfbUmoeFrMb7mrFJLGAgbCv//Z
  15. // @grant GM_addStyle
  16. // @grant GM_xmlhttpRequest
  17. // @grant unsafeWindow
  18. // @run-at document-idle
  19. // @license MIT
  20. // ==/UserScript==
  21.  
  22.  
  23. (function() {
  24. 'use strict';
  25. var setuConfig={
  26. "api.lolicon.app":{
  27. name:"Lolicon ACG SexyPic",
  28. url:"https://api.lolicon.app/setu/v2?r18=1&num=5",
  29. run:()=>{
  30. var searchNum=getSearchParam("num");
  31. var leftNum=searchNum;
  32. if(jsonData != "Forbidden"){
  33. let datas=jsonData.data;
  34. datas.forEach(function(data){
  35. leftNum--;
  36. let img=createImg(data.urls?data.urls.original:data.url);
  37. img.title=data.title+" - "+data.author;
  38. });
  39. }else{
  40. location.href=curConfig.url;
  41. }
  42. processByTime(leftNum,loadNum=>{
  43. GM_xmlhttpRequest({
  44. method: 'GET',
  45. url: curConfig.url.replace("num=5","num="+loadNum),
  46. timeout:15000,
  47. onload: function(result) {
  48. let datas=JSON.parse(result.responseText).data;
  49. datas.forEach(function(data){
  50. let img=createImg(data.urls?data.urls.original:data.url);
  51. img.title=data.title+" - "+data.author;
  52. });
  53. }
  54. });
  55. },5,1000);
  56. },
  57. getSearch:(param)=>{
  58. return `v2?r18=${param.r18}&num=${param.num}`;
  59. },
  60. initSearch:()=>{
  61. var searchNum=getSearchParam("num");
  62. var searchR18=getSearchParam("r18");
  63. numInput.value=searchNum;
  64. r18Check.checked=searchR18==1||searchR18==2;
  65. sfwCheck.checked=searchR18==0||searchR18==2;
  66. }
  67. },
  68. "api.nyan.xyz":{
  69. name:"Nyan ACG SexyPic",
  70. url:"https://api.nyan.xyz/httpapi/sexphoto/?r18=true&num=5",
  71. run:()=>{
  72. var searchNum=getSearchParam("num");
  73. var leftNum=searchNum;
  74. var urls=jsonData.data.url;
  75. if(!urls instanceof Array){
  76. urls=[urls];
  77. }
  78. urls.forEach(function(data){
  79. leftNum--;
  80. createImg(data);
  81. });
  82. processByTime(leftNum,loadNum=>{
  83. GM_xmlhttpRequest({
  84. method: 'GET',
  85. url: curConfig.url.replace("num=5","num="+loadNum),
  86. timeout:15000,
  87. onload: function(result) {
  88. urls=JSON.parse(result.responseText).data.url;
  89. urls.forEach(function(data){
  90. createImg(data);
  91. });
  92. }
  93. });
  94. },5,1000);
  95. },
  96. getSearch:(param)=>{
  97. return `?r18=${param.r18!=0?"true":"false"}&num=${param.num}`;
  98. },
  99. initSearch:()=>{
  100. var searchNum=getSearchParam("num");
  101. var searchR18=getSearchParam("r18");
  102. numInput.value=searchNum;
  103. r18Check.checked=searchR18=="true";
  104. sfwCheck.checked=searchR18=="false";
  105. }
  106. },
  107. "buyersShow":{
  108. name:"Taobao Buyers Show",
  109. urls:["https://api.uomg.com/api/rand.img3?format=json&num=15",
  110. "https://api.vvhan.com/api/tao?type=json&num=15",
  111. "https://www.hlapi.cn/api/mjx1?type=json&num=15"],
  112. run:()=>{
  113. r18Check.style.display=sfwCheck.style.display=r18CheckLabel.style.display=sfwCheckLabel.style.display="none";
  114. var searchNum=getSearchParam("num");
  115. processByTime(searchNum,loadNum=>{
  116. for(let i=0;i<loadNum;i++){
  117. createImg(location.href.replace(/1?\?.*/,"?")+"r="+Math.random());
  118. }
  119. },5,1000);
  120. },
  121. getSearch:(param)=>{
  122. return location.href.replace(/\d+$/,"")+param.num;
  123. },
  124. initSearch:()=>{
  125. var searchNum=getSearchParam("num");
  126. numInput.value=searchNum;
  127. }
  128. },
  129. "huanmengii.xyz":{
  130. name:"Cosplay Show",
  131. url:"https://huanmengii.xyz/ZY/aCOS/cos/?type=json&num=15",
  132. run:()=>{
  133. r18Check.style.display=sfwCheck.style.display=r18CheckLabel.style.display=sfwCheckLabel.style.display="none";
  134. var searchNum=getSearchParam("num");
  135. processByTime(searchNum,loadNum=>{
  136. for(let i=0;i<loadNum;i++){
  137. createImg("https://huanmengii.xyz/ZY/aCOS/cos/index.php?r="+Math.random());
  138. }
  139. },5,1000);
  140. },
  141. getSearch:(param)=>{
  142. return "?type=json&num="+param.num;
  143. },
  144. initSearch:()=>{
  145. var searchNum=getSearchParam("num");
  146. numInput.value=searchNum;
  147. }
  148. },
  149. "3650000.xyz":{
  150. name:"3650000",
  151. url:"https://3650000.xyz/api/?type=json&mode=7&num=15",
  152. run:()=>{
  153. r18Check.style.display=sfwCheck.style.display=r18CheckLabel.style.display=sfwCheckLabel.style.display="none";
  154. var searchNum=getSearchParam("num");
  155. var searchMode=getSearchParam("mode");
  156. processByTime(searchNum,loadNum=>{
  157. for(let i=0;i<loadNum;i++){
  158. createImg(`http://3650000.xyz/api/?mode=${searchMode}&r=${Math.random()}`);
  159. }
  160. },5,1000);
  161. },
  162. getSearch:(param)=>{
  163. return location.pathname+`?type=json&mode=${param.mode}&num=${param.num}`;
  164. },
  165. initSearch:()=>{
  166. var searchNum=getSearchParam("num");
  167. var searchMode=getSearchParam("mode");
  168. var modeObj=[
  169. ["Public",""],
  170. ["Weibo","1"],
  171. ["Instagram","2"],
  172. ["Cosplay","3"],
  173. ["Nsfw","66"],
  174. ["Mtcos","5"],
  175. ["Legs","7"],
  176. ["MoreCoser","8"],
  177. ["Tuwan","9"]
  178. ];
  179. modeObj.forEach(item=>{
  180. var option=document.createElement("option");
  181. option.value=item[1];
  182. option.innerHTML=item[0];
  183. if(item[1]==searchMode){
  184. option.selected=true;
  185. }
  186. modeSelect.appendChild(option);
  187. });
  188. modeSelect.style.display="inline";
  189. numInput.value=searchNum;
  190. }
  191. },
  192. "api.uomg.com":"buyersShow",
  193. "api.vvhan.com":"buyersShow",
  194. "www.hlapi.cn":"buyersShow",
  195. "api.ghser.com":"buyersShow"
  196. };
  197. var curConfig=setuConfig[document.domain],jsonData,hasFloatImg=false;
  198. if(!curConfig.run)curConfig=setuConfig[curConfig];
  199. document.title=curConfig.name;
  200. try{
  201. var firstText = "";
  202. for (var i = 0; i < document.body.childNodes.length; i++) {
  203. var curNode = document.body.childNodes[i];
  204. if (curNode.nodeType == 1 || curNode.nodeName == "PRE") {
  205. firstText = curNode.nodeValue || curNode.innerText;
  206. break;
  207. }
  208. }
  209. jsonData=JSON.parse(firstText);
  210. }catch(e){
  211. console.log(e);
  212. jsonData = firstText;
  213. }
  214. document.body.innerHTML="";
  215. var imgCon=document.createElement("div");
  216. var btns=document.createElement("div");
  217. var numInput=document.createElement("input");
  218. var r18Check=document.createElement("input");
  219. var r18CheckLabel=document.createElement("label");
  220. var sfwCheck=document.createElement("input");
  221. var sfwCheckLabel=document.createElement("label");
  222. var modeSelect=document.createElement("select");
  223. var submit=document.createElement("button");
  224. var referrerMeta=document.createElement("meta");
  225. var viewportMeta=document.createElement("meta");
  226. var overMask=document.createElement("div");
  227. var homepage=document.createElement("a");
  228. for(var name in setuConfig){
  229. var config=setuConfig[name];
  230. if(!config.run)continue;
  231. var siteA=document.createElement("a");
  232. var url=config.url;
  233. if(config.urls){
  234. var randomIndex=Math.floor(Math.random()*config.urls.length);
  235. url=config.urls[randomIndex];
  236. config.url=url;
  237. }
  238. siteA.href=url;
  239. siteA.innerHTML=config.name;
  240. btns.appendChild(siteA);
  241. }
  242. btns.appendChild(numInput);
  243. btns.appendChild(r18Check);
  244. btns.appendChild(r18CheckLabel);
  245. btns.appendChild(sfwCheck);
  246. btns.appendChild(sfwCheckLabel);
  247. btns.appendChild(modeSelect);
  248. btns.appendChild(submit);
  249. btns.appendChild(homepage);
  250. overMask.className="over-mask";
  251. imgCon.appendChild(overMask);
  252. referrerMeta.name="referrer";
  253. referrerMeta.content="never";
  254. document.head.appendChild(referrerMeta);
  255. viewportMeta.name="viewport";
  256. viewportMeta.content="width=device-width, initial-scale=1";
  257. document.head.appendChild(viewportMeta);
  258.  
  259. curConfig.run();
  260. if(curConfig.initSearch)curConfig.initSearch();
  261.  
  262. function sleep(fn,param,time) {
  263. return new Promise((resolve) => {
  264. setTimeout(() => resolve(fn(param)), time)
  265. })
  266. }
  267. async function processByTime(num,fn,limit,time) {
  268. while(num>0){
  269. var loadNum=limit;
  270. if(num<limit)loadNum=num;
  271. num-=loadNum;
  272. await sleep(fn,loadNum,time);
  273. }
  274. }
  275.  
  276. overMask.onclick=e=>{
  277. if(hasFloatImg){
  278. restoreImg(hasFloatImg);
  279. }
  280. };
  281.  
  282. function restoreImg(img){
  283. hasFloatImg=false;
  284. img.style.zIndex=0;
  285. img.style.bottom="";
  286. img.style.width="100%";
  287. img.style.position="";
  288. img.style.margin="";
  289. document.body.style.overflow="";
  290. imgCon.style.maxHeight="";
  291. imgCon.style.maxWidth="";
  292. overMask.style.display="none";
  293. overMask.style.opacity=0;
  294. img.className="list-show";
  295. img.scrollIntoView();
  296. }
  297.  
  298. function createImg(url){
  299. let img=document.createElement("img");
  300. img.src=url;
  301. img.className="list-show";
  302. img.style.width="100%";
  303. img.onclick=()=>{
  304. window.scrollTo(0,0);
  305. if(img.style.zIndex==2){
  306. restoreImg(img);
  307. }else if(img.style.zIndex==1){
  308. img.style.bottom="";
  309. img.style.width="";
  310. img.style.maxWidth="";
  311. img.style.maxHeight="";
  312. img.style.zIndex=2;
  313. document.body.style.overflow="";
  314. imgCon.style.maxHeight="100vh";
  315. imgCon.style.maxWidth="100vw";
  316. }else{
  317. if(hasFloatImg)return;
  318. hasFloatImg=img;
  319. document.body.style.overflow="hidden";
  320. img.style.bottom=0;
  321. if(img.naturalWidth>document.documentElement.clientWidth || img.naturalHeight>document.documentElement.clientHeight){
  322. img.style.zIndex=1;
  323. img.style.maxWidth="99%";
  324. img.style.maxHeight="99%";
  325. }else{
  326. img.style.zIndex=2;
  327. img.style.maxWidth="";
  328. img.style.maxHeight="";
  329. }
  330. img.style.width="";
  331. img.style.position="absolute";
  332. img.style.margin="auto";
  333. overMask.style.display="block";
  334. img.className="";
  335. setTimeout(()=>{
  336. overMask.style.opacity=1;
  337. }, 0);
  338. }
  339. };
  340. imgCon.appendChild(img);
  341. return img;
  342. }
  343.  
  344. function getSearchParam(name){
  345. let reg = new RegExp("(&|^)" + name + "=([^&]*)(&|$)", "i");
  346. let r = window.location.search.substr(1).match(reg);
  347. if (r != null) {
  348. return decodeURIComponent(r[2]);
  349. };
  350. return "";
  351. }
  352.  
  353. function submitParam(){
  354. var num=numInput.value,mode;
  355. if(modeSelect.options.length>0){
  356. mode=modeSelect.options[modeSelect.selectedIndex].value;
  357. }
  358. var r18=2;
  359. if(sfwCheck.checked && !r18Check.checked){
  360. r18=0;
  361. }else if(!sfwCheck.checked && r18Check.checked){
  362. r18=1;
  363. }
  364. if(numInput.value != ""){
  365. location.href=curConfig.getSearch({"r18":r18, "num":num, "mode":mode});
  366. }else{
  367. location.reload();
  368. }
  369. }
  370.  
  371. GM_addStyle(`
  372. @media screen and (min-width: 1024px) {
  373. .img-con{
  374. overflow: auto;column-count: 5;
  375. -moz-column-count: 5;
  376. -webkit-column-count: 5;
  377. width: 100%;
  378. display: block;
  379. }
  380. }
  381. @media screen and (max-width: 1024px) {
  382. .img-con{
  383. overflow: auto;
  384. column-count: 2;
  385. -moz-column-count: 2;
  386. -webkit-column-count: 2;
  387. width: 100%;
  388. display: block;
  389. }
  390. }
  391. body{
  392. background: black;
  393. }
  394. .btns>select{
  395. display: none;
  396. height: 29px;
  397. border-radius: 3px 0 0 3px;
  398. -moz-border-radius: 3px 0 0 3px;
  399. -webkit-border-radius: 3px 0 0 3px;
  400. -ms-border-radius: 3px 0 0 3px;
  401. -o-border-radius: 3px 0 0 3px;
  402. border: none;
  403. color: #cacaca;
  404. background-color: #363636;
  405. font-size: 14px;
  406. outline: 0;
  407. padding: 2px 5px;
  408. vertical-align: top;
  409. }
  410. .over-mask{
  411. display: none;
  412. opacity: 0;
  413. width: 100%;
  414. height: 100%;
  415. background-color: #000000e6;
  416. position: fixed;
  417. z-index: 1;
  418. top: 0;
  419. left: 0;
  420. transition: opacity .3s ease-in-out;
  421. -moz-transition: opacity .3s ease-in-out;
  422. -webkit-transition: opacity .3s ease-in-out;
  423. }
  424. .list-show:hover{
  425. opacity: 1;
  426. }
  427. .list-show{
  428. opacity: 0.6;
  429. transition: opacity .3s ease-in-out;
  430. -moz-transition: opacity .3s ease-in-out;
  431. -webkit-transition: opacity .3s ease-in-out;
  432. }
  433. .img-con>img{
  434. -webkit-column-break-inside: avoid;
  435. break-inside: avoid;
  436. float: left;
  437. margin-bottom: 15px;
  438. margin-right: 15px;
  439. overflow: hidden;
  440. position: relative;
  441. top: 0;
  442. left: 0;
  443. right: 0;
  444. min-height: 200px;
  445. background: url(data:image/png;base64,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) no-repeat center center;
  446. }
  447. .btns{
  448. padding: 10px 0;
  449. text-align: center;
  450. line-height: 30px;
  451. position: fixed;
  452. z-index: 1;
  453. width: 100%;
  454. top: 0;
  455. left: 0;
  456. background: #000000de;
  457. }
  458. .btns>a{
  459. padding: 5px;
  460. background: #f8981e;
  461. color: black;
  462. border-radius: 5px;
  463. font-weight: bold;
  464. text-decoration: none;
  465. margin: 1px;
  466. }
  467. .btns>a:hover{
  468. background: #ffa31a;
  469. }
  470. .btns>label{
  471. background: #f8981e;
  472. color: black;
  473. border-radius: 5px;
  474. font-weight: bold;
  475. text-decoration: none;
  476. padding: 3px;
  477. }
  478. .btns>input[type=checkbox]{
  479. width:20px;
  480. height:20px;
  481. vertical-align: top;
  482. }
  483. .btns>input[type=number]{
  484. width: 50px;
  485. height: 25px;
  486. border-radius: 3px 0 0 3px;
  487. -moz-border-radius: 3px 0 0 3px;
  488. -webkit-border-radius: 3px 0 0 3px;
  489. -ms-border-radius: 3px 0 0 3px;
  490. -o-border-radius: 3px 0 0 3px;
  491. border: none;
  492. color: #cacaca;
  493. background-color: #363636;
  494. display: inline-block;
  495. font-size: 14px;
  496. outline: 0;
  497. padding: 2px 5px;
  498. vertical-align: top;
  499. margin: 0 5px;
  500. }
  501. .btns>button{
  502. cursor: pointer;
  503. background: #0075ff;
  504. color: white;
  505. border-radius: 5px;
  506. font-weight: bold;
  507. text-decoration: none;
  508. padding: 7px 5px 5px 5px;
  509. margin: 0px 10px 0 10px;
  510. border: 0;
  511. }`);
  512.  
  513. btns.className="btns";
  514. document.body.appendChild(btns);
  515. homepage.innerHTML="Homepage";
  516. homepage.href="https://sleazyfork.org/en/users/8227-hoothin";
  517. homepage.target="_blank";
  518. numInput.type="number";
  519. numInput.title=numInput.placeholder="Number of sexy pictures";
  520. r18Check.type="checkbox";
  521. r18Check.id="r18Check";
  522. r18CheckLabel.innerHTML="R18 ";
  523. r18CheckLabel.htmlFor="r18Check";
  524. sfwCheck.type="checkbox";
  525. sfwCheck.id="sfwCheck";
  526. sfwCheckLabel.innerHTML="SFW ";
  527. sfwCheckLabel.htmlFor="sfwCheck";
  528. submit.innerHTML="Refresh";
  529. submit.onclick=submitParam;
  530. document.onkeyup = function(e) {
  531. var event = e || window.event;
  532. var key = event.which || event.keyCode || event.charCode;
  533. if (key == 13) {
  534. submitParam();
  535. }
  536. };
  537.  
  538. imgCon.className="img-con";
  539. imgCon.style.paddingTop=parseInt(unsafeWindow.getComputedStyle(btns).height.replace("px",""))+20+"px";
  540. document.body.appendChild(imgCon);
  541. })();