Greasy Fork

Kiosk 자동 국룰/다운

Kiosk 자동 국룰 입력

目前为 2024-05-27 提交的版本。查看 最新版本

// ==UserScript==
// @name		Kiosk 자동 국룰/다운
// @namespace	http://tampermonkey.net/
// @version		1.2
// @description	Kiosk 자동 국룰 입력
// @author		김머시기
// @match		https://kiosk.ac/c/*
// @match		https://arca.live/b/simya*
// @icon		https://www.google.com/s2/favicons?sz=64&domain=kioskloud.ac
// @grant		GM.setValue
// @grant		GM.getValue
// @license		MIT
// @run-at document-end
// ==/UserScript==
'use strict';
let rp;
const rpw = atob("c21wZW9wbGU=");
async function m(){
    rp = await GM.getValue("rp")
    if(rp != rpw)	{
        const chk = prompt("국룰 확인");
        if(chk?.toLowerCase() == rpw) {
            GM.setValue("rp", rpw);
        } else {
            GM.setValue("rp", false);
            alert("국룰이 일치하지 않습니다.");
        }
    }
}
function pw() {
	document.querySelector('.input.shadow-xl.flex-grow').value = rpw;
    document.querySelector('.btn.btn-ghost.w-full.mt-2.rounded-md').click();
}
function pw1() {
	document.querySelector('.input.shadow-xl.flex-grow').value = "#"+rpw+"#";
    document.querySelector('.btn.btn-ghost.w-full.mt-2.rounded-md').click();
}
function dbtn() {
	let downButton = document.querySelector('.p-2 li:last-child button');
    downButton.click();
}
m();
async function auto() {
    if(rp==rpw){
        await pw();
        await setTimeout(pw1,800);
        await setTimeout(dbtn,2500);
    }
}
function doDecode() {
    const article = document.querySelector("body div.article-body > div.fr-view.article-content");
    function dec(reg) {
        try {
            while (reg.test(article.innerHTML)) {
                let decoded = reg.exec(article.innerHTML)[0];
                while (decoded.match(/aHR0c[0-9A-Za-z+/-]{8,}[=]{0,2}/) == null) {
                    decoded = atob(decoded);
                }
                decoded = atob(decoded); console.log(decoded);
                article.innerHTML = article.innerHTML.replace(reg, `<a href=${decoded} target='_blank' rel='noreferrer'>${decoded}</a>`);
            }
        } catch(i) {
            console.log(i,article);
        }
    }
    dec(/aHR0c[0-9A-Za-z+/-]{20,}[=]{0,2}/);
    dec(/YUhSMGN[0-9A-Za-z+/-]{80,}[=]{0,2}/);
    dec(/[0-9A-Za-z+/-]{30,}[=]{1,2}/);
    dec(/[0-9A-Za-z+/-]{200,}[=]{0,2}/);
}

const currentHost = document.URL.split("/")[2];
if(currentHost === "arca.live") {
    doDecode();
} else {
    setTimeout(auto, 100);
}