Skip to content

Commit 36ba92f

Browse files
committed
arrange
1 parent 7323f89 commit 36ba92f

13 files changed

Lines changed: 9718 additions & 32 deletions

File tree

Easy offline/Easy offline.user.js

Lines changed: 385 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
// ==UserScript==
2+
// @name Greasyfork Search with Sleazyfork Results include
3+
// @name:zh-CN 大人的Greasyfork
4+
// @name:zh-TW 大人的Greasyfork
5+
// @namespace hoothin
6+
// @version 0.59
7+
// @description Merge adult results of sleazyfork into greasyfork when the script is no longer anonymously available, add rating score and version for scripts then
8+
// @description:zh-CN 在sleazyfork查找成人内容后合并至greasyfork,访问匿名不可用脚本时跳转至sleazyfork,并添加评分与版本号
9+
// @description:zh-TW 在sleazyfork查找成人內容後合並至greasyfork,訪問匿名不可用脚本時跳轉至sleazyfork,並添加評分與版本號
10+
// @author hoothin
11+
// @include http*://greasyfork.org/*
12+
// @include http*://www.greasyfork.org/*
13+
// @include http*://sleazyfork.org/*
14+
// @include http*://www.sleazyfork.org/*
15+
// @grant GM_xmlhttpRequest
16+
// @connect greasyfork.org
17+
// @connect sleazyfork.org
18+
// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=rixixi@sina.com&item_name=Greasy+Fork+donation
19+
// @contributionAmount 1
20+
// ==/UserScript==
21+
22+
(function() {
23+
'use strict';
24+
if(document.querySelector('span.sign-in-link')){
25+
var otherSite=/\/\/([^\.]+\.)?greasyfork\.org/.test(location.href)?"sleazyfork":"greasyfork";
26+
if(/scripts\/\d+/.test(location.href)){
27+
if(!document.querySelector("#script-info") && (otherSite == "greasyfork" || document.querySelector("div.width-constraint>p>a"))){
28+
location.href=location.href.replace(/\/\/([^\.]+\.)?(greasyfork|sleazyfork)\.org/,"//$1"+otherSite+"\.org");
29+
}
30+
}else if(/\/(scripts|users)\//.test(location.href)){
31+
GM_xmlhttpRequest({
32+
method: 'GET',
33+
url: location.href.replace(/\/\/([^\.]+\.)?(greasyfork|sleazyfork)\.org/,"//$1"+otherSite+"\.org"),
34+
onload: function(result) {
35+
var doc = null;
36+
try {
37+
doc = document.implementation.createHTMLDocument('');
38+
doc.documentElement.innerHTML = result.responseText;
39+
}
40+
catch (e) {
41+
console.log('parse error');
42+
}
43+
if (!doc) {
44+
return;
45+
}
46+
var l = doc.querySelector('ol.script-list');
47+
if (l) {
48+
var ml = document.querySelector('ol.script-list');
49+
if(!ml){
50+
ml=document.createElement("ol");
51+
ml.setAttribute("class","script-list");
52+
var list=document.querySelector('body>div.width-constraint');
53+
var ps=list.querySelectorAll("p");
54+
for(let i=0;i<ps.length;i++){
55+
let p=ps[i];
56+
list.removeChild(p);
57+
}
58+
list.appendChild(ml);
59+
}
60+
var scs=l.querySelectorAll("li");
61+
if(scs){
62+
for(let i=0;i<scs.length;i++){
63+
let sc=scs[i];
64+
if(!ml.querySelector("li[data-script-id='"+sc.getAttribute("data-script-id")+"']")){
65+
addScore(sc);
66+
ml.appendChild(sc);
67+
}
68+
}
69+
}
70+
}
71+
},
72+
onerror: function(e) {
73+
console.log(e);
74+
}
75+
});
76+
}
77+
}
78+
function addScore(script){
79+
var separator=script.querySelector('h2>span.name-description-separator');
80+
var description=script.querySelector('h2>span.description');
81+
if(separator)separator.innerHTML="<strong style='color:#e09015'>"+script.getAttribute("data-script-rating-score")+"</strong>"+separator.innerHTML;
82+
if(description)description.innerHTML+="<strong>Ver."+script.getAttribute("data-script-version")+"</strong>";
83+
}
84+
var scripts=document.querySelectorAll('ol.script-list>li');
85+
for(let i=0;i<scripts.length;i++){
86+
let script=scripts[i];
87+
addScore(script);
88+
}
89+
})();

HacgGodTurn/README.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
琉璃神社与其他绅士站神秘代码转换成下载链接
2+
==========================
3+
https://www.hacg.fi/wp/
4+
5+
![img](https://greasyfork.org/system/screenshots/screenshots/000/005/554/original/GIF.gif?1477034051)
6+
7+
---
8+
+ 增加支持如下二次元Hentai挊站:
9+
- [灵梦御所](https://blog.reimu.net/)[纯爱计划](https://sexacg.com/)[绅士二次元](https://www.acg.tf/)[萌心次元](https://www.moxacg.com/)[次元轨迹](https://www.acggj.com/)[ACG调查小队](https://acg12.com/)[幻天领域](https://www.acgnz.cc/)[轻萌社](http://nacg.me/)[天使二次元](https://www.tianshit.com/)[樱花漫舍](https://www.oomoe.moe/)[风铃窝](http://www.kaze5.com/)[次元の圣光](http://www.acglover.top/)[爱弹幕](http://www.idanmu.co/)[幻想次元](https://acg18.us/)[司机会所](http://www.sijihuisuo.club/)[里番萌](https://lifan.moe/)[最ACG](http://zuiacg.com/)
10+
-*____:里番萌等站强制转https后无需翻墙,但是下载内容和登录状态获取不了,翻不翻墙自行取舍*
11+
+ **通用快捷键:**
12+
- **F6或者shift+F6**向前或向后循环宅站列表
13+
- **左右方向键**快速定位到上一篇或下一篇文章
14+
- **Ctrl+左右方向键**快速翻页
15+
- **Ctrl+上下方向键**进入文章内容页或返回
16+
+ **最ACG快捷键:**
17+
- **点击**图片去除和谐力量
18+
- 按住**Ctrl点击**图集或文章页面的下载按钮直接跳转至百度盘
19+
+ 绅士站点各种神秘代码转换成下载链接
20+
+ 爱弹幕添加R18福利tag并去除和谐图片屏蔽
21+
+ 替换神社所有http链接为https,免翻墻
22+
+ 绅士二次元自动解密AES
23+
+ 司机会所评论区分享地址解析
24+
+ 添加火箭功能,一键嗅探所有下载链接
25+
+ 萌心次元、次元轨迹、里番萌、幻天领域与ACG调查小队无法访问时自动转https,坑爹的移动网
26+
+ 次元轨迹添加三次元tag
27+
+ 增强度盘支持
28+
+ 次元轨迹、樱花漫舍、风铃窝与ACG调查小队自动添加提取码
29+
+ 修复7酱8酱9酱A君B君Q君等等提取码
30+
+ 修复折叠失效问题
31+
+ 增加32位md5磁链支持
32+
+ 磁链判断优化
33+
+ 重构啦,删除了之前写的一些冗余代码
34+
+ 御所某些家伙深深伤害了我的狗眼,所以加了个“好孩子看不见”的按钮,点击之后才会显示隐藏内容
35+
36+
---
37+
加了太多东西,其他的修改内容懒得记了
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
// ==UserScript==
2+
// @name Highlight Every Code
3+
// @name:zh-CN 代码片段高亮
4+
// @name:zh-TW 代碼片斷高亮
5+
// @namespace hoothin
6+
// @version 0.80
7+
// @description Add a icon to popup a window that allows syntax highlighting and beautify and word count of source code snippets on current page
8+
// @description:zh-CN 选择代码片段后点击图标弹出新窗口显示高亮美化与格式化后的代码与字数统计
9+
// @description:zh-TW 選擇代碼片段后點擊圖標彈出新窗口顯示高亮美化與格式化后的代碼與字數統計
10+
// @author Hoothin
11+
// @grant GM_openInTab
12+
// @compatible chrome
13+
// @compatible firefox
14+
// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=rixixi@sina.com&item_name=Greasy+Fork+donation
15+
// @contributionAmount 1
16+
// @include *
17+
// ==/UserScript==
18+
19+
(function() {
20+
'use strict';
21+
var isChrome=unsafeWindow.chrome;
22+
var codeIcon=document.createElement("img");
23+
var codes, scrollX, scrollY;
24+
codeIcon.style.cssText="position:fixed;z-index:99999;display:none;cursor: pointer;";
25+
codeIcon.title="Show this code snippet";
26+
codeIcon.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYAgMAAACD0OXYAAAACVBMVEX7+/swMDBTU1MLxgsCAAAAJElEQVQI12MIBYEAGLUKBBbAqAUMQICgAoAqoBQ95JaCnASjAAgXMdk3d5HTAAAAAElFTkSuQmCC";
27+
codeIcon.onmousedown=function(){
28+
let html='<title>Code Snippet</title>'+
29+
'<link rel="stylesheet" href="http'+(isChrome?'s':'')+'://cdn.rawgit.com/google/code-prettify/master/styles/sons-of-obsidian.css"/>'+
30+
'<script>var code,codeStr;window.onload=function(){code=document.querySelector("#code");codeStr=code.innerHTML.replace(/&amp;/g, "&").replace(/&(nbsp;|amp;|#39;|quot;)/g, "&amp;$1");prettyPrint();}</script>'+
31+
'<script src="http'+(isChrome?'s':'')+'://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.min.js?skin=sons-of-obsidian"></script>'+
32+
'<script src="http'+(isChrome?'s':'')+'://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.6.4/beautify.min.js"></script>'+
33+
'<script src="http'+(isChrome?'s':'')+'://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.6.4/beautify-html.min.js"></script>'+
34+
'<script src="http'+(isChrome?'s':'')+'://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.6.4/beautify-css.min.js"></script>'+
35+
'Code formatting: <a href="#" onclick="code.innerHTML=js_beautify(codeStr);code.className=\'prettyprint linenums\';prettyPrint();return false;">Javaspcript</a> '+
36+
'<a href="#" onclick="code.innerHTML=html_beautify(codeStr);code.className=\'prettyprint linenums\';prettyPrint();return false;">Html</a> '+
37+
'<a href="#" onclick="code.innerHTML=css_beautify(codeStr);code.className=\'prettyprint linenums\';prettyPrint();return false;">Css</a> '+
38+
'<a href="#" onclick="code.innerHTML=codeStr;code.className=\'prettyprint linenums\';prettyPrint();return false;">Raw</a> <b style="color:red">('+codes.length+' words)</b>'+
39+
'<pre id="code" class="prettyprint linenums" style="word-wrap: break-word; white-space: pre-wrap;border: 1px solid rgb(136, 136, 204);border-radius: 8px;">' + codes + "</pre>";
40+
if(isChrome){
41+
let c = window.open("", "_blank", "width=750, height=400, location=0, resizable=1, menubar=0, scrollbars=0");
42+
c.document.write(html);
43+
c.document.close();
44+
}else{
45+
GM_openInTab('data:text/html;charset=utf-8,' + encodeURIComponent(html));
46+
}
47+
};
48+
document.body.appendChild(codeIcon);
49+
document.addEventListener('mousedown', function(o) {
50+
codeIcon.style.display="none";
51+
});
52+
document.addEventListener('mouseup', function(o) {
53+
if (o.button === 0 && (o.ctrlKey || o.altKey || o.metaKey || o.shiftKey)) {
54+
setTimeout(function(){
55+
codes = document.getSelection().toString().replace(/&/g, "&amp;").replace(/\</g,"&lt;").replace(/\>/g,"&gt;");
56+
if(codes){
57+
codeIcon.style.display="block";
58+
let pos=getMousePos(o);
59+
let left, top;
60+
if(isChrome){
61+
top=pos.y>document.documentElement.clientHeight-50?(pos.y-25):(pos.y+15);
62+
left=pos.x>document.documentElement.clientWidth-50?(pos.x-25):(pos.x+15);
63+
}else{
64+
top=pos.y-25;
65+
left=pos.x+15;
66+
}
67+
codeIcon.style.top=top+"px";
68+
codeIcon.style.left=left+"px";
69+
}
70+
},1);
71+
}
72+
},false);
73+
74+
function getMousePos(event) {
75+
var e = event || window.event;
76+
scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
77+
scrollY = document.documentElement.scrollTop || document.body.scrollTop;
78+
var x = (e.pageX || e.clientX) - scrollX;
79+
var y = (e.pageY || e.clientY) - scrollY;
80+
return { 'x': x, 'y': y };
81+
}
82+
})();
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
// ==UserScript==
2+
// @name Kill Baidu AD
3+
// @name:zh-CN 百度广告(首尾推广及右侧广告)清理
4+
// @namespace hoothin
5+
// @version 0.3
6+
// @description Just Kill Baidu AD
7+
// @description:zh-CN 彻底清理百度搜索(www.baidu.com)结果首尾的推广广告、二次顽固广告与右侧广告,并防止反复
8+
// @author hoothin
9+
// @include http*://www.baidu.com/*
10+
// @grant none
11+
// @run-at document-body
12+
// @license MIT License
13+
// @compatible chrome 测试通过
14+
// @compatible firefox 测试通过
15+
// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=rixixi@sina.com&item_name=Greasy+Fork+donation
16+
// @contributionAmount 1
17+
// ==/UserScript==
18+
19+
(function() {
20+
'use strict';
21+
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
22+
var observer = new MutationObserver(function(records){
23+
clearAD();
24+
});
25+
var option = {
26+
'childList': true,
27+
'subtree': true
28+
};
29+
observer.observe(document.body, option);
30+
31+
function clearAD(){
32+
var list=document.body.querySelectorAll("#content_left>div,#content_left>table"),i;
33+
for(i=0;i<list.length;i++){
34+
let item = list[i];
35+
let s = item.getAttribute("style");
36+
if (s && /display:(table|block)\s!important/.test(s)) {
37+
item.parentNode.removeChild(item);
38+
}else{
39+
var span=item.querySelector("div>span");
40+
if(span && span.innerHTML=="广告"){
41+
item.parentNode.removeChild(item);
42+
}
43+
}
44+
}
45+
46+
var eb = document.querySelectorAll("#content_right>table>tbody>tr>td>div");
47+
for(i=0;i<eb.length;i++){
48+
let d = eb[i];
49+
if (d.id!="con-ar") {
50+
d.parentNode.removeChild(d);
51+
}
52+
}
53+
}
54+
})();
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
// ==UserScript==
2+
// @name Kill TieBa AD
3+
// @name:zh-CN 贴吧伪装广告清理
4+
// @name:zh-TW 貼吧僞裝廣告清理
5+
// @namespace hoothin
6+
// @version 0.50
7+
// @description Just Kill TieBa AD
8+
// @description:zh-CN 清理ADB或UBO等未能清理掉的百度贴吧列表伪装广告、帖内伪装广告与推荐应用广告
9+
// @description:zh-TW 清理ADB或UBO等未能清理掉的百度貼吧列表偽裝廣告、帖內偽裝廣告與推薦應用廣告
10+
// @author hoothin
11+
// @include http*://tieba.baidu.com/*
12+
// @grant none
13+
// @run-at document-body
14+
// @supportURL http://www.hoothin.com
15+
// @license MIT License
16+
// @compatible chrome
17+
// @compatible firefox
18+
// @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=rixixi@sina.com&item_name=Greasy+Fork+donation
19+
// @contributionAmount 1
20+
// ==/UserScript==
21+
22+
(function() {
23+
'use strict';
24+
var observer, option;
25+
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
26+
var tcss = ".j_encourage_entry{display: none !important;} #encourage_entry{display: none !important;} .tpoint-skin{display: none !important;} #pb_adbanner{display: none !important;} .iframe_wrapper{display: none !important;} div.tpoint-skin{display: none !important;}";
27+
var snod = document.createElement('style');
28+
snod.innerHTML = tcss;
29+
document.getElementsByTagName("head")[0].appendChild(snod);
30+
var content = document.querySelector("#content");
31+
if(content){
32+
delAD("#thread_list","LI");
33+
observer = new MutationObserver(function(records){
34+
delAD("#thread_list","LI");
35+
});
36+
option = {
37+
'childList': true,
38+
'subtree': true
39+
};
40+
observer.observe(content, option);
41+
}else{
42+
content=document.querySelector(".content");
43+
if(!content)return;
44+
delAD("#j_p_postlist","DIV");
45+
observer = new MutationObserver(function(records){
46+
delAD("#j_p_postlist","DIV");
47+
});
48+
option = {
49+
'childList': true,
50+
'subtree': true
51+
};
52+
observer.observe(content, option);
53+
}
54+
55+
function delAD(a,b){
56+
var threadList = document.querySelector(a+">"+a),i;
57+
if(!threadList) threadList = document.querySelector(a);
58+
if(!threadList) return;
59+
var delList = [];
60+
for(i=0;i<threadList.childNodes.length;i++){
61+
let thread = threadList.childNodes[i];
62+
if(thread.tagName == "STYLE"){
63+
delList.push(thread);
64+
var previousSibling = thread.previousSibling;
65+
previousSibling = previousSibling.tagName == b?previousSibling:previousSibling.previousSibling;
66+
delList.push(previousSibling);
67+
}else{
68+
if(thread.getAttribute && thread.getAttribute("data-field")){
69+
let tdata=JSON.parse(thread.getAttribute("data-field"));
70+
if(tdata.content && tdata.content.pb_tpoint && tdata.content.pb_tpoint.is_tpoint==1)delList.push(thread);
71+
}
72+
}
73+
}
74+
for(i=0;i<delList.length;i++){
75+
let del = delList[i];
76+
threadList.removeChild(del);
77+
}
78+
var easyAD, easyADs=document.querySelectorAll("span.label_text");
79+
for(i=0;i<easyADs.length;i++){
80+
easyAD = easyADs[i];
81+
if(easyAD.innerHTML=="广告" && easyAD.parentNode && easyAD.parentNode.parentNode){
82+
easyAD.parentNode.parentNode.removeChild(easyAD.parentNode);
83+
}
84+
}
85+
}
86+
})();

0 commit comments

Comments
 (0)