404

[ Avaa Bypassed ]




Upload:

Command:

botdev@18.222.10.145: ~ $
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.HybridTranslate = void 0;
const GoogleTranslator_1 = require("@translate-tools/core/translators/GoogleTranslator");
const Browcore_1 = require("./Browcore");
class HybridTranslate {
    constructor() {
        this.googleTranslator = new GoogleTranslator_1.GoogleTranslator();
    }
    async init() {
        this.browCore = await this.getBrowCore();
    }
    newPage() {
        return this.browCore.browser.newPage();
    }
    async getBrowCore() {
        if (HybridTranslate.browCoreStatic) {
            return HybridTranslate.browCoreStatic;
        }
        else {
            HybridTranslate.browCoreStatic = new Browcore_1.Browcore();
            await HybridTranslate.browCoreStatic.init();
            return HybridTranslate.browCoreStatic;
        }
    }
    async prepare() {
        await this.init();
        this.browCore.headless = true;
        this.transGooglePage = await this.browCore.browser.newPage();
        this.deelPage = await this.browCore.browser.newPage();
        await this.browCore.loadCookiesForPage(this.transGooglePage, "google-trans-cookie.json");
        await this.transGooglePage.goto("https://translate.google.com/", { waitUntil: 'networkidle0' });
        await this.deelPage.goto("https://www.deepl.com/translator", { waitUntil: 'networkidle0' });
        await this.transGooglePage.waitForTimeout(2000);
    }
    async translate(text, sourceLang, targetLang) {
        await this.resetTranslation();
        let result = await this.translateViaGoogle(text, sourceLang, targetLang);
        result = await this.translateViaDeepl(result, "en", "de-DE");
        return result;
    }
    async setTextInputValue(page, selector, value) {
        await page.waitForSelector(selector);
        await page.evaluate((data) => {
            return document.querySelector(data.selector).value = data.value;
        }, { selector, value });
    }
    async translateViaGoogle(text, sourceLang, targetLang) {
        const textArea = await this.transGooglePage.$(".er8xn");
        // await textArea?.type(text);
        await this.setTextInputValue(this.transGooglePage, ".er8xn", text);
        await (textArea === null || textArea === void 0 ? void 0 : textArea.type(" "));
        await this.transGooglePage.waitForTimeout(1000);
        let value = await this.transGooglePage.evaluate(() => {
            const elements = document.querySelectorAll(".VIiyi span > span");
            value = "";
            elements.forEach(el => {
                value += el.textContent;
            });
            return value;
        });
        return value;
    }
    async resetTranslation() {
        await this.resetGoogleTranslate();
    }
    async resetGoogleTranslate() {
        await this.transGooglePage.focus(".er8xn");
        await this.transGooglePage.keyboard.down('Control');
        await this.transGooglePage.keyboard.press('A');
        await this.transGooglePage.keyboard.up('Control');
        await this.transGooglePage.keyboard.press('Backspace');
    }
    async resetDeeplByPage(page) {
        // const textArea = await this.page.$(".lmt__source_textarea")
        // console.log("text area", textArea)
        // await textArea?.evaluate((el)=>{
        //     el.nodeValue = "";
        // })
        await page.focus(".lmt__source_textarea");
        await page.keyboard.down('Control');
        await page.keyboard.press('A');
        await page.keyboard.up('Control');
        await page.keyboard.press('Backspace');
        // const gtextArea = await this.transGooglePage.$(".er8xn")
    }
    async resetDeepl() {
        this.resetDeeplByPage(this.deelPage);
    }
    async translateViaDeepl(text, sourceLang, targetLang) {
        // return new Promise(async (resolve, reject)=>{
        await this.resetDeepl();
        return await this.translateViaDeeplByPage(text, this.deelPage);
    }
    async translateViaDeeplByPage(text, page) {
        // return new Promise(async (resolve, reject)=>{
        await this.resetDeeplByPage(page);
        // await textArea?.type(text);
        // await textArea?.click();
        // await textArea?.focus();
        await this.setTextInputValue(page, ".lmt__source_textarea", text);
        await page.bringToFront();
        const textArea = await page.$(".lmt__source_textarea");
        await (textArea === null || textArea === void 0 ? void 0 : textArea.focus());
        await (textArea === null || textArea === void 0 ? void 0 : textArea.click());
        await (textArea === null || textArea === void 0 ? void 0 : textArea.type(" "));
        await page.waitForTimeout(1000);
        const resElement = await page.$("#target-dummydiv");
        let value = await page.evaluate((el) => el.textContent, resElement);
        // resolve(value)
        return value;
        // })
    }
    async translateToImprove(text, sourceLang, targetLang) {
        // return new Promise(async (resolve, reject)=>{
        await this.resetDeepl();
        const textArea = await this.deelPage.$(".lmt__source_textarea");
        // await textArea?.type(text);
        await this.setTextInputValue(this.deelPage, ".lmt__source_textarea", text);
        await (textArea === null || textArea === void 0 ? void 0 : textArea.type(" "));
        await this.deelPage.waitForTimeout(1000);
        const switchBtn = await this.deelPage.$("div.lmt__language_container_switch");
        await this.deelPage.screenshot({ path: "what.jpg" });
        await (switchBtn === null || switchBtn === void 0 ? void 0 : switchBtn.click());
        await this.deelPage.hover('div.lmt__language_container_switch');
        await this.deelPage.waitForTimeout(1000);
        const resElement = await this.deelPage.$("#target-dummydiv");
        let value = await this.deelPage.evaluate((el) => el.textContent, resElement);
        await this.deelPage.hover('.lmt__language_container_switch');
        const switchBtn2 = await this.deelPage.$("div.lmt__language_container_switch");
        // await switchBtn2?.click();
        // resolve(value)
        return value;
        // })
    }
}
exports.HybridTranslate = HybridTranslate;

Filemanager

Name Type Size Permission Actions
Browcore.js File 6.89 KB 0644
HybridTranslate.js File 6.05 KB 0644
HybridTranslateDeDe.js File 2.2 KB 0644
HybridTranslateDeFa.js File 2.03 KB 0644
HybridTranslateFaDe.js File 2.99 KB 0644
TranslateServer.js File 1.91 KB 0644
TranslateServerDeDe.js File 1.37 KB 0644
TranslateServerDeFa.js File 1.37 KB 0644
TranslateServerFaDe.js File 1.37 KB 0644
generate-cookie.js File 635 B 0644
main.js File 1.85 KB 0644
server-de-fa.js File 2.88 KB 0644
server.js File 764 B 0644