您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Codeforces多账号管理助手
// ==UserScript== // @name CFAccountsManager // @namespace http://tampermonkey.net/ // @version 1.0 // @description Codeforces多账号管理助手 // @author bakapiano // @match *://codeforces.com/* // @grant none // ==/UserScript== (function() { var BACKENDURL = "https://cf.bakapiano.site"; function login(username, password) { if (document.querySelector("#header > div.lang-chooser > div:nth-child(2) > a:nth-child(2)").innerText == "Logout") { var url = document.querySelector("#header > div.lang-chooser > div:nth-child(2) > a:nth-child(2)").href; $.ajax({ type: "GET", url: url, async: false, }); } $.get( url = "https://codeforces.com/enter", success = function(response,status,xhr){ //console.log(response); var temp = $('<div></div>'); temp.append($.parseHTML(response)); var csrf_token = temp.find('.csrf-token')[0].attributes['data-csrf'].value; console.log(csrf_token); $.post( url = "https://codeforces.com/enter", data = { 'csrf_token': csrf_token, 'ftaa': 'jshedqz38upltgyz7u', 'bfaa': '262e4b1217220f326d1bb72da0b5daa4', 'handleOrEmail': username, 'password': password, '_tta': '115', 'action': 'enter', }, success = function(response,status,xhr){ location.reload() } ) } ); } function check_current_work() { if (localStorage["work"] == "login") { login(); } else if (1==1) { } } function get_friend() { var list = $("#pageContent > div.datatable > div:nth-child(6) > table > tbody > tr").find("td"); for(var i=0; i<list.length; i++) { if (i%3 == 1) { console.log(list[i]); } } } function process_accounts_info() { var data = []; var lines = localStorage['accounts'].split('\n'); for(var i=0; i<lines.length; i++) { var temp = lines[i].trim().split(' '); console.log(temp); if(temp.length>=2) { var username = temp[0].trim(); var password = temp[temp.length-1].trim(); if(username!="" && password!="") { data.push([username,password]) } } } localStorage['data'] = JSON.stringify(data); } function refresh_msg() { if(localStorage['data'] == null){ return; } var data = jQuery.parseJSON(localStorage['data']); var ele = []; for(var i=0; i<data.length; i++) { var p = document.createElement("p"); var a = document.createElement("a"); //var username = data[i][0]; //var password = data[i][1]; a.href = "#"; //a.href="javascript:login('" + username + "','" + password + "')"; a.attributes['username'] = data[i][0]; a.attributes['password'] = data[i][1]; console.log("fuck", a.attributes['username'], a.attributes['password']); a.onclick = function(){ //console.log(this.href); //var t = username; //var a = password; //alert(this.attributes['username'], this.attributes['password']); //alert(this.attributes['password']); //console.log(t,a); login(this.attributes['username'], this.attributes['password']); }; console.log(data[i][0]); var t = document.createTextNode(data[i][0]); a.appendChild(t); /* var success = document.createElement("div"); success.style = 'display:inline;'; success.className = 'success'; p.appendChild(success); */ var info = document.createElement("div"); info.style = 'display:inline;'; info.className = 'info'; p.appendChild(a); p.appendChild(info); ele.push(p); } $('#msg').children().remove(); for(i=0; i<ele.length; i++) { $('#msg')[0].appendChild(ele[i]); console.log(ele[i]); ele[i].id = "user_" + data[i][0]; } //$('#msg').append('<br>'); } function check_unread_msg() { if(localStorage['data'] == null){ return; } var data = jQuery.parseJSON(localStorage['data']); console.log(data); //console.log() $.ajax({ type: "POST", url: BACKENDURL + "/check_unread", //contentType: "application/json; charset=utf-8", data: "data="+JSON.stringify(data), dataType: "json", success : function (data) { unread = data[0]; fail = data[1]; var i = 0; all = $('#msg').find('.info'); //for(i=0; i<all.length; i++) { // all[i].innerText = " No info. " //} for(i=0; i<unread.length; i++) { $('#msg').find('#user_'+unread[i]).find('.info')[0].innerText = " New message! "; } for(i=0; i<fail.length; i++) { $('#msg').find('#user_'+fail[i]).find('.info')[0].innerText = " Fail to login! "; } console.log(data); } }); } function sync_friend() { if(localStorage['data'] == null){ return; } var data = jQuery.parseJSON(localStorage['data']); console.log(data); //console.log() $.ajax({ type: "POST", url: BACKENDURL + "/sync_friend", //contentType: "application/json; charset=utf-8", data: "data="+JSON.stringify(data), dataType: "json", success : function (data) { fail = data; var i = 0; all = $('#msg').find('.info'); for(i=0; i<all.length; i++) { all[i].innerText = " Sync done. " } for(i=0; i<fail.length; i++) { $('#msg').find('#user_'+fail[i]).find('.info')[0].innerText = " Fail to login! "; } console.log(data); } }); } function window_switch() { var main = $('#cfmain')[0]; main.hidden = !main.hidden; var small = $('#cfmain_small')[0]; small.hidden = !small.hidden; } setTimeout(function(){ check_current_work(); $("body").append(" <div id='cfmain' style='left: 10px;bottom: 10px;background: #C0C0C0;overflow: hidden;z-index: 9999;position: fixed;padding:5px;text-align:center;width:220px;border-bottom-left-radius: 4px;border-bottom-right-radius: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;'></div>"); $('#cfmain').append("<div id='msg'></div>"); refresh_msg() $('#cfmain').append('<div id="input"> </div>'); $("#input").append('<textarea id="data" rows="8" style="width:200px;"></textarea>') $('#input').append('<br>'); if(localStorage['hideen'] != null) { localStorage['hideen'] = true; } $('#input')[0].hidden = localStorage['hideen']; if(localStorage['accounts'] != null) { $('#data')[0].value = localStorage['accounts']; } $('#cfmain').append('<button type="button" id="sync" >同步好友</button>'); $('#cfmain').append('<button type="button" id="edit" >编辑账号</button>'); $('#cfmain').append('<button type="button" id="exit" >关闭窗口</button>'); $('#cfmain').append('<br>'); $('#data')[0].onblur = function() { localStorage['accounts'] = $('#data')[0].value; process_accounts_info(); refresh_msg(); check_unread_msg(); } $('#sync').click(function(){ //localStorage["preURL"] = document.URL; //login(); sync_friend() }); $('#edit').click(function(){ var input = $('#input')[0]; if(input.hidden) { check_unread_msg(); } input.hidden = !input.hidden; localStorage['hideen'] = input.hidden; }); $('#exit').click(function(){ window_switch(); }); $("body").append(" <div id='cfmain_small' style='left: 10px;bottom: 10px;background: #C0C0C0;overflow: hidden;z-index: 9999;position: fixed;padding:5px;text-align:center;width:50px;border-bottom-left-radius: 4px;border-bottom-right-radius: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;'></div>"); $("#cfmain_small").append("显示"); $("#cfmain_small").click(function(){ window_switch(); }); //$("#cfmain_small")[0].hidden = true; $("#cfmain")[0].hidden = true; setInterval(check_unread_msg, 1000*30); //$('#cfmain').append('<input type="text" name="" id="TIME" style="width: 50" oninput="value=value.replace(/[^\\d]/g,\'\')">'); if (localStorage["preURL"] != "") { var temp = localStorage["preURL"]; alert("xxx"); localStorage["preURL"] = ""; window.location.href = temp; } },500); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址