Bypass Question Crypt

Make text readable to AI and search engines

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Bypass Question Crypt
// @namespace    http://tampermonkey.net/
// @version      1.3.4
// @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 lastTabId = null;

// Данные словаря увеличены в ~1.6 раз (по сравнению с 1.3)

let library = {
    'з0': '30',
    'з1': '31',
    'з2': '32',
    'з3': '33',
    'з4': '34',
    'з5': '35',
    'з6': '36',
    'з7': '37',
    'з8': '38',
    '0з': '03',
    '1з': '13',
    '2з': '23',
    '4з': '43',
    '5з': '53',
    '6з': '63',
    '7з': '73',
    '8з': '83',
    '9з': '93',
    'з9': '39',
    '2з': '23',
    'З0': '30',
    'З1': '31',
    'З2': '32',
    'З3': '33',
    'З4': '34',
    'З5': '35',
    'З6': '36',
    'З7': '37',
    'З8': '38',
    'З9': '39',
    '2-з': '2-3',
    '4з': '43',
    '∅': '0',
    'ᛐ': '1',
    'в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',
    'рro':'pro',
    'НDD': 'HDD',
    'С:\\':'C:\\',
    'progrам': 'program',
    'аррliсаtion': 'application',
    'Dаtа': 'Data',
    'Iвм': 'IBM',
    'АррLе': 'Apple',
    'МIсRоSоFт': 'Microsoft',
    'INтеL': 'INTEL',
    'амD': 'AMD',
    'wireless': 'wireless',
    'runаs': 'runas',
    'tаsкlist': 'tasklist',
    'Iт':'IT',
    'еssentiаls': 'essentials',
    'сDFS': 'CDFS',
    'GрS': 'GPS',
    'Wер': 'WEP',
    'gрresult': 'gpresult',
    'IDе': 'IDE',
    'gрuрdаte': 'gpupdate',
    'Iр': 'IP',
    'смоS': 'CMOS',
    'NаND': 'NAND',
    'NоR': 'NOR',
    'Etнernet': 'Ethernet',
    'Вluetootн': 'Bluetooth',
    "Nот": "NOT",
    'ХоR': 'ХOR',
    'ВоотмGR':'BootMGR',
    'Вмр': 'Bmp',
    'WаV':' WAV',
    'Рсх': 'Pcx',
    'МвR': 'MBR',
    'аND': 'AND',
    'оR': 'OR',
    'сDR': 'CDR',
    'WмF': 'WMF',
    'Sнift': 'Shift',
    'Аlt': 'Alt',
    'вlu-Rаy': 'Blu-Rаy',
    'Васкsрасe': 'Backspace',
    'SFс': 'sfc',
    '/SсаNNоW': '/scannow',
    'WINDоWS': 'Windows',
    'мемORY':'memory',
    'DIаGNоSтIс': 'diagnostic',
    'Eхт4': 'EXT4',
    'СнкDSк': 'chkdsk',
    'DISкраRт': 'diskpart',
    'Сарs Loск': 'Caps Lock',
    'СарsLoск': 'CapsLock',
    'Рytнon': 'Python',
    'Jаvаsсriрt' : 'Javascript',
    'Сtrl': 'Ctrl',
    'Рнр': 'Php',
    'NAS':'NAS',
    'Рerl': 'Perl',
    '.сoм':'.com',
    'Рnр': 'Pnp',
    'Fат': 'FAT',
    'СDFS': 'CDFS',
    'NтFS': 'NTFS',
    'Gв':'GB',
    'аSсII': 'ASCII',
    'СLI': 'CLI',
    'ОрenGL': 'OpenGL',
    'нoмe': 'home',
    'Uас': 'Uac',
    'VрN':'VPN',
    'рlug':'plug',
    'and':'and',
    'рlаy':'play',
    'еxрlorer':'explorer',
    'Тнeваt':'Thebat',
    'Мozillа': 'Mozilla',
    'ВootмGR':'BootMGR',
    'асtive': 'active',
    'Мiсrosoft': 'Microsoft',
    'оutlooк': 'outlook',
    'тнunderbird': 'thunderbird',
    'tнunderbird': 'thunderbird',
    'Direсtory': 'Directory',
    'АрI': 'API',
    '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'
            set.style='margin-top: 12px';
            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.querySelectorAll('input.whsOnd.zHQkBf')[1].value === '' && settings.name !== null && WaitingTimes > 10){
                setUserInput(document.querySelector('input.whsOnd.zHQkBf'), settings.name);
                WaitingTimes = 0;
            } else if (document.querySelectorAll('input.whsOnd.zHQkBf')[1].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') !== null && document.querySelector('.rq8Mwb').parentElement.getAttribute('aria-checked') !== 'true'){
                document.querySelector('.rq8Mwb').click()
            }


            localStorage.setItem("BPSForEmail", document.querySelector('span.EbMsme').textContent)
            if (document.querySelectorAll('input.whsOnd.zHQkBf')[1].value !== ''){localStorage.setItem("BPSName", document.querySelectorAll('input.whsOnd.zHQkBf')[1].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("Я","я");
    txt=txt.replaceAll("∅","0");
    txt=txt.replaceAll("∅","0");
    txt=txt.replaceAll("ᛐ","1");

    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"), ...document.querySelectorAll('.V4d7Ke.OIC90c')];


    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 StylePatcher(){
    let styleDiv = document.createElement('style')
    styleDiv.id='PatchedStyle'
    styleDiv.textContent = `
.Qr7Oae {
    position: relative;
}

* {
font-family: "Google Sans",Roboto,Arial,sans-serif;
letter-spacing: .25px;
}

.z12JJ {margin-right: 12px; width: 100%}
span.M7eMe {
    margin-right: 10px;
}

.googleFloatButton {
    background: transparent;
    color: #5f6368;
    height: fit-content;
    border-radius: 5px;
    margin-top: 3px;
    font-size: 14px;
    white-space: nowrap;
    cursor: pointer;
    border: solid 2px #5f636890;
    font-weight: 500;
    position: relative;
    top: -10px;
    padding: 6px;
    right: 0px;
}

.googleFloatButton.butontitle {
    margin-top: 10px;
    top: 0px;
    left: 0px;
    width: 100%;
}

.googleFloatButton.butontitle.butVisible {
    display: block !important;
}

button.googleFloatButton.yandexsearch {
     width: 100%;
     left: 0px;
     border-color: #fb3d1b;
     color: black;
}



    `;
    document.body.appendChild(styleDiv)

}


function rand(min, max) {
    return Number((Math.random() * (max - min) + min).toFixed(0));
}

function RandomRadioClick(ListToRandom){
    if (ListToRandom.length !== 0){
        let element = rand(0, ListToRandom.length-1)
        if (ListToRandom[element].getAttribute('aria-checked') === 'false'){
            ListToRandom[element].click()
        } else {
            RandomRadioClick(ListToRandom)
        }
    }

}

function RandomCheckboxClick(ListToRandom){
    if (ListToRandom.length !== 0){
        let element = rand(0, ListToRandom.length-1)
        ListToRandom[element].click()
    }
}


function StartRandomForDiv(content){
    console.log(content)
    let radioButtons = (content.parentElement.parentElement.querySelectorAll('.Od2TWd'))
    let checkboxes = (content.parentElement.parentElement.querySelectorAll('.rq8Mwb'))
    RandomRadioClick(radioButtons)
    RandomCheckboxClick(checkboxes)
}

function SwitchRandomVisibility(){
    let HideAll = document.getElementById('HideAllButton')
    if (document.getElementById('RandomButtonsNotVisible') === null){
        HideAll.textContent = 'Показать добавленные кнопки '
        let styleDiv = document.createElement('style')
        styleDiv.id='RandomButtonsNotVisible'
        styleDiv.textContent = `
        .googleFloatButton {display: none !important}
        `;
        document.head.appendChild(styleDiv)
    } else {
        HideAll.textContent = 'Скрыть добавленные кнопки'
        document.getElementById('RandomButtonsNotVisible').remove()
    }
}





function RandomizeChoice(){
    try{
        if (document.querySelector('.md0UAd') === null || document.querySelector('.md0UAd') === null){
            let allDivs = document.querySelectorAll('.z12JJ')
            allDivs.forEach(div => {
                let RandomChoice = document.createElement('button')
                RandomChoice.textContent = 'Случайный выбор'
                RandomChoice.addEventListener('click', function() {
                    StartRandomForDiv(RandomChoice)
                })
                RandomChoice.className='googleFloatButton';
                div.appendChild(RandomChoice)




                let YandexSearch = document.createElement('button')
                YandexSearch.className = 'googleFloatButton yandexsearch'
                YandexSearch.textContent = 'Найти в Яндекс'
                YandexSearch.addEventListener('click', function() {
                    let ortext = (div.parentElement.querySelector('.M4DNQ').textContent)
                    let searchText = ortext.replace(' ','+')
                    searchText = 'https://yandex.ru/search/?text='+searchText
                    if (false){
                        let variants = YandexSearch.parentElement.querySelectorAll('.snByac:not(.RveJvd)')
                        if (variants.length > 0){
                            variants.forEach(span => {searchText += span.textContent+', ';})
                            searchText+=')'

                        }
                    }
                    searchText.replaceAll('Мой ответ','')
                    window.open(searchText)

                })


                div.before(YandexSearch)
            })
        }


        if (document.querySelector('.md0UAd') === null && document.getElementById("RandomizeAll") === null){
            let titleBar = document.querySelector('.m7w29c.O8VmIc.tIvQIf')
            let RandomAll = document.createElement('button')
            RandomAll.textContent = 'Случайно выбрать где возможно'
            RandomAll.addEventListener('click', function() {
                let allowToRandAll = confirm("Вы точно хотите установить всё случайно? Это перезапишет ваши ответы")
                if (allowToRandAll){
                    let listOfElements = document.querySelectorAll('button.googleFloatButton')
                    listOfElements.forEach( block => {StartRandomForDiv(block)} )
                }
            })
            RandomAll.className='googleFloatButton butontitle';


            let HideAll = document.createElement('button')
            HideAll.textContent = 'Скрыть добавленные кнопки'
            HideAll.id='HideAllButton'
            HideAll.addEventListener('click', function() {
                SwitchRandomVisibility()
            })
            HideAll.className='googleFloatButton butontitle butVisible';
            titleBar.appendChild(HideAll);
            titleBar.appendChild(RandomAll);

        }







        if (document.querySelector('.md0UAd') !== null){
            setTimeout(RandomizeChoice, 150)
        }




    } catch(e) {console.error(e)}
}


(function() {
    StylePatcher()

    setTimeout(RandomizeChoice, 150)

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

})();