Versionen im Vergleich

Schlüssel

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

...

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 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);
    });
};

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.

List of used variables:

VariableDescription




Add-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);
 
  });
};

Add-in as JSON file:

View file
namessid_preshared_key_lx.json
height150

...