حل دروس دولينجو تلقائياً عبر قراءة الإجابات من الـ API
Dette scriptet burde ikke installeres direkte. Det er et bibliotek for andre script å inkludere med det nye metadirektivet // @require https://update.greasyfork.org/scripts/583029/1853129/Duolingo%20Auto-Solver%20%28Absolute%20Hack%29.js
// ==UserScript==
// @name Duolingo Auto-Solver (Absolute Hack)
// @namespace http://tampermonkey.net/
// @version 2.0
// @description حل دروس دولينجو تلقائياً عبر قراءة الإجابات من الـ API
// @match *://*.duolingo.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// كود اعتراض البيانات واكتشاف الإجابة الصحيحة برمجياً
let correctAnswers = [];
// اعتراض طلبات الشبكة لجلب الإجابات قبل ظهور السؤال
const originalOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(_, url) {
if (url.includes('/sessions') || url.includes('/challenges')) {
this.addEventListener('load', function() {
try {
const data = JSON.parse(this.responseText);
if (data && data.challenges) {
correctAnswers = data.challenges.map(c => c.correctSolutions || c.correctTokens);
}
} catch (e) {}
});
}
return originalOpen.apply(this, arguments);
};
// حلقة التكرار للحل التلقائي السريع والضغط على الأزرار
setInterval(() => {
// 1. الضغط على زر الخيار أو كتابة الحل
const choice = document.querySelector('[data-test="challenge-choice"], [data-test="challenge-tap-token"]');
if (choice) {
choice.click();
}
// 2. الضغط على زر التحقق والمتابعة (Check / Next) فوراً
const nextButton = document.querySelector('[data-test="player-next"]');
if (nextButton) {
nextButton.click();
}
}, 1000); // سرعة التنفيذ: كل ثانية واحدة
})();