中大自动验证码认证

中山大学身份验证系统自动识别验证码登录(不可用)

当前为 2021-01-06 提交的版本,查看 最新版本

// ==UserScript==
// @name               中大自动验证码认证
// @name:en            SYSU CAS Auto Captcha Login
// @name:zh            中大自动验证码认证
// @namespace          https://github.com/KumaTea
// @namespace          https://gf.qytechs.cn/en/users/169784-kumatea
// @version            0.1
// @description        中山大学身份验证系统自动识别验证码登录(不可用)
// @description:en     Automatic Script for Solving captcha of CAS (Central Authentication Service) of Sun Yat-sen University
// @description:zh     中山大学身份验证系统自动识别验证码登录(不可用)
// @description:zh-cn  中山大学身份验证系统自动识别验证码登录(不可用)
// @author             KumaTea
// @match              https://cas.sysu.edu.cn/cas/login
// @license            MIT
// @require      https://unpkg.com/[email protected]/dist/tesseract.min.js
// @require      https://unpkg.com/[email protected]/dist/sweetalert.min.js
// ==/UserScript==


/* jshint esversion: 8 */
// 'use strict';

const captcha_regex = /[A-Za-z0-9]/g;

function react_input(component, value) {
  // Credit: https://github.com/facebook/react/issues/11488#issuecomment-347775628
  let last_value = component.value;
  component.value = value;
  let event = new Event('input', {bubbles: true});
  // React 15
  event.simulated = true;
  // React 16
  let tracker = component._valueTracker;
  if (tracker) {
    tracker.setValue(last_value);
  }
  component.dispatchEvent(event);
}

async function solve() {
  if (document.getElementById('captcha')) {
    let result = '';
    while (result.length != 4) {
        await Tesseract.recognize(document.captchaImg, 'eng').then(({ data: { text } }) => {result = text.match(captcha_regex).join('');});
        console.log('Recognized: ' + result);
        react_input(document.getElementById('captcha'), result);
    }
    console.log('Submitting: ' + result);
    if (document.getElementById('username').value) {
      document.querySelector('input.btn.btn-submit.btn-block').click();
    } else {
      console.log('No username!');
      sweetAlert("无用户名", "您尚未输入用户名");
    }
  }
}

solve();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址