Created
November 20, 2024 11:21
-
-
Save surfaceflinger/088dceeef6e1dbed9d1c68476aa34de6 to your computer and use it in GitHub Desktop.
Userscript to access engineering options in "WNC T-Mobile Internet 5G Home Office" ODU/Modem. Code might be shit because I don't know JS and it was generated by ChatGPT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Add Engineering Mode Menu | |
// @namespace http://tampermonkey.net/ | |
// @version 0.1 | |
// @description Inject engineering mode submenu to the menu | |
// @author You | |
// @match *://192.168.0.1/* | |
// @grant none | |
// ==/UserScript== | |
(function () { | |
'use strict'; | |
const targetID = 'cssmenu'; // ID of the target <li> | |
const submenuID = 'subMenu_system_eng'; // ID of the submenu | |
const newBlock = ` | |
<li id='subMenu_system_eng' class='has-sub' style="display:block"> | |
<a>Engineering Mode</a> | |
<ol> | |
<li id="leftmenu_system_eng_general"><a onClick="return loadHTML('/system/system_eng_general.html');"><span>General</span></a></li> | |
<li id="leftmenu_system_eng_lte_ca"><a onClick="return loadHTML('/system/system_eng_lte_ca.html');"><span>LTE CA Info</span></a></li> | |
<li id="leftmenu_system_eng_rf_band"><a onClick="return loadHTML('/system/system_eng_rf_band.html');"><span>RF Band Info</span></a></li> | |
<li id="leftmenu_system_eng_log2device"><a onClick="return loadHTML('/system/system_eng_log2device.html');"><span>On-Device Logging</span></a></li> | |
<li id="leftmenu_system_eng_log_collector"><a onClick="return loadHTML('/system/system_eng_log_collector.html');"><span>Logs Collector</span></a></li> | |
<li id="leftmenu_system_device_tr069"><a onClick="return loadHTML('/system/system_device_tr069.html');"><span>TR-069</span></a></li> | |
</ol> | |
</li>`; | |
const observer = new MutationObserver(() => { | |
const targetElement = document.getElementById(targetID); | |
if (targetElement) { | |
const ul = targetElement.querySelector('ul'); | |
if (ul && !document.getElementById(submenuID)) { | |
ul.insertAdjacentHTML('beforeend', newBlock); | |
} | |
} | |
}); | |
observer.observe(document.body, { childList: true, subtree: true }); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment