Skip to content

Commit b373c1d

Browse files
committed
新增 [自动签到] 功能(自动访问空间)
1 parent 924bce3 commit b373c1d

1 file changed

Lines changed: 52 additions & 4 deletions

File tree

Hostloc-Enhanced.user.js

Lines changed: 52 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// ==UserScript==
22
// @name 全球主机交流论坛增强
3-
// @version 1.0.9
3+
// @version 1.1.0
44
// @author X.I.U
5-
// @description 自动无缝翻页、自动显示帖子内隐藏回复、自动隐藏阅读权限 255 的帖子、回到顶部(右键点击两侧空白处)
5+
// @description 自动签到(访问空间)、自动无缝翻页、自动显示帖子内隐藏回复、自动隐藏阅读权限 255 的帖子、回到顶部(右键点击两侧空白处)
66
// @match *://hostloc.com/*
77
// @icon https://www.hostloc.com/favicon.ico
88
// @grant GM_xmlhttpRequest
@@ -19,6 +19,8 @@
1919

2020
(function() {
2121
var menu_ALL = [
22+
['menu_autoSignIn', '自动签到', '自动签到', true],
23+
['menu_reAutoSignIn', '重新签到', '重新签到', ''],
2224
['menu_thread_pageLoading', '帖子内自动翻页', '帖子内自动翻页', true],
2325
['menu_showhide', '自动显示隐藏回复', '自动显示隐藏回复', true],
2426
['menu_delate255', '自动隐藏阅读权限 255 的帖子', '自动隐藏阅读权限 255 的帖子', true],
@@ -38,7 +40,11 @@
3840
}
3941
for (let i=0;i<menu_ALL.length;i++){ // 循环注册脚本菜单
4042
menu_ALL[i][3] = GM_getValue(menu_ALL[i][0]);
41-
menu_ID[i] = GM_registerMenuCommand(`[ ${menu_ALL[i][3]?'√':'×'} ] ${menu_ALL[i][1]}`, function(){menu_switch(`${menu_ALL[i][3]}`,`${menu_ALL[i][0]}`,`${menu_ALL[i][2]}`)});
43+
if (menu_ALL[i][0] === 'menu_reAutoSignIn') {
44+
menu_ID[i] = GM_registerMenuCommand(`[ ⚑ ] ${menu_ALL[i][1]}`, function(){reAutoSignIn()});
45+
} else {
46+
menu_ID[i] = GM_registerMenuCommand(`[ ${menu_ALL[i][3]?'√':'×'} ] ${menu_ALL[i][1]}`, function(){menu_switch(`${menu_ALL[i][3]}`,`${menu_ALL[i][0]}`,`${menu_ALL[i][2]}`)});
47+
}
4248
}
4349
menu_ID[menu_ID.length] = GM_registerMenuCommand('反馈 & 建议', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});window.GM_openInTab('https://greasyfork.org/zh-CN/scripts/414005/feedback', {active: true,insert: true,setParent: true});});
4450
}
@@ -136,7 +142,49 @@
136142

137143
curSite.pageUrl = ""; // 下一页URL
138144
pageLoading(); // 自动翻页
139-
if(menu_value('menu_backToTop'))backToTop(); // 回到顶部(右键点击左右两侧空白处)
145+
if(menu_value('menu_backToTop'))backToTop(); // 回到顶部(右键点击左右两侧空白处)
146+
if(menu_value('menu_autoSignIn'))autoSignIn(); // 自动签到(访问空间 10 次 = 20 积分)
147+
148+
149+
// 自动签到(访问空间 10 次 = 20 积分)
150+
function autoSignIn() {
151+
if (GM_getValue('menu_signingIn')) return
152+
let timeNow = new Date().getFullYear() + "/" + (new Date().getMonth() + 1) + "/" + new Date().getDate(),
153+
timeOld = GM_getValue('menu_signInTime');
154+
if (!timeOld || timeOld != timeNow) { // 是新的一天
155+
GM_notification({text: '请不要关闭/刷新网页!耐心等待 60 秒~\n在此期间可以在 "其他标签页" 浏览论坛!', timeout: 10000});
156+
let url_list = [],
157+
url = 0;
158+
// 随机生成 12 个空间地址(2 个冗余)
159+
for(let i = 0;i < 12;i++){url_list[i] = "https://hostloc.com/space-uid-" + Math.floor(Math.random()*(50000-10000+1)+10000) + ".html";}
160+
// 每 5 秒访问一次(避免触发网站防御机制)
161+
GM_setValue('menu_signingIn', true);
162+
let signIn = setInterval(function(){
163+
GM_xmlhttpRequest({
164+
url: url_list[url++],
165+
method: "GET",
166+
timeout: 4000
167+
});
168+
console.log(`[全球主机交流论坛 增强] 金钱 +2 (${url_list[url]})`);
169+
if (url === 11) { // 次数够了就取消定时循环
170+
console.log('[全球主机交流论坛 增强] 签到完成!');
171+
GM_setValue('menu_signingIn', false);
172+
GM_setValue('menu_signInTime', timeNow); // 写入签到时间以供后续比较
173+
clearInterval(signIn);
174+
}
175+
}, 5000);
176+
} else { // 新旧签到时间一致
177+
console.info('[全球主机交流论坛 增强] 已经签过到了。')
178+
}
179+
}
180+
181+
182+
// 重新签到
183+
function reAutoSignIn() {
184+
GM_setValue('menu_signingIn', false);
185+
GM_setValue('menu_signInTime', '1970/1/1');
186+
location.reload(); // 刷新网页
187+
}
140188

141189

142190
// 自动翻页

0 commit comments

Comments
 (0)