您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Khan Hackademy is a script that gets a full score on every Khan Academy exercise you complete.
- // ==UserScript==
- // @name Khan Hackademy
- // @description Khan Hackademy is a script that gets a full score on every Khan Academy exercise you complete.
- // @author TheTridentGuy (thetridentguy.com)
- // @namespace https://thetridentguy.com
- // @license GPL v3 - http://www.gnu.org/licenses/gpl-3.0.txt
- // @copyright Copyright (C) 2025 Aiden Bohlander
- // @include https://khanacademy.org/*
- // @include https://*.khanacademy.org/*
- // @version 1.0
- // @run-at document-end
- // ==/UserScript==
- /**
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- (() => {
- const fetch_lag = 500;
- const exec_lag = 500;
- const og_stringify = JSON.stringify;
- const $ = (...args) => {return document.querySelector(...args)}
- JSON.stringify = (obj) => {
- if(!obj){return og_stringify(obj)}
- if(obj.operationName == "attemptProblem"){
- console.log("Sneaking into the teachers office...");
- console.log("Grabbed your work: ", obj);
- console.log("Giving you an A...");
- obj.variables.input.completed = true;
- console.log("Mission accomplished, exfiltrating.");
- if(obj.variables.input.attemptNumber == 1){
- setTimeout(() => {
- console.log("Getting you to the next question...");
- $("[data-testid='exercise-skip-button']").click();
- setTimeout(() => {
- $("[data-testid='exercise-next-question']").click();
- }, exec_lag);
- }, fetch_lag);
- }
- }
- return og_stringify(obj)
- };
- setInterval(() => {
- try{
- let header = $("[data-testid='header-logo']");
- header.innerHTML = "<span style='font-size: x-large;'>Khan Hackademy</span>";
- let donation_link = $("[data-testid='header-donate-link']");
- let new_donation_link = donation_link.cloneNode(true);
- let donation_icon = new_donation_link.firstElementChild.outerHTML;
- new_donation_link.innerHTML = "Star the repo" + donation_icon;
- new_donation_link.href = "https://github.com/TheTridentGuy/KhanHackademy/";
- donation_link.parentElement.replaceChild(new_donation_link, donation_link);
- clearInterval(edit_interval);
- }catch{
- }
- }, 500);
- })();