Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Seiteneigenschaften



Deutsch

Beschreibung:

Dieses Skript, das einem Newtork zugewiesen ist, überschreibt die SSID und den Preshared Key eines bestimmten WiFi-Netzwerks mit den Variablen

  • context.vars.SSID
  • context.vars.WPAKey

Das ausgewählte WiFi, das außer Betrieb gesetzt wird, ist SSID_TO_CHANGE.

Liste der verwendeten Variablen:

VariableBeschreibung




Add-

In

in Code:

/**
 * @param {Config} config
 * @param {Context} context
 * Do not edit this comment or parameter types. Required for code suggestions
*/
exports.main = function (config, context) {



   
// Function to create VRRP Entry
    var addVRRPEntry = function (routerID, routerIP, mainPrio, backupPrio, remoteSite, comment) {
        var table1_2_8_21_2 = config.getTableByOid("1.2.8.21.2");
        var table_1_2_8_21_2_row_1 = table1_2_8_21_2.createNewRow();
        table_1_2_8_21_2_row_1.setByOid(1, routerID);
        table_1_2_8_21_2_row_1.setByOid(2, routerIP);
        table_1_2_8_21_2_row_1.setByOid(3, mainPrio);
        table_1_2_8_21_2_row_1.setByOid(4, backupPrio);
        table_1_2_8_21_2_row_1.setByOid(5, remoteSite);
        table_1_2_8_21_2_row_1.setByOid(6, comment);
        table1_2_8_21_2.addOrMerge(table_1_2_8_21_2_row_1);
    };
    // If Statement to only create VRRP Entry, if device has the variable VRRP_Prio
    if (context.vars.VRRP_PRIO != "") {
        config.setScalarByOid("1.2.8.21.1", "1");
        // Function Call to create a new Entry
        addVRRPEntry("1", "10.10.10.254", context.vars.VRRP_PRIO, "0", "INTERNET", "");
    }
};

Addin als JSON-Datei:

 // Step 1: obtain _single_ ssid reference
    var ssid = context.network.ssids["SSID_TO_CHANGE"];

    if (!ssid) {
        config.abort("SSID missing");
    }

    if (!context.vars.SSID) {
        config.abort("variable SSID not set");
    }

    if (!context.vars.WPAKey) {
        config.abort("variable WPAKey not set");
    }


    var wlanTable = config.getTableByOid("13.2.20.1");
    var wlanPostfix = context.network.configNameLong + "_" + ssid.name;

    // Step 2: create iterable list of wifi networks
    var rows = wlanTable.getRows();
    var list = [];
    for (var i = 0; i < rows.length; i++) {
        list.push(rows[i]);
    }

    var encrRef = "ENCRREF";

    // Step 3: find matching row that ends with context.network.configNameLong + "_" + ssid.name
    list.filter(function (row) {
        return row.getByOid("1").endsWith(wlanPostfix);
    }).forEach(function (wlanRow) {
        // Step 4: change all matching row (by definition this is only one)
        wlanRow.setByOid(2, context.vars.SSID);
        wlanRow.setByOid(100, context.vars.WPAKey);
        wlanRow.setByOid(102, encrRef);
        wlanTable.addOrMerge(wlanRow);

        var secParamsTable = config.getTableByOid("13.2.20.3");
        var secParamsRow = secParamsTable.createNewRow();
        secParamsRow.setByOid(1, encrRef);
        secParamsRow.setByOid(2, "1");
        secParamsRow.setByOid(4, "32");
        secParamsRow.setByOid(9, "6");
        secParamsRow.setByOid(12, "1");
        secParamsRow.setByOid(13, "1");
        secParamsRow.setByOid(14, "0");
        secParamsRow.setByOid(11, "0");
        secParamsRow.setByOid(16, "1");
        secParamsRow.setByOid(17, "0");
        secParamsRow.setByOid(19, "0");
        secParamsRow.setByOid(26, "524288");
        secParamsRow.setByOid(20, "");
        secParamsRow.setByOid(21, "");
        secParamsTable.addOrMerge(secParamsRow);
    });
};

Add-in als JSON-Datei:

View file
namessid_preshared_key_lx.json
height150


Englisch

Description:

This script, assigned to a newtork, overrides a specific WiFi networks SSID and Preshared Key with the variables

  • context.vars.SSID
  • context.vars.WPAKey

The selected WiFi that will be overridden is SSID_TO_CHANGE.

Used

List of used variables:

VariableDescription




Add-

In Code

in code:

/**


 *

@param

{Config}

config


 *

@param

{Context}

context


 *

Do

not

edit

this

comment

or

parameter

types.

Required

for

code

suggestions


*/


exports.main

=

function

(config,

context)

{



    // Step 1: obtain _single_ ssid reference

 
  var ssid = context.network.ssids["SSID_TO_CHANGE"];


 
  
if (!ssid) {

     
  config.abort("SSID missing");

 
  }


   
if (!context.vars.SSID) {

       
config.abort("variable SSID not set");

 
  }


 
  
if (!context.vars.WPAKey) {

     
  config.abort("variable WPAKey not set");

 
  }



   
var wlanTable = config.getTableByOid("13.2.20.1");

 
  var wlanPostfix = context.network.configNameLong + "_" + ssid.name;


 
  
// Step 2: create iterable list of wifi networks

 
  
var rows = wlanTable.getRows();

 
  
var list = [];

 
  
for (var i = 0; i < rows.length; i++) {

     
  list.push(rows[i]);

 
  }


    var encrRef = "ENCRREF";


    // Step 3: find matching row that ends with context.network.configNameLong + "_" + ssid.name

 
  list.filter(function (row) {

     
  
return row.getByOid("1").endsWith(wlanPostfix);

 
  
}).forEach(function (wlanRow) {

     
  
// Step 4: change all matching row (by definition this is only one)

     
  wlanRow.setByOid(2, context.vars.SSID);

     
  
wlanRow.setByOid(100, context.vars.WPAKey);

     
  wlanRow.setByOid(102, encrRef);

     
  wlanTable.addOrMerge(wlanRow);


     
  var secParamsTable = config.getTableByOid("13.2.20.3");

     
  
var secParamsRow = secParamsTable.createNewRow();

     
  secParamsRow.setByOid(1, encrRef);

     
  
secParamsRow.setByOid(2, "1");

     
  secParamsRow.setByOid(4, "32");

     
  
secParamsRow.setByOid(9, "6");

     
  
secParamsRow.setByOid(12, "1");

     
  
secParamsRow.setByOid(13, "1");

     
  secParamsRow.setByOid(14, "0");

     
  secParamsRow.setByOid(11, "0");

     
  
secParamsRow.setByOid(16, "1");

       
secParamsRow.setByOid(17, "0");

     
  
secParamsRow.setByOid(19, "0");

     
  secParamsRow.setByOid(26, "524288");

     
  
secParamsRow.setByOid(20, "");

     
  secParamsRow.setByOid(21, "");

     
  secParamsTable.addOrMerge(secParamsRow);

 
  });

};
Addin

Add-in as JSON file:

View file
namessid_preshared_key_lx.json
height150