settings: move ipv6/ipv4 config into network
this also rename sysinfo_config to ipv4_config
This commit is contained in:
@@ -6,6 +6,12 @@ exports = module.exports = {
|
||||
|
||||
getDynamicDns,
|
||||
setDynamicDns,
|
||||
|
||||
getIPv4Config,
|
||||
setIPv4Config,
|
||||
|
||||
getIPv6Config,
|
||||
setIPv6Config,
|
||||
};
|
||||
|
||||
const assert = require('assert'),
|
||||
@@ -17,6 +23,7 @@ const assert = require('assert'),
|
||||
safe = require('safetydance'),
|
||||
settings = require('./settings.js'),
|
||||
shell = require('./shell.js'),
|
||||
sysinfo = require('./sysinfo.js'),
|
||||
validator = require('validator');
|
||||
|
||||
const SET_BLOCKLIST_CMD = path.join(__dirname, 'scripts/setblocklist.sh');
|
||||
@@ -69,3 +76,35 @@ async function setDynamicDns(enabled) {
|
||||
await settings.set(settings.DYNAMIC_DNS_KEY, enabled ? 'enabled' : ''); // db holds string values only
|
||||
cron.dynamicDnsChanged(enabled);
|
||||
}
|
||||
|
||||
async function getIPv4Config() {
|
||||
const value = await settings.get(settings.IPV4_CONFIG_KEY);
|
||||
return value ? JSON.parse(value) : { provider: 'generic' };
|
||||
}
|
||||
|
||||
async function setIPv4Config(ipv4Config) {
|
||||
assert.strictEqual(typeof ipv4Config, 'object');
|
||||
|
||||
if (settings.isDemo()) throw new BoxError(BoxError.BAD_FIELD, 'Not allowed in demo mode');
|
||||
|
||||
const error = await sysinfo.testIPv4Config(ipv4Config);
|
||||
if (error) throw error;
|
||||
|
||||
await settings.set(settings.IPV4_CONFIG_KEY, JSON.stringify(ipv4Config));
|
||||
}
|
||||
|
||||
async function getIPv6Config() {
|
||||
const value = await settings.get(settings.IPV6_CONFIG_KEY);
|
||||
return value ? JSON.parse(value) : { provider: 'noop' };
|
||||
}
|
||||
|
||||
async function setIPv6Config(ipv6Config) {
|
||||
assert.strictEqual(typeof ipv6Config, 'object');
|
||||
|
||||
if (settings.isDemo()) throw new BoxError(BoxError.BAD_FIELD, 'Not allowed in demo mode');
|
||||
|
||||
const error = await sysinfo.testIPv6Config(ipv6Config);
|
||||
if (error) throw error;
|
||||
|
||||
await settings.set(settings.IPV6_CONFIG_KEY, JSON.stringify(ipv6Config));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user