useful aternos tools

auto_plus_one, randomise_ip, hide_ip

  1. // ==UserScript==
  2. // @name useful aternos tools
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0.0
  5. // @description auto_plus_one, randomise_ip, hide_ip
  6. // @author r!PsAw
  7. // @match https://aternos.org/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=aternos.org
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12. //const tools = {auto_plus_one: true, randomise_ip: true, hide_ip: true};
  13. let server = {
  14. status: null,
  15. players: null,
  16. ip: null,
  17. software: null,
  18. version: null,
  19. }
  20.  
  21. //BLOCK connect
  22. const originalShowIP = window.showIP;
  23. let isCanceled = false;
  24. function toggleShowIP() {
  25. if (isCanceled) {
  26. window.showIP = originalShowIP;
  27. console.log("showIP() execution restored");
  28. } else {
  29. window.showIP = function() {
  30. };
  31. console.log("showIP() execution canceled");
  32. }
  33. isCanceled = !isCanceled;
  34. }
  35. toggleShowIP();
  36.  
  37. let old_ip;
  38. let real_ip;
  39. let serverAdressElement = document.querySelector("#ip");
  40. let serverIpElement = document.querySelector("#read-our-tos > main > section > div.page-content.page-server > div.server-ip.mobile-full-width");
  41. let serverIpSide = document.querySelector(`#read-our-tos > div > div.navigation-server.${server.status} > div.navigation-server-info > div.navigation-server-name`);
  42. let editorIp = document.querySelector("#subdomain");
  43. let connectIp;
  44. let ip_modified = false;
  45.  
  46. function update_server_info(){
  47. server.status = document.querySelector("#read-our-tos > div > div.navigation-server").classList[1];
  48. let players = document.querySelector("#read-our-tos > main > section > div.page-content.page-server > div.server-bottom > div.server-bottom-info.server-info > div.live-status > div.live-status-box.js-players-box > div.live-status-box-main > div.live-status-box-value.js-players");
  49. if(players){
  50. server.players = players.innerHTML;
  51. server.software = document.getElementById("software").innerHTML;
  52. server.version = document.getElementById("version").innerHTML;
  53. }
  54. if (real_ip) {
  55. server.ip = real_ip.trim(); // Trim real_ip if it exists
  56. } else {
  57. if (serverIpSide) {
  58. server.ip = serverIpSide.innerHTML.trim(); // Trim spaces from innerHTML
  59. }
  60. }
  61. serverIpSide = document.querySelector(`#read-our-tos > div > div.navigation-server.${server.status} > div.navigation-server-info > div.navigation-server-name`);
  62. connectIp = document.querySelector("#theme-switch > dialog > main > div.alert-body > div:nth-child(1)");
  63. //console.log(server);
  64. }
  65.  
  66. setInterval(update_server_info, 500);
  67.  
  68. //ip hider && replacer
  69. function generate_string() {
  70. let num = Math.floor(Math.random() * 1000001);
  71. let final = num.toString() + ".aternos.me";
  72. return final;
  73. }
  74.  
  75. function hide_ip(){
  76. if(editorIp){
  77. if(!ip_modified){
  78. real_ip = editorIp.innerHTML + '.aternos.me';
  79. ip_modified = true;
  80. }
  81. let final_str = '';
  82. let length = editorIp.innerHTML.length;
  83. for (let i = 0; i < length; i++) {
  84. final_str += '*';
  85. }
  86. editorIp.innerHTML = final_str;
  87. }
  88. }
  89.  
  90. function replace_ip() {
  91. //console.log(`running replace_ip old_ip = ${old_ip} real_ip = ${real_ip}`);
  92. if(serverIpElement && serverAdressElement && serverIpSide){
  93. //console.log("all elements were found");
  94. if(!old_ip){
  95. old_ip = serverIpElement.textContent.split('\n')[2];
  96. if(!ip_modified){
  97. real_ip = old_ip;
  98. ip_modified = true;
  99. }
  100. }
  101. let new_ip = generate_string();
  102. let innerHTML = serverIpElement.innerHTML;
  103. if(connectIp){
  104. let innerHTML2 = connectIp.innerHTML.trim();
  105. innerHTML2 = innerHTML2.replace(old_ip, new_ip);
  106. connectIp.innerHTML = innerHTML2;
  107. }
  108. innerHTML = innerHTML.replace(old_ip, new_ip);
  109. serverAdressElement.innerHTML = new_ip;
  110. serverIpSide.innerHTML = new_ip.split('.')[0];
  111. serverIpElement.innerHTML = innerHTML;
  112. old_ip = new_ip;
  113. }else if(serverIpSide){
  114. //console.log("one element found");
  115. let new_ip = generate_string();
  116. serverIpSide.innerHTML = new_ip.split('.')[0];
  117. old_ip = new_ip;
  118. }
  119. hide_ip();
  120. }
  121.  
  122. setInterval(replace_ip, 200);
  123.  
  124. //what type of page?
  125. /*
  126. document.addEventListener("DOMContentLoaded", function () {
  127. checkPage();
  128. });
  129.  
  130. let current_page;
  131. function checkPage() {
  132. let server_subpage_element = document.querySelector("#read-our-tos > main > section > div.page-content");
  133. let server_selector_element = document.querySelector("#theme-switch > div.body > main > div > div.main-content-wrapper > section > div.page-content.page-servers");
  134.  
  135. let server_subpage = server_subpage_element ? server_subpage_element.classList[1].split('-')[1] : null;
  136. let server_selector = server_selector_element ? server_selector_element.classList[1].split('-')[1] : null;
  137.  
  138. if (server_subpage) {
  139. current_page = server_subpage;
  140. } else if (server_selector) {
  141. current_page = server_selector;
  142. } else {
  143. current_page = "Unknown Page";
  144. }
  145. console.log(current_page);
  146. }
  147. */
  148.  
  149. //actual logic
  150.  
  151. function infinite_server_uptime() {
  152. if(server.status === "online"){
  153. let timerElement = document.querySelector("#read-our-tos > main > section > div.page-content.page-server > div.server-status > div.status.online > div > div > div.end-countdown > div.timer > div");
  154.  
  155. if (timerElement) {
  156. let timer = timerElement.innerHTML.trim();
  157.  
  158. // Check if the timer value is less than "1:00"
  159. if (timer < "0:30") {
  160. let plus_one = document.getElementsByClassName("btn btn-tiny btn-success server-extend-end");
  161. if (plus_one.length > 0) {
  162. plus_one[0].click();
  163. }
  164. }
  165. }
  166. }
  167. }
  168.  
  169. setInterval(infinite_server_uptime, 500);