Bypass Question Crypt

Make text readable to AI and search engines

As of 2024-06-15. See the latest version.

// ==UserScript==
// @name         Bypass Question Crypt
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description  Make text readable to AI and search engines
// @author       @dsvl0
// @match        https://docs.google.com/forms/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=google.com
// @grant        none
// @license MIT
// ==/UserScript==
/* eslint no-eval: 0 */

var TotalAwnsers=[];
var CurerntAwnser=-1;
var Awnsers=[];
var Descriptions=[];
let canAutoFill = true;


let library = {
    'з0': '30',
    'з1': '31',
    'з2': '32',
    'з3': '33',
    'з4': '34',
    'з5': '35',
    'з6': '36',
    'з7': '37',
    'з8': '38',
    'з9': '39',
    '2з': '23',
    '2-з': '2-3',
    'вIоS': 'BIOS',
    'RISс': "RISC",
    'саснe': 'cache',
    'Саснe': 'Cache',
    'Rам': 'RAM',
    'вlu-rаy': 'Blu-Ray',
    'Rом': 'ROM',
    'СрU': 'CPU',
    'GрU': 'GPU',
    'рSU': 'PSU',
    'USв': 'USB',
    'сISс': 'CISC',
    'НDD': 'HDD',
    'INтеL': 'INTEL',
    'амD': 'AMD',
    'смоS': 'CMOS',
    'NаND': 'NAND',
    'NоR': 'NOR',
    "Nот": "NOT",
    'ХоR': 'ХOR',
    'аND': 'AND',
    'оR': 'OR',
    'Sнift': 'Shift',
    'Аlt': 'Alt',
    'вlu-Rаy': 'Blu-Rаy',
    'Васкsрасe': 'Backspace',
    'Сарs Loск': 'Caps Lock',
    'СарsLoск': 'CapsLock',
    'Сtrl': 'Ctrl',
    '.сoм':'.com',
    'gмаil.сoм': 'gmail.com',
    'Rах': 'RAX',
    'Фамилия имя': 'Фамилия Имя'

}



function WordsLibrary(sentense){
    let words = sentense.split(' ')
    let new_sentense = '';
    let allKeys = Object.keys(library);
    for (let i=0; i<words.length; i++){
        let word = words[i]

        let worldInLibrary = library[word];
        if (worldInLibrary === undefined){worldInLibrary=word}

        for (let key=0; key<allKeys.length; key++){
            let isInLibrary = worldInLibrary.indexOf(allKeys[key])
            if (isInLibrary > -1){
                worldInLibrary = worldInLibrary.replaceAll(allKeys[key],library[allKeys[key]])
            }
        }
        new_sentense += worldInLibrary
        if (i !== words.length -1){
            new_sentense+= ' '
        }
    }
    return new_sentense

}




function CreateSettingsIfNotCreated(){
    if (document.querySelector('.md0UAd') !== null){
        if (document.getElementById('ByPassAutoText') === null){
            //Автоматически заполнять эту страницу
            let set = document.createElement('input');
            set.type='checkbox'
            set.id='ByPassAutoText'
            let text = document.createElement('label')
            text.textContent = 'Автоматически заполнять эту страницу (Bypass Tsoi Crypt)'
            text.setAttribute("for", "ByPassAutoText");
            document.querySelector('.md0UAd').after(set)
            set.checked = localStorage.getItem('BTSCByPassAutoText') !== null

            let ClearData = document.createElement('button')
            ClearData.textContent = 'Очистить записанные данные входа Bypass Tsoi Crypt'
            ClearData.style='background: #009100; color: #fff; border-radius: 5px; margin-top: 3px; padding: 8px; cursor: pointer; border: solid 2px green';

            set.after(text)
            text.after(ClearData)

            set.addEventListener('change', function() {
                if (this.checked) {
                    localStorage.setItem('BTSCByPassAutoText', 1)
                } else {
                    localStorage.removeItem('BTSCByPassAutoText', 1)
                }
            })

            ClearData.addEventListener('click', function() {
                let conftxt = 'Очистить данные для авто-заполнения? Страница будет перезагружена';
                if (confirm(conftxt)){
                    localStorage.removeItem("BPSForEmail")
                    localStorage.removeItem("BPSName")
                    localStorage.removeItem("BPSGroup");
                    canAutoFill = false;
                    location.reload();
                }
            })
        }
    }
}


function setUserInput(inputElement, value) {
    inputElement.value = value;
    var inputEvent = new Event('input', { bubbles: true });
    inputElement.dispatchEvent(inputEvent);
}


let WaitingTimes = 8;
let previos_checkbox = null;
function SaveAccount(){
    try{
        CreateSettingsIfNotCreated()
        if (document.querySelector('span.EbMsme') !== null && document.querySelector('.md0UAd') !== null && canAutoFill && localStorage.getItem('BTSCByPassAutoText') !== null){
            let settings = {
                forEmail: localStorage.getItem("BPSForEmail"),
                name: localStorage.getItem("BPSName"),
                group: localStorage.getItem("BPSGroup")
            }
            let group = document.querySelectorAll('.d7L4fc');
            let v = 0;
            let group_position = null;
            group.forEach(i => {
                if (i.childNodes[0].getAttribute('aria-checked') === 'true'){
                    group_position = v
                }
                v++;
            })



            if (document.querySelector('input.whsOnd.zHQkBf').value === '' && settings.name !== null && WaitingTimes > 10){
                setUserInput(document.querySelector('input.whsOnd.zHQkBf'), settings.name);
                WaitingTimes = 0;
            } else if (document.querySelector('input.whsOnd.zHQkBf').value === '') {WaitingTimes++}
            if (group_position===null && settings.group !== null){
                if (group[Number(settings.group)].children[0].getAttribute('aria-checked') === 'false'){
                    group[Number(settings.group)].click()
                }
            }

            if (document.querySelector('.rq8Mwb').parentElement.getAttribute('aria-checked') !== 'true'){
                document.querySelector('.rq8Mwb').click()
            }


            localStorage.setItem("BPSForEmail", document.querySelector('span.EbMsme').textContent)
            if (document.querySelector('input.whsOnd.zHQkBf').value !== ''){localStorage.setItem("BPSName", document.querySelector('input.whsOnd.zHQkBf').value)}
            if (group_position !== null){localStorage.setItem("BPSGroup", group_position)}
        }
    } catch(e){console.error(e)}
}


function Low(txt){
    txt=txt.replaceAll("А","а").replaceAll("А","а");
    txt=txt.replaceAll("Б","б").replaceAll("Б","б");
    txt=txt.replaceAll("В","в").replaceAll("В","в");
    txt=txt.replaceAll("Г","г").replaceAll("Γ","г");
    txt=txt.replaceAll("Д","д");
    txt=txt.replaceAll("Е","е").replaceAll("E","е");
    txt=txt.replaceAll("Ё","ё");
    txt=txt.replaceAll("Ж","ж");
    txt=txt.replaceAll("З","з").replaceAll("З","з");
    txt=txt.replaceAll("И","и").replaceAll("И","и");
    txt=txt.replaceAll("Й","й").replaceAll("Й","й");
    txt=txt.replaceAll("К","к").replaceAll("К","к");
    txt=txt.replaceAll("Л","л");
    txt=txt.replaceAll("М","м");
    txt=txt.replaceAll("Н","н").replaceAll("Н","н");
    txt=txt.replaceAll("О","о").replaceAll("О","о");
    txt=txt.replaceAll("П","п").replaceAll("Π","п");
    txt=txt.replaceAll("Р","р");
    txt=txt.replaceAll("С","с");
    txt=txt.replaceAll("Т","т").replaceAll("Т","т");
    txt=txt.replaceAll("У","у");
    txt=txt.replaceAll("Ф","ф");
    txt=txt.replaceAll("Х","х");
    txt=txt.replaceAll("Ц","ц");
    txt=txt.replaceAll("Ч","ч");
    txt=txt.replaceAll("Ш","ш");
    txt=txt.replaceAll("Щ","щ");
    txt=txt.replaceAll("Ъ","ъ");
    txt=txt.replaceAll("Ы","ы").replaceAll("Ы","ы");
    txt=txt.replaceAll("Ь","ь");
    txt=txt.replaceAll("Э","э");
    txt=txt.replaceAll("Ю","ю");
    txt=txt.replaceAll("Я","я");

    return txt;

}




function AnalyzeText(){

    const PointsCount = document.querySelectorAll('.nUvMO.FUQCPb')
    for (const item of PointsCount){
        item.style.display="none";
    }


    const span = [...document.querySelectorAll('.M7eMe'), ...document.querySelectorAll('span.aDTYNe.snByac.OvPDhc.OIC90c'), ...document.querySelectorAll(".ulDsOb"), ...document.querySelectorAll(".F9yp7e.ikZYwf.LgNcQe")];


    for (const element of span){
        let res = element.textContent;
        res = res.replaceAll("A", "А");
        res = res.replaceAll("a", "а");
        res = res.replaceAll("B", "В");
        res = res.replaceAll("C", "С");
        res = res.replaceAll("c", "с");
        res = res.replaceAll("K", "К");
        res = res.replaceAll("k", "к");
        res = res.replaceAll("Λ", "Л");
        res = res.replaceAll("M", "М");
        res = res.replaceAll("m", "м");
        res = res.replaceAll("H", "Н");
        res = res.replaceAll("h", "н");
        res = res.replaceAll("P", "Р");
        res = res.replaceAll("p", "р");
        res = res.replaceAll("3", "З");
        res = res.replaceAll("O", "О");
        res = res.replaceAll("X", "Х");
        res = res.replaceAll("T", "Т");



        res=res[0]+(Low(res.slice(1,res.length)));
        res=WordsLibrary(res);
        if (element.textContent !== res){
            element.textContent = res
        }
    }

    setTimeout(AnalyzeText, 2000);


}



(function() {

    window.reanalyze = function(){
        AnalyzeText()
    }
    try{setInterval(SaveAccount, 200)}catch(e){}
    setTimeout(function () { AnalyzeText(); }, 500);

})();