futaba log search

img,dat,may,junのスレが消えた時に過去ログを表示しちゃう

安装此脚本
作者推荐脚本

您可能也喜欢futaba lightbox

安装此脚本
  1. // ==UserScript==
  2. // @name futaba log search
  3. // @namespace https://github.com/himuro-majika
  4. // @description img,dat,may,junのスレが消えた時に過去ログを表示しちゃう
  5. // @author himuro_majika
  6. // @include http://img.2chan.net/b/res/*.htm
  7. // @include https://img.2chan.net/b/res/*.htm
  8. // @include http://dat.2chan.net/b/res/*.htm
  9. // @include https://dat.2chan.net/b/res/*.htm
  10. // @include http://may.2chan.net/b/res/*.htm
  11. // @include https://may.2chan.net/b/res/*.htm
  12. // @include http://jun.2chan.net/jun/res/*.htm
  13. // @include https://jun.2chan.net/jun/res/*.htm
  14. // @require http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js
  15. // @require https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/md5.js
  16. // @version 1.3.9
  17. // @grant GM_xmlhttpRequest
  18. // @license MIT
  19. // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPUExURYv4i2PQYy2aLUe0R////zorx9oAAAAFdFJOU/////8A+7YOUwAAAElJREFUeNqUj1EOwDAIQoHn/c88bX+2fq0kRsAoUXVAfwzCttWsDWzw0kNVWd2tZ5K9gqmMZB8libt4pSg6YlO3RnTzyxePAAMAzqMDgTX8hYYAAAAASUVORK5CYII=
  20. // ==/UserScript==
  21. this.$ = this.jQuery = jQuery.noConflict(true);
  22.  
  23. (function ($) {
  24. var waitnum = -1; //404時のページ遷移ウェイト[秒]:-1で無効
  25.  
  26. var title = document.title; //ページタイトル
  27.  
  28. /**
  29. * パターン:ex. (http://dat.2chan.net/b/res/11111111.htm)
  30. */
  31. // フルアドレス(http://dat.2chan.net/b/res/11111111.htm)
  32. var $U = location.href;
  33. // 鯖名(dat)
  34. var $S = document.domain.match(/^[^.]+/);
  35. // ディレクトリ(b)
  36. var $D = location.pathname.match(/[^/]+/);
  37. // ファイル名(11111111.htm)
  38. var $F = location.pathname.match(/\d+\.htm/);
  39. // ファイル名の数字(11111111)
  40. var $N = $F[0].match(/\d+/);
  41. var $hash = CryptoJS.MD5($U.replace("https", "http"));
  42.  
  43. //ログ保管サービスジャンプ先URL
  44. var logService = {
  45. img: [
  46. {
  47. site: "logbox",
  48. url: "http://parupunte.net/logbox/detail.html?no=" + $N,
  49. },
  50. {
  51. site: "FTBucket",
  52. url: "http://c3.ftbucket.info/" + $S + "/cont/" + $S +
  53. ".2chan.net_" + $D + "_res_" + $N + "/index.htm",
  54. },
  55. {
  56. site: "futakuro",
  57. url: "http://kako.futakuro.com/futa/"+ $S + "_" + $D + "/" + $N + "/",
  58. },
  59. {
  60. site: "Futafuta",
  61. url: "http://futafuta.site/thread/" + $S + "/" + $F,
  62. },
  63. ],
  64. dat: [
  65. {
  66. site: "リッチー",
  67. url: "http://appsweets.net/tatelog/dat/thread/" + $N,
  68. },
  69. ],
  70. may: [
  71. {
  72. site: "FTBucket",
  73. url: "http://" + $S + ".ftbucket.info/" + $S + "/cont/" + $S +
  74. ".2chan.net_" + $D + "_res_" + $N + "/index.htm",
  75. },
  76. {
  77. site: "futakuro",
  78. url: "http://kako.futakuro.com/futa/"+ $S + "_" + $D + "/" + $N + "/",
  79. },
  80. {
  81. site: "Futafuta",
  82. url: "http://futafuta.site/thread/" + $S + "/" + $F,
  83. },
  84. {
  85. site: "ふたばフォレスト",
  86. url: "http://futabaforest.net/b/res/" + $F,
  87. },
  88. ],
  89. jun: [
  90. {
  91. site: "FTBucket",
  92. url: "http://c3.ftbucket.info/" + $S + "/cont/" + $S +
  93. ".2chan.net_" + $D + "_res_" + $N + "/index.htm",
  94. },
  95. {
  96. site: "Futafuta",
  97. url: "http://futafuta.site/thread/" + $S + "/" + $F,
  98. },
  99. ]
  100. };
  101. //鯖毎の振り分け
  102. var logService_server = logService[$S];
  103.  
  104. //通常時
  105. if (title !== "404 File Not Found") {
  106. makelogsitebutton();
  107. }
  108. //404時
  109. else {
  110. var $h1 = $("body > h1");
  111. if (waitnum !== -1) {
  112. $h1.before("<div><span id='countdown'>" + waitnum +
  113. "</span>秒後に外部ログサイト(" + logService_server[0].site +
  114. ")に移動します</div>");
  115. setTimeout(redirect, waitnum * 1000);
  116. setInterval(countdown, 1000);
  117. }
  118. $h1.before("<div>ログサイトリスト :</div>");
  119. $h1.before("<ul id='loglist'></ul>");
  120. var $li = $("#loglist");
  121. logService_server.forEach(function(item) {
  122. $li.append("<li><a href='" + item.url +
  123. "' target='_blank' rel=noreferrer>" + item.site + "*</a></li>");
  124. });
  125. satty();
  126. }
  127.  
  128. function makelogsitebutton() {
  129. var toggle_flag = true;
  130. var $logsitelink = $("<a>", {
  131. id: "futaba_log_search_loglist_button",
  132. text: "[外部ログサイト]",
  133. css: {
  134. cursor: "pointer",
  135. },
  136. click: function() {
  137. showlogsitelist();
  138. }
  139. });
  140. $("body > table").before($logsitelink);
  141.  
  142. function showlogsitelist() {
  143. if(toggle_flag) {
  144. $("#futaba_log_search_loglist_button").after($("<ul id='loglist'>"));
  145. var $li = $("#loglist");
  146. logService_server.forEach(function(item) {
  147. $li.append("<li><a href='" + item.url +
  148. "' target='_blank' rel=noreferrer>" + item.site + "*</a></li>");
  149. });
  150. toggle_flag = false;
  151. }
  152. else {
  153. $("#loglist").remove();
  154. toggle_flag = true;
  155. }
  156. }
  157. }
  158.  
  159.  
  160. /*
  161. * ログ保管先にジャンプ
  162. */
  163. function redirect() {
  164. location.href = logService_server[0].url;
  165. }
  166.  
  167. function countdown() {
  168. if(waitnum > 0){
  169. waitnum--;
  170. }
  171. $("#countdown").text(waitnum);
  172. }
  173.  
  174. /*
  175. * サッチーのログを検索
  176. */
  177. function satty(){
  178. var url_prefix = "http://tsumanne.net";
  179. var url_ss;
  180. var url_cgi = "indexes.php?format=json&sbmt=URL&w=";
  181. if ($S == "img") {
  182. url_ss = "/si/";
  183. }
  184. else if ($S == "dat") {
  185. url_ss = "/sa/";
  186. }
  187. else if ($S == "may") {
  188. url_ss = "/my/";
  189. }
  190. else {
  191. return;
  192. }
  193. var url_req = url_prefix + url_ss + url_cgi + $N;
  194. GM_xmlhttpRequest({
  195. method: "GET",
  196. url: url_req,
  197. onload: function(response) {
  198. var res = JSON.parse(response.responseText);
  199. if (res.success) {
  200. $li.append("<li><a href='" + url_prefix + res.path +
  201. "' target='_blank'>「」ッチー*</a></li>");
  202. }
  203. }
  204. });
  205. }
  206. })(jQuery);