Skip to content
This repository was archived by the owner on Jul 2, 2021. It is now read-only.

Commit c6c832e

Browse files
Added support for AOEU Typing Test and updated unneeded bloat in the LiveChat Inc cheat.
1 parent 2ad7838 commit c6c832e

File tree

6 files changed

+62
-9
lines changed

6 files changed

+62
-9
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ As of now, the sites that work are:
66
- [10FastFingers](https://10fastfingers.com/) (Normal tests and [custom text](https://10fastfingers.com/text-practice/new))
77
- [TypeRacer](https://play.typeracer.com/)
88
- [TypingTestNow](https://typingtestnow.com/)
9-
- [Bing Typing Test](https://www.bing.com/search?q=typing+test)
10-
- [LiveChat Inc](https://www.livechatinc.com/typing-speed-test)
9+
- [Bing Typing Test](https://www.bing.com/search?q=typing+test/)
10+
- [LiveChat Inc](https://www.livechatinc.com/typing-speed-test/)
1111
- [QuickTypingTest](https://www.quicktypingtest.com/)
12+
- [AOEU Typing Speed Test](https://typing-speed-test.aoeu.eu/)
1213

1314
I am planning to add support for more.
1415

@@ -57,5 +58,6 @@ On **TypingTestNow**, the button appears at the **top of the page** just under t
5758
On **Bing Typing Test**, the button appears in the typing test item **to the right of** the "Typing test" heading.
5859
On **LiveChat Inc**, the button appears in the header **just below the countdown timer**.
5960
On **QuickTypingTest**, the button appears at the **top of the page** in the navbar.
61+
On **AOEU Typing Speed Test**, the button appears **just above the text prompt** to the right of the flags.
6062

6163
**Note: On 10FastFingers, if you end up going through the entire text, the words will continue to autofill. If you continue to press space it can cause you to get incorrect words marked, despite the text being over.**

typecheat-bookmark.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@
2525
<h1>Drag the bookmark below into your bookmarks bar</h1>
2626
<a style="color: black; text-decoration: none; padding: 20px; background-color: lightgray; text-align: center; border-radius: 25px;" href="javascript:/* TypeCheat - A JS script to cheat on certain online typing tests Copyright (C) 2020 hackermancool 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 <https://www.gnu.org/licenses/>. */ var tText,tWords,cWord,tField,workWord,url=window.location.href.split(&quot;/&quot;)[2].replace(&quot;www.&quot;,&quot;&quot;),site=-1,altMode=0;switch(&quot;10fastfingers.com&quot;==url?(console.log(&quot;~~~~~~~~~~~~~~~~~~~\n TypeCheat Active! \nSite: 10FastFingers\n~~~~~~~~~~~~~~~~~~~&quot;),site=0,&quot;text&quot;==window.location.href.split(&quot;/&quot;)[3]&&(altMode=1)):&quot;play.typeracer.com&quot;==url||&quot;typeracer.com&quot;==url?(console.log(&quot;~~~~~~~~~~~~~~~~~~~\n TypeCheat Active! \nSite: TypeRacer\n~~~~~~~~~~~~~~~~~~~&quot;),site=1):&quot;typingtestnow.com&quot;==url?(console.log(&quot;~~~~~~~~~~~~~~~~~~~\n TypeCheat Active! \nSite: TypingTestNow\n~~~~~~~~~~~~~~~~~~~&quot;),site=2):&quot;bing.com&quot;==url?(console.log(&quot;~~~~~~~~~~~~~~~~~~~\n TypeCheat Active! \nSite: Bing Test\n~~~~~~~~~~~~~~~~~~~&quot;),site=3):&quot;livechatinc.com&quot;==url?(console.log(&quot;~~~~~~~~~~~~~~~~~~~\n TypeCheat Active! \nSite: LiveChat Inc\n~~~~~~~~~~~~~~~~~~~&quot;),site=4):&quot;quicktypingtest.com&quot;==url&&(console.log(&quot; ~~~~~~~~~~~~~~~~~~~\n TypeCheat Active! \nSite: QuickTypingTest\n ~~~~~~~~~~~~~~~~~~~&quot;),site=5),site){case 0:tText=document.getElementById(&quot;row1&quot;),tWords=[];for(var i=0;i<tText.children.length;i++)tWords.push(tText.children[i].innerText);tField=null,(cWord=0)==altMode?tField=document.getElementById(&quot;inputfield&quot;):1==altMode&&(tField=document.getElementById(&quot;text_typed&quot;)),tField.addEventListener(&quot;keyup&quot;,function(e){32==e.keyCode&&(tField.value=tWords[cWord],cWord++)});break;case 1:tText=document.querySelector(&quot;#gwt-uid-15 > table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td&quot;),tWords=tText.innerText.split(&quot; &quot;),cWord=0,(tField=document.querySelector(&quot;#gwt-uid-15 > table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td > input&quot;)).addEventListener(&quot;keydown&quot;,function(e){32==e.keyCode&&(tField.value=tWords[cWord],cWord++)});break;case 2:tText=document.getElementsByClassName(&quot;sample-text&quot;)[0],tWords=[];for(i=0;i<tText.children.length;i++)for(var j=0;j<tText.children[i].children.length;j++)words.push(tText.children[i].children[j].innerText);cWord=0,(tField=document.getElementById(&quot;practice-input&quot;)).addEventListener(&quot;keydown&quot;,function(e){32==e.keyCode&&(tField.value=tWords[cWord],cWord++)});break;case 3:tText=document.getElementById(&quot;edu_promptText&quot;),tWords=[],workWord=&quot;&quot;;for(i=0;i<tText.children.length;i++)for(j=0;j<tText.children[i].children.length;j++)&quot;space&quot;==tText.children[i].children[j].className?(tWords.push(workWord),workWord=&quot;&quot;):workWord+=tText.children[i].children[j].innerText;cWord=0,(tField=document.getElementById(&quot;edu_inputText&quot;)).addEventListener(&quot;keydown&quot;,function(e){32==e.keyCode&&(tField.value+=tWords[cWord],cWord++)});break;case 4:tText=document.getElementsByClassName(&quot;test-prompt&quot;)[0],tWords=[];for(i=0;i<tText.children.length;i++)tWords.push(tText.children[i].innerText);cWord=0,(tField=document.getElementById(&quot;test-input&quot;)).addEventListener(&quot;keydown&quot;,function(e){32==e.keyCode&&(tField.innerText=tWords[cWord],cWord++,tText.children[tText.children.length-1].innerText!=tWords.slice(-1)&&tWords.push(tText.children[tText.children.length-1].innerText))});break;case 5:tText=document.querySelector(&quot;#text-display&quot;),tWords=[],workWord=&quot;&quot;;for(i=0;i<tText.children.length;i++){workWord=&quot;&quot;;for(j=0;j<tText.children[i].children.length;j++)workWord+=tText.children[i].children[j].innerText;tWords.push(workWord)}cWord=0,(tField=document.getElementById(&quot;text-input&quot;)).addEventListener(&quot;keydown&quot;,function(e){32==e.keyCode&&(tField.value+=tWords[cWord],cWord++)})}">TypeCheat</a>
2727
</body>
28-
</html>
28+
</html>

typecheat-button.js

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ switch(url) {
6363
console.log(" ~~~~~~~~~~~~~~~~~~~\n TypeCheat Active! \nSite: QuickTypingTest\n ~~~~~~~~~~~~~~~~~~~");
6464
site = 5;
6565
break;
66+
case "typing-speed-test.aoeu.eu":
67+
console.log("~~~~~~~~~~~~~~~~~~~\n TypeCheat Active! \nSite: AOEU Test\n~~~~~~~~~~~~~~~~~~~");
68+
site = 6;
69+
break;
6670
}
6771

6872
// Variables
@@ -180,8 +184,8 @@ function liveChatCheat() {
180184
tField.innerText = tWords[cWord];
181185
cWord++;
182186
// The wordlist constantly updates
183-
if(tText.children[tText.children.length-1].innerText != tWords.slice(-1)) {
184-
tWords.push(tText.children[tText.children.length-1].innerText);
187+
if(tText.lastChild.innerText != tWords.slice(-1)) {
188+
tWords.push(tText.lastChild.innerText);
185189
}
186190
}
187191
});
@@ -215,6 +219,27 @@ function quickTypingCheat() {
215219
document.getElementById("navbarResponsive").children[0].style = "width: 100%; color: #0F0;";
216220
}
217221

222+
// AOEU Typing Speed Test
223+
function aoeuCheat() {
224+
// Generate wordlist
225+
tText = document.getElementById("words");
226+
tWords = [];
227+
for(let i = 0; i < tText.children.length; i++) {
228+
tWords.push(tText.children[i].innerText);
229+
}
230+
// Cheat
231+
cWord = 0;
232+
tField = document.getElementById("input");
233+
tField.addEventListener("keyup", function(e) {
234+
if(e.keyCode == 32) {
235+
tField.value = tWords[cWord];
236+
cWord++;
237+
}
238+
});
239+
// Change button colour to show that it has activated
240+
document.getElementById("score").lastChild.style = "color: #0F0;";
241+
}
242+
218243
// Cheat
219244
switch(site) {
220245
// 10FastFingers (Normal)
@@ -246,4 +271,8 @@ switch(site) {
246271
case 5:
247272
document.getElementById("navbarResponsive").innerHTML = "<button style=\"width: 100%;\" onclick=\"javascript:quickTypingCheat();\">Start TypeCheat</button>" + document.getElementById("navbarResponsive").innerHTML;
248273
break;
274+
// AOEU Typing Speed Test
275+
case 6:
276+
document.getElementById("score").innerHTML += "<button onclick=\"javascript:aoeuCheat();\">Start TypeCheat</button>"
277+
break;
249278
}

typecheat-button.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)