🏠 Home 

定时重连

自动断线重连校园网


Install this script?
// ==UserScript==
// @name         定时重连
// @namespace    authysu
// @version      0.0.3
// @description  自动断线重连校园网
// @author       任zc
// @match        *://auth.ysu.edu.cn/*
// @match        *://10.11.0.1/*
// @grant        unsafeWindow
// ==/UserScript==
//刷新页面,似乎没必要
//location.reload();
//劫持confirm
unsafeWindow.confirm = function(){return 1};
window.confirm = function(){return 1};
Window.prototype.confirm = function(){return 1};
function redir(){
window.location.href="http://10.11.0.1"
}
function logout(){
if(!document.querySelector("#toLogOut")){
//没有找到注销,不再执行后续代码
return;
}
document.querySelector("#toLogOut").click();
}
function relogin(){
if(!document.querySelector("#offlineDiv")){
//没找到重登
//setTimeout(redir, 60000) //假如一分钟都没连上,重定向
return;
}
document.querySelector("#offlineDiv").click();
}
function dateFormat(fmt, date) {
let ret;
const opt = {
"Y+": date.getFullYear().toString(),
"m+": (date.getMonth() + 1).toString(),
"d+": date.getDate().toString(),
"H+": date.getHours().toString(),
"M+": date.getMinutes().toString(),
"S+": date.getSeconds().toString()
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
for (let k in opt) {
ret = new RegExp("(" + k + ")").exec(fmt);
if (ret) {
fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
};
};
return fmt;
}
//设置重连的时间
var uh = 4
var um = 0
var us = 0
var myDate = new Date();
function calctimespan(myDate){
var hnow = myDate.getHours();
var mnow = myDate.getMinutes();
var snow = myDate.getSeconds();
var hspan = (uh - hnow + 24) % 24
var mspan = um - mnow
var sspan = us - snow
var timespan = (60*60*hspan + 60*mspan + sspan)*1000
if(4 == hnow && 0 == mnow){
timespan = 60*60*24*1000
}
return timespan
}
var timespan = calctimespan(myDate)
window.onload = function (){
}
setTimeout(logout, timespan);
//注销5秒后重连
setTimeout(relogin, 5000)
window.onload = function(){
if(!document.querySelector("#toLogOut") && !document.querySelector("#offlineDiv") && !document.querySelector("#SLoginBtn_1")){
setTimeout(redir, 60000) //两者皆非就隔段时间重连
}else if(document.querySelector("#toLogOut")){
var hello=1
}else{
setTimeout(function(){
if(document.querySelector("#SLoginBtn_1")){
redir()
}
}, 60000)
}
setTimeout(function(){
var myname = document.getElementById('userName');
myname.innerHTML = "无量天高智勇道德圣玉真上贤明大#"
}, 3000)
var date = new Date();
var welmsg = document.getElementById('userMessage');
welmsg.innerHTML = "上次刷新时间:" + dateFormat("YYYY-mm-dd HH:MM", date);
}
//if(!document.querySelector("#toLogOut")){
//    setTimeout(redir, 60000) //假如一分钟都没连上,重定向
//}