Greasy Fork is available in English.

Super-Duolingo

Free Super Duolingo Applies To VIP VERSION

// ==UserScript==
// @name         Super-Duolingo
// @version      1.1.0
// @author       MeowWoof
// @namespace    http://tampermonkey.net/
// @description  Free Super Duolingo Applies To VIP VERSION
// @match        https://*.duolingo.com/*
// @license      MIT
// @grant        none
// @icon         https://d35aaqx5ub95lt.cloudfront.net/vendor/a0ee30fa22ca3d00e9e5db913b1965b5.svg
// ==/UserScript==

(function() {
    'use strict';

function addStyles(styles) {
    var styleElement = document.createElement('style');
    styleElement.textContent = styles;
    document.head.appendChild(styleElement);
}

var containerDivStyles = `
    #containerDiv {
        position: fixed;
        bottom: 77.5px; /* Adjust the bottom value */
        left: 26px;
        z-index: 9999;
        animation: bounce 1s infinite;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
`;

var verifyButtonStyles = `
    #verifyButton {
        background: linear-gradient(145deg, #4facfe 0%, #00f2fe 50%, #0072ff 100%);
        border: none;
        color: white;
        width: 247px;
        height: 50px;
        padding: 10px 20px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 17px;
        font-weight: bold;
        border-radius: 20px;
        cursor: pointer;
        outline: rgba(0, 114, 255, 0.8) solid 2px;
        outline-offset: -2px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        transition: all 0.3s ease;
    }
    #verifyButton:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
    }
    #verifyButton:active {
        transform: translateY(0);
        box-shadow: none;
    }
`;


var getCodeButtonStyles = `
    #getCodeButton {
        background: linear-gradient(145deg, #58CC02 0%, #89E219 50%, #58CC02 100%);
        border: none;
        color: white;
        width: 247px;
        height: 50px;
        padding: 10px 20px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 17px;
        font-weight: bold;
        border-radius: 20px;
        cursor: pointer;
        outline: rgba(0, 0, 0, 0.2) solid 2px;
        outline-offset: -2px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
        transition: all 0.3s ease;
    }
    #getCodeButton:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
    }
    #getCodeButton:active {
        transform: translateY(0);
        box-shadow: none;
    }
`;

var getSuperButtonStyles = `
    #getSuperButton {
        background: linear-gradient(145deg, #FFC800 0%, #FFD900 50%, #FFB100 100%);
        border: none;
        color: white;
        width: 247px;
        height: 50px;
        padding: 10px 20px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 17px;
        font-weight: bold;
        border-radius: 20px;
        cursor: pointer;
        outline: rgba(0, 0, 0, 0.2) solid 2px;
        outline-offset: -2px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
        transition: all 0.3s ease;
    }
    #getSuperButton:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
    }
    #getSuperButton:active {
        transform: translateY(0);
        box-shadow: none;
    }
`;

var rectangleDivStyles = `
    #rectangleDiv {
        position: relative;
        width: 270px;
        height: 250px;
        background-color: rgb(75, 75, 75), 0.90);
        border-radius: 17px;
        padding: 10px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px;
        border: 2px solid rgb(75, 75, 75, 0.10);
        box-shadow: #00b3c1;
        backdrop-filter: blur(16px);
    }
    #titleContainer {
        display: flex;
        align-items: center;
        gap: 10px;
    }
    #vipEvent {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        width: 80px;
        height: 28px;
        border: 2.3px solid #009feb;
        border-radius: 9px;
        color: #009feb;
        font-size: 16px;
        font-weight: bold;
        padding: 5px;
        background-color: #FFEDF0;
    }
    #vipEvent img {
        width: 22px;
        height: auto;
    }
    #vipEvent span {
        font-size: 14px;
    }
    #additionalText {
        color: #FFFFFF;
        font-weight: bold;
        font-size: 20px;
        text-align: left;
        margin-top: 10px;
    }
`;

var buttonStyles = `
    rectangleDivbutton {
        padding: 10px 20px;
        border-radius: 4px;
        width: 247px;
        height: 50px;
        cursor: pointer;
        animation: bounce 1s infinite;
    }
`;

function createFroXButton() {
    var wrapperDiv = document.createElement('div');
    wrapperDiv.style.position = 'fixed';
    wrapperDiv.style.top = '50%';
    wrapperDiv.style.right = '0.4%';
    wrapperDiv.style.transform = 'translate(0, -50%)';
    wrapperDiv.style.textAlign = 'center';
    wrapperDiv.style.zIndex = '9999';

    var froXButton = document.createElement('div');
    froXButton.id = 'froXButton';
    froXButton.style.backgroundImage = 'url("https://static.wixstatic.com/media/05f621_b2c22f9917ce4748bf0eae0142335496~mv2.png/v1/fill/w_50,h_50,al_c,q_85,enc_auto/05f621_b2c22f9917ce4748bf0eae0142335496~mv2.png")';
    froXButton.style.backgroundSize = '35px';
    froXButton.style.backgroundRepeat = 'no-repeat';
    froXButton.style.backgroundPosition = 'center';
    froXButton.style.backgroundColor = '#37B9F7';
    froXButton.style.width = '45px';
    froXButton.style.height = '45px';
    froXButton.style.borderRadius = '50%';
    froXButton.style.border = '2.8px solid #004d80';
    froXButton.style.cursor = 'pointer';
    froXButton.style.transition = 'transform 0.2s, box-shadow 0.2s';
    froXButton.style.backdropFilter = 'blur(20px)';

    froXButton.addEventListener('click', function() {
        var containerDiv = document.getElementById('containerDiv');
        if (containerDiv.style.display === 'none' || containerDiv.style.display === '') {
            containerDiv.style.display = 'block';
            froXButton.style.backgroundImage = 'url("https://static.wixstatic.com/media/05f621_b2c22f9917ce4748bf0eae0142335496~mv2.png/v1/fill/w_50,h_50,al_c,q_85,enc_auto/05f621_b2c22f9917ce4748bf0eae0142335496~mv2.png")';
        } else {
            containerDiv.style.display = 'none';
            froXButton.style.backgroundImage = 'url("https://static.wixstatic.com/media/05f621_694337e332e04ae1924e8e76bc8aabd0~mv2.png/v1/fill/w_50,h_50,al_c,q_85,enc_auto/05f621_694337e332e04ae1924e8e76bc8aabd0~mv2.png")';
        }
    });

    wrapperDiv.appendChild(froXButton);
    document.body.appendChild(wrapperDiv);

    var style = document.createElement('style');
    document.head.appendChild(style);
}

createFroXButton();

var nounDevXStyles = `
#NOUNDEVX {
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 20px;
    background-color: rgb(217 138 138 / 50%) 0px 0px 0px 5px;
    border-radius: 18px;
    border: 2px solid #37B9F7;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    color: #37B9F7;
    backdrop-filter: blur(20px);
}
`;

addStyles(containerDivStyles);
addStyles(rectangleDivStyles);
addStyles(buttonStyles);
addStyles(verifyButtonStyles);
addStyles(getCodeButtonStyles);
addStyles(getSuperButtonStyles);
addStyles(nounDevXStyles);

var containerDiv = document.createElement('div');
containerDiv.id = 'containerDiv';

var rectangleDiv = document.createElement('div');
rectangleDiv.id = 'rectangleDiv';

var titleContainer = document.createElement('div');
titleContainer.id = 'titleContainer';

var title = document.createElement('strong');
title.style.fontWeight = 'bold';
title.style.fontSize = '20px';
title.style.display = 'flex';
title.style.alignItems = 'center';

var typeSpan = document.createElement('span');
typeSpan.style.color = '#009feb';
typeSpan.textContent = '  Type: ';
typeSpan.style.textAlign = 'left';

var superDuolingoSpan = document.createElement('span');
superDuolingoSpan.style.color = '#397b11';
superDuolingoSpan.textContent = ' ';
superDuolingoSpan.style.fontSize = '20px';
superDuolingoSpan.style.textAlign = 'left';

var darkModeSpan = document.createElement('span');
darkModeSpan.style.color = '#397b11';
darkModeSpan.style.fontSize = '10px';
darkModeSpan.textContent = '';

superDuolingoSpan.appendChild(darkModeSpan);
title.appendChild(typeSpan);
title.appendChild(superDuolingoSpan);
titleContainer.appendChild(title);

var vipEventDiv = document.createElement('div');
vipEventDiv.id = 'vipEvent';

var crownImg = document.createElement('img');
crownImg.src = 'https://autoduolingo.click/assets/client/crown.ndx';
crownImg.alt = 'Crown';

var vipEventSpan = document.createElement('span');
vipEventSpan.textContent = 'BASIC';

vipEventDiv.appendChild(crownImg);
vipEventDiv.appendChild(vipEventSpan);
titleContainer.appendChild(vipEventDiv);
rectangleDiv.appendChild(titleContainer);
document.body.appendChild(rectangleDiv);

var additionalText = document.createElement('strong');
additionalText.style.fontWeight = 'bold';
additionalText.style.fontSize = '22px';
additionalText.style.display = 'block';

rectangleDiv.appendChild(additionalText);

var verifyButton = document.createElement('button');
verifyButton.id = 'verifyButton';
verifyButton.textContent = 'HƯỚNG DẪN CẬP NHẬT';
verifyButton.style.marginTop = '-10px';
rectangleDiv.appendChild(verifyButton);

var getCodeButton = document.createElement('button');
getCodeButton.id = 'getCodeButton';
getCodeButton.textContent = 'CẬP NHẬT LÊN BẢN VIP';
rectangleDiv.appendChild(getCodeButton);

var getSuperButton = document.createElement('button');
getSuperButton.id = 'getSuperButton';
getSuperButton.textContent = 'BÁO CÁO SỰ CỐ';
rectangleDiv.appendChild(getSuperButton);

containerDiv.appendChild(rectangleDiv);

var nounDevX = document.createElement('div');
nounDevX.id = 'NOUNDEVX';
nounDevX.textContent = 'MeowWoof - SuperDuo';

containerDiv.appendChild(nounDevX);
document.body.appendChild(containerDiv);

toggleGetSuperButton(true);

var froXButton = document.getElementById('froXButton');
var versionText = document.getElementById('VersionText');

function toggleGetSuperButton(disable) {
    var getSuperButton = document.getElementById('getSuperButton');
    getSuperButton.disabled = disable;
}


})();