Skriptsammlung

In diesem Forum dreht sich alles um die bei Vodafone Kabel Deutschland bzw. Vodafone West oder im Rahmen der O2-Tarife über Kabel verwendeten AVM-Produkte, insbesondere der WLAN-Router mit integriertem Kabelmodem, der als FRITZ!Box vertrieben wird. Speedprobleme bitten wir im entsprechenden Forum zu behandeln, wenn ihr Ursprung nicht auf AVM-Produkte zurückzuführen ist!
Forumsregeln
Forenregeln


Bitte gib bei der Erstellung eines Threads im Feld „Präfix“ an, ob du Kunde von Vodafone Kabel Deutschland („[VFKD]“), von Vodafone West („[VF West]“) oder von O2 über Kabel („[O2]“) bist.
Außerdem gib bitte an, ob es sich bei deiner FRITZ!Box um eine Leihbox von Vodafone („[Leihbox]“) oder eine Kaufbox („[Kaufbox]“) handelt.
Man-in-Black
Newbie
Beiträge: 17
Registriert: 15.02.2014, 21:35

Skriptsammlung

Beitrag von Man-in-Black »

Hallo zusammen,

ich habe diesen Thread eröffnet, um mal ein paar Tricks hier zu sammeln, mit der man Funktionen in einer FritzBox freischalten kann, die im normalfall nicht zu sehen sind.

Ich habe dazu auch in einem anderen Thread schon einmal ein Skript gepostet, dass per Greasemonkey (Firefox) oder Tampermonkey (Chrome) angewendet werden kann und diverse weitere Funktionlitäten freischaltet.

Folgende Funktionen werden damit freigeschalten:
  • Internet
    • DNS-Server
    • LAN-Bridge
    • Paket-Sniffer
    • Providerdienste
  • Telefonie
    • Neue Rufnummer
    • Wahlregeln
  • WLAN
    • WLAN-Repeater
  • DECT
    • DECT-Repeater
Die Punkte sind dann im Menü auf der linken Seite zu finden.

Code: Alles auswählen

// ==UserScript==
// @name        Fritzbox
// @namespace   URI
// @include     http://fritz.box/*
// @include     http://www.fritz.box/*
// @grant       GM_addStyle
// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js
// @version     1
// ==/UserScript==
GM_addStyle('#uiSipping {display: block !important;}');
jQuery.noConflict();
jQuery(document) .ready(function () {
    var javascriptLink = 0;
    // Liste Hauptmenüpunkte
    menuElements = jQuery('#menucontent > div > ul > li');
    // Unterscheidung zwischen http-Link und javascript-Link
    if (jQuery('#menucontent > div > ul') .hasClass('LMenu')) {
        javascriptLink = 1;
    }
    menuElementsSubmenu = jQuery('#menucontent > div > ul > .selected > ul > li');
    var sid = jQuery.getUrlVar('sid');
    var url = window.location.href.substring(0, window.location.href.indexOf('?'));
    if (menuElements[1].className.match('selected')) {
        // Internet
        // DNS-Server
        jQuery('#menucontent > div > ul > .selected.submenu ul') .append('<li class="LSubitem"><a href="http://fritz.box/internet/dns_server_enh.lua?sid=' + sid + '">DNS-Server</a></li>');
        // jQuery('#menucontent > div > ul > .selected.submenu ul').append('<li class="LSubitem"><a href="javascript:jslGoTo(\'internet\',\'dns_server_enh\')">DNS-Server</a></li>');
        // LAN-Bridge
        jQuery('#menucontent > div > ul > .selected.submenu ul') .append('<li class="LSubitem"><a href="http://fritz.box/internet/lanbridges.lua?sid=' + sid + '">LAN-Bridge</a></li>');
        // jQuery('#menucontent > div > ul > .selected.submenu ul').append('<li class="LSubitem"><a href="javascript:jslGoTo(\'internet\',\'cable_bridge\')">LAN-Bridge</a></li>');
        // Packet-Sniffer
        jQuery('#menucontent > div > ul > .selected.submenu ul') .append('<li class="LSubitem"><a href="http://fritz.box/capture.lua?sid=' + sid + '">Packet-Sniffer</a></li>');
        // Providerdienste
        jQuery('#menucontent > div > ul > .selected.submenu ul') .append('<li class="LSubitem"><a href="http://fritz.box/internet/providerservices.lua?sid=' + sid + '">Providerdienste</a></li>');
    }
    if (menuElements[2].className.match('selected')) {
        // Telefonie
        // Neue Rufnummer
        jQuery('#menucontent > div > ul > .selected ul') .append('<li><a href="http://fritz.box/assis/assi_fon_nums.lua?sid=' + sid + '">Neue Rufnummer</a></li>');
        // Wahlregeln anzeigen
        if (javascriptLink == 0) {
            jQuery('#menucontent > div > ul > .selected ul') .append('<li><a href="http://fritz.box/fon_num/dialrul_list.lua?sid=' + sid + '">Wahlregeln</a></li>');
        } 
        else {
            jQuery('#menucontent > div > ul > .selected ul') .append('<li class="LSubitem"><a href="javascript:jslGoTo(\'fon\',\'routing\')">Wahlregeln</a></li>');
        }
        // Wahlregeln aktiv?

        if (url == 'http://fritz.box/fon_num/dialrul_list.lua' && (jQuery.getUrlVar('var%3Apagename') == 'routing' || jQuery.getUrlVar('var:pagename') == 'routing')) {
            jQuery('#menucontent > div > ul > .selected > ul > li') .last() .attr('class', 'selected');
        }
        // Eigene Rufnummern - "Neue Rufnummer" und "Anschlusseinstellungen" nach Reboot automatisch freischalten

        if (menuElementsSubmenu[6].className.match('selected')) {
            if (!jQuery('#btnNewNum') .length > 0) {
                jQuery('#main_form') .append('<button style="display: none" id="gui_readonly" class="icon" title="Bearbeiten" value="0" name="sipextra:settings/gui_readonly" type="submit"><img alt="Bearbeiten" src="/css/default/images/bearbeiten.gif"></button>');
                jQuery('#gui_readonly') .click();
            }
            //jQuery('#main_form').append('<button id="gui_readonly1" class="icon" title="Bearbeiten" value="1" name="sipextra:settings/gui_readonly" type="submit"><img alt="Bearbeiten" src="/css/default/images/bearbeiten.gif"></button>');
            // Delete-Buttons freischalten

            deleteButtons = jQuery('#uiViewFonNumTable button');
            var i;
            for (i = 1; i < deleteButtons.length; i += 2) {
                deleteButtons[i].disabled = false;
            }
        }
    }
    if (menuElements[4].className.match('selected')) {
        // WLAN
        // Repeater
        jQuery('#menucontent > div > ul > .selected.submenu ul') .append('<li class="LSubitem"><a href="http://fritz.box/wlan/wds2.lua?sid=' + sid + '">WLAN Repeater</a></li>');
    }
    if (menuElements[5].className.match('selected')) {
        // DECT
        // Repeater
        jQuery('#menucontent > div > ul > .selected.submenu ul') .append('<li class="LSubitem"><a href="http://fritz.box/dect/dect_repeater.lua?sid=' + sid + '">DECT Repeater</a></li>');
    }
});
jQuery.extend({
    getUrlVars: function () {
        var vars = [
        ],
        hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1) .split('&');
        for (var i = 0; i < hashes.length; i++)
        {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    },
    getUrlVar: function (name) {
        return jQuery.getUrlVars() [name];
    }
});
Ich hoffe, dass ich mit diesem Skript einigen Leuten weiterhelfen kann.
Leider kann ich keine Garantie dafür übernehmen, dass alle freigeschalteten Funktionen auch wirklich damit funktionieren, aber versuchen kann man es ja.

Ich würde mich freuen, wenn dieser Thread aktuell gehalten wird, wenn jemand weitere Tricks für die FritzBox findet.

edit:
Danke an andreasabaad, ich habe die Liste erweitert und die fehlenden Punkte auch in das Skript mit aufgenommen.
Zuletzt geändert von Man-in-Black am 02.05.2014, 00:22, insgesamt 4-mal geändert.
Man-in-Black
Newbie
Beiträge: 17
Registriert: 15.02.2014, 21:35

Re: Skriptsammlung

Beitrag von Man-in-Black »

Vielen Dank für die zusätzlichen Links, ich habe das Skript angepasst, die Providerdienste waren neu.