Added custom clone SSID option

This commit is contained in:
Stefan Kremser
2017-02-28 14:06:16 +01:00
parent fc1893521f
commit 37172d4b1d
5 changed files with 40 additions and 3 deletions

View File

@@ -32,6 +32,28 @@ void SSIDList::add(String name){
}
}
void SSIDList::addClone(String name){
int _restSSIDLen = SSIDLength - name.length();
String _apName;
for(int c=0;c<SSIDListLength;c++){
_apName = name;
if(c < _restSSIDLen) for(int d=0; d < _restSSIDLen-c; d++) _apName += " ";//e.g. "SAMPLEAP "
else if(c < _restSSIDLen*2){
_apName = " "+_apName;
for(int d=0;d<(_restSSIDLen-1)-c/2;d++) _apName += " ";//e.g. " SAMPLEAP "
}else if(c < _restSSIDLen*3){
_apName = "."+_apName;
for(int d=0;d<(_restSSIDLen-1)-c/3;d++) _apName += " ";//e.g. ".SAMPLEAP "
} else{
for(int d=0; d < _restSSIDLen-2; d++) _apName += " ";
_apName += (String)c;//e.g. "SAMPLEAP 78"
}
add(_apName);
}
}
void SSIDList::edit(int num, String name){
for(int i=0;i<SSIDLength;i++){
if(i<name.length()) names[num][i] = name[i];
@@ -74,7 +96,6 @@ void SSIDList::_random(){
String _rName;
for(int i=len;i<SSIDListLength;i++){
_rName = "";
//_rName = "a"+(String)(int)random(0,99);
for(int h=0; h < SSIDLength; h++) _rName += letters[random(0,sizeof(letters))];
add(_rName);
}

View File

@@ -20,6 +20,7 @@ class SSIDList
void load();
void clear();
void add(String name);
void addClone(String name);
void edit(int num, String name);
String get(int num);
void remove(int num);

File diff suppressed because one or more lines are too long

View File

@@ -98,6 +98,7 @@ void setup(){
server.on("/clearNameList.json", clearNameList);
server.on("/editNameList.json", editClientName);
server.on("/addSSID.json", addSSID);
server.on("/cloneSSID.json", cloneSSID);
server.on("/deleteSSID.json", deleteSSID);
server.on("/randomSSID.json", randomSSID);
server.on("/clearSSID.json", clearSSID);
@@ -188,6 +189,11 @@ void addSSID(){
server.send( 200, "text/json", "true");
}
void cloneSSID(){
ssidList.addClone(server.arg("name"));
server.send( 200, "text/json", "true");
}
void deleteSSID(){
ssidList.remove(server.arg("num").toInt());
server.send( 200, "text/json", "true");

View File

@@ -52,7 +52,7 @@
(list:) spams beacon frames with all SSIDs in the list below.
</p>
<br />
<p class="block bold">SSIDs: <span id="ssidCounter">0/64</span> <button class="marginNull warnBtn" onclick="clearSSID()">clear</button> <button class="marginNull" onclick="randomSSID()">random</button> <button class="marginNull" onclick="addSSID()">add</button></p>
<p class="block bold">SSIDs: <span id="ssidCounter">0/64</span> <button class="marginNull warnBtn" onclick="clearSSID()">clear</button> <button class="marginNull" onclick="randomSSID()">random</button> <button class="marginNull" onclick="cloneSSID()">clone</button> <button class="marginNull" onclick="addSSID()">add</button></p>
<br />
<table>
</table>
@@ -129,6 +129,15 @@
}
}
function cloneSSID(){
saved.innerHTML = "";
if(res.ssid.length >= 64) alert("SSID list full :(");
else{
var _ssidName = prompt("new SSID:");
if(_ssidName != null) getResponse("cloneSSID.json?name="+_ssidName,getResults);
}
}
function deleteSSID(num){
saved.innerHTML = "";
getResponse("deleteSSID.json?num="+num,getResults);