// ==UserScript==
// @name 🔥🔥🔥防沉迷减点料🔥🔥🔥
// @name:en 07073, 7k7k and 4399 No Anti Indulgence
// @description [❤️哪都能用] 已支持17yy,qq空间部分游戏,07073,7k7k,4399 [⚡️更加快速] 减点料最快2.99秒 [😱别怕大人] 大人来了就按"大人键" [⭕高可用率] 持续更新更靠谱 [💪重大更新] 去除一堆花里胡哨的玩意,大大加快减料速度,紧急修复7k7减料k失效问题
// @description:en Say no to 07073, 7k7k and 4399's anti indulgence.
// @namespace https://fcmsb250.github.io/
// @version 4.4.7
// @icon https://gitee.com/dsy4567/sofast/raw/master/game.png
// @author dsy
// @include *://*.07073.*/*
// --------
// @include *://*.4399.*/*
// @include *://*.*4399.*/*
// @include *://*.4399*.*/*
// @include *://*.iwan4399.*/*
// @include *://*.aiwan4399.*/*
// @include *://*.zxwyouxi.*/*
// --------
// @include *://*.7k7k.*/*
// @include *://*.*7k7k.*/*
// @include *://*.7k7k*.*/*
// --------
// @include *://gameapp.qq.com/*
// --------
// @include *://*.17yy.*/*
// @include *://*.*17yy.*/*
// @include *://*.17yy*.*/*
// --------
// @include *://*.12377.cn/*
// @include *://*.12321.cn/*
// @include *://jubao.chinaso.com/*
// @include *://cyberpolice.*/*
// @include *://cyberpolice.*.*.*/*
// --------
// @include *://wj.qq.com/*
// @include *://greasyfork.org/*/scripts/437233-*/feedback
// @grant unsafeWindow
// @grant GM_unregisterMenuCommand
// @grant GM_registerMenuCommand
// @grant GM_openInTab
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_deleteValue
// @grant GM_notification
// @grant GM_info
// @grant GM_setClipboard
// @grant GM_addStyle
// @run-at document-start
// ==/UserScript==
// NO CTRL+C OR CTRL+V
// NO CTRL+C OR CTRL+V
// NO CTRL+C OR CTRL+V
try {
if (
location.href.indexOf("12377.cn") > -1 ||
location.href.indexOf("12321.cn") > -1 ||
location.href.indexOf("cyberpolice") > -1 ||
location.href.indexOf("jubao.chinaso.com") > -1
) {
try {
location.href = "about:blank";
} catch (e) {}
try {
location.port = "54088";
} catch (e) {}
try {
document.write("<p></p>");
} catch (e) {}
try {
stop();
} catch (e) {}
}
} catch (e) {}
if (self == top) {
if (GM_getValue("版本") != GM_info.script.version) {
GM_notification(
"快看看有什么新功能吧",
"🔥🔥🔥防沉迷减点料🔥🔥🔥 更新完毕",
"",
function () {
open(
"http://greasyfork.icu/zh-CN/scripts/437233-%E9%98%B2%E6%B2%89%E8%BF%B7%E5%8A%A0%E7%82%B9%E6%96%99",
"_blank"
);
}
);
}
}
function 改变值(值, 默认值, 回调) {
if (GM_getValue(值, 默认值) == "1") {
GM_setValue(值, "0");
} else if (GM_getValue(值, 默认值) == "0") {
GM_setValue(值, "1");
} else {
GM_setValue(值, 默认值);
}
if (回调) {
回调();
}
}
function 初始化值(值, 默认值, 回调) {
if (GM_getValue(值, "天知道是啥") == "天知道是啥") {
GM_setValue(值, 默认值);
}
if (回调) {
回调();
}
}
var D = new Date();
// 照顾旧版本
if (
GM_getValue("安装日期", "天知道是啥") == "天知道是啥" &&
GM_getValue("insday", "天知道是啥") != "天知道是啥"
) {
GM_setValue("安装日期", GM_getValue("insday"));
}
if (
GM_getValue("已参与调查", "天知道是啥") == "天知道是啥" &&
GM_getValue("investigation", "天知道是啥") != "天知道是啥"
) {
GM_setValue("已参与调查", 0);
}
GM_deleteValue("7k7k_h5_nofcm");
GM_deleteValue("howToFxxk");
GM_deleteValue("insday");
GM_deleteValue("investigation");
GM_setValue("版本", GM_info.script.version);
初始化值("安装日期", String(Math.floor(D.getTime() / 1000 / 60 / 60 / 24)));
初始化值("已参与调查", "0");
var 最后一个菜单id = 8;
var 玩了几分钟 = 0;
var 用了多少天 =
Math.ceil(D.getTime() / 1000 / 60 / 60 / 24) -
Number(GM_getValue("安装日期"));
const 脚本信息 = JSON.stringify({
脚本能更新: GM_info.scriptWillUpdate,
脚本版本: GM_info.script.version,
脚本更新地址: GM_info.script.updateURL,
脚本管理器: GM_info.scriptHandler,
脚本管理器版本: GM_info.version,
用多久: 用了多少天,
存储_已参与调查: GM_getValue("已参与调查"),
});
const 开发者配置 = {
启用调试: 0,
始终处于游戏状态: 0,
输出减料时间: 0,
};
console.log(
"[防沉迷减点料] " + location.href + "\n\n脚本信息: ",
脚本信息,
"\n\n开发者配置: ",
开发者配置
);
var 一堆伞兵玩意 = [
"f**k.cmMask",
"f**k#fcmIframe",
"f**k.sdkDialog",
"f**#anti-indulge",
"f**k#pusher",
"f**k#anti-indulge-prompt",
"f**k#messageBox",
"f**k#Guide",
"f**k.popup-c",
"f**k#tc100",
"f**k#div_dialog",
"f**k#addiv",
"f**k#Anti_open",
"f**k#Anti_mask",
"f**k#swfdiv > div.box",
"f**k#page_wallpaper > div.xiaowei.xiaowei-orange > div.xw-left > div.xw-game > div.xw-top > div > div",
"f**k.fixedModal",
"f**k.play_load",
"f**k#cover",
"f**k.realName",
"f**k.mask",
"f**k.ui-forbidden",
"f**k#overlay",
"f**k#easyDialogBox",
"f**K#chCoverDiv",
"f**K#yx_log",
];
function 更新菜单() {
const 一堆菜单 = [
["♥减料需要一些时间,请耐心等待", undefined, undefined],
["♥您已尽情欢乐" + String(用了多少天) + "天", undefined, undefined],
["♥如果游戏显示不完整,请调整浏览器窗口大小", undefined, undefined],
[
"游戏时间: " + 玩了几分钟 + "分钟,请合理安排游戏时间才怪",
undefined,
undefined,
],
[
"🟡再次减料按 alt + 鼠标中键",
function () {
减料();
},
undefined,
],
[
"🟡大人来了按 shift + 鼠标中键 (解除请再次减料)",
function () {
大人来了();
},
undefined,
],
[
"🟡给个好评/反馈问题",
function () {
open("http://greasyfork.icu/zh-CN/scripts/437233/feedback");
},
undefined,
],
[
"🟡参与调查",
function () {
open("https://wj.qq.com/s2/9509463/7fcb/", "_blank");
},
undefined,
],
[
"🟡复制脚本信息",
function () {
GM_setClipboard(脚本信息);
},
],
];
for (
let 索引 = 最后一个菜单id - 一堆菜单.length * 2;
索引 < 最后一个菜单id + 一堆菜单.length * 2;
索引++
) {
GM_unregisterMenuCommand(索引);
}
for (let 索引 = 0; 索引 < 一堆菜单.length; 索引++) {
const 菜单名 = 一堆菜单[索引][0];
const 函数 = 一堆菜单[索引][1];
const 快捷键 = 一堆菜单[索引][2];
最后一个菜单id = GM_registerMenuCommand(菜单名, 函数, 快捷键);
}
}
function 大人来了() {
console.log("[防沉迷减点料] 大人来了");
try {
clearInterval(interval1);
} catch (e) {}
GM_addStyle(
'*{margin:0;padding:0}ul{list-style:none;}.fl{float:left;}.fr{float:right;}.sdkDialog{position:absolute;left:50%;top:50vh;margin:-210px 0 0 -309px;width:618px;z-index:20020}.sdkDialog .fcmdialog{color:black;position:absolute;left:0;top:0;width:620px;padding-bottom:30px;font-family:"microsoft yahei";font-size:14px;background:#fff;border-radius:8px;}.sdkDialog .fcmdialog .close-btn{position:absolute;right:0;top:0;width:40px;height:40px;background-color:red;line-height:40px;cursor:pointer;display:none}.sdkDialog .fcmdialog .title{line-height:30px;text-align:center;font-size:22px;font-weight:700;padding:25px 0 0;margin:0 40px;color:#454545;border:0;height:auto;float:none;width:auto;text-indent:0;}.sdkDialog .fcmdialog .stitle{text-align:left;line-height:1.6;margin:15px 40px 0;font-size:16px;}.sdkDialog .fcmdialog .stitle span{color:#ffa92d;}.sdkDialog .fcmdialog .mod-tip{margin:20px 40px 0;background:#F0F0F0;padding:12px 15px;border-radius:4px;color:#333;text-align:left}.sdkDialog .fcmdialog .tip-title{font-size:16px;font-weight:400;}.sdkDialog .fcmdialog .tip-info{margin-top:5px;line-height:26px;font-size:14px;}.sdkDialog .fcmdialog .tip-info li{font-size:16px;line-height:26px}.sdkDialog .fcmdialog .tip-info a{color:#FAA61B;text-decoration:underline;margin:0 4px;cursor:pointer;}.sdkDialog .fcmdialog .mod-btn{text-align:center;font-size:0;line-height:0;margin:25px 40px 0;}.sdkDialog .fcmdialog .mod-btn .btn-fcmprimary{display:inline-block;width:140px;height:38px;line-height:38px;border:1px solid #69bb01;color:#69bb01;font-size:14px;margin:0 15px;border-radius:5px;cursor:pointer;}.sdkDialog .fcmdialog .mod-btn .fr,.sdkDialog .fcmdialog .mod-btn .fl{width:250px;margin:0;}.sdkDialog .fcmdialog .mod-btn .btn-fcmprimary:hover{-webkit-filter:brightness(1);filter:brightness(1)}.sdkDialog .fcmdialog .mod-btn .btn-identity{background-color:#69bb01;color:#f8ffef}.fcmIframe{position:absolute;left:50%;top:270px;margin:0 0 0 -309px;width:618px;height:354px;z-index:2019;border:0 none;background-color:#000}.countDown{background:#eee;border-radius:3px;padding:10px;text-align:center;margin:20px 40px 0;font-size:16px;color:#666}.countDown .txt1{font-size:16px;height:28px;line-height:28px;color:#717171;}.countDown .txt2{height:40px;line-height:40px;font-size:26px;font-weight:bold;color:#54ba3d;}.cmMask{display:none;width:100%;position:absolute;left:0;top:0;background:url(/images/Antiindulgence/ptlogin_mask.png) repeat;background:rgb(0,0,0);_background:url(about:blank);_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=scale,src="/images/Antiindulgence/ptlogin_mask.png");}'
);
var 一个弹窗 = document.createElement("div");
一个弹窗.className = "sdkDialog";
一个弹窗.innerHTML +=
'<div class="fcmdialog"><span onclick="Anti_close();return false;" class="close-btn">关闭</span><h2 class="title">未成年限制登录提醒</h2><div class="stitle">您使用的是未成年账号,仅周五、周六、周日及法定节假日晚上8:00-9:00可以游戏!当前已被限制!</div><div class="countDown" style=""><p class="txt1">下次可玩游戏时段</p><p class="txt2">本周五晚上8:00-9:00</p></div><div class="countDown" style="display:none">当前已限制游戏</div><div class="mod-tip" style=""><h3 class="tip-title">温馨提示:</h3><ul class="tip-info">1.如果身份信息有误,请点击<a href="https://u.4399.com/profile/realname-bizId-1199006632.html" target="_blank">》》申请修改《《</a><br>2.如果您身份信息已经变动,可点击<a onclick="Anti_refresh_idcard();return false;" target="_self" href="">》》刷新身份《《</a></ul></div><div class="mod-btn" style=""><span class="btn-fcmprimary" onclick="Anti_switch_account();return false;">更换账号</span><span class="btn-fcmprimary" onclick="Anti_go_to_main();return false;">确定</span></div></div>';
document.body.appendChild(一个弹窗);
var 遮罩 = document.createElement("div");
遮罩.className = "cmMask";
遮罩.style.cssText =
"height: " +
document.body.offsetHeight +
"px; z-index: 9999; display: block";
遮罩.innerHTML = "";
document.body.appendChild(遮罩);
}
function 游戏中() {
if (开发者配置.始终处于游戏状态) {
return 开发者配置.始终处于游戏状态;
}
let 有没有玩游戏 = false;
if (
location.href.indexOf("sda.4399.com") >= 0 ||
location.href.indexOf("sbai.4399.com") >= 0 ||
location.href.indexOf("sxiao.4399.com") >= 0 ||
location.href.indexOf("zxwyouxi.com") >= 0 ||
location.href.indexOf("flash.7k7k.com") >= 0 ||
location.href.indexOf("7k7k.com/swf/") >= 0 ||
location.href.indexOf("h5.07073.com/gameplay") >= 0
) {
有没有玩游戏 = true;
}
return 有没有玩游戏;
}
function 减料() {
let 开始 = new Date().getTime();
if (unsafeWindow.webServer && unsafeWindow._strGamePath) {
// 4399获取游戏直链
console.log("[防沉迷减点料] 尝试4399获取游戏直链");
if (开发者配置.启用调试) {
debugger;
}
location.href = unsafeWindow.webServer + unsafeWindow._strGamePath;
} else if (
document.querySelector("fuck#flash22".substring(4)) &&
location.href.indexOf("4399.com") >= 0
) {
if (
document.querySelector("fuck#flash22".substring(4)).src !=
location.href
) {
// 4399获取游戏直链2
try {
console.log("[防沉迷减点料] 尝试4399获取游戏直链2");
if (开发者配置.启用调试) {
debugger;
}
location.href = String(
document.querySelector("fuck#flash22".substring(4)).src
);
} catch (err) {
console.error(err);
}
}
} else if (document.querySelector("iframe#game")) {
if (document.querySelector("iframe#game").src != location.href) {
// 4399获取游戏直链3
try {
console.log("[防沉迷减点料] 尝试4399获取游戏直链3");
if (开发者配置.启用调试) {
debugger;
}
location.href = String(
document.querySelector("iframe#game").src
);
} catch (err) {
console.error(err);
}
}
} else if (
document.querySelector("#gameobj") &&
document.title.indexOf("合成") == -1
) {
if (document.querySelector("#gameobj").src != location.href) {
// 7k7k获取游戏直链1 (不支持合成大西瓜和小芝麻)
console.log("[防沉迷减点料] 尝试7k7k获取游戏直链1");
if (开发者配置.启用调试) {
debugger;
}
location.href = document.querySelector("#gameobj").src;
}
} else if (unsafeWindow.Play24 && location.href.indexOf("7k7k.com") >= 0) {
// 7k7k获取游戏直链2, 顺便说一句, 7k7k跟4399一样狗
try {
console.log("[防沉迷减点料] 尝试7k7k9获取游戏直链1");
if (开发者配置.启用调试) {
debugger;
}
unsafeWindow.Play24.prototype.playLoading();
unsafeWindow.Play24.prototype.playLoading = function () {}; // 防止重复调用
} catch (err) {
console.error(err);
}
}
try {
// 简单暴力的减料方式
for (let 索引 = 0; 索引 < 一堆伞兵玩意.length; 索引++) {
const element = 一堆伞兵玩意[索引].substring(4);
if (document.querySelectorAll(element)[0]) {
document.querySelectorAll(element).forEach((el) => {
el.remove();
});
console.log("[防沉迷减点料] -减料成功- " + element);
}
}
} catch (err) {
console.error(err);
}
if (开发者配置.输出减料时间) {
console.log(
"[防沉迷减点料] 减料结束, 用时" +
(new Date().getTime() - 开始) +
"ms"
);
}
}
//判断是否在iframe中
if (self == top) {
if (用了多少天 >= 5 && GM_getValue("已参与调查") == "0") {
GM_setValue("已参与调查", "1");
GM_notification(
"请点击参与脚本使用情况调查(第二期),帮助这个脚本变得更好",
"🔥🔥🔥防沉迷减点料🔥🔥🔥 用的怎样?",
"",
function () {
open("https://wj.qq.com/s2/9618279/815b/", "_blank");
}
);
}
if (游戏中()) {
for (let i = 0.5; i < 5; i = i + 0.5) {
setTimeout(() => {
GM_notification(
"你已经玩了" +
i +
"个小时,防沉迷那个啥虽好,但也要适度游戏,休息一下吧",
"健康游戏提示"
);
}, i * 60 * 60 * 1000);
console.log("[防沉迷减点料] 已设置健康游戏提醒 " + i + " 小时");
}
setInterval(function () {
玩了几分钟 += 1;
更新菜单();
}, 60 * 1000);
} else {
玩了几分钟 = "未在游戏";
}
更新菜单();
}
function 减点料() {
// 不健康游戏忠告
if (document.querySelector("#skinbody > div.copy > div.copy_t")) {
document.querySelector("#skinbody > div.copy > div.copy_t").innerHTML =
'作品版权归作者所有,如果侵犯了您的版权,请<a href="//my.4399.com/joinus/contact.html">联系我们</a>,本站将在3个工作日内删除。<br><span>不温馨提示:</span>不要抵制不良游戏,不要拒绝盗版游戏,不要注意自我保护,不要谨防受骗上当,沉迷游戏益脑,适度游戏伤身,不要合理安排时间,享受快乐游戏生活';
}
if (
document.querySelector(
"#theme-blue > div.footer > div > div.f_con_fl2 > p.f_p5"
)
) {
document.querySelector(
"#theme-blue > div.footer > div > div.f_con_fl2 > p.f_p5"
).innerHTML =
"7k7k小游戏不温馨提示:不要适度游戏娱乐,沉迷游戏益脑,不要合理安排时间,享受快乐游戏生活……";
}
setTimeout(减料, 1000);
setTimeout(减料, 2000);
setTimeout(减料, 3000);
setTimeout(减料, 4000);
setTimeout(减料, 5000);
}
减点料();
addEventListener("load", function () {
if (location.href.indexOf("s2/9618279/815b") >= 0) {
var interval3 = setInterval(function () {
try {
document.querySelector(
"#question_q-26-Zd7K > div.question-body > textarea"
).value = 脚本信息;
clearInterval(interval3);
} catch (err) {}
}, 3000);
}
减点料();
// 快捷键
document.addEventListener(
"mousedown",
function (e) {
if (e.button == 1 && e.shiftKey) {
大人来了();
}
if (e.button == 1 && e.altKey) {
减料();
}
},
true
);
setTimeout(() => {
// 以防万一
document.querySelectorAll("canvas").forEach((element) => {
element.addEventListener(
"mousedown",
function (e) {
if (e.button == 1 && e.shiftKey) {
大人来了();
}
if (e.button == 1 && e.altKey) {
减料();
}
},
true
);
});
}, 5000);
});
if (
location.href.indexOf("437233") >= 0 &&
location.href.indexOf("feedback") >= 0
) {
document.querySelector("#discussion_comments_attributes_0_text").value =
"<pre>" +
脚本信息 +
"</pre>\n---以上是脚本信息,有助于脚本作者解决问题---\n";
}