琉神转

老司机工具箱,支持琉璃神社、灵梦御所、纯爱计划、绅士二次元、萌心次元、次元轨迹、ACG调查小队、幻天领域、天使二次元、樱花漫舍、风铃窝、次元の圣光、爱弹幕、幻想次元、司机会所、里番萌、最ACG、绅士仓库、绅士图书馆、ACG和谐区/里世界、寂月神社、萌幻之乡、绅士之庭、萌口组、九妖萌、CE家族社、喵窝、次元老司机、绅士ACG社等,神秘代码转换成下载链接,网盘自动填写提取密码,F8、Shift+F8站点切换,Alt+F8列表浏览,左右方向键文章跳转,Ctrl+左右快捷翻页,Ctrl+上下跳入跳出,下载链接嗅探,绕过重定向跳转,各种和谐补丁

  1. // ==UserScript==
  2. // @name 琉神转
  3. // @name:en HacgGodTurn
  4. // @name:zh-TW 琉神轉
  5. // @name:ja 琉璃神社工具セット
  6. // @namespace hoothin
  7. // @description 老司机工具箱,支持琉璃神社、灵梦御所、纯爱计划、绅士二次元、萌心次元、次元轨迹、ACG调查小队、幻天领域、天使二次元、樱花漫舍、风铃窝、次元の圣光、爱弹幕、幻想次元、司机会所、里番萌、最ACG、绅士仓库、绅士图书馆、ACG和谐区/里世界、寂月神社、萌幻之乡、绅士之庭、萌口组、九妖萌、CE家族社、喵窝、次元老司机、绅士ACG社等,神秘代码转换成下载链接,网盘自动填写提取密码,F8、Shift+F8站点切换,Alt+F8列表浏览,左右方向键文章跳转,Ctrl+左右快捷翻页,Ctrl+上下跳入跳出,下载链接嗅探,绕过重定向跳转,各种和谐补丁
  8. // @description:en Tools for OLD DRIVER to adult gentleman sites (Just a joke, you won't want to read forward) as glazed shrine, reimu imperial, pure love plan, gentleman two dimension, dimension and dimension trajectory, adorable heart ACG survey team, the magic day in the field, light agency, two dimensional, adorable Angel Sakura diffuse homes, Shengguang, love nest, Campanula dimension barrage, fantasy element, our opportunities, some adorable
  9. // @description:zh-TW 老司機工具箱,支持琉璃神社、靈夢禦所、純愛計劃、紳士二次元、萌心次元、次元軌跡、ACG調查小隊、幻天領域、天使二次元、櫻花漫舍、風鈴窩、次元の聖光、愛彈幕、幻想次元、司機會所、裏番萌、最ACG、紳士倉庫、紳士圖書館、ACG和諧區/裏世界、寂月神社、萌幻之鄕、紳士の庭、萌口組、九妖萌、CE家族社、喵窩、次元老司機、紳士ACG社等,神秘代碼轉換成下載鏈接,網盤自動填寫提取密碼,F8、Shift+F8站點切換,Alt+F8列表瀏覽,左右方向鍵文章跳轉,Ctrl+左右快捷翻頁,Ctrl+上下跳入跳出,下載鏈接嗅探,繞過重定向跳轉,各種和諧補丁
  10. // @description:ja 琉璃神社工具セット、秋の名山老運転手専用
  11. // @author hoothin
  12. // @icon https://www.hacg.me/favicon.ico
  13. // @include http*://www.hacg.*/wordpress/*
  14. // @include http*://hacg.*/wordpress/*
  15. // @include http*://loli.cool/*
  16. // @include http*://www.nicemoe.*
  17. // @include http*://www.hacg.lol/*
  18. // @include http*://hacg.lol/*
  19. // @include http*://hacg.riwee.com/*
  20. // @include http*://9iacg.*
  21. // @include http*://okloli.*
  22. // @include http*://www.okloli.*
  23. // @include http*://kuaishangche.*
  24. // @include http*://www.kuaishangche.*
  25. // @include http*://hacg.me/*
  26. // @include http*://hacg.in/*
  27. // @include http*://hacg.be/*
  28. // @include http*://hacg.club/*
  29. // @include http*://hacg.li/*
  30. // @include http*://hacg.fi/*
  31. // @include http*://hacg.red/*
  32. // @include http*://hacg.la/*
  33. // @include http*://hacg.tw/*
  34. // @include http*://hacg.at/*
  35. // @include http*://hacg.ch/*
  36. // @include http*://llss.*/wp/*
  37. // @include http*://*.llss.*/wp/*
  38. // @include http*://liuli.*/wp/*
  39. // @include http*://*.liuli.*/wp/*
  40. // @include http*://hacg.*/wp/*
  41. // @include http*://*.hacg.*/wp/*
  42. // @include http*://www.acgpy.*
  43. // @include http*://blog.reimu.net/*
  44. // @include http*://pan.baidu.com/share/*
  45. // @include http*://pan.baidu.com/s/*
  46. // @include http*://sexacg.com/*
  47. // @include http*://www.acg.tf/*
  48. // @include http*://acg.tf/*
  49. // @include http*://www.moxacg.com/*
  50. // @include http*://moxacg.*
  51. // @include http*://*.acggj.com/*
  52. // @include http*://acgso1.com/*
  53. // @include http*://*.acgso1.com/*
  54. // @include http*://www.acgnz.cc/*
  55. // @include http*://nacg.me/*
  56. // @include http*://www.tianshit.com/*
  57. // @include http*://www.tianshif.com/*
  58. // @include http*://www.tianshie.com/*
  59. // @include http*://www.oomoe.*
  60. // @include http*://www.kaze5.com/*
  61. // @include http*://www.acg15.com/*
  62. // @include http*://www.acglover.*
  63. // @include http*://lifanmoe.*
  64. // @include http*://www.yhacg.*
  65. // @include http*://www.idanmu.*
  66. // @include http*://idanmu.*
  67. // @include http*://*.sijihuisuo.club/*
  68. // @include http*://sijihuisuo.club/*
  69. // @include http*://acg18.*
  70. // @include http*://*.acg18.*
  71. // @include http*://hxcy.*
  72. // @include http*://*.acg44.com/*
  73. // @include http*://zuiacg.*
  74. // @include http*://www.zuiacg.*
  75. // @include http*://www.galacg.me/*
  76. // @include http*://cangku.*
  77. // @include http*://www.mhecy.com/*
  78. // @include http*://acgzone.org/*
  79. // @include http*://www.acgzone.org/*
  80. // @include http*://uraban.me/*
  81. // @include http*://www.uraban.me/*
  82. // @include http*://acgmoon.*
  83. // @include http*://www.jiyue.*
  84. // @include http*://jiyue.*
  85. // @include http*://www.moe-acg.*/*
  86. // @include http*://huan.moe*
  87. // @include http*://*.hmoe*
  88. // @include http*://*.hentaiclub.net*
  89. // @include http*://*.sshs.cc/*
  90. // @include http*://www.mygalgame.com/*
  91. // @include http*://www.mmgal.com/*
  92. // @include http*://htai.*
  93. // @include http*://gmgard.com/*
  94. // @include http*://*.gmgard.com/*
  95. // @include http*://hggard.com/*
  96. // @include http*://*.hggard.com/*
  97. // @include http*://www.kou.moe/*
  98. // @include http*://www.91moe.com/*
  99. // @include http*://cefamilie.com/*
  100. // @include http*://yui-nya.com/*
  101. // @include http*://www.l-sj.cc/*
  102. // @include http*://htacg.cc/*
  103. // @include http*://www.htacg.cc/*
  104. // @include http*://www.xiu.moe/*
  105. // @include http*://www.cld1.net/*
  106. // @include http*://sjhs*.*
  107. // @include http*://*comicat.*
  108. // @include http*://*kisssub.*
  109. // @include http*://*miobt.*
  110. // @include http*://www.dakashangche.*
  111. // @include http*://www.dakaba.*
  112. // @include http*://xiuxiqu.*
  113. // @include https://www.reddit.com/*
  114. // @include http*://sleazyfork.org/*/scripts/*
  115. // @include http*://greasyfork.org/*/scripts/*
  116. // @include http*://sleazyfork.org/*/forum/*discussion*
  117. // @include http*://greasyfork.org/*/forum/*discussion*
  118. // @version 3.22.72
  119. // @grant GM_notification
  120. // @grant GM_xmlhttpRequest
  121. // @grant GM_setClipboard
  122. // @grant GM_setValue
  123. // @grant GM_getValue
  124. // @grant unsafeWindow
  125. // @run-at document-end
  126. // @require https://greasyfork.org/scripts/23522/code/od.js?version=1002023
  127. // @require https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/core-min.js
  128. // @require https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js
  129. // @license MIT License
  130. // @connect tts.baidu.com
  131. // @compatible chrome
  132. // @compatible firefox
  133. // @compatible opera 未测试
  134. // @compatible safari 未测试
  135. // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=rixixi@sina.com&item_name=Greasy+Fork+donation
  136. // @contributionAmount 1
  137. // ==/UserScript==
  138. /*
  139. 通用快捷键:
  140. F8或者shift+F8向前或向后循环宅站列表
  141. ← →快速定位到上一篇或下一篇文章
  142. Ctrl+← →快速翻页
  143. Ctrl+↑ ↓进入文章内容页或返回
  144. Alt+F8打开绅士站点列表
  145. Ctrl+F8打开火箭嗅探窗口
  146. Ctrl+Z开启或关闭NSFW模式
  147.  
  148. 最ACG快捷键:
  149. 点击图片去除和谐力量
  150. 按住Ctrl点击图集或文章页面的下载按钮直接跳转至百度盘
  151.  
  152. 火箭功能,嗅探并显示所有下载链接,点击序号定位至页面中资源所在位置
  153.  
  154. 老司机输入框输入链接:https://pan.baidu.com/s/xxxxxxxx 密码:yyyy或者xxxxxxxx yyyy等可跳转至:https://pan.baidu.com/s/xxxxxxxx#yyyy
  155. */
  156. (function(){
  157. 'use strict';
  158. var config={
  159. sites:[
  160. {
  161. name:"琉璃神社",
  162. url:"https://www.liuli.uk/wp/",
  163. regex:/hacg\.|llss\.|liuli\./,
  164. commArea:"comments-area",
  165. run:function(){
  166. var feiZao,feiZaos=document.querySelectorAll("p1"),i;
  167. for(i=0;i<feiZaos.length;i++){
  168. feiZao=feiZaos[i];
  169. if(feiZao.parentNode)feiZao.parentNode.removeChild(feiZao);
  170. }
  171. var has8=false;
  172. var comm,comms=document.querySelectorAll("span.fn"),commId;
  173. for(i=0;i<comms.length;i++){
  174. comm=comms[i];
  175. if(comm.innerText == "\u5c0f\u0038\u9171"){
  176. has8=true;
  177. commId=comm.parentNode.parentNode.parentNode.id;
  178. break;
  179. }
  180. }
  181. if(has8){
  182. var header=document.querySelector("div.entry-meta");
  183. if(header){
  184. header.innerHTML+="</br> <a href=\"#"+commId+"\">\u2605\u0020\u76f4\u8fbe\u8865\u6863\u59ec\u0020\u2605<\/a>";
  185. }
  186. }
  187. if(isHttps){
  188. changeUrl(true,[["iframe"],[['http:','https:']]]);
  189. changeUrl(true,[["embed"],[['http:','https:']]]);
  190. changeUrl(true,[["object"],[['http:','https:']]]);
  191. changeUrl(true,[["a"],[['http:(.*(hacg|llss))','https:$1']]]);
  192. }
  193. if(document.querySelector(".metaslider-flex")){
  194. document.title = document.title.replace(/\u7409\u7483\u795e\u793e/,"\u7409\u7483 ♂ \u795e\u793e");
  195. [].forEach.call(document.querySelectorAll("a"), function(item, index, arr) {
  196. item.innerHTML=item.innerHTML.replace(/\u7409\u7483\u795e\u793e/,"\u7409\u7483 ♂ \u795e\u793e");
  197. item.title="\u630a\u591a\u4f1a\u5bfc\u81f4\u89c6\u7ebf\u6a21\u7cca\uff0c\u8fd9\u662f\u5047\u7ad9\uff01";
  198. });
  199. }
  200. var tags=document.querySelectorAll("article>footer>a");
  201. for(i=0;i<tags.length;i++){
  202. var tag=tags[i];
  203. if(tag.innerHTML == "\u4f2a\u5a18" || tag.innerHTML == "\u53ef\u7231\u7684\u7537\u5b69\u5b50" || tag.innerHTML == "\u5973\u88c5" || tag.innerHTML == "\u7537\u306e\u5a18"){
  204. var articleTitle=document.querySelector(".entry-title");
  205. if(articleTitle){
  206. articleTitle.innerHTML="<font color='red' title='!\u53cd\u9e21\u590d\u5976!'>\u2642\u8def\u897f\u6cd5\u2642</font> "+articleTitle.innerHTML;
  207. originTitile = document.title = document.title.replace(/\u7409\u7483\u795e\u793e/,"\u5927\u5c4c\u795e\u793e");
  208. }
  209. break;
  210. }
  211. }
  212. var embeds=document.querySelectorAll(".wp-embedded-content");
  213. for(i=0;i<embeds.length;i++){
  214. let embed=embeds[i];
  215. embed.onload=function(){
  216. setTimeout(function(){
  217. embed.removeAttribute("data-secret");
  218. },1);
  219. };
  220. }
  221. if(unsafeWindow.quote){
  222. var msg = "…" + unsafeWindow.quote + "…",pos = 0;
  223. function scrollMsg() {
  224. document.title = msg.substring(pos, msg.length) + msg.substring(0, pos);
  225. pos++;
  226. if (pos > msg.length) {
  227. pos = 0;
  228. document.title = originTitile;
  229. }else{
  230. setTimeout(scrollMsg,250);
  231. }
  232. }
  233. scrollMsg();
  234. }
  235. }
  236. },
  237. {
  238. name:"灵梦御所",
  239. url:"https://blog.reimu.net/",
  240. regex:/blog\.reimu\./,
  241. run:function(){
  242. var titleTime;
  243. document.addEventListener('visibilitychange', function() {
  244. if (document.hidden) {
  245. document.title = '\u6765\u556a\u0038\u5566~(*´∇`*) ' + originTitile;
  246. clearTimeout(titleTime);
  247. }
  248. else {
  249. document.title = '\u624d\u4e0d\u7ed9\u556a(╯‵□′)╯︵┻━┻ ' + originTitile;
  250. titleTime = setTimeout(function() {
  251. document.title = originTitile;
  252. }, 2000);
  253. }
  254. });
  255. function createBlockBtn(){
  256. var pre = document.querySelector("pre");
  257. var author = document.querySelector(".author-info,.entry-footer");
  258. if (author && !document.querySelector("#blockBtn")) {
  259. var blockBtn=document.createElement("button");
  260. blockBtn.id="blockBtn";
  261. blockBtn.type="button";
  262. blockBtn.textContent="\u597d\u5b69\u5b50\u770b\u4e0d\u5230";
  263. blockBtn.style.cssText="padding:4px 0;position: relative;width:120px;";
  264. if(pre){
  265. pre.parentNode.insertBefore(blockBtn,pre);
  266. }else{
  267. blockBtn.style.cssText="display:none;";
  268. author.appendChild(blockBtn);
  269. }
  270. blockBtn.addEventListener("click", function(){
  271. if(this.nextSibling.style.display == 'block'){
  272. this.nextSibling.style.display = '';
  273. }else{
  274. this.nextSibling.style.display = 'block';
  275. }
  276. });
  277. }
  278. }
  279. document.querySelector("#main").addEventListener('DOMNodeInserted', function(e) {
  280. var author = document.querySelector(".author-info");
  281. if (author && !document.querySelector("#blockBtn")) {
  282. createBlockBtn();
  283. process();
  284. var $=unsafeWindow.jQuery;
  285. var toggle=$(".toggle")[0];
  286. if(toggle){
  287. var evts=$._data(toggle, "events");
  288. if(!evts || !evts["click"]){
  289. $(".toggle-box").hide();
  290. $(".toggle").toggle(function(){
  291. $(this).addClass("toggle-active");
  292. }, function () {
  293. $(this).removeClass("toggle-active");
  294. });
  295. $(".toggle").click(function(){
  296. $(this).next(".toggle-box").slideToggle();
  297. });
  298. }
  299. }
  300. }
  301. });
  302. createBlockBtn();
  303. }
  304. },
  305. /*{
  306. name:"次元の圣光",
  307. url:"https://www.acglover.me/",
  308. regex:/acglover\./,
  309. offset:60,
  310. contentArea:".entry-inner",
  311. run:function(){
  312. changeUrl(true,[["a","img"],[['acglover\\\.net','acglover\\\.me']]]);
  313. }
  314. },*/
  315. /*{
  316. name:"绅士二次元",
  317. url:"https://www.acg.tf/",
  318. regex:/acg\.tf/,
  319. offset:60,
  320. articleSel:".magazine-list>li,.article_list>li,.jeg_post",
  321. contentArea:".entry,.amp-wp-article-content>.amp-wp-content,.content-inner",
  322. run:function(){
  323. var content=document.querySelector('.entry,.amp-wp-article-content>.amp-wp-content,.content-inner');
  324. if(content){
  325. var plist = content.querySelectorAll("p,div");
  326. var key = "";
  327. for(var i=0;i<plist.length;i++){
  328. var pNode=plist[i];
  329. if(/\u5bc6\u5319[::]?/i.test(pNode.innerHTML)){
  330. var orgStr = pNode.innerText.match(/\u5bc6\u5319[::]?\s*\S*\b/i)[0].replace(/\u5bc6\u5319[::]?\s*\b/,"").replace('&amp;','&');
  331. key=CryptoJS.enc.Base64.parse(orgStr).toString(CryptoJS.enc.Utf8);
  332. pNode.innerHTML = "";
  333. break;
  334. }
  335. }
  336. if(key !== ""){
  337. var blockquotes = content.querySelectorAll("blockquote>p,div.alert-success");
  338. for(var i=0;i<blockquotes.length;i++){
  339. var blockquote=blockquotes[i];
  340. if(!blockquote||blockquote.innerText===""||!/^[0-9a-z\+\/=\s]+$/i.test(blockquote.innerText)){continue;}
  341. var result = blockquote.innerHTML.replace(/<br>/g,"").replace(/\s/g,"");
  342. result = CryptoJS.AES.decrypt(result,key).toString(CryptoJS.enc.Utf8);
  343. blockquote.innerHTML = result;
  344. }
  345. }
  346. }
  347. }
  348. },*/
  349. {
  350. name:"天使二次元",
  351. url:"https://www.tianshie.com/",
  352. regex:/tianshi.\./,
  353. contentArea:'.article-content'
  354. },
  355. {
  356. name:"ACG调查小队",
  357. url:"https://acgso1.com/",
  358. regex:/acgso1\./,
  359. hideOd:true,
  360. offset:55,
  361. articleSel:"article,section.card"
  362. },
  363. /*{
  364. name:"风铃窝",
  365. url:"http://www.acg15.com/",
  366. regex:/acg15\.com/,
  367. hideOd:true,
  368. offset:55,
  369. articleSel:"section.card"
  370. },*/
  371. /*{
  372. name:"里番萌",
  373. url:"https://lifan.moe/",
  374. regex:/lifanmoe\./,
  375. downloadUrl:/lifanmoe\.mobi\/download/,
  376. offset:55,
  377. articleSel:"section.card"
  378. },*/
  379. {
  380. name:"爱弹幕",
  381. url:"http://www.idanmu.co/",
  382. regex:/idanmu\./,
  383. downloadUrl:/idanmu\..*\/download/,
  384. offset:55,
  385. articleSel:"section.card",
  386. run:function(){
  387. var resets = document.querySelectorAll('body>style');
  388. for(var i=0;i<resets.length;i++){
  389. var reset=resets[i];
  390. if(/\.card-bg\simg|\.content-reset\simg/.test(reset.innerHTML)){
  391. reset.parentNode.removeChild(reset);
  392. }
  393. }
  394. var r10=document.querySelector('#menu-header>li');
  395. if(r10){
  396. var r18=r10.cloneNode(true);
  397. r18.innerHTML = r18.innerHTML.replace("资讯", 'R18').replace(/category\/v01/g, 'category/v09/v13');
  398. r10.after(r18);
  399. }
  400. }
  401. },
  402. {
  403. name:"司机会所",
  404. url:"https://kuaishangche.link/",
  405. regex:/sijihuisuo\.club|dakashangche\.|xiuxiqu\.|dakaba\.|kuaishangche\./,
  406. //innerPage:/\/(sj\/\d|\?p=\d)/,
  407. offset:115,
  408. contentArea:"#commentlist-container",
  409. run:function(){
  410. /*if(curSite.innerPage.test(location.href)){
  411. t=window.setInterval(function(){
  412. if(document.querySelector(".commentlist")){
  413. clearInterval(t);
  414. process();
  415. }
  416. },500);
  417. }
  418. changeUrl(true,[["a"],[['https?:\\\/\\\/[^\\\.]*(\\\.)?sijihuisuo\\\.club\\\/go\\\/\\\?url=','']]]);*/
  419. var MutationObserver = unsafeWindow.MutationObserver || unsafeWindow.WebKitMutationObserver || unsafeWindow.MozMutationObserver;
  420. if(MutationObserver){
  421. var observer = new MutationObserver(function(records){
  422. records.map(function(record) {
  423. if(record.addedNodes.length && record.addedNodes[0].className=="commentlist"){
  424. processObj(record.addedNodes[0]);
  425. }
  426. });
  427. });
  428. var option = {
  429. 'childList': true,
  430. 'subtree': true
  431. };
  432. var commentlist=document.querySelector("#commentlist-container");
  433. if(commentlist)observer.observe(commentlist, option);
  434. }
  435. }
  436. },
  437. {
  438. name:"幻想次元",
  439. url:"https://hxcy.moe/",
  440. regex:/acg18\.|hxcy\./,
  441. offset:55,
  442. run:function(){
  443. changeUrl(true,[["a"],[['https?:\\\/\\\/[^\\\.]*(\\\.)?(acg18|hxcy)\\\.[a-z]+\\\/go\\\/\\\?url=','']]]);
  444. }
  445. },
  446. /*{
  447. name:"樱花御所",
  448. url:"https://www.yhacg.us",
  449. regex:/yhacg\./,
  450. offset:55,
  451. run:function(){
  452. changeUrl(true,[["a"],[['https?:\\\/\\\/[^\\\.]*(\\\.)?yhacg\\\.us\\\/go\\\/\\\?url=','']]]);
  453. }
  454. },*/
  455. {
  456. name:"最ACG网",
  457. url:"http://zuiacg.com/",
  458. regex:/zuiacg\./,
  459. hideOd:true,
  460. offset:75,
  461. run:function(){
  462. let shield=document.querySelector('#shieldclass');
  463. if(shield){
  464. shield.parentNode.removeChild(shield);
  465. let imgs=document.querySelectorAll('p>img');
  466. for(let i=0;i<imgs.length;i++){
  467. let img=imgs[i];
  468. img.onclick=function(){this.className="";};
  469. }
  470. }
  471. var downloadBtn=document.querySelector('a[data-action=download]');
  472. if(downloadBtn){
  473. if(/\/download\//.test(location.href)){
  474. let cd=document.querySelector('div.single-content>p>input');
  475. if(cd){
  476. downloadBtn.href+="#"+cd.value;
  477. }
  478. }else{
  479. downloadBtn.onclick=function(e){
  480. if(e.ctrlKey){
  481. let newWin=window.open('');
  482. GM_xmlhttpRequest({
  483. method: 'GET',
  484. url: downloadBtn.href.replace(/\/news\//,"/download/"),
  485. onload: function(d) {
  486. let html=document.implementation.createHTMLDocument('');
  487. html.documentElement.innerHTML = d.responseText;
  488. let dl=html.querySelector('#adddownload>a');
  489. if(dl){
  490. let url=dl.href;
  491. let cd=html.querySelector('div.single-content>p>input');
  492. if(cd){
  493. url+="#"+cd.value;
  494. }
  495. newWin.location.href=url;
  496. }else{
  497. newWin.close();
  498. }
  499. },
  500. onerror: function(e) {
  501. newWin.close();
  502. }
  503. });
  504. return false;
  505. }
  506. };
  507. }
  508. }
  509. }
  510. },
  511. {
  512. name:"绅士仓库",
  513. url:"https://cangku.io/",
  514. regex:/galacg\.|cangku\./,
  515. hideOd:true,
  516. articleSel:".post-card-wrap",
  517. run:function(){
  518. window.setTimeout(function(){
  519. process();
  520. [].forEach.call(document.querySelectorAll(".r18-mask"),function(item){
  521. item.onclick=function(e){
  522. e.currentTarget.classList.remove("r18-mask");
  523. }
  524. });
  525. },500);
  526. }
  527. },
  528. /*{
  529. name:"樱花漫舍",
  530. url:"https://www.oomoe.org/",
  531. regex:/oomoe\./,
  532. hideOd:true,
  533. offset:55,
  534. articleSel:"section.card"
  535. },*/
  536. /*{
  537. name:"ACG和谐区/里世界/毛站",
  538. url:"http://www.uraban.me/wp/",
  539. regex:/acgzone\.org|uraban\.me/,
  540. contentArea:'article'
  541. },*/
  542. /*{
  543. name:"寂月神社",
  544. url:"http://www.jiyue.com/",
  545. regex:/(acgmoon|jiyue)\.(org|com|moe)/,
  546. offset:50,
  547. contentArea:"div.post-content",
  548. articleSel:"article",
  549. run:function(){
  550. var postContent=document.querySelector("div.post-content");
  551. if(postContent && postContent.classList.contains("hexie")){
  552. var hexieBtn=document.createElement("button");
  553. hexieBtn.id="hexieBtn";
  554. hexieBtn.type="button";
  555. hexieBtn.textContent="\u597d\u5b69\u5b50\u770b\u4e0d\u5230";
  556. hexieBtn.style.cssText="padding:4px 0;position: relative;width:120px;";
  557. hexieBtn.onclick=function(){
  558. postContent.classList.contains("hexie")?postContent.classList.remove("hexie"):postContent.classList.add("hexie");
  559. };
  560. var warn=document.querySelector("div.kinky-warning");
  561. if(warn)warn.parentNode.insertBefore(hexieBtn,warn.nextSibling);
  562. else postContent.parentNode.insertBefore(hexieBtn,postContent);
  563. }
  564. var ele,eles=document.querySelectorAll(".hexie"),i;
  565. for(i=0;i<eles.length;i++){
  566. ele=eles[i];
  567. if(!ele.classList.contains("post-content"))ele.classList.remove("hexie");
  568. }
  569. eles=document.querySelectorAll("a");
  570. for(i=0;i<eles.length;i++){
  571. ele=eles[i];
  572. if(/pan\.baidu\.com/i.test(ele.href) && /[0-9a-z]{4}/i.test(ele.innerHTML) && !/#/i.test(ele.href)){
  573. ele.href+="#"+ele.innerHTML;
  574. }
  575. }
  576. var $=unsafeWindow.jQuery;
  577. $(document).off("click", ".sora-card .__copy");
  578. $(document).on("click", ".sora-card .__copy", function() {
  579. var code = $(this).children("code").text();
  580. this.href=this.href.split("#")[0]+"#"+code;
  581. });
  582. }
  583. },*/
  584. {
  585. name:"萌幻之乡",
  586. url:"https://hmoe.top/",
  587. regex:/moe-acg\.|huan\.moe|hmoe\.moe|hmoe\d+\./,
  588. offset:55,
  589. hideOd:true,
  590. downloadUrl:/\/download/,
  591. articleSel:"section.card,article.is-type-post"
  592. },
  593. /*{
  594. name:"绅士图书馆",
  595. url:"http://htai.co/",
  596. regex:/htai\.(co|me)/,
  597. contentArea:"div.post_content",
  598. commArea:'commentlist'
  599. },*/
  600. {
  601. name:"紳士の庭",
  602. url:"https://hggard.com/",
  603. regex:/(gmgard|hggard)\.com/,
  604. articleSel:"div.post",
  605. noScale:true,
  606. run:function(){
  607. if(isHttps)addInsertHandler([["img"],[['p(:\\\/\\\/static\.hggard\.com)','ps$1']]]);
  608. curSite.preRocket=function(){unsafeWindow.$('#dllist a').mouseenter();};
  609. }
  610. },
  611. {
  612. name:"MyGalgame - 忧郁的弟弟",
  613. url:"https://okloli.com/",
  614. regex:/(mmgal|mygalgame|okloli)\.com/,
  615. articleSel:".article",
  616. commArea:'commentlist',
  617. run:function(){
  618. String.prototype.pmatch = function(reg){
  619. if(!(reg instanceof RegExp))return 0;
  620. if(!reg.global){
  621. var a = this.match(reg);
  622. return a? [a.slice(1,a.length)] : 0;
  623. }
  624. a=[];var b;
  625. while(b=reg.exec(this)){
  626. b.shift();
  627. a.push(b);
  628. }
  629. return a.length>0?a:0;
  630. }
  631. var downBtn=document.querySelector("a.hint--right");
  632. if(downBtn){
  633. var innBtn=downBtn.querySelector(".btn-danger");
  634. if(innBtn){
  635. var onclickStr=innBtn.getAttribute("onclick");
  636. if(/\.com\/go\.php\?url\=/.test(onclickStr)){
  637. innBtn.setAttribute("onclick", "");
  638. var href=onclickStr.replace(/.*\.com\/go\.php\?url\=([^']+)'.*/,"$1");
  639. downBtn.setAttribute("href", href);
  640. downBtn.setAttribute("target", "_blank")
  641. }
  642. }
  643. }
  644. var bgLi=document.createElement("li");
  645. bgLi.innerHTML="<a><i class='fa fa-star'></i>\u5f53\u524d\u80cc\u666f\u56fe\u7247</a>";
  646. var bgs=document.querySelectorAll(".cb-slideshow>li>span");
  647. bgLi.onclick=function(){
  648. for(var i=0;i<bgs.length;i++){
  649. var bg=bgs[i];
  650. if(getComputedStyle(bg).opacity>.5){
  651. var url=getComputedStyle(bg).backgroundImage.replace(/url\("?([^"]+)"?\)/,"$1");
  652. window.open(url);
  653. }
  654. }
  655. }
  656. bgLi.onmouseover=function(){
  657. bgLi.classList.add("open");
  658. }
  659. bgLi.onmouseout=function(){
  660. bgLi.classList.remove("open");
  661. }
  662. var bgUrls,sum=0,maxCss=5;
  663. var batchBg=document.createElement("ul");
  664. batchBg.classList.add("dropdown-menu");
  665. batchBg.innerHTML="<li><a href=\"javascript:void(0)\">复制当组背景图链接</a></li>";
  666. batchBg.onclick=function(e){
  667. e.stopPropagation();
  668. if(bgUrls==undefined){
  669. bgUrls="";
  670. var style=document.querySelectorAll("style");
  671. for(let j=0;j<=style.length;j++){
  672. if(style[j].innerHTML.indexOf(".cb-slideshow")!=-1){
  673. style=style[j];
  674. break;
  675. }
  676. }
  677. var curRegs=style.innerHTML.pmatch(/background\-image:\s*url\('?([^\')]+)'?\)/gi);
  678. bgUrls=curRegs.join("\n\r")+"\n\r";
  679. var rmBg=document.querySelector("div.large");
  680. if(rmBg)bgUrls+=getComputedStyle(rmBg).backgroundImage.replace(/url\("?([^"]+)"?\)/,"$1");
  681. GM_setClipboard(bgUrls);
  682. console.info(bgUrls);
  683. alert("背景图片链接复制完毕");
  684. }else{
  685. if(bgUrls!=""){
  686. GM_setClipboard(bgUrls);
  687. alert("背景图片链接复制完毕");
  688. }
  689. }
  690. }
  691. bgLi.appendChild(batchBg);
  692. document.querySelector("ul.navbar-nav").appendChild(bgLi);
  693. var comments=document.querySelector("#comments"),processing=false;
  694. if(comments)comments.addEventListener('DOMNodeInserted', function(e) {
  695. if(processing)return;
  696. processing=true;
  697. setTimeout(function(){
  698. seriousReplace(commArea);
  699. processing=false;
  700. },500);
  701. });
  702. var picTitle=document.querySelector("h1>a[href='"+location.origin+"/gengxinrizhi.html']");
  703. if(picTitle){
  704. var imgUrl=picTitle.parentNode.parentNode.parentNode.querySelector("div.img>img").src;
  705. var picBtn=document.createElement("a");
  706. picBtn.href=imgUrl;
  707. picBtn.target="_blank";
  708. picBtn.innerHTML="<span class='animated_h1'>封面图</span>";
  709. picTitle.parentNode.appendChild(picBtn);
  710. }
  711. }
  712. },
  713. /*{
  714. name:"幻天领域",
  715. url:"http://www.acgnz.cc/",
  716. regex:/acgnz\.cc/,
  717. hideOd:true,
  718. offset:55,
  719. downloadUrl:/acgnz\.cc\/download/,
  720. articleSel:"section.card",
  721. run:function(){
  722. if(isHttps)addInsertHandler([["a","img","link","script"],[['p:(\\\/\\\/|\\\\\\/\\\\\\/)(www\\\.)?acgnz','ps:$1$2acgnz']]]);
  723. }
  724. },*/
  725. /*{
  726. name:"萌心次元",
  727. url:"https://moxacg.moe/",
  728. regex:/moxacg\./,
  729. hideOd:true,
  730. offset:55,
  731. articleSel:"section.card"
  732. },*/
  733. /*{
  734. name:"轻萌社",
  735. url:"http://nacg.me/",
  736. regex:/nacg\.me/,
  737. hideOd:true,
  738. offset:65,
  739. contentArea:'.content'
  740. },*/
  741. /*{
  742. name:"次元轨迹",
  743. url:"https://www.acg44.com/",
  744. regex:/www\.(acggj|acg44)\./,
  745. downloadUrl:/com\/\?page_id=/,
  746. hideOd:true,
  747. bbs:/bbs\.acggj\./,
  748. offset:55,
  749. articleSel:"section.card",
  750. run:function(){
  751. if(isHttps){
  752. changeUrl(true,[["a","img","script","link"],[['p:(\\\/\\\/|\\\\\\/\\\\\\/)(www\\\.|bbs\\\.)?acggj','ps:$1$2acggj']]]);
  753. var baseUrl=document.querySelector('base');
  754. if(baseUrl)baseUrl.href=baseUrl.href.replace(/http:/,"https:");
  755. }
  756. }
  757. },*/
  758. {
  759. name:"萌口组",
  760. url:"http://www.kou.moe/",
  761. regex:/kou\.moe/,
  762. offset:35,
  763. articleSel:"article",
  764. contentArea:'.entry-content'
  765. },
  766. /*{
  767. name:"九妖萌",
  768. url:"http://www.91moe.com/",
  769. regex:/91moe\.com/,
  770. offset:55,
  771. hideOd:true,
  772. downloadUrl:/91moe\.com\/download/,
  773. articleSel:"section.card",
  774. contentArea:'.article_content'
  775. },*/
  776. {
  777. name:"CE家族社",
  778. url:"https://cefamilie.com/",
  779. regex:/cefamilie\.com/,
  780. articleSel:"li.post>div.thumbnail",
  781. contentArea:'#post_content',
  782. commArea:"commentlist"
  783. },
  784. /*{
  785. name:"喵窝",
  786. url:"http://yui-nya.com/",
  787. regex:/yui\-nya\.com/,
  788. articleSel:"article",
  789. contentArea:'.article-content',
  790. offset:50,
  791. commArea:"commentlist"
  792. },*/
  793. /*{
  794. name:"次元老司机",
  795. url:"http://www.l-sj.cc/",
  796. regex:/l\-sj\.cc/,
  797. articleSel:"section.card",
  798. hideOd:true,
  799. offset:55,
  800. downloadUrl:/l\-sj\.cc\/download\?id=/
  801. },*/
  802. /*{
  803. name:"绅士ACG社",
  804. url:"http://htacg.cc/",
  805. regex:/htacg\.cc/,
  806. articleSel:"section",
  807. offset:55,
  808. hideOd:true,
  809. downloadUrl:/htacg\.cc\/download\?id/
  810. },*/
  811. {
  812. name:"绅士会所",
  813. url:"https://www.hentaiclub.net/",
  814. regex:/hentaiclub\.net/,
  815. articleSel:"article",
  816. offset:20,
  817. run:function(){
  818. var dlBox=document.querySelector("#dl-box");
  819. if(dlBox)document.querySelector("#dl-box").style.display="block";
  820. }
  821. },
  822. /*{
  823. name:"绅士交易",
  824. url:"https://www.acgpy.net/wpx/",
  825. regex:/acgpy\./,
  826. offset:45,
  827. hideOd:true,
  828. run:function(){
  829. if(/www\.acgpy\.[^\.]+\/login\d+\./.test(location.href)){
  830. var date=new Date();
  831. date.setTime(date.getTime()+14400*60*1000);
  832. document.cookie="trade"+location.href.replace(/.*.[^\.]+\/login(\d+)\..+/,"$1")+"=A32; expires="+date.toGMTString();
  833. //document.cookie="trade0421=A32; expires="+date.toGMTString();
  834. top.location='wpx';
  835. }
  836. var downBtn=document.querySelector("a.downbtn");
  837. if(downBtn){
  838. GM_xmlhttpRequest({
  839. method: 'GET',
  840. url: downBtn.href,
  841. onload: function(d) {
  842. var doc = null;
  843. try {
  844. doc = document.implementation.createHTMLDocument('');
  845. doc.documentElement.innerHTML = d.responseText;
  846. }
  847. catch (e) {
  848. console.log('parse error');
  849. }
  850. if (!doc) {
  851. return;
  852. }
  853. downBtn.parentNode.insertBefore(doc.querySelector("div.list"),downBtn);
  854. process();
  855. },
  856. onerror: function(e) {
  857. console.log(e);
  858. }
  859. });
  860. }
  861. }
  862. },*/
  863. /*{
  864. name:"纯爱计划",
  865. url:"https://sexacg.com/",
  866. regex:/sexacg\./,
  867. contentArea:'article',
  868. commArea:'su-quote-inner'
  869. },*/
  870. /*{
  871. name:"梦幻二次元",
  872. url:"http://www.mhecy.com/",
  873. regex:/mhecy\./,
  874. downloadUrl:/www\.mhecy\.com\/\?download\?id=/,
  875. hideOd:true,
  876. offset:55,
  877. articleSel:"section.card"
  878. },*/
  879. /*{
  880. name:"里次元",
  881. url:"http://loli.cool/",
  882. regex:/loli\.cool/,
  883. hideOd:true,
  884. offset:55,
  885. articleSel:"article.post",
  886. },*/
  887. /*{
  888. name:"玖爱萌",
  889. url:"https://9iacg.com/",
  890. regex:/9iacg\./,
  891. hideOd:true,
  892. offset:55,
  893. articleSel:"article.card",
  894. },*/
  895. /*{
  896. name:"好萌",
  897. url:"https://www.nicemoe.com/",
  898. regex:/nicemoe\./,
  899. hideOd:true,
  900. offset:55,
  901. downloadUrl:/\/\?download\?id=/,
  902. articleSel:"section.card"
  903. },*/
  904. {
  905. name:"爱恋动漫",
  906. url:"http://kisssub.org/",
  907. regex:/kisssub\./,
  908. run:function(){
  909. var acgscript_config = { "miobt": { "4": { "api_url": "http://v2.uploadbt.com" } } };
  910. (function($) {
  911. if (acgscript_config['miobt']['4']['loaded']) { return false; }
  912. acgscript_config['miobt']['4']['loaded'] = true;
  913. var log_name = 'bt_download';
  914. console.log([log_name, { 'loaded': acgscript_config['miobt']['4']['loaded'], 'api_url': acgscript_config['miobt']['4']['api_url'], 'mika_mode': Config['mika_mode']['enabled'], 'in_script': Config['in_script'], 'platform': Config['user_script']['platform'] }]);
  915. if (!Config['mika_mode']['enabled']) { return false; }
  916. if (Config['in_script'] !== 'show') { return false; }
  917. if (!$('#box_download')) { return false; }
  918. var api_url = acgscript_config['miobt']['4']['api_url'];
  919. var torrent_url = { "lite": api_url + '/?r=down&hash=' + Config['hash_id'], 'full': api_url + '/?r=down&hash=' + Config['hash_id'] + '&name=' + Config['down_torrent_format'].replace('%s', Config['bt_data_title']) };
  920. var magnet_url = { 'lite': 'magnet:?xt=urn:btih:' + Config['hash_id'], 'full': 'magnet:?xt=urn:btih:' + Config['hash_id'] + '&tr=' + Config['announce'] };
  921. if (Config['user_script']['platform'] == 'desktop') { $('#box_download h2.title').text('下载地址');
  922. $('#magnet').attr('href', magnet_url.full).text('磁链下载');
  923. $('#download').attr('href', torrent_url.full).text('种子下载');
  924. $('#qrcode_magnet').removeAttr('href').text('磁链扫码');
  925. $('#qrcode_download').removeAttr('href').text('种子扫码');
  926. $('#qrcode_magnet_enlarged').attr('qr_content', magnet_url.full);
  927. $('#qrcode_download_enlarged').attr('qr_content', torrent_url.lite); var register_qrcode_event = function(sel, sel_enlarged) { $(sel).click(function() { $('.qrcode_enlarged').html('').hide();
  928. $(sel_enlarged).qrcode({ render: "canvas", size: 256, fill: '#0480BE', background: '#FFF', quiet: 1, mode: 2, minVersion: 10, label: $(sel_enlarged).attr('qr_label'), fontname: '"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif', fontcolor: 'darkorange', text: $(sel_enlarged).attr('qr_content') });
  929. $(sel_enlarged).fadeIn(200); });
  930. $(sel_enlarged).click(function() { $(this).hide(); }); };
  931. $(document).ready(function() { register_qrcode_event('#qrcode_magnet', '#qrcode_magnet_enlarged');
  932. register_qrcode_event('#qrcode_download', '#qrcode_download_enlarged'); }); } else if (Config['user_script']['platform'] == 'mobile') { $('#torrent_url').attr('href', torrent_url.full).text('种子下载').click(function() { return (prompt('确认下载该种子', torrent_url.full) ? true : false); });
  933. $('#magnet_url').attr('href', magnet_url.full).text('磁力下载').click(function() { return (prompt('确认下载磁链', magnet_url.full) ? true : false); }); } else { return false; }
  934. })(unsafeWindow.jQuery);
  935. }
  936. },
  937. {
  938. name:"MioBT",
  939. url:"http://miobt.com/",
  940. regex:/miobt\./,
  941. run:function(){
  942. var acgscript_config = { "miobt": { "4": { "api_url": "http://v2.uploadbt.com" } } };
  943. (function($) {
  944. if (acgscript_config['miobt']['4']['loaded']) { return false; }
  945. acgscript_config['miobt']['4']['loaded'] = true;
  946. var log_name = 'bt_download';
  947. console.log([log_name, { 'loaded': acgscript_config['miobt']['4']['loaded'], 'api_url': acgscript_config['miobt']['4']['api_url'], 'mika_mode': Config['mika_mode']['enabled'], 'in_script': Config['in_script'], 'platform': Config['user_script']['platform'] }]);
  948. if (!Config['mika_mode']['enabled']) { return false; }
  949. if (Config['in_script'] !== 'show') { return false; }
  950. if (!$('#box_download')) { return false; }
  951. var api_url = acgscript_config['miobt']['4']['api_url'];
  952. var torrent_url = { "lite": api_url + '/?r=down&hash=' + Config['hash_id'], 'full': api_url + '/?r=down&hash=' + Config['hash_id'] + '&name=' + Config['down_torrent_format'].replace('%s', Config['bt_data_title']) };
  953. var magnet_url = { 'lite': 'magnet:?xt=urn:btih:' + Config['hash_id'], 'full': 'magnet:?xt=urn:btih:' + Config['hash_id'] + '&tr=' + Config['announce'] };
  954. if (Config['user_script']['platform'] == 'desktop') { $('#box_download h2.title').text('下载地址');
  955. $('#magnet').attr('href', magnet_url.full).text('磁链下载');
  956. $('#download').attr('href', torrent_url.full).text('种子下载');
  957. $('#qrcode_magnet').removeAttr('href').text('磁链扫码');
  958. $('#qrcode_download').removeAttr('href').text('种子扫码');
  959. $('#qrcode_magnet_enlarged').attr('qr_content', magnet_url.full);
  960. $('#qrcode_download_enlarged').attr('qr_content', torrent_url.lite); var register_qrcode_event = function(sel, sel_enlarged) { $(sel).click(function() { $('.qrcode_enlarged').html('').hide();
  961. $(sel_enlarged).qrcode({ render: "canvas", size: 256, fill: '#0480BE', background: '#FFF', quiet: 1, mode: 2, minVersion: 10, label: $(sel_enlarged).attr('qr_label'), fontname: '"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif', fontcolor: 'darkorange', text: $(sel_enlarged).attr('qr_content') });
  962. $(sel_enlarged).fadeIn(200); });
  963. $(sel_enlarged).click(function() { $(this).hide(); }); };
  964. $(document).ready(function() { register_qrcode_event('#qrcode_magnet', '#qrcode_magnet_enlarged');
  965. register_qrcode_event('#qrcode_download', '#qrcode_download_enlarged'); }); } else if (Config['user_script']['platform'] == 'mobile') { $('#torrent_url').attr('href', torrent_url.full).text('种子下载').click(function() { return (prompt('确认下载该种子', torrent_url.full) ? true : false); });
  966. $('#magnet_url').attr('href', magnet_url.full).text('磁力下载').click(function() { return (prompt('确认下载磁链', magnet_url.full) ? true : false); }); } else { return false; }
  967. })(unsafeWindow.jQuery);
  968. }
  969. },
  970. {
  971. name:"漫猫",
  972. url:"http://comicat.org/",
  973. regex:/comicat\./,
  974. run:function(){
  975. (function($) {
  976. var acgscript_config = {
  977. "miobt": {
  978. "4": {
  979. "api_url": "http://v2.uploadbt.com",
  980. "source": "cdn.acgscript.com"
  981. }
  982. }
  983. };
  984. if (acgscript_config['miobt']['4']['loaded']) {
  985. return false;
  986. }
  987. acgscript_config['miobt']['4']['loaded'] = true;
  988. var log_name = 'acgscript/miobt/bt_download';
  989. console.log([log_name, {
  990. 'source': acgscript_config['miobt']['4']['source'],
  991. 'loaded': acgscript_config['miobt']['4']['loaded'],
  992. 'api_url': acgscript_config['miobt']['4']['api_url'],
  993. 'mika_mode': Config['mika_mode']['enabled'],
  994. 'in_script': Config['in_script'],
  995. 'platform': Config['user_script']['platform']
  996. }]);
  997. if (!Config['mika_mode']['enabled']) {
  998. return false;
  999. }
  1000. if (Config['in_script'] !== 'show') {
  1001. return false;
  1002. }
  1003. if (!$('#box_download')) {
  1004. return false;
  1005. }
  1006. var api_url = acgscript_config['miobt']['4']['api_url'];
  1007. var torrent_url = {
  1008. "lite": api_url + '/?r=down&hash=' + Config['hash_id'],
  1009. 'full': api_url + '/?r=down&hash=' + Config['hash_id'] + '&name=' + Config['down_torrent_format'].replace('%s', Config['bt_data_title'])
  1010. };
  1011. var magnet_url = {
  1012. 'lite': 'magnet:?xt=urn:btih:' + Config['hash_id'],
  1013. 'full': 'magnet:?xt=urn:btih:' + Config['hash_id'] + '&tr=' + Config['announce']
  1014. };
  1015. if (Config['user_script']['platform'] == 'desktop') {
  1016. $('#box_download h2.title').text('下载地址');
  1017. $('#magnet').attr('href', magnet_url.full).text('磁链下载');
  1018. $('#download').attr('href', torrent_url.full).text('种子下载');
  1019. $('#qrcode_magnet').removeAttr('href').text('磁链扫码');
  1020. $('#qrcode_download').removeAttr('href').text('种子扫码');
  1021. $('#qrcode_magnet_enlarged').attr('qr_content', magnet_url.full);
  1022. $('#qrcode_download_enlarged').attr('qr_content', torrent_url.lite);
  1023. var register_qrcode_event = function(sel, sel_enlarged) {
  1024. $(sel).click(function() {
  1025. $('.qrcode_enlarged').html('').hide();
  1026. $(sel_enlarged).qrcode({
  1027. render: "canvas",
  1028. size: 256,
  1029. fill: '#0480BE',
  1030. background: '#FFF',
  1031. quiet: 1,
  1032. mode: 2,
  1033. minVersion: 10,
  1034. label: $(sel_enlarged).attr('qr_label'),
  1035. fontname: '"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif',
  1036. fontcolor: 'darkorange',
  1037. text: $(sel_enlarged).attr('qr_content')
  1038. });
  1039. $(sel_enlarged).fadeIn(200);
  1040. });
  1041. $(sel_enlarged).click(function() {
  1042. $(this).hide();
  1043. });
  1044. };
  1045. $(document).ready(function() {
  1046. register_qrcode_event('#qrcode_magnet', '#qrcode_magnet_enlarged');
  1047. register_qrcode_event('#qrcode_download', '#qrcode_download_enlarged');
  1048. });
  1049. } else if (Config['user_script']['platform'] == 'mobile') {
  1050. $('#torrent_url').attr('href', torrent_url.full).text('种子下载').click(function() {
  1051. return (prompt('确认下载该种子', torrent_url.full) ? true : false);
  1052. });
  1053. $('#magnet_url').attr('href', magnet_url.full).text('磁力下载').click(function() {
  1054. return (prompt('确认下载磁链', magnet_url.full) ? true : false);
  1055. });
  1056. } else {
  1057. return false;
  1058. }
  1059. })(unsafeWindow.jQuery);
  1060. }
  1061. }
  1062. /*{
  1063. name:"Reddit",
  1064. url:"https://www.reddit.com/r/SwitchNSPs",
  1065. regex:/reddit\.com/,
  1066. hideOd:true,
  1067. run:function(){
  1068. function decodeBase64(){
  1069. window.setTimeout(function(){
  1070. var article=document.querySelector("[data-test-id=post-content]");
  1071. if(!article)return;
  1072. var a=article.innerHTML.match(/[\da-z\/\+\=]{50,}/i);
  1073. if(!a || a.length<1)return;
  1074. article.innerHTML=article.innerHTML.replace(/[\da-z\/\+\=]{50,}/i,"<pre>"+CryptoJS.enc.Base64.parse(a[0]).toString(CryptoJS.enc.Utf8)+"</pre>");
  1075. },3000);
  1076. }
  1077. decodeBase64();
  1078. var _wr = function(type) {
  1079. var orig = history[type];
  1080. return function() {
  1081. var rv = orig.apply(this, arguments);
  1082. var e = new Event(type);
  1083. e.arguments = arguments;
  1084. window.dispatchEvent(e);
  1085. return rv;
  1086. };
  1087. };
  1088. history.pushState = _wr('pushState');
  1089. history.replaceState = _wr('replaceState');
  1090. window.addEventListener('replaceState', function(e) {
  1091. decodeBase64();
  1092. });
  1093. window.addEventListener('pushState', function(e) {
  1094. decodeBase64();
  1095. });
  1096. }
  1097. }*/
  1098. /*{
  1099. name:"咻咻动漫",
  1100. url:"http://www.xiu.moe/",
  1101. regex:/xiu\.moe|cld1\.net/,
  1102. contentArea:'#post-content',
  1103. commArea:'commentlist',
  1104. offset:55,
  1105. articleSel:"article,.article-link>li"
  1106. }*/
  1107. ],
  1108. rocketReg:/magnet:\?xt|pan\.baidu\.com\/s|yunpan\.cn|howfile\.com\/file|mega\.|ed2k:\/\/\|file|bt\.cosxcos\.com\/view|du\.acgget\.com\/go\/|\.mediafire\.com\/download\/|\.torrent$/,
  1109. disableSites:/hacg.*about\.html/,
  1110. imgRegs:[[/^(?:https:)?(\/\/img\.2dfan|www\.moxtu\.cc|(?:pic|tc)\.(?:ffsky|rpgsky)|\/\/i\.tianshi\.info)/,'http:$1'],[/http(:\/\/(?:[^\.]*\.)?loli\.io)/,'https$1'],[/^https:\/\/galacg.me/,'https://www.galacg.me/'],[/^http:\/\/www\.moepicx\.cc/,'https://www.moepicx.cc']]
  1111. };
  1112. /*if (!Array.prototype.findSite) {
  1113. Array.prototype.findSite = function (siteName) {
  1114. var arr = this;
  1115. for (var i = 0, length = arr.length; i < length; i++) {
  1116. if (arr[i].name == siteName) {
  1117. return arr[i];
  1118. }
  1119. }
  1120. };
  1121. }*/
  1122.  
  1123. var t, curSite, curArticle, siteListHtml;
  1124. var originTitile = document.title;
  1125. var isHttps=location.protocol=="https:";
  1126. var head=document.getElementsByTagName("head")[0];
  1127. if(isHttps){
  1128. /*var refMeta = document.createElement('meta');
  1129. refMeta.name = 'referrer';
  1130. refMeta.content = 'always';
  1131. head.appendChild(refMeta);*/
  1132. }else{
  1133. if(document.title=="Service Unavailable - Connection Error"){
  1134. location.href=location.href.replace(/^http:/,"https:");
  1135. }
  1136. }
  1137. for(var site of config.sites){
  1138. if(site.regex.test(location.hostname)){
  1139. curSite=site;
  1140. break;
  1141. }
  1142. }
  1143. var contentArea=curSite&&curSite.contentArea?curSite.contentArea:'.entry-content',commArea=curSite&&curSite.commArea?curSite.commArea:"comment-content",articleSel=curSite&&curSite.articleSel?curSite.articleSel:"article";
  1144.  
  1145. if(/(sleaz|greas)yfork\.org/.test(location.hostname)){
  1146. if(/scripts\/23316/.test(location.href)){
  1147. let pos=elementPosition(document.querySelector("#additional-info>div.script-author-description>h2")).y;
  1148. scrollTo(0,pos);
  1149. }else if(/discussion/.test(location.href)){
  1150. var goodBtn=document.querySelector("#Form_Rating3");
  1151. var okBtn=document.querySelector("#Form_Rating2");
  1152. var badBtn=document.querySelector("#Form_Rating1");
  1153. if(goodBtn){
  1154. var scriptID=document.querySelector("input[name=ScriptID]");
  1155. var about=document.querySelector("#Content>div.MessageList.Discussion>span>a");
  1156. if((scriptID && scriptID.value=="23316") || (about && about.getAttribute("href")=="/scripts/23316")){
  1157. var actionBtn=document.querySelector("input.Primary")||document.querySelector("#Form_Save");
  1158. actionBtn.onclick=function(){
  1159. var discussTitle=document.querySelector("#Form_Name");
  1160. var discussBody=document.querySelector("#Form_Body");
  1161. if(goodBtn.checked==false && ((discussTitle && /声音|语音/.test(discussTitle.value)) || (discussBody && /声音|语音/.test(discussBody.value)))){
  1162. if(window.confirm("\u8f93\u5165\u0068\u0061\u007a\u0075\u006b\u0061\u0073\u0068\u0069\u0069\u5c31\u80fd\u5207\u6362\u8bed\u97f3\uff0c\u8be6\u89c1\u8bf4\u660e\u9875\uff0c\u662f\u5426\u7ed9\u4e2a\u597d\u8bc4\uff1f")){
  1163. goodBtn.checked=true;
  1164. }
  1165. }
  1166. };
  1167. }
  1168. }
  1169. }else{
  1170. if(document.body.innerHTML.indexOf("\u7409\u7483\u795e\u793e")!=-1){
  1171. var installLink=document.querySelector("a.install-link");
  1172. if(installLink){
  1173. installLink.onclick=function(){
  1174. if(window.confirm('\u8be5\u811a\u672c\u53ef\u80fd\u4e0e\u0020\u2605\u7409\u795e\u8f6c\u2605\u0020\u4e0d\u517c\u5bb9\u54e6\uff0c\u662f\u5426\u53d6\u6d88\u5b89\u88c5\uff1f')){
  1175. return false;
  1176. }else{
  1177. return true;
  1178. }
  1179. };
  1180. }
  1181. }
  1182. }
  1183. return;
  1184. }else if(location.hostname=="pan.baidu.com"){
  1185. var submitBtn=document.querySelector('.g-button,#submitBtn');
  1186. if(location.hash.slice(1) && submitBtn){
  1187. document.querySelector(".pickpw input,#accessCode").value=decodeURI(location.hash.slice(1).split("?")[0]);
  1188. submitBtn.click();
  1189. }
  1190. return;
  1191. }else if(config.disableSites.test(location.href)){
  1192. return;
  1193. }else if(curSite){
  1194. if(curSite.run)curSite.run();
  1195. }
  1196.  
  1197. if(curSite && curSite.downloadUrl && curSite.downloadUrl.test(location.href)){
  1198. if(!curSite.getDownPass){
  1199. curSite.getDownPass=function(target){
  1200. var pass=target.parentNode.parentNode.parentNode.querySelector('input.form-control');
  1201. if(pass)target.href=target.href.split("#")[0]+'#'+pass.value;
  1202. };
  1203. }
  1204. t=window.setInterval(function(){
  1205. if(document.querySelector('.btn-success')){
  1206. clearInterval(t);
  1207. process();
  1208. }
  1209. },1000);
  1210. }else{
  1211. process();
  1212. }
  1213.  
  1214. var hideNode=document.createElement("style");
  1215. hideNode.id="hideNode";
  1216. hideNode.innerHTML="img{display:none!important}";
  1217. if(GM_getValue("hacgGodeTurnHideImg")){
  1218. head.appendChild(hideNode);
  1219. }
  1220. document.addEventListener("keydown", function(e) {
  1221. if(curArticle && e.keyCode != 17)curArticle.classList.remove("oD_sel");
  1222. if(e.keyCode == 119) {
  1223. if(e.altKey){
  1224. rocketContent.style.display="block";
  1225. var rocketLinks=document.querySelector("div#rocketLinks");
  1226. if(!siteListHtml){
  1227. siteListHtml="";
  1228. for(var i=0;i<config.sites.length;i++){
  1229. var site=config.sites[i];
  1230. siteListHtml+="<span style='font-weight:bold;color:red;'>"+(i+1)+":\t</span>"+"<a href="+site.url+">"+site.name+"</a><br/>";
  1231. }
  1232. }
  1233. rocketLinks.innerHTML=siteListHtml;
  1234. }else if(e.ctrlKey){
  1235. launchRocket();
  1236. }else{
  1237. var i=0;
  1238. if(curSite)i=config.sites.indexOf(curSite);
  1239. if(e.shiftKey) i=i===0?(config.sites.length-1):(i-1);
  1240. else i=i==(config.sites.length-1)?0:(i+1);
  1241. location.href = config.sites[i].url;
  1242. }
  1243. return false;
  1244. }else{
  1245. if(e.keyCode>36 && e.keyCode<41 && !e.shiftKey && !e.altKey){
  1246. if(/INPUT|TEXTAREA/.test(document.activeElement.tagName))return;
  1247. var article, isFind, index, articles=document.querySelectorAll(articleSel);
  1248. var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
  1249. if(e.keyCode==39){
  1250. if(e.ctrlKey){
  1251. var next=getPage().next;
  1252. if(next)next.click();
  1253. }else{
  1254. isFind = false;
  1255. if(curArticle){
  1256. index=Array.prototype.indexOf.call(articles, curArticle)+1;
  1257. if(index<articles.length){
  1258. scrollArticle(articles[index]);
  1259. isFind = true;
  1260. }
  1261. }else{
  1262. for(let i=0,j=articles.length;i<j;i++){
  1263. article=articles[i];
  1264. if(elementPosition(article).y>scrollTop+50){
  1265. scrollArticle(article);
  1266. isFind = true;
  1267. break;
  1268. }
  1269. }
  1270. }
  1271. if(!isFind){
  1272. curArticle=null;
  1273. scrollTo(0,document.body.scrollHeight);
  1274. }
  1275. }
  1276. }else if(e.keyCode==37){
  1277. if(e.ctrlKey){
  1278. var pre=getPage().pre;
  1279. if(pre)pre.click();
  1280. }else{
  1281. isFind = false;
  1282. if(curArticle){
  1283. index=Array.prototype.indexOf.call(articles, curArticle)-1;
  1284. if(index>=0){
  1285. scrollArticle(articles[index]);
  1286. isFind = true;
  1287. }
  1288. }else{
  1289. for(let i=0,j=articles.length;i<j;i++){
  1290. article=articles[j-i-1];
  1291. if(elementPosition(article).y<scrollTop-50){
  1292. scrollArticle(article);
  1293. isFind = true;
  1294. break;
  1295. }
  1296. }
  1297. }
  1298. if(!isFind){
  1299. curArticle=null;
  1300. scrollTo(0,0);
  1301. }
  1302. }
  1303. }else if(e.ctrlKey && e.keyCode==38){
  1304. history.go(-1);
  1305. return false;
  1306. }else if(e.ctrlKey && e.keyCode==40){
  1307. if(curArticle){
  1308. let aLink=curArticle.querySelector("a:not(.label)");
  1309. if(aLink){
  1310. aLink.click();
  1311. return false;
  1312. }else if(curArticle.parentNode && curArticle.parentNode.tagName=="A"){
  1313. curArticle.parentNode.click();
  1314. return false;
  1315. }
  1316. }else{
  1317. let dis;
  1318. for(let i=0,j=articles.length;i<j;i++){
  1319. article=articles[i];
  1320. dis=elementPosition(article).y - scrollTop;
  1321. if(dis > -50 && dis < 50){
  1322. let aLink=article.querySelector("a:not(.label)");
  1323. if(aLink){
  1324. aLink.click();
  1325. return false;
  1326. }else if(article.parentNode && article.parentNode.tagName=="A"){
  1327. article.parentNode.click();
  1328. return false;
  1329. }
  1330. break;
  1331. }
  1332. }
  1333. }
  1334. }
  1335. }else if(e.keyCode != 17){
  1336. if(e.ctrlKey && e.keyCode==90){
  1337. if(hideNode.parentNode){
  1338. head.removeChild(hideNode);
  1339. GM_setValue("hacgGodeTurnHideImg",false);
  1340. }else{
  1341. head.appendChild(hideNode);
  1342. GM_setValue("hacgGodeTurnHideImg",true);
  1343. }
  1344. }
  1345. curArticle=null;
  1346. }
  1347. }
  1348. });
  1349. var mousewheelEvent=navigator.userAgent.toLowerCase().indexOf('firefox')==-1?"mousewheel":"DOMMouseScroll";
  1350. document.addEventListener(mousewheelEvent,function(e){
  1351. if(curArticle)curArticle.classList.remove("oD_sel");
  1352. });
  1353. document.addEventListener("copy", function(e) {
  1354. var copyData=document.getSelection().toString();
  1355. if(copyData && oD_text){
  1356. oD_text.value=copyData;
  1357. }
  1358. });
  1359.  
  1360. head.appendChild(nod);
  1361. var rocketContent=document.createElement("div");
  1362. document.body.appendChild(rocketContent);
  1363. rocketContent.outerHTML=rocketStr;
  1364. rocketContent=document.querySelector("#rocketContent");
  1365. document.querySelector("#rocketQuit").onclick=function (){
  1366. rocketContent.style.display="none";
  1367. };
  1368. document.querySelector("#rocketContent>div").onclick=function (){
  1369. rocketContent.style.display="none";
  1370. };
  1371. document.addEventListener("keydown", function(e) {
  1372. if(e.keyCode == 27) {
  1373. rocketContent.style.display="none";
  1374. }
  1375. });
  1376. setTimeout(function(){
  1377. if(document.querySelectorAll("#oD_box").length > 1){
  1378. alert("\u68c0\u6d4b\u5230\u0049\u0044\u51b2\u7a81\uff0c\u7409\u795e\u8f6c\u811a\u672c\u5c06\u65e0\u6cd5\u6b63\u5e38\u5de5\u4f5c\uff01\u8bf7\u68c0\u67e5\u662f\u5426\u5b58\u5728\u91cd\u590d\u6216\u540c\u7c7b\u811a\u672c");
  1379. }
  1380. },500);
  1381. var oD_box,oD_text,oD_button;
  1382. if((!curSite || !curSite.hideOd) && !frameElement){
  1383. oD_box=document.createElement("div");
  1384. oD_box.id="oD_box";
  1385. oD_box.className = "oD_box";
  1386. oD_box.onmouseover = function(e) {
  1387. oD_link.style.visibility = "visible";
  1388. oD_link2.style.visibility = "visible";
  1389. rocketBtn.style.visibility = "visible";
  1390. };
  1391. oD_box.onmouseout = function(e) {
  1392. oD_link.style.visibility = "hidden";
  1393. oD_link2.style.visibility = "hidden";
  1394. rocketBtn.style.visibility = "hidden";
  1395. };
  1396. oD_text=document.createElement("input");
  1397. oD_text.type="text";
  1398. oD_text.style.cssText="width:248px;height:33px;position:relative;margin-top:0px;padding:0px;box-sizing:border-box;z-index:0";
  1399. oD_text.placeholder="输入hash值、网盘地址或Base64密文";
  1400. oD_text.title='将自动添加"magnet:?xt=urn:btih:"并去除非法字符';
  1401. oD_button=document.createElement("button");
  1402. oD_button.type="button";
  1403. oD_button.textContent="开车";
  1404. oD_button.style.cssText="padding:4px 0;position: absolute;top:-1px;right:0px;width:40px;height:35px";
  1405. oD_button.onclick=function (){
  1406. oD_link.textContent=oD_link2.textContent=oD_link3.textContent="";
  1407. var oD_hash=oD_text.value,url;
  1408. if(oD_hash===""){
  1409. alert("请输入hash值、网盘或Base64密文");
  1410. }else if(/\b1[0-9a-z]{6,7}(\b|$)/i.test(oD_hash)){
  1411. var panMatch=oD_hash.match(/\b1[0-9a-z]{6,7}/i);
  1412. var ecode=oD_hash.trim();
  1413. url="https://pan.baidu.com/s/"+panMatch;
  1414. var shortMatch=/\b1[0-9a-z]{6,7}\s*([0-9a-z!]{4}|[^\s,,::]{2,4})(\b|$)/i.exec(ecode);
  1415. if(shortMatch){
  1416. url+="#"+shortMatch[1];
  1417. }else{
  1418. ecode=simpleRule.test(ecode)?ecode.match(simpleRule)[1]:codeRule.test(ecode)?ecode.match(codeRule)[1]:"";
  1419. if(ecode)url+="#"+ecode;
  1420. }
  1421. window.open(url);
  1422. }else if(/^\s*(https|ftp)?:\/\//.test(oD_hash)){
  1423. url=oD_hash.replace(/[^a-z0-9:\/%\?&\._\-\+\*]/gi,"");
  1424. window.open(url);
  1425. }else if(/^\d{8}$/.test(oD_hash)){
  1426. url="https://www.pixiv.net/member_illust.php?mode=medium&illust_id="+oD_hash;
  1427. window.open(url);
  1428. }else{
  1429. oD_hash=oD_hash.replace(/(\[.*\])|[\W_]/g,"");
  1430. if(!regObj.btih.test(oD_hash)){
  1431. if(/^[\da-z\/\+\=]+$/i.test(oD_hash)){
  1432. try{
  1433. GM_setClipboard(CryptoJS.enc.Base64.parse(oD_hash).toString(CryptoJS.enc.Utf8));
  1434. alert("Base64解密结果已复制");
  1435. }catch(e){
  1436. alert(e+" 格式错误");
  1437. }
  1438. }else
  1439. alert("hash值格式错误");
  1440. }else{
  1441. oD_link.href="magnet:?xt=urn:btih:"+oD_hash;
  1442. oD_link.textContent="磁链";
  1443. oD_link2.href="http://www.torrent.org.cn/home/convert/magnet2torrent.html?hash="+oD_hash;
  1444. oD_link2.textContent="种子";
  1445. oD_link2.style.cssText="margin-left:20px";
  1446. oD_link3.href="https://btso.pw/magnet/detail/hash/"+oD_hash;
  1447. oD_link3.textContent="详情";
  1448. oD_link3.style.cssText="margin-left:20px";
  1449. }
  1450. }
  1451. };
  1452. var oD_link=document.createElement("a");
  1453. var oD_link2=document.createElement("a");
  1454. var oD_link3=document.createElement("a");
  1455. oD_link2.target=oD_link3.target="_blank";
  1456. oD_box.appendChild(oD_text);
  1457. oD_box.appendChild(oD_button);
  1458. oD_box.appendChild(document.createElement('br'));
  1459. oD_box.appendChild(oD_link);
  1460. oD_box.appendChild(oD_link2);
  1461. oD_box.appendChild(oD_link3);
  1462. var rocketBtn=document.createElement("button");
  1463. rocketBtn.id="rocketBtn";
  1464. rocketBtn.type="button";
  1465. rocketBtn.textContent="\u706b\u7bad";
  1466. rocketBtn.style.cssText="padding:4px 0;position:absolute;top:-36px;right:0px;width:40px;height:35px;visibility:hidden";
  1467. var preImgData="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAgVBMVEUAAADDKkPPN1HLM02+Iz3PPFbUQFrDK0XcR2LTOlXUO1bJL0rGLkjHN1DXSmPRRl/DLUfHM0zOOVPaSGPCK0TIMUrdRmHIMEm/JT/DK0bHLki7ITvdRWHHLUe+IzzYPVm+JD7OR17KQVnRTGTJO1TXVGvRSmLKPlfFNE3LP1fHNk/FsIf5AAAAIXRSTlMAdQwGysW4l35hRDss/vj45uXe2MCzoZ6TjIBLSkQxKxaE9dxlAAAAZ0lEQVQI152LVw6AIBAFAXvvvSPY7n9AcTUGf52PncxLFv2k/RTJTTmHhMtt+ZzrNnnK1pZZsAS6pYh04ulFuwaS7ZTSla3iFvCBPcYMt6sjdrgwOOGGhRRjqxAwphhcquihvwUt0Zy1HgdDH4CNEQAAAABJRU5ErkJggg==";
  1468. rocketBtn.onclick=function (){
  1469. launchRocket();
  1470. };
  1471. oD_box.appendChild(rocketBtn);
  1472. document.body.appendChild(oD_box);
  1473. }
  1474.  
  1475. function launchRocket(){
  1476. if(!rocketBtn)return;
  1477. if(curSite.preRocket){
  1478. curSite.preRocket();
  1479. }
  1480. rocketContent.style.display="block";
  1481. var links=document.querySelectorAll("a");
  1482. var rocketLinks=document.querySelector("div#rocketLinks");
  1483. rocketLinks.innerHTML="";
  1484. var i=0;
  1485. for(let j=0;j<links.length;j++){
  1486. let link=links[j];
  1487. if(config.rocketReg.test(link.href)&&link.className.indexOf("whx-a")==-1){
  1488. if(rocketLinks.innerHTML.indexOf(link.outerHTML)!=-1 || window.getComputedStyle(link).display=="none" || (link.firstElementChild&&window.getComputedStyle(link.firstElementChild).display=="none"))continue;
  1489. rocketLinks.innerHTML+="<a id='rocketBack' style='font-weight:bold;color:red;' href='javascript:void(0)'>"+(++i)+"<img src='"+preImgData+"'></a>: ";
  1490. rocketLinks.appendChild(link.cloneNode(true));
  1491. rocketLinks.innerHTML+="<br/>";
  1492. }
  1493. }
  1494. var backs=document.querySelectorAll("div#rocketLinks>#rocketBack");
  1495. for(i=0;i<backs.length;i++){
  1496. let back=backs[i];
  1497. back.onclick=function(){
  1498. let target=document.querySelector("[href='"+back.nextSibling.nextSibling.getAttribute("href")+"']");
  1499. let pos=elementPosition(target).y;
  1500. if(curSite && curSite.offset)pos-=curSite.offset;
  1501. scrollToControl(pos);
  1502. rocketContent.style.display="none";
  1503. };
  1504. }
  1505. if(rocketLinks.innerHTML===""){
  1506. rocketLinks.innerHTML="No links found!";
  1507. }
  1508. }
  1509.  
  1510. function process(){
  1511. var downloadBtn;
  1512. if(isHttps && (downloadBtn=document.querySelector("div#post-toolbar-download-count-container"))){
  1513. var t=function(){
  1514. if(downloadBtn.innerHTML=="<!-- react-empty: 1 -->"){
  1515. var downloadContent=document.createElement("a");
  1516. downloadContent.href=window.location.protocol+"//"+window.location.host+"/download?id="+window.location.pathname.split("/").pop();
  1517. downloadContent.innerHTML+='<div class="tx"><span><i class="fa fa-cloud-download"></i></span>\u4e0b\u8f7d</div>';
  1518. downloadBtn.appendChild(downloadContent);
  1519. }else if(downloadBtn.innerHTML===""){
  1520. setTimeout(t,100);
  1521. }
  1522. };
  1523. setTimeout(t,100);
  1524. }
  1525. var content=document.querySelector(contentArea);
  1526. if(content){
  1527. processObj(content);
  1528. }
  1529. var link, imgs, i, k;
  1530. setTimeout(function(){
  1531. if (document.querySelectorAll) {
  1532. link = document.querySelectorAll('a');
  1533. imgs = document.querySelectorAll('img');
  1534. } else {
  1535. link = document.getElementsByTagName('a');
  1536. imgs = document.getElementsByTagName('img');
  1537. }
  1538. for (i = 0, k = link.length; i < k; i++) {
  1539. let target=link[i];
  1540. target.addEventListener("mousedown", function(){
  1541. if(/baidu.com/i.test(target.href)&&!/(?:eyun|tieba)\.baidu\.com/i.test(target.href)&&!/#/i.test(target.href)){
  1542. if(/\/storage-download/.test(location.href)){
  1543. var pass=target.parentNode.parentNode.querySelector('input.pwd');
  1544. if(pass&&pass.id.indexOf("download-pwd")!=-1)target.href=target.href.split("#")[0]+'#'+pass.value;
  1545. } else if(curSite.downloadUrl && curSite.downloadUrl.test(location.href) && curSite.getDownPass){
  1546. curSite.getDownPass(target);
  1547. } else if(codeRule.test(target.textContent)){
  1548. target.href+='#'+extCode(target);
  1549. } else if(/^\s*[a-z\d]{4}\s*$/i.test(target.textContent)){
  1550. target.href+='#'+target.textContent.trim();
  1551. } else if(target.nextSibling&&codeRule.test(target.nextSibling.textContent)){
  1552. target.href+=/#/i.test(target.href)?extCode(target.nextSibling):('#'+extCode(target.nextSibling));
  1553. } else if(target.nextSibling&&/^\s*[a-z\d]{4}\s*$/.test(target.nextSibling.textContent)){
  1554. target.href+='#'+target.nextSibling.textContent.trim();
  1555. } else if(codeRule.test(target.parentNode.textContent)){
  1556. if(!/#\S+/i.test(target.href)) target.href+=/#/i.test(target.href)?extCode(target.parentNode):('#'+extCode(target.parentNode));
  1557. } else {
  1558. var j = 0,
  1559. maxParent = 5,
  1560. parent = target;
  1561. while(j<maxParent) {
  1562. j++;
  1563. parent = parent.parentNode;
  1564. if(parent.tagName=="TR") {
  1565. if(codeRule.test(parent.nextElementSibling.textContent)) {
  1566. parent=parent.nextElementSibling;
  1567. target.href+='#'+extCode(parent);
  1568. break;
  1569. }
  1570. } else if(codeRule.test(parent.textContent)) {
  1571. target.href+='#'+extCode(parent);
  1572. break;
  1573. }
  1574. if(parent==document.body) break;
  1575. }
  1576. }
  1577. }
  1578. });
  1579. }
  1580. for (i = 0, k = imgs.length; i < k; i++) {
  1581. let src;
  1582. for(let imgReg of config.imgRegs){
  1583. src = imgs[i].src.replace(imgReg[0], imgReg[1]);
  1584. if(src != imgs[i].src)imgs[i].src = src;
  1585. if(imgs[i].dataset.src){
  1586. src=imgs[i].dataset.src.replace(imgReg[0], imgReg[1]);
  1587. if(src != imgs[i].dataset.src)imgs[i].dataset.src = src;
  1588. }
  1589. }
  1590. }
  1591. seriousReplace(commArea);
  1592. },2);
  1593. }
  1594.  
  1595. function processObj(obj){
  1596. if(obj){
  1597. if(obj.nodeType==1 && obj.tagName != "A"){
  1598. for(var i=0;i<obj.childNodes.length;i++){
  1599. processObj(obj.childNodes[i]);
  1600. }
  1601. }else if(obj.nodeType==3){
  1602. var curData=obj.data;
  1603. if(obj.nextSibling && obj.nextSibling.outerHTML=="<b>hacg</b>"){
  1604. curData+="hacg";
  1605. if(obj.nextSibling.nextSibling && obj.nextSibling.nextSibling.nodeType==3){
  1606. curData+=obj.nextSibling.nextSibling.data;
  1607. obj.nextSibling.nextSibling.data="";
  1608. }
  1609. obj.parentNode.removeChild(obj.nextSibling);
  1610. }
  1611. let data=processTxt(curData);
  1612. if(curData != data){
  1613. let curObj=obj;
  1614. setTimeout(function(){
  1615. var newData = document.createElement("p");
  1616. curObj.parentNode.replaceChild(newData, curObj);
  1617. newData.outerHTML=data;
  1618. },1);
  1619. }else if(/B|STRONG/.test(obj.parentNode.tagName)){
  1620. let allStrongs=[];
  1621. var next=obj.parentNode.nextSibling;
  1622. while(next){
  1623. if(/B|STRONG/.test(next.tagName)){
  1624. allStrongs.push(next);
  1625. curData+=next.innerHTML;
  1626. next=next.nextSibling;
  1627. }else{
  1628. break;
  1629. }
  1630. }
  1631. data=processTxt(curData);
  1632. if(curData != data){
  1633. let curObj=obj;
  1634. setTimeout(function(){
  1635. allStrongs.forEach(function(item){
  1636. item.style.display="none";
  1637. });
  1638. var newData = document.createElement("p");
  1639. curObj.parentNode.replaceChild(newData, curObj);
  1640. newData.outerHTML=data;
  1641. },1);
  1642. }
  1643. }
  1644. }
  1645. }
  1646. }
  1647.  
  1648. function getPage(){
  1649. let pre=document.querySelector("a.prev");
  1650. let next=document.querySelector("a.next");
  1651. if(!pre)pre=document.querySelector(".prev>a");
  1652. if(!next)next=document.querySelector(".next>a");
  1653. if(!pre && !next){
  1654. let aTags=document.querySelectorAll("a,button>span");
  1655. if(!pre){
  1656. let pref,pres,pret;
  1657. for(var i=0;i<aTags.length;i++){
  1658. let aTag=aTags[i];
  1659. if(pref && pres && pret)break;
  1660. if(!pref){
  1661. if(/上一页/.test(aTag.innerHTML)){
  1662. pref=aTag;
  1663. }
  1664. }
  1665. if(!pres){
  1666. if(aTag.innerHTML=="&lt;"){
  1667. pres=aTag;
  1668. }
  1669. }
  1670. if(!pret){
  1671. if(aTag.innerHTML=="«"){
  1672. pret=aTag;
  1673. }
  1674. }
  1675. }
  1676. pre=pref||pres||pret;
  1677. }
  1678. if(!next){
  1679. let nextf,nexts,nextt;
  1680. for(i=0;i<aTags.length;i++){
  1681. let aTag=aTags[i];
  1682. if(nextf && nexts && nextt)break;
  1683. if(!nextf){
  1684. if(/下一页/.test(aTag.innerHTML)){
  1685. nextf=aTag;
  1686. }
  1687. }
  1688. if(!nexts){
  1689. if(aTag.innerHTML=="&gt;"){
  1690. nexts=aTag;
  1691. }
  1692. }
  1693. if(!nextt){
  1694. if(aTag.innerHTML=="»"){
  1695. nextt=aTag;
  1696. }
  1697. }
  1698. }
  1699. next=nextf||nexts||nextt;
  1700. }
  1701. }
  1702. if(!pre && !next){
  1703. let pageDiv=document.querySelector("div.wp-pagenavi");
  1704. if(pageDiv){
  1705. var cur=pageDiv.querySelector("span.current");
  1706. pre=cur.previousSibling;
  1707. next=cur.nextSibling;
  1708. }
  1709. }
  1710. return {pre:pre,next:next};
  1711. }
  1712.  
  1713. function scrollArticle(a){
  1714. curArticle=a;
  1715. if(!curSite.noScale)curArticle.classList.add("oD_sel");
  1716. let pos=elementPosition(curArticle).y;
  1717. if(curSite && curSite.offset)pos-=curSite.offset;
  1718. scrollToControl(pos);
  1719. }
  1720.  
  1721. var hasViewed=false;
  1722. if(document.referrer){
  1723. for(site of config.sites){
  1724. if(site.regex.test(document.referrer)){
  1725. hasViewed=true;
  1726. break;
  1727. }
  1728. }
  1729. }
  1730. if(!hasViewed){
  1731. var notificationDetails = {
  1732. text: "\u0041\u006c\u0074\u002b\u0046\u0038\u6253\u5f00\u7ec5\u58eb\u7ad9\u5217\u8868\n\u0043\u0074\u0072\u006c\u002b\u004c\u0065\u0066\u0074\u4e0a\u4e00\u9875\uff0c\u0043\u0074\u0072\u006c\u002b\u0052\u0069\u0067\u0068\u0074\u4e0b\u4e00\u9875",
  1733. title: "\u8001\u53f8\u673a\u53d1\u8f66\u4e86\u0021",
  1734. timeout: 10000,
  1735. image: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/4Q5HaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJFNjc5RTZERjE4REVEOUI5RDExODU3N0Q2MTc1Mzk5NiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3N2ZiNGRlMS0zYWZkLTBhNDgtOGQ1Zi03NGZiOTNlZTYzOGQiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0iRTY3OUU2REYxOERFRDlCOUQxMTg1NzdENjE3NTM5OTYiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wOkNyZWF0ZURhdGU9IjIwMTYtMTAtMDhUMDk6MzI6MjgrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE2LTEwLTA4VDA5OjM3OjUzKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE2LTEwLTA4VDA5OjM3OjUzKzA4OjAwIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NmNiNjcyY2QtNmVkNy0wYTRkLTk4ZmItMTAzOGM5MGY0NTRkIiBzdEV2dDp3aGVuPSIyMDE2LTEwLTA4VDA5OjM3OjUzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo3N2ZiNGRlMS0zYWZkLTBhNDgtOGQ1Zi03NGZiOTNlZTYzOGQiIHN0RXZ0OndoZW49IjIwMTYtMTAtMDhUMDk6Mzc6NTMrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDxwaG90b3Nob3A6VGV4dExheWVycz4gPHJkZjpCYWc+IDxyZGY6bGkgcGhvdG9zaG9wOkxheWVyTmFtZT0i5rKh5pe26Ze06Kej6YeK5LqGIOW/q+S4iui9pu+8ge+8gSIgcGhvdG9zaG9wOkxheWVyVGV4dD0i5rKh5pe26Ze06Kej6YeK5LqGIOW/q+S4iui9pu+8ge+8gSIvPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOlRleHRMYXllcnM+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz7/2wBDAEMuMjoyKkM6NjpLR0NPZKZsZFxcZMySmnmm8dT++u3U6eX//////////+Xp////////////////////////////2wBDAUdLS2RXZMRsbMT//+n/////////////////////////////////////////////////////////////////////wgARCAG3AbgDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAECAwT/xAAXAQEBAQEAAAAAAAAAAAAAAAAAAQID/9oADAMBAAIQAxAAAAHmAWBSAAAKJKqTUIogAAAAAAAAAACUSiKAAAUC2EpYlAAAABLAirZSS2MN5qAAEKlIsFlCCwAFBYLKIoSiKIC1Ca7+Ya1TC9DhpCPRDhfRwKxYq2pi4O3PrgjdOboOefTwM9cdzyvVwFdzgdjy6nY53vxMV6DztDOfX4y3ro4O44O44PTs8QN5vY87rDpx3yOjOTry7YO/l9XlOus5Orz7O7jRvj2PPrPoObI1z9HnOuN4PRx1k7+fejj1vnN9pxMenzdy56Q5R0K0OM68iW7jDpzMdOuK6edow0Nc+vIO3E9OcZOrz9i8OkO+N+Y9PDWTvwtJc6LoPP6PP6COA9Xl78DrjeDe8ZO8xo5dXE9HHrwJc6PV5/Rg4NdDk7jzO/E7tIcPR5zty6861jpiI2Jz3akxSd+Hc573yMJI9Pm9OKme3E0kkWLegPP6OGjq4bO/lyO2OnM6Nec9F56JeI9XPXnNdeFOvDvwLWjSjlN5OnXjmPT55D0cuvCuszIoJ01xrl6ueDry3qOd2Ncgl6DjexOPbGV68d9TOenEnebEuTz9uGa9PmU68ddiTNJnrmN8p2M56wzzuiqOa0N8y40OrhaUKiKyPTjeEyCywTQzNxcrBYKgusE7MbNAcumDjnWbQOvTjuKuEpFdeXRLESqXNtXMcSwqwCCwAID146c5MrCrABZRKMToObWQQvXl0OiBnWTzyy0Ds3JEsIsJ15dhNCGDWOeVsKAAEKgqAD2c+nKROezcvM259QABZzOszsxnrkx0xo6HM6Y56OULVmztCRFICdeezScz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",
  1736. onclick: function() {
  1737. //window.open("https://sleazyfork.org/scripts/23316");
  1738. }
  1739. };
  1740. var audioContext = new AudioContext();
  1741. function playSound(buffer) {
  1742. var source = audioContext.createBufferSource();
  1743. source.buffer = buffer;
  1744. source.connect(audioContext.destination);
  1745. source.start(0);
  1746. }
  1747. var ttss=["有家,有爱,有欧派","未被穿过的胖次是没有价值的","巨乳只有下垂的未来","男人变态有什么错","为什么你会这么熟练啊","德国的科学技术是世界第一","在虚构的故事当中寻求真实感的人脑袋一定有问题"," 胸部什么的,明明只是装饰","勇士喜欢巨乳有什么错","哥哥让开!这样我杀不了那家伙","我们的宇宙充满了质子,中子,电子,还有奶子","有个能干的妹妹真好","只要可爱就算是男孩子也没关系","道歉時露出胸部是常識","我就是叫紫妈怎么了 有本事突然从我背后出现 把我的脸按在键盘上aqswdectfrvtghunijopioijohnuygbyfvtcdesxwedrfvtbguyhiumjiuyvftrssexrybtgnyuhm","反基复萌,反屌复奶","哼!都怪你,也不哄哄人家,人家超想哭的,捶你胸口,老公!大坏蛋!咩QAQ 捶你胸口,你好讨厌!要抱抱嘤嘤嘤,哼,人家拿小拳拳捶你胸口!大坏蛋,打死你"];
  1748. var ttsRand=Math.floor(Math.random()*ttss.length);
  1749. var tts=ttss[ttsRand];
  1750. var sUrl = "http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=5&text="+tts;//`http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=5&text=${tts}`;
  1751. var p = new Promise(function(resolve, reject) {
  1752. var ret = GM_xmlhttpRequest({method: "GET",url: sUrl,responseType: 'arraybuffer',
  1753. onload: function(res) {
  1754. try {
  1755. audioContext.decodeAudioData(res.response, function(buffer) {resolve(buffer);});
  1756. } catch(e) {
  1757. reject(e);
  1758. }
  1759. }
  1760. });
  1761. });
  1762. var command=[72,65,90,85,75,65,83,72,73,73],index=0;//"hazukashii"
  1763. document.addEventListener("keydown", function(e) {
  1764. if(e.keyCode==command[index]) {
  1765. if(index==command.length-1){
  1766. index=0;
  1767. var nowValue=GM_getValue("hazukashii");
  1768. GM_setValue("hazukashii", !nowValue);
  1769. if(nowValue){
  1770. p.then(playSound, function(e) {
  1771. console.log(e);
  1772. });
  1773. }
  1774. }else{
  1775. index++;
  1776. }
  1777. }else{
  1778. index=0;
  1779. }
  1780. });
  1781.  
  1782. //refer to "My Mouse Gestures"-ver.0.0.7 of Peer Zeng at [http://userscripts-mirror.org/scripts/show/463904], thanks to him
  1783. const minLength=256,tg=0.5;
  1784. var lastX, lastY, signs, lastSign;
  1785. function tracer(e) {
  1786. let curX=e.changedTouches[0].clientX,curY=e.changedTouches[0].clientY;
  1787. let distanceX=curX-lastX,distanceY=curY-lastY;
  1788. let distance=distanceX*distanceX+distanceY*distanceY;
  1789. if (distance>minLength) {
  1790. lastX=curX;
  1791. lastY=curY;
  1792. let direction="";
  1793. let slope=Math.abs(distanceY/distanceX);
  1794. if(slope>tg){
  1795. if(distanceY>0) {
  1796. direction="↓";
  1797. }else{
  1798. direction="↑";
  1799. }
  1800. }else if(slope<=1/tg) {
  1801. if(distanceX>0) {
  1802. direction="→";
  1803. }else{
  1804. direction="←";
  1805. }
  1806. }
  1807. if(lastSign!=direction) {
  1808. signs+=direction;
  1809. lastSign=direction;
  1810. }
  1811. }
  1812. }
  1813. document.addEventListener("touchstart", function(e) {
  1814. lastX=e.changedTouches[0].clientX;
  1815. lastY=e.changedTouches[0].clientY;
  1816. lastSign=signs="";
  1817. document.addEventListener("touchmove", tracer, false);
  1818. }, false);
  1819. document.addEventListener("touchend", function(e) {
  1820. document.removeEventListener("touchmove", tracer, false);
  1821. if(signs=="↓→↑←"){
  1822. e.stopPropagation();
  1823. e.preventDefault();
  1824. if(window.confirm("\u662f\u5426\u7981\u7528\u7f9e\u803b\u0070\u006c\u0061\u0079\u8bed\u97f3\uff1f")){
  1825. GM_setValue("hazukashii", true);
  1826. }else{
  1827. GM_setValue("hazukashii", false);
  1828. }
  1829. }
  1830. }, false);
  1831. if(!GM_getValue("hazukashii")){
  1832. p.then(playSound, function(e) {
  1833. console.error(e);
  1834. });
  1835. GM_notification(notificationDetails);
  1836. }
  1837. }
  1838. })();