8 changed files with 131 additions and 19 deletions
@ -0,0 +1,78 @@ |
|||||
|
var fs = require('fs-extra'); |
||||
|
var shell = require('shelljs'); |
||||
|
var beautifyJSON = require("json-beautify"); |
||||
|
|
||||
|
var EOL = require('os').EOL; // \n if used on Linux, \r\n if used on Windows.
|
||||
|
|
||||
|
var listFilePath = "/etc/up-serve/servers.up"; |
||||
|
|
||||
|
function appendToList(domain, outPort, inPort) { |
||||
|
|
||||
|
inPort = inPort || undefined; |
||||
|
var jsonFile = {}; |
||||
|
var domBlock; |
||||
|
|
||||
|
if (!inPort) { |
||||
|
domBlock = { |
||||
|
"type": "static", |
||||
|
"outPort": outPort, |
||||
|
"inPort": undefined |
||||
|
} |
||||
|
} else { |
||||
|
domBlock = { |
||||
|
"type": "proxy", |
||||
|
"outPort": outPort, |
||||
|
"inPort": inPort |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if (fs.existsSync(listFilePath)) { |
||||
|
jsonFile = fs.readFileSync(listFilePath); |
||||
|
jsonFile = JSON.parse(jsonFile); |
||||
|
|
||||
|
for (block in jsonFile) { |
||||
|
if (block[domain] == domain && block[domain].outPort == outPort) { |
||||
|
delete jsonFile.block; |
||||
|
return; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
jsonFile[domain] = domBlock; |
||||
|
jsonFile = beautifyJSON(jsonFile, null, 2, 30); |
||||
|
} |
||||
|
else { |
||||
|
jsonFile[domain] = domBlock; |
||||
|
jsonFile = beautifyJSON(jsonFile); |
||||
|
} |
||||
|
fs.writeFileSync(listFilePath, jsonFile); |
||||
|
} |
||||
|
|
||||
|
function removeFromList (domain, outPort) { |
||||
|
var jsonFile = {}; |
||||
|
if (fs.existsSync(listFilePath)) { |
||||
|
jsonFile = fs.readFileSync(listFilePath); |
||||
|
jsonFile = JSON.parse(jsonFile); |
||||
|
|
||||
|
for (block in jsonFile) { |
||||
|
if (block[domain] == domain && block[domain].outPort == outPort) { |
||||
|
delete jsonFile.block; |
||||
|
console.log('\nDomain was deleted successfully.\n'); |
||||
|
return; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
jsonFile = beautifyJSON(jsonFile, null, 2, 30); |
||||
|
} |
||||
|
else { |
||||
|
console.log("\Domain was not in my list. Are you sure?\n") |
||||
|
} |
||||
|
fs.writeFileSync(listFilePath, jsonFile); |
||||
|
} |
||||
|
|
||||
|
function readServers () { |
||||
|
return JSON.parse(fs.readFileSync(listFilePath)); |
||||
|
} |
||||
|
|
||||
|
module.exports.appendToList = appendToList; |
||||
|
module.exports.readServers = readServers; |
||||
|
module.exports.removeFromList = removeFromList; |
Loading…
Reference in new issue