mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-05 01:44:16 +08:00
⛅ Sync 2026-05-03 20:20:03
This commit is contained in:
1 parent
3dae6d0119
commit
dac242c7dc
72 files changed
+5840
-4686
No files matched your search
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-mosdns
|
||||
PKG_VERSION:=1.7.2
|
||||
PKG_RELEASE:=7
|
||||
PKG_RELEASE:=8
|
||||
|
||||
LUCI_TITLE:=LuCI Support for mosdns
|
||||
LUCI_PKGARCH:=all
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
'require ui';
|
||||
'require view';
|
||||
|
||||
var callServiceList = rpc.declare({
|
||||
const callServiceList = rpc.declare({
|
||||
object: 'service',
|
||||
method: 'list',
|
||||
params: ['name'],
|
||||
@@ -15,8 +15,8 @@ var callServiceList = rpc.declare({
|
||||
});
|
||||
|
||||
function getServiceStatus() {
|
||||
return L.resolveDefault(callServiceList('mosdns'), {}).then(function (res) {
|
||||
var isRunning = false;
|
||||
return L.resolveDefault(callServiceList('mosdns'), {}).then(res => {
|
||||
let isRunning = false;
|
||||
try {
|
||||
isRunning = res['mosdns']['instances']['mosdns']['running'];
|
||||
} catch (e) { }
|
||||
@@ -25,8 +25,8 @@ function getServiceStatus() {
|
||||
}
|
||||
|
||||
function renderStatus(isRunning) {
|
||||
var spanTemp = '<em><span style="color:%s"><strong>%s %s</strong></span></em>';
|
||||
var renderHTML;
|
||||
const spanTemp = '<em><span style="color:%s"><strong>%s %s</strong></span></em>';
|
||||
let renderHTML;
|
||||
if (isRunning) {
|
||||
renderHTML = spanTemp.format('green', _('MosDNS'), _('RUNNING'));
|
||||
} else {
|
||||
@@ -70,27 +70,27 @@ async function loadCodeMirrorResources() {
|
||||
await loadScripts();
|
||||
}
|
||||
|
||||
var callMosdns = rpc.declare({
|
||||
const callMosdns = rpc.declare({
|
||||
object: 'luci.mosdns',
|
||||
method: 'get_version',
|
||||
expect: { '': {} }
|
||||
});
|
||||
|
||||
var callFlushCache = rpc.declare({
|
||||
const callFlushCache = rpc.declare({
|
||||
object: 'luci.mosdns',
|
||||
method: 'flush_cache',
|
||||
expect: { '': {} }
|
||||
});
|
||||
|
||||
return view.extend({
|
||||
load: function () {
|
||||
load() {
|
||||
return Promise.all([
|
||||
L.resolveDefault(callMosdns(), null),
|
||||
]);
|
||||
},
|
||||
|
||||
handleFlushCache: function () {
|
||||
return callFlushCache().then(function(res) {
|
||||
handleFlushCache() {
|
||||
return callFlushCache().then(res => {
|
||||
if (res.success) {
|
||||
ui.addNotification(null, E('p', _('Flushing DNS Cache Success.')), 'info');
|
||||
} else {
|
||||
@@ -99,24 +99,20 @@ return view.extend({
|
||||
});
|
||||
},
|
||||
|
||||
render: function (data) {
|
||||
var m, s, o, v;
|
||||
v = '';
|
||||
render(data) {
|
||||
let m, s, o;
|
||||
|
||||
var version = (data[0] && data[0].version) ? data[0].version : null;
|
||||
if (version) {
|
||||
v = version;
|
||||
}
|
||||
m = new form.Map('mosdns', _('MosDNS') + ' ' + v,
|
||||
const version = (data[0] && data[0].version) ? data[0].version : '';
|
||||
m = new form.Map('mosdns', _('MosDNS') + ' ' + version,
|
||||
_('MosDNS is a plugin-based DNS forwarder/traffic splitter.'));
|
||||
|
||||
s = m.section(form.TypedSection);
|
||||
s.anonymous = true;
|
||||
s.render = function () {
|
||||
setTimeout(function () {
|
||||
poll.add(function () {
|
||||
return L.resolveDefault(getServiceStatus()).then(function (res) {
|
||||
var view = document.getElementById('service_status');
|
||||
s.render = () => {
|
||||
setTimeout(() => {
|
||||
poll.add(() => {
|
||||
return L.resolveDefault(getServiceStatus()).then(res => {
|
||||
const view = document.getElementById('service_status');
|
||||
if (view) {
|
||||
view.innerHTML = renderStatus(res);
|
||||
} else {
|
||||
@@ -132,14 +128,14 @@ return view.extend({
|
||||
return E('div', { class: 'cbi-section', id: 'status_bar' }, [
|
||||
E('p', { id: 'service_status' }, _('Collecting data...'))
|
||||
]);
|
||||
}
|
||||
};
|
||||
|
||||
s = m.section(form.NamedSection, 'config', 'mosdns');
|
||||
|
||||
s.tab('basic', _('Basic Options'));
|
||||
s.tab("advanced", _("Advanced Options"));
|
||||
s.tab("cloudflare", _("Cloudflare Options"));
|
||||
s.tab("api", _("API Options"));
|
||||
s.tab('advanced', _('Advanced Options'));
|
||||
s.tab('cloudflare', _('Cloudflare Options'));
|
||||
s.tab('api', _('API Options'));
|
||||
s.tab('geodata', _('GeoData Export'));
|
||||
|
||||
/* basic */
|
||||
@@ -271,13 +267,13 @@ return view.extend({
|
||||
o.depends('configfile', '/var/etc/mosdns.json');
|
||||
|
||||
o = s.taboption('advanced', form.Value, 'idle_timeout', _('Idle Timeout'),
|
||||
_('DoH/TCP/DoT Connection Multiplexing idle timeout (default 30 seconds)'))
|
||||
_('DoH/TCP/DoT Connection Multiplexing idle timeout (default 30 seconds)'));
|
||||
o.datatype = 'and(uinteger,min(1))';
|
||||
o.default = '30';
|
||||
o.depends('configfile', '/var/etc/mosdns.json');
|
||||
|
||||
o = s.taboption('advanced', form.Flag, 'enable_pipeline', _('TCP/DoT Connection Multiplexing'),
|
||||
_('Enable TCP/DoT RFC 7766 new Query Pipelining connection multiplexing mode'))
|
||||
_('Enable TCP/DoT RFC 7766 new Query Pipelining connection multiplexing mode'));
|
||||
o.rmempty = false;
|
||||
o.default = false;
|
||||
o.depends('configfile', '/var/etc/mosdns.json');
|
||||
@@ -362,9 +358,9 @@ return view.extend({
|
||||
o.depends('adblock', '1');
|
||||
o.default = 'geosite.dat';
|
||||
o.value('geosite.dat', 'v2ray-geosite');
|
||||
o.value('https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/anti-ad-domains.txt', 'anti-AD')
|
||||
o.value('https://raw.githubusercontent.com/Cats-Team/AdRules/main/mosdns_adrules.txt', 'Cats-Team/AdRules')
|
||||
o.value('https://raw.githubusercontent.com/neodevpro/neodevhost/master/domain', 'NEO DEV HOST')
|
||||
o.value('https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/anti-ad-domains.txt', 'anti-AD');
|
||||
o.value('https://raw.githubusercontent.com/Cats-Team/AdRules/main/mosdns_adrules.txt', 'Cats-Team/AdRules');
|
||||
o.value('https://raw.githubusercontent.com/neodevpro/neodevhost/master/domain', 'NEO DEV HOST');
|
||||
|
||||
/* cloudflare */
|
||||
o = s.taboption('cloudflare', form.Flag, 'cloudflare', _('Enabled'),
|
||||
@@ -383,12 +379,10 @@ return view.extend({
|
||||
_('IPv4 CIDR: <a href="https://www.cloudflare.com/ips-v4" target="_blank">https://www.cloudflare.com/ips-v4</a> <br /> IPv6 CIDR: <a href="https://www.cloudflare.com/ips-v6" target="_blank">https://www.cloudflare.com/ips-v6</a>'));
|
||||
o.rows = 15;
|
||||
o.depends('configfile', '/var/etc/mosdns.json');
|
||||
o.cfgvalue = function (section_id) {
|
||||
return fs.trimmed('/etc/mosdns/rule/cloudflare-cidr.txt');
|
||||
};
|
||||
o.write = function (section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(function (value) {
|
||||
if (value == formvalue) {
|
||||
o.cfgvalue = section_id => fs.trimmed('/etc/mosdns/rule/cloudflare-cidr.txt');
|
||||
o.write = function(section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(value => {
|
||||
if (value === formvalue) {
|
||||
return;
|
||||
}
|
||||
return fs.write('/etc/mosdns/rule/cloudflare-cidr.txt', formvalue.trim().replace(/\r\n/g, '\n') + '\n');
|
||||
@@ -410,9 +404,9 @@ return view.extend({
|
||||
o.depends('cache', '1');
|
||||
|
||||
/* configuration */
|
||||
var configeditor = null;
|
||||
setTimeout(function () {
|
||||
var textarea = document.getElementById('widget.cbid.mosdns.config._custom');
|
||||
let configeditor = null;
|
||||
setTimeout(() => {
|
||||
const textarea = document.getElementById('widget.cbid.mosdns.config._custom');
|
||||
if (textarea) {
|
||||
configeditor = CodeMirror.fromTextArea(textarea, {
|
||||
autoRefresh: true,
|
||||
@@ -421,9 +415,9 @@ return view.extend({
|
||||
lint: true,
|
||||
gutters: ['CodeMirror-lint-markers'],
|
||||
matchBrackets: true,
|
||||
mode: "text/yaml",
|
||||
mode: 'text/yaml',
|
||||
styleActiveLine: true,
|
||||
theme: "dracula"
|
||||
theme: 'dracula'
|
||||
});
|
||||
}
|
||||
}, 600);
|
||||
@@ -432,23 +426,17 @@ return view.extend({
|
||||
Only accepts configuration content in yaml format.'));
|
||||
o.rows = 25;
|
||||
o.depends('configfile', '/etc/mosdns/config_custom.yaml');
|
||||
o.cfgvalue = function (section_id) {
|
||||
return fs.trimmed('/etc/mosdns/config_custom.yaml');
|
||||
};
|
||||
o.write = function (section_id, formvalue) {
|
||||
o.cfgvalue = section_id => fs.trimmed('/etc/mosdns/config_custom.yaml');
|
||||
o.write = function(section_id, formvalue) {
|
||||
if (configeditor) {
|
||||
var editorContent = configeditor.getValue();
|
||||
const editorContent = configeditor.getValue();
|
||||
if (editorContent === formvalue) {
|
||||
return;
|
||||
}
|
||||
return fs.write('/etc/mosdns/config_custom.yaml', editorContent.trim().replace(/\r\n/g, '\n') + '\n')
|
||||
.then(function (i) {
|
||||
return fs.exec('/etc/init.d/mosdns', ['restart']);
|
||||
})
|
||||
.then(function () {
|
||||
return window.location.reload();
|
||||
})
|
||||
.catch(function (e) {
|
||||
.then(i => fs.exec('/etc/init.d/mosdns', ['restart']))
|
||||
.then(() => window.location.reload())
|
||||
.catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -6,24 +6,24 @@
|
||||
'require rpc';
|
||||
'require ui';
|
||||
|
||||
var callPrintLog = rpc.declare({
|
||||
const callPrintLog = rpc.declare({
|
||||
object: 'luci.mosdns',
|
||||
method: 'print_log',
|
||||
expect: { '': {} }
|
||||
});
|
||||
|
||||
var callCleanLog = rpc.declare({
|
||||
const callCleanLog = rpc.declare({
|
||||
object: 'luci.mosdns',
|
||||
method: 'clean_log',
|
||||
expect: { '': {} }
|
||||
});
|
||||
|
||||
var scrollPosition = 0;
|
||||
var userScrolled = false;
|
||||
var logTextarea;
|
||||
let scrollPosition = 0;
|
||||
let userScrolled = false;
|
||||
let logTextarea;
|
||||
|
||||
function pollLog() {
|
||||
return callPrintLog().then(function (res) {
|
||||
return callPrintLog().then(res => {
|
||||
logTextarea.value = res.log || _('No log data.');
|
||||
|
||||
if (!userScrolled) {
|
||||
@@ -32,20 +32,20 @@ function pollLog() {
|
||||
logTextarea.scrollTop = scrollPosition;
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
return view.extend({
|
||||
handleCleanLogs: function () {
|
||||
return callCleanLog().then(function(res) {
|
||||
handleCleanLogs() {
|
||||
return callCleanLog().then(res => {
|
||||
if (res.success) {
|
||||
logTextarea.value = ''; // Clear textarea on success
|
||||
} else {
|
||||
ui.addNotification(null, E('p', _('Failed to clean logs.') + (res.error ? ': ' + res.error : '')), 'error');
|
||||
}
|
||||
}).catch(function (e) { ui.addNotification(null, E('p', e.message)) });
|
||||
}).catch(e => ui.addNotification(null, E('p', e.message)));
|
||||
},
|
||||
|
||||
render: function () {
|
||||
render() {
|
||||
logTextarea = E('textarea', {
|
||||
'class': 'cbi-input-textarea',
|
||||
'wrap': 'off',
|
||||
@@ -53,16 +53,16 @@ return view.extend({
|
||||
'style': 'width: calc(100% - 20px);height: 535px;margin: 10px;overflow-y: scroll;',
|
||||
});
|
||||
|
||||
logTextarea.addEventListener('scroll', function () {
|
||||
logTextarea.addEventListener('scroll', () => {
|
||||
userScrolled = true;
|
||||
scrollPosition = logTextarea.scrollTop;
|
||||
});
|
||||
|
||||
var log_textarea_wrapper = E('div', { 'id': 'log_textarea' }, logTextarea);
|
||||
const log_textarea_wrapper = E('div', { 'id': 'log_textarea' }, logTextarea);
|
||||
|
||||
poll.add(pollLog);
|
||||
|
||||
var clear_logs_button = E('input', { 'class': 'btn cbi-button-action', 'type': 'button', 'style': 'margin-left: 10px; margin-top: 10px;', 'value': _('Clear logs') });
|
||||
const clear_logs_button = E('input', { 'class': 'btn cbi-button-action', 'type': 'button', 'style': 'margin-left: 10px; margin-top: 10px;', 'value': _('Clear logs') });
|
||||
clear_logs_button.addEventListener('click', this.handleCleanLogs.bind(this));
|
||||
|
||||
return E([
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
'require view';
|
||||
|
||||
return view.extend({
|
||||
render: function () {
|
||||
var m, s, o;
|
||||
render() {
|
||||
let m, s, o;
|
||||
|
||||
m = new form.Map("mosdns", _("Rule Settings"),
|
||||
m = new form.Map('mosdns', _('Rule Settings'),
|
||||
_('The list of rules only apply to \'Default Config\' profiles.'));
|
||||
|
||||
s = m.section(form.TypedSection);
|
||||
@@ -32,27 +32,21 @@ return view.extend({
|
||||
+ '</font>'
|
||||
);
|
||||
o.rows = 25;
|
||||
o.cfgvalue = function (section_id) {
|
||||
return fs.trimmed('/etc/mosdns/rule/whitelist.txt').catch(function (e) {
|
||||
return "";
|
||||
});
|
||||
};
|
||||
o.write = function (section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(function (value) {
|
||||
if (value == formvalue) {
|
||||
o.cfgvalue = section_id => fs.trimmed('/etc/mosdns/rule/whitelist.txt').catch(e => '');
|
||||
o.write = function(section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(value => {
|
||||
if (value === formvalue) {
|
||||
return;
|
||||
}
|
||||
return fs.write('/etc/mosdns/rule/whitelist.txt', (formvalue.trim() ? formvalue.trim().replace(/\r\n/g, '\n') + '\n' : ''))
|
||||
.catch(function (e) {
|
||||
.catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
});
|
||||
};
|
||||
o.remove = function (section_id) {
|
||||
return fs.write('/etc/mosdns/rule/whitelist.txt', '').catch(function (e) {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
};
|
||||
o.remove = section_id => fs.write('/etc/mosdns/rule/whitelist.txt', '').catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
|
||||
// --- Block Lists ---
|
||||
o = s.taboption('blocklist', form.TextValue, '_blocklist',
|
||||
@@ -62,27 +56,21 @@ return view.extend({
|
||||
+ '</font>'
|
||||
);
|
||||
o.rows = 25;
|
||||
o.cfgvalue = function (section_id) {
|
||||
return fs.trimmed('/etc/mosdns/rule/blocklist.txt').catch(function (e) {
|
||||
return "";
|
||||
});
|
||||
};
|
||||
o.write = function (section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(function (value) {
|
||||
if (value == formvalue) {
|
||||
o.cfgvalue = section_id => fs.trimmed('/etc/mosdns/rule/blocklist.txt').catch(e => '');
|
||||
o.write = function(section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(value => {
|
||||
if (value === formvalue) {
|
||||
return;
|
||||
}
|
||||
return fs.write('/etc/mosdns/rule/blocklist.txt', (formvalue.trim() ? formvalue.trim().replace(/\r\n/g, '\n') + '\n' : ''))
|
||||
.catch(function (e) {
|
||||
.catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
});
|
||||
};
|
||||
o.remove = function (section_id) {
|
||||
return fs.write('/etc/mosdns/rule/blocklist.txt', '').catch(function (e) {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
};
|
||||
o.remove = section_id => fs.write('/etc/mosdns/rule/blocklist.txt', '').catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
|
||||
// --- Grey Lists ---
|
||||
o = s.taboption('greylist', form.TextValue, '_greylist',
|
||||
@@ -92,27 +80,21 @@ return view.extend({
|
||||
+ '</font>'
|
||||
);
|
||||
o.rows = 25;
|
||||
o.cfgvalue = function (section_id) {
|
||||
return fs.trimmed('/etc/mosdns/rule/greylist.txt').catch(function (e) {
|
||||
return "";
|
||||
});
|
||||
};
|
||||
o.write = function (section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(function (value) {
|
||||
if (value == formvalue) {
|
||||
o.cfgvalue = section_id => fs.trimmed('/etc/mosdns/rule/greylist.txt').catch(e => '');
|
||||
o.write = function(section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(value => {
|
||||
if (value === formvalue) {
|
||||
return;
|
||||
}
|
||||
return fs.write('/etc/mosdns/rule/greylist.txt', (formvalue.trim() ? formvalue.trim().replace(/\r\n/g, '\n') + '\n' : ''))
|
||||
.catch(function (e) {
|
||||
.catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
});
|
||||
};
|
||||
o.remove = function (section_id) {
|
||||
return fs.write('/etc/mosdns/rule/greylist.txt', '').catch(function (e) {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
};
|
||||
o.remove = section_id => fs.write('/etc/mosdns/rule/greylist.txt', '').catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
|
||||
// --- DDNS Lists ---
|
||||
o = s.taboption('ddnslist', form.TextValue, '_ddnslist',
|
||||
@@ -122,27 +104,21 @@ return view.extend({
|
||||
+ '</font>'
|
||||
);
|
||||
o.rows = 25;
|
||||
o.cfgvalue = function (section_id) {
|
||||
return fs.trimmed('/etc/mosdns/rule/ddnslist.txt').catch(function (e) {
|
||||
return "";
|
||||
});
|
||||
};
|
||||
o.write = function (section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(function (value) {
|
||||
if (value == formvalue) {
|
||||
o.cfgvalue = section_id => fs.trimmed('/etc/mosdns/rule/ddnslist.txt').catch(e => '');
|
||||
o.write = function(section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(value => {
|
||||
if (value === formvalue) {
|
||||
return;
|
||||
}
|
||||
return fs.write('/etc/mosdns/rule/ddnslist.txt', (formvalue.trim() ? formvalue.trim().replace(/\r\n/g, '\n') + '\n' : ''))
|
||||
.catch(function (e) {
|
||||
.catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
});
|
||||
};
|
||||
o.remove = function (section_id) {
|
||||
return fs.write('/etc/mosdns/rule/ddnslist.txt', '').catch(function (e) {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
};
|
||||
o.remove = section_id => fs.write('/etc/mosdns/rule/ddnslist.txt', '').catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
|
||||
// --- Hosts ---
|
||||
o = s.taboption('hostslist', form.TextValue, '_hostslist',
|
||||
@@ -152,27 +128,21 @@ return view.extend({
|
||||
+ '</font>'
|
||||
);
|
||||
o.rows = 25;
|
||||
o.cfgvalue = function (section_id) {
|
||||
return fs.trimmed('/etc/mosdns/rule/hosts.txt').catch(function (e) {
|
||||
return "";
|
||||
});
|
||||
};
|
||||
o.write = function (section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(function (value) {
|
||||
if (value == formvalue) {
|
||||
o.cfgvalue = section_id => fs.trimmed('/etc/mosdns/rule/hosts.txt').catch(e => '');
|
||||
o.write = function(section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(value => {
|
||||
if (value === formvalue) {
|
||||
return;
|
||||
}
|
||||
return fs.write('/etc/mosdns/rule/hosts.txt', (formvalue.trim() ? formvalue.trim().replace(/\r\n/g, '\n') + '\n' : ''))
|
||||
.catch(function (e) {
|
||||
.catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
});
|
||||
};
|
||||
o.remove = function (section_id) {
|
||||
return fs.write('/etc/mosdns/rule/hosts.txt', '').catch(function (e) {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
};
|
||||
o.remove = section_id => fs.write('/etc/mosdns/rule/hosts.txt', '').catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
|
||||
// --- Redirect ---
|
||||
o = s.taboption('redirectlist', form.TextValue, '_redirectlist',
|
||||
@@ -182,27 +152,21 @@ return view.extend({
|
||||
+ '</font>'
|
||||
);
|
||||
o.rows = 25;
|
||||
o.cfgvalue = function (section_id) {
|
||||
return fs.trimmed('/etc/mosdns/rule/redirect.txt').catch(function (e) {
|
||||
return "";
|
||||
});
|
||||
};
|
||||
o.write = function (section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(function (value) {
|
||||
if (value == formvalue) {
|
||||
o.cfgvalue = section_id => fs.trimmed('/etc/mosdns/rule/redirect.txt').catch(e => '');
|
||||
o.write = function(section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(value => {
|
||||
if (value === formvalue) {
|
||||
return;
|
||||
}
|
||||
return fs.write('/etc/mosdns/rule/redirect.txt', (formvalue.trim() ? formvalue.trim().replace(/\r\n/g, '\n') + '\n' : ''))
|
||||
.catch(function (e) {
|
||||
.catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
});
|
||||
};
|
||||
o.remove = function (section_id) {
|
||||
return fs.write('/etc/mosdns/rule/redirect.txt', '').catch(function (e) {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
};
|
||||
o.remove = section_id => fs.write('/etc/mosdns/rule/redirect.txt', '').catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
|
||||
// --- Block PTR ---
|
||||
o = s.taboption('localptrlist', form.TextValue, '_localptrlist',
|
||||
@@ -212,27 +176,21 @@ return view.extend({
|
||||
+ '</font>'
|
||||
);
|
||||
o.rows = 25;
|
||||
o.cfgvalue = function (section_id) {
|
||||
return fs.trimmed('/etc/mosdns/rule/local-ptr.txt').catch(function (e) {
|
||||
return "";
|
||||
});
|
||||
};
|
||||
o.write = function (section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(function (value) {
|
||||
if (value == formvalue) {
|
||||
o.cfgvalue = section_id => fs.trimmed('/etc/mosdns/rule/local-ptr.txt').catch(e => '');
|
||||
o.write = function(section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(value => {
|
||||
if (value === formvalue) {
|
||||
return;
|
||||
}
|
||||
return fs.write('/etc/mosdns/rule/local-ptr.txt', (formvalue.trim() ? formvalue.trim().replace(/\r\n/g, '\n') + '\n' : ''))
|
||||
.catch(function (e) {
|
||||
.catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
});
|
||||
};
|
||||
o.remove = function (section_id) {
|
||||
return fs.write('/etc/mosdns/rule/local-ptr.txt', '').catch(function (e) {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
};
|
||||
o.remove = section_id => fs.write('/etc/mosdns/rule/local-ptr.txt', '').catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
|
||||
// --- Streaming Media ---
|
||||
o = s.taboption('streamingmedialist', form.TextValue, '_streamingmedialist',
|
||||
@@ -242,35 +200,30 @@ return view.extend({
|
||||
+ '</font>'
|
||||
);
|
||||
o.rows = 25;
|
||||
o.cfgvalue = function (section_id) {
|
||||
return fs.trimmed('/etc/mosdns/rule/streaming.txt').catch(function (e) {
|
||||
return "";
|
||||
});
|
||||
};
|
||||
o.write = function (section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(function (value) {
|
||||
if (value == formvalue) {
|
||||
o.cfgvalue = section_id => fs.trimmed('/etc/mosdns/rule/streaming.txt').catch(e => '');
|
||||
o.write = function(section_id, formvalue) {
|
||||
return this.cfgvalue(section_id).then(value => {
|
||||
if (value === formvalue) {
|
||||
return;
|
||||
}
|
||||
return fs.write('/etc/mosdns/rule/streaming.txt', (formvalue.trim() ? formvalue.trim().replace(/\r\n/g, '\n') + '\n' : ''))
|
||||
.catch(function (e) {
|
||||
.catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
});
|
||||
};
|
||||
o.remove = function (section_id) {
|
||||
return fs.write('/etc/mosdns/rule/streaming.txt', '').catch(function (e) {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
};
|
||||
o.remove = section_id => fs.write('/etc/mosdns/rule/streaming.txt', '').catch(e => {
|
||||
ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message)));
|
||||
});
|
||||
|
||||
return m.render();
|
||||
},
|
||||
|
||||
handleSaveApply: function (ev) {
|
||||
return this.handleSave(ev).then(function() {
|
||||
handleSaveApply(ev) {
|
||||
return this.handleSave(ev).then(() => {
|
||||
window.location.reload();
|
||||
});
|
||||
},
|
||||
|
||||
handleReset: null
|
||||
});
|
||||
@@ -5,28 +5,28 @@
|
||||
'require view';
|
||||
'require rpc';
|
||||
|
||||
var callStartUpdate = rpc.declare({
|
||||
const callStartUpdate = rpc.declare({
|
||||
object: 'luci.mosdns',
|
||||
method: 'start_update',
|
||||
expect: { '': {} }
|
||||
});
|
||||
|
||||
var callGetUpdateLog = rpc.declare({
|
||||
const callGetUpdateLog = rpc.declare({
|
||||
object: 'luci.mosdns',
|
||||
method: 'get_update_log',
|
||||
expect: { '': {} }
|
||||
});
|
||||
|
||||
return view.extend({
|
||||
handleUpdate: function () {
|
||||
var logTextarea = E('textarea', {
|
||||
handleUpdate() {
|
||||
const logTextarea = E('textarea', {
|
||||
'class': 'cbi-input-textarea',
|
||||
'readonly': 'readonly',
|
||||
'style': 'width: 100%; height: 300px; font-family: monospace; font-size: 12px; margin-top: 10px;',
|
||||
'placeholder': _('Starting update...')
|
||||
});
|
||||
|
||||
var closeButton = E('button', {
|
||||
const closeButton = E('button', {
|
||||
'class': 'btn',
|
||||
'style': 'display: none;',
|
||||
'click': ui.hideModal
|
||||
@@ -38,8 +38,8 @@ return view.extend({
|
||||
E('div', { 'class': 'right' }, [ closeButton ])
|
||||
]);
|
||||
|
||||
var pollLog = function() {
|
||||
return callGetUpdateLog().then(function(res) {
|
||||
const pollLog = () => {
|
||||
return callGetUpdateLog().then(res => {
|
||||
if (res && res.log) {
|
||||
logTextarea.value = res.log;
|
||||
logTextarea.scrollTop = logTextarea.scrollHeight;
|
||||
@@ -60,10 +60,10 @@ return view.extend({
|
||||
});
|
||||
};
|
||||
|
||||
return callStartUpdate().then(function(res) {
|
||||
return callStartUpdate().then(res => {
|
||||
if (res.success) {
|
||||
var interval = window.setInterval(function() {
|
||||
pollLog().then(function(continuePolling) {
|
||||
const interval = window.setInterval(() => {
|
||||
pollLog().then(continuePolling => {
|
||||
if (!continuePolling) {
|
||||
window.clearInterval(interval);
|
||||
}
|
||||
@@ -73,14 +73,14 @@ return view.extend({
|
||||
ui.hideModal();
|
||||
ui.addNotification(null, E('p', res.error || _('Failed to start update.')), 'error');
|
||||
}
|
||||
}).catch(function(e) {
|
||||
}).catch(e => {
|
||||
ui.hideModal();
|
||||
ui.addNotification(null, E('p', _('Update failed: %s').format(e.message)), 'error');
|
||||
});
|
||||
},
|
||||
|
||||
render: function () {
|
||||
var m, s, o;
|
||||
render() {
|
||||
let m, s, o;
|
||||
|
||||
m = new form.Map('mosdns', _('Update GeoIP & GeoSite databases'),
|
||||
_('Automatically update GeoIP and GeoSite databases as well as ad filtering rules through scheduled tasks.'));
|
||||
@@ -105,14 +105,14 @@ return view.extend({
|
||||
o = s.option(form.ListValue, 'geo_update_day_time', _('Update Time'));
|
||||
for (let t = 0; t < 24; t++) {
|
||||
o.value(t, t + ':00');
|
||||
};
|
||||
}
|
||||
o.default = 3;
|
||||
|
||||
o = s.option(form.ListValue, 'geoip_type', _('GeoIP Type'),
|
||||
_('Little: only include Mainland China and Private IP addresses.') +
|
||||
'<br>' +
|
||||
_('Full: includes all Countries and Private IP addresses.')
|
||||
);
|
||||
);
|
||||
o.value('geoip', _('Full'));
|
||||
o.value('geoip-only-cn-private', _('Little'));
|
||||
o.rmempty = false;
|
||||
@@ -129,7 +129,7 @@ return view.extend({
|
||||
o.title = _('Database Update');
|
||||
o.inputtitle = _('Check And Update');
|
||||
o.inputstyle = 'apply';
|
||||
o.onclick = L.bind(this.handleUpdate, this);
|
||||
o.onclick = () => this.handleUpdate();
|
||||
|
||||
return m.render();
|
||||
}
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=UTF-8"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:219
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:215
|
||||
msgid "360 Public DNS (DNS over HTTPS)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:358
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:354
|
||||
msgid "ADblock Source"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:399
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:393
|
||||
msgid "API Listen port"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:142
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:138
|
||||
msgid "API Options"
|
||||
msgstr ""
|
||||
|
||||
@@ -23,54 +23,54 @@ msgid ""
|
||||
"highest priority (one domain per line, supports domain matching rules)."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:121
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:103
|
||||
msgid ""
|
||||
"Added domain names will always use 'Local DNS' for resolution, with a forced "
|
||||
"TTL of 5 seconds, and results will not be cached (one domain per line, "
|
||||
"supports domain matching rules)."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:91
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:79
|
||||
msgid ""
|
||||
"Added domain names will always use 'Remote DNS' for resolution (one domain "
|
||||
"per line, supports domain matching rules)."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:61
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:55
|
||||
msgid ""
|
||||
"Added domain names will block DNS resolution (one domain per line, supports "
|
||||
"domain matching rules)."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:211
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:175
|
||||
msgid ""
|
||||
"Added domain names will block PTR requests (one domain per line, supports "
|
||||
"domain matching rules)."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:140
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:136
|
||||
msgid "Advanced Options"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:208
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:256
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:204
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:252
|
||||
msgid "Aliyun Public DNS (223.5.5.5)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:209
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:257
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:205
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:253
|
||||
msgid "Aliyun Public DNS (223.6.6.6)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:218
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:214
|
||||
msgid "Aliyun Public DNS (DNS over HTTP/3)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:217
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:213
|
||||
msgid "Aliyun Public DNS (DNS over HTTPS)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:216
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:212
|
||||
msgid "Aliyun Public DNS (DNS over QUIC)"
|
||||
msgstr ""
|
||||
|
||||
@@ -78,11 +78,11 @@ msgstr ""
|
||||
msgid "Another update is already in progress."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:200
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:196
|
||||
msgid "Apple domains optimization"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:332
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:328
|
||||
msgid "Auto Save Cache Interval"
|
||||
msgstr ""
|
||||
|
||||
@@ -92,12 +92,12 @@ msgid ""
|
||||
"rules through scheduled tasks."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:214
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:260
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:210
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:256
|
||||
msgid "Baidu Public DNS (180.76.76.76)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:139
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:135
|
||||
msgid "Basic Options"
|
||||
msgstr ""
|
||||
|
||||
@@ -105,7 +105,7 @@ msgstr ""
|
||||
msgid "Basic Setting"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:350
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:346
|
||||
msgid ""
|
||||
"Block DNS RR Type 65 records (HTTPS/SVCB, used for HTTP/3, ECH, etc.), force "
|
||||
"using only A/AAAA records."
|
||||
@@ -119,17 +119,17 @@ msgstr ""
|
||||
msgid "Block PTR"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:252
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:248
|
||||
msgid "Bootstrap DNS servers"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:253
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:249
|
||||
msgid ""
|
||||
"Bootstrap DNS servers are used to resolve IP addresses of the DoH/DoT "
|
||||
"resolvers you specify as upstreams"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:325
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:321
|
||||
msgid "Cache Dump"
|
||||
msgstr ""
|
||||
|
||||
@@ -141,21 +141,21 @@ msgstr ""
|
||||
msgid "Check And Update GeoData."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:186
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:182
|
||||
msgid "China DNS prefer IPv4"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:205
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:201
|
||||
msgid "China DNS server"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:231
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:248
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:227
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:244
|
||||
msgid "Cisco Public DNS (208.67.220.220)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:230
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:247
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:226
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:243
|
||||
msgid "Cisco Public DNS (208.67.222.222)"
|
||||
msgstr ""
|
||||
|
||||
@@ -167,60 +167,60 @@ msgstr ""
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:225
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:242
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:221
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:238
|
||||
msgid "CloudFlare Public DNS (1.0.0.1)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:224
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:241
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:262
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:220
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:237
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:258
|
||||
msgid "CloudFlare Public DNS (1.1.1.1)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:382
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:378
|
||||
msgid "Cloudflare IP Ranges"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:141
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:137
|
||||
msgid "Cloudflare Options"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:133
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:129
|
||||
msgid "Collecting data..."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:267
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:263
|
||||
msgid "Concurrent"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:150
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:146
|
||||
msgid "Config File"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:430
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:424
|
||||
msgid "Configuration Editor"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:196
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:192
|
||||
msgid "Custom China DNS"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:152
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:148
|
||||
msgid "Custom Config"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:151
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:127
|
||||
msgid ""
|
||||
"Custom Hosts rewrite, for example: baidu.com 10.0.0.1 (one rule per line, "
|
||||
"supports domain matching rules)."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:377
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:373
|
||||
msgid "Custom IP"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:235
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:231
|
||||
msgid "Custom Stream Media DNS"
|
||||
msgstr ""
|
||||
|
||||
@@ -228,21 +228,21 @@ msgstr ""
|
||||
msgid "DDNS Lists"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:314
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:310
|
||||
msgid "DNS Cache Size"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:177
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:173
|
||||
msgid "DNS Forward"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:268
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:264
|
||||
msgid ""
|
||||
"DNS query request concurrency, The number of upstream DNS servers that are "
|
||||
"allowed to initiate requests at the same time"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:181
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:177
|
||||
msgid "DNS redirect"
|
||||
msgstr ""
|
||||
|
||||
@@ -250,29 +250,29 @@ msgstr ""
|
||||
msgid "Database Update"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:165
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:161
|
||||
msgid "Debug"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:151
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:147
|
||||
msgid "Default Config"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:349
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:345
|
||||
msgid "Disable RR Type 65 (HTTPS/SVCB)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:285
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:281
|
||||
msgid "Disable TLS Certificate"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:286
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:282
|
||||
msgid ""
|
||||
"Disable TLS Servers certificate validation, Can be useful if system CA "
|
||||
"certificate expires or the system time is out of order"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:274
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:270
|
||||
msgid "DoH/TCP/DoT Connection Multiplexing idle timeout (default 30 seconds)"
|
||||
msgstr ""
|
||||
|
||||
@@ -280,41 +280,41 @@ msgstr ""
|
||||
msgid "Enable Auto Database Update"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:354
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:350
|
||||
msgid "Enable DNS ADblock"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:309
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:305
|
||||
msgid "Enable DNS Cache"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:292
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:288
|
||||
msgid "Enable EDNS client subnet"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:280
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:276
|
||||
msgid ""
|
||||
"Enable TCP/DoT RFC 7766 new Query Pipelining connection multiplexing mode"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:304
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:300
|
||||
msgid "Enable this option fallback policy forces forwarding to remote DNS"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:146
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:370
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:142
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:366
|
||||
msgid "Enabled"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:463
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:451
|
||||
msgid "Enter the GeoIP.dat category to be exported, Allow add multiple tags"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:458
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:446
|
||||
msgid "Enter the GeoSite.dat category to be exported, Allow add multiple tags"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:168
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:164
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
@@ -350,8 +350,8 @@ msgstr ""
|
||||
msgid "Every Wednesday"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:459
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:464
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:447
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:452
|
||||
msgid "Export directory: /var/mosdns"
|
||||
msgstr ""
|
||||
|
||||
@@ -363,7 +363,7 @@ msgstr ""
|
||||
msgid "Failed to start update."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:407
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:401
|
||||
msgid "Flush DNS Cache"
|
||||
msgstr ""
|
||||
|
||||
@@ -375,27 +375,27 @@ msgstr ""
|
||||
msgid "Flushing DNS Cache Success."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:405
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:399
|
||||
msgid ""
|
||||
"Flushing DNS Cache will clear any IP addresses or DNS records from MosDNS "
|
||||
"cache."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:196
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:192
|
||||
msgid "Follow WAN interface DNS if not enabled"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:201
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:197
|
||||
msgid ""
|
||||
"For Apple domains equipped with Chinese mainland CDN, always responsive to "
|
||||
"Chinese CDN IP addresses"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:181
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:177
|
||||
msgid "Force redirect all local DNS queries to MosDNS, a.k.a. DNS Hijacking"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:177
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:173
|
||||
msgid "Forward Dnsmasq Domain Name resolution requests to MosDNS"
|
||||
msgstr ""
|
||||
|
||||
@@ -407,11 +407,11 @@ msgstr ""
|
||||
msgid "Full: includes all Countries and Private IP addresses."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:143
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:139
|
||||
msgid "GeoData Export"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:462
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:450
|
||||
msgid "GeoIP Tags"
|
||||
msgstr ""
|
||||
|
||||
@@ -419,7 +419,7 @@ msgstr ""
|
||||
msgid "GeoIP Type"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:457
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:445
|
||||
msgid "GeoSite Tags"
|
||||
msgstr ""
|
||||
|
||||
@@ -431,14 +431,14 @@ msgstr ""
|
||||
msgid "GitHub Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:227
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:244
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:223
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:240
|
||||
msgid "Google Public DNS (8.8.4.4)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:226
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:243
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:261
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:222
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:239
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:257
|
||||
msgid "Google Public DNS (8.8.8.8)"
|
||||
msgstr ""
|
||||
|
||||
@@ -454,11 +454,11 @@ msgstr ""
|
||||
msgid "Hosts"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:297
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:293
|
||||
msgid "IP Address"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:383
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:379
|
||||
msgid ""
|
||||
"IPv4 CIDR: <a href=\"https://www.cloudflare.com/ips-v4\" target=\"_blank"
|
||||
"\">https://www.cloudflare.com/ips-v4</a> <br /> IPv6 CIDR: <a href=\"https://"
|
||||
@@ -466,40 +466,40 @@ msgid ""
|
||||
"v6</a>"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:187
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:183
|
||||
msgid ""
|
||||
"IPv4 is preferred for China DNS resolution of dual-stack addresses, and is "
|
||||
"not affected when the destination is IPv6 only"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:192
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:188
|
||||
msgid ""
|
||||
"IPv4 is preferred for Remote / Streaming Media DNS resolution of dual-stack "
|
||||
"addresses, and is not affected when the destination is IPv6 only"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:273
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:269
|
||||
msgid "Idle Timeout"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:166
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:162
|
||||
msgid "Info"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:319
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:315
|
||||
msgid "Lazy Cache TTL"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:320
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:316
|
||||
msgid ""
|
||||
"Lazy cache survival time (in second). To disable Lazy Cache, please set to 0."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:160
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:156
|
||||
msgid "Listen Address"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:155
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:151
|
||||
msgid "Listen Port"
|
||||
msgstr ""
|
||||
|
||||
@@ -515,11 +515,11 @@ msgstr ""
|
||||
msgid "Log Data"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:172
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:168
|
||||
msgid "Log File"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:164
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:160
|
||||
msgid "Log Level"
|
||||
msgstr ""
|
||||
|
||||
@@ -527,28 +527,28 @@ msgstr ""
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:371
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:367
|
||||
msgid ""
|
||||
"Match the parsing result with the Cloudflare IP ranges, and when there is a "
|
||||
"successful match, use the 'Custom IP' as the parsing result (experimental "
|
||||
"feature)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:343
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:339
|
||||
msgid "Maximum TTL"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:337
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:333
|
||||
msgid "Minimum TTL"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:344
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:340
|
||||
msgid ""
|
||||
"Modify the Maximum TTL value (seconds) for DNS answer results, 0 indicating "
|
||||
"no modification"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:338
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:334
|
||||
msgid ""
|
||||
"Modify the Minimum TTL value (seconds) for DNS answer results, 0 indicating "
|
||||
"no modification"
|
||||
@@ -556,13 +556,13 @@ msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:31
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:33
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:110
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:106
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/logs.js:70
|
||||
#: luci-app-mosdns/root/usr/share/luci/menu.d/luci-app-mosdns.json:3
|
||||
msgid "MosDNS"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:111
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:107
|
||||
msgid "MosDNS is a plugin-based DNS forwarder/traffic splitter."
|
||||
msgstr ""
|
||||
|
||||
@@ -570,7 +570,7 @@ msgstr ""
|
||||
msgid "NOT RUNNING"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:236
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:232
|
||||
msgid "Netflix, Disney+, Hulu and streaming media rules list will use this DNS"
|
||||
msgstr ""
|
||||
|
||||
@@ -578,7 +578,7 @@ msgstr ""
|
||||
msgid "No log data."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:298
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:294
|
||||
msgid ""
|
||||
"Please provide the IP address you use when accessing foreign websites. This "
|
||||
"IP subnet (0/24) will be used as the ECS address for Remote / Streaming "
|
||||
@@ -589,17 +589,17 @@ msgstr ""
|
||||
msgid "Please wait, this may take a few moments..."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:303
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:299
|
||||
msgid "Prevent DNS Leaks"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:229
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:246
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:225
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:242
|
||||
msgid "Quad9 Public DNS (149.112.112.112)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:228
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:245
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:224
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:241
|
||||
msgid "Quad9 Public DNS (9.9.9.9)"
|
||||
msgstr ""
|
||||
|
||||
@@ -611,7 +611,7 @@ msgstr ""
|
||||
msgid "Redirect"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:181
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:151
|
||||
msgid ""
|
||||
"Redirecting requests for domain names. Request domain A, but return records "
|
||||
"for domain B, for example: baidu.com qq.com (one rule per line)."
|
||||
@@ -621,11 +621,11 @@ msgstr ""
|
||||
msgid "Refresh every %s seconds."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:191
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:187
|
||||
msgid "Remote DNS prefer IPv4"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:223
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:219
|
||||
msgid "Remote DNS server"
|
||||
msgstr ""
|
||||
|
||||
@@ -637,7 +637,7 @@ msgstr ""
|
||||
msgid "Rules"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:326
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:322
|
||||
msgid "Save the cache locally and reload the cache dump on the next startup"
|
||||
msgstr ""
|
||||
|
||||
@@ -649,29 +649,29 @@ msgstr ""
|
||||
msgid "Streaming Media"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:240
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:236
|
||||
msgid "Streaming Media DNS server"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:361
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:357
|
||||
msgid "Support for local files, such as: file:///var/mosdns/example.txt"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:279
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:275
|
||||
msgid "TCP/DoT Connection Multiplexing"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:207
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:255
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:203
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:251
|
||||
msgid "Tencent Public DNS (119.28.28.28)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:206
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:254
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:202
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:250
|
||||
msgid "Tencent Public DNS (119.29.29.29)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:215
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:211
|
||||
msgid "Tencent Public DNS (DNS over HTTPS)"
|
||||
msgstr ""
|
||||
|
||||
@@ -679,45 +679,45 @@ msgstr ""
|
||||
msgid "The list of rules only apply to 'Default Config' profiles."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:299
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:295
|
||||
msgid ""
|
||||
"This feature is typically used when using a self-built DNS server as an "
|
||||
"Remote / Streaming Media DNS upstream (requires support from the upstream "
|
||||
"server)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:431
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:425
|
||||
msgid ""
|
||||
"This is the content of the file '/etc/mosdns/config_custom.yaml' from which "
|
||||
"your MosDNS configuration will be generated. Only accepts configuration "
|
||||
"content in yaml format."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:210
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:206
|
||||
msgid "TrafficRoute Public DNS (180.184.1.1)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:211
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:207
|
||||
msgid "TrafficRoute Public DNS (180.184.2.2)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:452
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:47
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:53
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:77
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:83
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:107
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:113
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:137
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:143
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:167
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:173
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:197
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:203
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:227
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:233
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:257
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:263
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:440
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:43
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:48
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:67
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:72
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:91
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:96
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:115
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:120
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:139
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:144
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:163
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:168
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:187
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:192
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:211
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:216
|
||||
msgid "Unable to save contents: %s"
|
||||
msgstr ""
|
||||
|
||||
@@ -750,18 +750,18 @@ msgstr ""
|
||||
msgid "Updating Database..."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:167
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:163
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:241
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:199
|
||||
msgid ""
|
||||
"When enabling 'Custom Stream Media DNS', added domains will always use the "
|
||||
"'Streaming Media DNS server' for resolution (one domain per line, supports "
|
||||
"domain matching rules)."
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:359
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:355
|
||||
msgid ""
|
||||
"When using custom rule sources, please use rule types supported by MosDNS "
|
||||
"(domain list or AdGuardHome rules)."
|
||||
@@ -771,13 +771,13 @@ msgstr ""
|
||||
msgid "White Lists"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:212
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:258
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:208
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:254
|
||||
msgid "Xinfeng Public DNS (114.114.114.114)"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:213
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:259
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:209
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:255
|
||||
msgid "Xinfeng Public DNS (114.114.115.115)"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -11,19 +11,19 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:219
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:215
|
||||
msgid "360 Public DNS (DNS over HTTPS)"
|
||||
msgstr "360 安全 DNS(DNS over HTTPS)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:358
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:354
|
||||
msgid "ADblock Source"
|
||||
msgstr "广告过滤规则来源"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:399
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:393
|
||||
msgid "API Listen port"
|
||||
msgstr "API 监听端口"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:142
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:138
|
||||
msgid "API Options"
|
||||
msgstr "API 选项"
|
||||
|
||||
@@ -35,7 +35,7 @@ msgstr ""
|
||||
"加入的域名始终允许使用 “本地 DNS” 进行解析,且优先级最高(每个域名一行,支持"
|
||||
"域名匹配规则)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:121
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:103
|
||||
msgid ""
|
||||
"Added domain names will always use 'Local DNS' for resolution, with a forced "
|
||||
"TTL of 5 seconds, and results will not be cached (one domain per line, "
|
||||
@@ -44,48 +44,48 @@ msgstr ""
|
||||
"加入的域名始终使用 “本地 DNS” 进行解析,并且强制 TTL 5 秒,解析结果不会进入缓"
|
||||
"存(每个域名一行,支持域名匹配规则)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:91
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:79
|
||||
msgid ""
|
||||
"Added domain names will always use 'Remote DNS' for resolution (one domain "
|
||||
"per line, supports domain matching rules)."
|
||||
msgstr ""
|
||||
"加入的域名始终使用 “远程 DNS” 进行解析(每个域名一行,支持域名匹配规则)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:61
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:55
|
||||
msgid ""
|
||||
"Added domain names will block DNS resolution (one domain per line, supports "
|
||||
"domain matching rules)."
|
||||
msgstr "加入的域名将屏蔽 DNS 解析(每个域名一行,支持域名匹配规则)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:211
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:175
|
||||
msgid ""
|
||||
"Added domain names will block PTR requests (one domain per line, supports "
|
||||
"domain matching rules)."
|
||||
msgstr "加入的域名将阻止 PTR 请求(每个域名一行,支持域名匹配规则)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:140
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:136
|
||||
msgid "Advanced Options"
|
||||
msgstr "高级选项"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:208
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:256
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:204
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:252
|
||||
msgid "Aliyun Public DNS (223.5.5.5)"
|
||||
msgstr "阿里云公共 DNS(223.5.5.5)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:209
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:257
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:205
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:253
|
||||
msgid "Aliyun Public DNS (223.6.6.6)"
|
||||
msgstr "阿里云公共 DNS(223.6.6.6)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:218
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:214
|
||||
msgid "Aliyun Public DNS (DNS over HTTP/3)"
|
||||
msgstr "阿里云公共 DNS(DNS over HTTP/3)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:217
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:213
|
||||
msgid "Aliyun Public DNS (DNS over HTTPS)"
|
||||
msgstr "阿里云公共 DNS(DNS over HTTPS)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:216
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:212
|
||||
msgid "Aliyun Public DNS (DNS over QUIC)"
|
||||
msgstr "阿里云公共 DNS(DNS over QUIC)"
|
||||
|
||||
@@ -93,11 +93,11 @@ msgstr "阿里云公共 DNS(DNS over QUIC)"
|
||||
msgid "Another update is already in progress."
|
||||
msgstr "另一个更新正在进行中。"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:200
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:196
|
||||
msgid "Apple domains optimization"
|
||||
msgstr "Apple 域名解析优化"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:332
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:328
|
||||
msgid "Auto Save Cache Interval"
|
||||
msgstr "自动保存缓存间隔(秒)"
|
||||
|
||||
@@ -107,12 +107,12 @@ msgid ""
|
||||
"rules through scheduled tasks."
|
||||
msgstr "通过定时任务自动更新 GeoIP 和 GeoSite 数据库以及广告过滤规则。"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:214
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:260
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:210
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:256
|
||||
msgid "Baidu Public DNS (180.76.76.76)"
|
||||
msgstr "百度公共 DNS(180.76.76.76)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:139
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:135
|
||||
msgid "Basic Options"
|
||||
msgstr "基本选项"
|
||||
|
||||
@@ -120,7 +120,7 @@ msgstr "基本选项"
|
||||
msgid "Basic Setting"
|
||||
msgstr "基本设置"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:350
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:346
|
||||
msgid ""
|
||||
"Block DNS RR Type 65 records (HTTPS/SVCB, used for HTTP/3, ECH, etc.), force "
|
||||
"using only A/AAAA records."
|
||||
@@ -136,17 +136,17 @@ msgstr "黑名单"
|
||||
msgid "Block PTR"
|
||||
msgstr "PTR 黑名单"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:252
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:248
|
||||
msgid "Bootstrap DNS servers"
|
||||
msgstr "Bootstrap DNS 服务器"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:253
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:249
|
||||
msgid ""
|
||||
"Bootstrap DNS servers are used to resolve IP addresses of the DoH/DoT "
|
||||
"resolvers you specify as upstreams"
|
||||
msgstr "Bootstrap DNS 服务器用于解析您指定为上游的 DoH / DoT 解析器的 IP 地址"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:325
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:321
|
||||
msgid "Cache Dump"
|
||||
msgstr "自动保存缓存"
|
||||
|
||||
@@ -158,21 +158,21 @@ msgstr "检查并更新"
|
||||
msgid "Check And Update GeoData."
|
||||
msgstr "检查并更新 GeoData 数据库。"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:186
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:182
|
||||
msgid "China DNS prefer IPv4"
|
||||
msgstr "国内 DNS 首选 IPv4"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:205
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:201
|
||||
msgid "China DNS server"
|
||||
msgstr "国内 DNS 服务器"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:231
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:248
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:227
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:244
|
||||
msgid "Cisco Public DNS (208.67.220.220)"
|
||||
msgstr "思科公共 DNS(208.67.220.220)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:230
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:247
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:226
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:243
|
||||
msgid "Cisco Public DNS (208.67.222.222)"
|
||||
msgstr "思科公共 DNS(208.67.222.222)"
|
||||
|
||||
@@ -184,61 +184,61 @@ msgstr "清空日志"
|
||||
msgid "Close"
|
||||
msgstr "关闭"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:225
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:242
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:221
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:238
|
||||
msgid "CloudFlare Public DNS (1.0.0.1)"
|
||||
msgstr "CloudFlare 公共 DNS(1.0.0.1)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:224
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:241
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:262
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:220
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:237
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:258
|
||||
msgid "CloudFlare Public DNS (1.1.1.1)"
|
||||
msgstr "CloudFlare 公共 DNS(1.1.1.1)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:382
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:378
|
||||
msgid "Cloudflare IP Ranges"
|
||||
msgstr "Cloudflare IP 范围"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:141
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:137
|
||||
msgid "Cloudflare Options"
|
||||
msgstr "Cloudflare 选项"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:133
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:129
|
||||
msgid "Collecting data..."
|
||||
msgstr "获取数据中..."
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:267
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:263
|
||||
msgid "Concurrent"
|
||||
msgstr "DNS 服务器并发数(默认 2)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:150
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:146
|
||||
msgid "Config File"
|
||||
msgstr "配置文件"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:430
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:424
|
||||
msgid "Configuration Editor"
|
||||
msgstr "配置编辑器"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:196
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:192
|
||||
msgid "Custom China DNS"
|
||||
msgstr "自定义国内 DNS"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:152
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:148
|
||||
msgid "Custom Config"
|
||||
msgstr "自定义"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:151
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:127
|
||||
msgid ""
|
||||
"Custom Hosts rewrite, for example: baidu.com 10.0.0.1 (one rule per line, "
|
||||
"supports domain matching rules)."
|
||||
msgstr ""
|
||||
"自定义 Hosts 重写,如:baidu.com 10.0.0.1(每个规则一行,支持域名匹配规则)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:377
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:373
|
||||
msgid "Custom IP"
|
||||
msgstr "自选 IP"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:235
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:231
|
||||
msgid "Custom Stream Media DNS"
|
||||
msgstr "自定义流媒体 DNS"
|
||||
|
||||
@@ -246,21 +246,21 @@ msgstr "自定义流媒体 DNS"
|
||||
msgid "DDNS Lists"
|
||||
msgstr "DDNS 域名"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:314
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:310
|
||||
msgid "DNS Cache Size"
|
||||
msgstr "DNS 缓存大小"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:177
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:173
|
||||
msgid "DNS Forward"
|
||||
msgstr "DNS 转发"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:268
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:264
|
||||
msgid ""
|
||||
"DNS query request concurrency, The number of upstream DNS servers that are "
|
||||
"allowed to initiate requests at the same time"
|
||||
msgstr "DNS 查询请求并发数,允许同时发起请求的上游 DNS 服务器数量"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:181
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:177
|
||||
msgid "DNS redirect"
|
||||
msgstr "DNS 重定向"
|
||||
|
||||
@@ -268,30 +268,30 @@ msgstr "DNS 重定向"
|
||||
msgid "Database Update"
|
||||
msgstr "数据库更新"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:165
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:161
|
||||
msgid "Debug"
|
||||
msgstr "调试"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:151
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:147
|
||||
msgid "Default Config"
|
||||
msgstr "内置预设"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:349
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:345
|
||||
msgid "Disable RR Type 65 (HTTPS/SVCB)"
|
||||
msgstr "禁用 RR Type 65 (HTTPS/SVCB)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:285
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:281
|
||||
msgid "Disable TLS Certificate"
|
||||
msgstr "禁用 TLS 证书"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:286
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:282
|
||||
msgid ""
|
||||
"Disable TLS Servers certificate validation, Can be useful if system CA "
|
||||
"certificate expires or the system time is out of order"
|
||||
msgstr ""
|
||||
"禁用 TLS 服务器证书验证,当系统 CA 证书过期或系统时间错乱时,本选项可能会有用"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:274
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:270
|
||||
msgid "DoH/TCP/DoT Connection Multiplexing idle timeout (default 30 seconds)"
|
||||
msgstr "DoH/TCP/DoT 连接复用空闲保持时间(默认 30 秒)"
|
||||
|
||||
@@ -299,41 +299,41 @@ msgstr "DoH/TCP/DoT 连接复用空闲保持时间(默认 30 秒)"
|
||||
msgid "Enable Auto Database Update"
|
||||
msgstr "启用自动更新"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:354
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:350
|
||||
msgid "Enable DNS ADblock"
|
||||
msgstr "启用 DNS 广告过滤"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:309
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:305
|
||||
msgid "Enable DNS Cache"
|
||||
msgstr "启用 DNS 缓存"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:292
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:288
|
||||
msgid "Enable EDNS client subnet"
|
||||
msgstr "启用 EDNS 客户端子网"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:280
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:276
|
||||
msgid ""
|
||||
"Enable TCP/DoT RFC 7766 new Query Pipelining connection multiplexing mode"
|
||||
msgstr "启用 TCP/DoT RFC 7766 新型 Query Pipelining 连接复用模式"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:304
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:300
|
||||
msgid "Enable this option fallback policy forces forwarding to remote DNS"
|
||||
msgstr "启用此选项 fallback 策略会强制转发到远程 DNS"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:146
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:370
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:142
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:366
|
||||
msgid "Enabled"
|
||||
msgstr "启用"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:463
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:451
|
||||
msgid "Enter the GeoIP.dat category to be exported, Allow add multiple tags"
|
||||
msgstr "输入需要导出的 GeoIP.dat 类别条目,允许添加多个标签"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:458
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:446
|
||||
msgid "Enter the GeoSite.dat category to be exported, Allow add multiple tags"
|
||||
msgstr "填写需要导出的 GeoSite.dat 类别条目,允许添加多个标签"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:168
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:164
|
||||
msgid "Error"
|
||||
msgstr "错误"
|
||||
|
||||
@@ -369,8 +369,8 @@ msgstr "每周二"
|
||||
msgid "Every Wednesday"
|
||||
msgstr "每周三"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:459
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:464
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:447
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:452
|
||||
msgid "Export directory: /var/mosdns"
|
||||
msgstr "导出目录:/var/mosdns"
|
||||
|
||||
@@ -382,7 +382,7 @@ msgstr "清理日志失败:%s"
|
||||
msgid "Failed to start update."
|
||||
msgstr "启动更新失败"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:407
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:401
|
||||
msgid "Flush DNS Cache"
|
||||
msgstr "刷新 DNS 缓存"
|
||||
|
||||
@@ -394,27 +394,27 @@ msgstr "刷新 DNS 缓存失败,请检查 MosDNS 状态是否在运行中。"
|
||||
msgid "Flushing DNS Cache Success."
|
||||
msgstr "刷新 DNS 缓存成功"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:405
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:399
|
||||
msgid ""
|
||||
"Flushing DNS Cache will clear any IP addresses or DNS records from MosDNS "
|
||||
"cache."
|
||||
msgstr "刷新 DNS 缓存会清空 MosDNS 所有 IP 地址和 DNS 解析缓存。"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:196
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:192
|
||||
msgid "Follow WAN interface DNS if not enabled"
|
||||
msgstr "不启用则使用 WAN 接口 DNS"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:201
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:197
|
||||
msgid ""
|
||||
"For Apple domains equipped with Chinese mainland CDN, always responsive to "
|
||||
"Chinese CDN IP addresses"
|
||||
msgstr "配备中国大陆 CDN 的 Apple 域名,始终应答中国大陆 CDN 地址"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:181
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:177
|
||||
msgid "Force redirect all local DNS queries to MosDNS, a.k.a. DNS Hijacking"
|
||||
msgstr "强制将所有本地 DNS 查询重定向到 MosDNS,即 DNS 劫持。"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:177
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:173
|
||||
msgid "Forward Dnsmasq Domain Name resolution requests to MosDNS"
|
||||
msgstr "将 Dnsmasq 域名解析请求转发到 MosDNS 服务器"
|
||||
|
||||
@@ -426,11 +426,11 @@ msgstr "全量"
|
||||
msgid "Full: includes all Countries and Private IP addresses."
|
||||
msgstr "全量:包含所有国家和私有 IP 地址。"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:143
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:139
|
||||
msgid "GeoData Export"
|
||||
msgstr "GeoData 导出"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:462
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:450
|
||||
msgid "GeoIP Tags"
|
||||
msgstr "GeoIP 标签"
|
||||
|
||||
@@ -438,7 +438,7 @@ msgstr "GeoIP 标签"
|
||||
msgid "GeoIP Type"
|
||||
msgstr "GeoIP 类型"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:457
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:445
|
||||
msgid "GeoSite Tags"
|
||||
msgstr "GeoSite 标签"
|
||||
|
||||
@@ -450,14 +450,14 @@ msgstr "更新数据库"
|
||||
msgid "GitHub Proxy"
|
||||
msgstr "GitHub 代理"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:227
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:244
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:223
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:240
|
||||
msgid "Google Public DNS (8.8.4.4)"
|
||||
msgstr "谷歌公共 DNS(8.8.4.4)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:226
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:243
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:261
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:222
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:239
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:257
|
||||
msgid "Google Public DNS (8.8.8.8)"
|
||||
msgstr "谷歌公共 DNS(8.8.8.8)"
|
||||
|
||||
@@ -473,11 +473,11 @@ msgstr "灰名单"
|
||||
msgid "Hosts"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:297
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:293
|
||||
msgid "IP Address"
|
||||
msgstr "IP 地址"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:383
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:379
|
||||
msgid ""
|
||||
"IPv4 CIDR: <a href=\"https://www.cloudflare.com/ips-v4\" target=\"_blank"
|
||||
"\">https://www.cloudflare.com/ips-v4</a> <br /> IPv6 CIDR: <a href=\"https://"
|
||||
@@ -485,40 +485,40 @@ msgid ""
|
||||
"v6</a>"
|
||||
msgstr ""
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:187
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:183
|
||||
msgid ""
|
||||
"IPv4 is preferred for China DNS resolution of dual-stack addresses, and is "
|
||||
"not affected when the destination is IPv6 only"
|
||||
msgstr "国内 DNS 解析双栈地址时首选 IPv4,目标仅 IPv6 时不受影响"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:192
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:188
|
||||
msgid ""
|
||||
"IPv4 is preferred for Remote / Streaming Media DNS resolution of dual-stack "
|
||||
"addresses, and is not affected when the destination is IPv6 only"
|
||||
msgstr "远程 / 流媒体 DNS 解析双栈地址时首选 IPv4,目标仅 IPv6 时不受影响"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:273
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:269
|
||||
msgid "Idle Timeout"
|
||||
msgstr "空闲超时"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:166
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:162
|
||||
msgid "Info"
|
||||
msgstr "信息"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:319
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:315
|
||||
msgid "Lazy Cache TTL"
|
||||
msgstr "乐观缓存 TTL"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:320
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:316
|
||||
msgid ""
|
||||
"Lazy cache survival time (in second). To disable Lazy Cache, please set to 0."
|
||||
msgstr "乐观缓存生存时间(单位:秒),要禁用乐观缓存,请设置为 0"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:160
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:156
|
||||
msgid "Listen Address"
|
||||
msgstr "监听地址"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:155
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:151
|
||||
msgid "Listen Port"
|
||||
msgstr "监听端口"
|
||||
|
||||
@@ -534,11 +534,11 @@ msgstr "轻量:仅包含中国大陆和私有 IP 地址。"
|
||||
msgid "Log Data"
|
||||
msgstr "日志数据"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:172
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:168
|
||||
msgid "Log File"
|
||||
msgstr "日志文件"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:164
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:160
|
||||
msgid "Log Level"
|
||||
msgstr "日志等级"
|
||||
|
||||
@@ -546,7 +546,7 @@ msgstr "日志等级"
|
||||
msgid "Logs"
|
||||
msgstr "日志"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:371
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:367
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Match the parsing result with the Cloudflare IP ranges, and when there is a "
|
||||
@@ -556,21 +556,21 @@ msgstr ""
|
||||
"将解析结果与 Cloudflare IP 范围进行匹配,当匹配成功时,使用 “自选 IP” 作为解"
|
||||
"析结果(实验性功能)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:343
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:339
|
||||
msgid "Maximum TTL"
|
||||
msgstr "覆盖最大 TTL 值(默认 0)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:337
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:333
|
||||
msgid "Minimum TTL"
|
||||
msgstr "覆盖最小 TTL 值(默认 0)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:344
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:340
|
||||
msgid ""
|
||||
"Modify the Maximum TTL value (seconds) for DNS answer results, 0 indicating "
|
||||
"no modification"
|
||||
msgstr "修改 DNS 应答结果的最大 TTL 值(秒),0 表示不修改"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:338
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:334
|
||||
msgid ""
|
||||
"Modify the Minimum TTL value (seconds) for DNS answer results, 0 indicating "
|
||||
"no modification"
|
||||
@@ -578,13 +578,13 @@ msgstr "修改 DNS 应答结果的最小 TTL 值 (秒),0 表示不修改"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:31
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:33
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:110
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:106
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/logs.js:70
|
||||
#: luci-app-mosdns/root/usr/share/luci/menu.d/luci-app-mosdns.json:3
|
||||
msgid "MosDNS"
|
||||
msgstr "MosDNS"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:111
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:107
|
||||
msgid "MosDNS is a plugin-based DNS forwarder/traffic splitter."
|
||||
msgstr "MosDNS 是一个插件化的 DNS 转发/分流器。"
|
||||
|
||||
@@ -592,7 +592,7 @@ msgstr "MosDNS 是一个插件化的 DNS 转发/分流器。"
|
||||
msgid "NOT RUNNING"
|
||||
msgstr "未运行"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:236
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:232
|
||||
msgid "Netflix, Disney+, Hulu and streaming media rules list will use this DNS"
|
||||
msgstr "自定义 Netflix、Disney+、Hulu 以及 “流媒体” 规则列表的 DNS 服务器"
|
||||
|
||||
@@ -600,7 +600,7 @@ msgstr "自定义 Netflix、Disney+、Hulu 以及 “流媒体” 规则列表
|
||||
msgid "No log data."
|
||||
msgstr "无日志数据。"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:298
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:294
|
||||
msgid ""
|
||||
"Please provide the IP address you use when accessing foreign websites. This "
|
||||
"IP subnet (0/24) will be used as the ECS address for Remote / Streaming "
|
||||
@@ -613,17 +613,17 @@ msgstr ""
|
||||
msgid "Please wait, this may take a few moments..."
|
||||
msgstr "请稍候,这可能需要一点时间..."
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:303
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:299
|
||||
msgid "Prevent DNS Leaks"
|
||||
msgstr "防止 DNS 泄漏"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:229
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:246
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:225
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:242
|
||||
msgid "Quad9 Public DNS (149.112.112.112)"
|
||||
msgstr "Quad9 公共 DNS(149.112.112.112)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:228
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:245
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:224
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:241
|
||||
msgid "Quad9 Public DNS (9.9.9.9)"
|
||||
msgstr "Quad9 公共 DNS(9.9.9.9)"
|
||||
|
||||
@@ -635,7 +635,7 @@ msgstr "运行中"
|
||||
msgid "Redirect"
|
||||
msgstr "重定向"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:181
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:151
|
||||
msgid ""
|
||||
"Redirecting requests for domain names. Request domain A, but return records "
|
||||
"for domain B, for example: baidu.com qq.com (one rule per line)."
|
||||
@@ -647,11 +647,11 @@ msgstr ""
|
||||
msgid "Refresh every %s seconds."
|
||||
msgstr "每 %s 秒刷新。"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:191
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:187
|
||||
msgid "Remote DNS prefer IPv4"
|
||||
msgstr "远程 DNS 首选 IPv4"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:223
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:219
|
||||
msgid "Remote DNS server"
|
||||
msgstr "远程 DNS 服务器"
|
||||
|
||||
@@ -663,7 +663,7 @@ msgstr "自定义规则列表"
|
||||
msgid "Rules"
|
||||
msgstr "规则列表"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:326
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:322
|
||||
msgid "Save the cache locally and reload the cache dump on the next startup"
|
||||
msgstr "保存缓存到本地文件,以供下次启动时重新载入使用"
|
||||
|
||||
@@ -675,29 +675,29 @@ msgstr ""
|
||||
msgid "Streaming Media"
|
||||
msgstr "流媒体"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:240
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:236
|
||||
msgid "Streaming Media DNS server"
|
||||
msgstr "流媒体 DNS 服务器"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:361
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:357
|
||||
msgid "Support for local files, such as: file:///var/mosdns/example.txt"
|
||||
msgstr "支持本地文件,例如:file:///var/mosdns/example.txt"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:279
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:275
|
||||
msgid "TCP/DoT Connection Multiplexing"
|
||||
msgstr "TCP/DoT 连接复用"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:207
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:255
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:203
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:251
|
||||
msgid "Tencent Public DNS (119.28.28.28)"
|
||||
msgstr "腾讯公共 DNS(119.28.28.28)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:206
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:254
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:202
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:250
|
||||
msgid "Tencent Public DNS (119.29.29.29)"
|
||||
msgstr "腾讯公共 DNS(119.29.29.29)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:215
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:211
|
||||
msgid "Tencent Public DNS (DNS over HTTPS)"
|
||||
msgstr "腾讯公共 DNS(DNS over HTTPS)"
|
||||
|
||||
@@ -705,7 +705,7 @@ msgstr "腾讯公共 DNS(DNS over HTTPS)"
|
||||
msgid "The list of rules only apply to 'Default Config' profiles."
|
||||
msgstr "规则列表仅适用于 “内置预设” 配置文件。"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:299
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:295
|
||||
msgid ""
|
||||
"This feature is typically used when using a self-built DNS server as an "
|
||||
"Remote / Streaming Media DNS upstream (requires support from the upstream "
|
||||
@@ -714,7 +714,7 @@ msgstr ""
|
||||
"此功能通常在使用自建 DNS 服务器作为 远程 / 流媒体 DNS 上游时使用(需要上游服"
|
||||
"务器的支持)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:431
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:425
|
||||
msgid ""
|
||||
"This is the content of the file '/etc/mosdns/config_custom.yaml' from which "
|
||||
"your MosDNS configuration will be generated. Only accepts configuration "
|
||||
@@ -723,31 +723,31 @@ msgstr ""
|
||||
"这是文件 “/etc/mosdns/config_custom.yaml” 的内容,您的 MosDNS 配置将从此文件"
|
||||
"生成。仅接受 yaml 格式的配置内容。"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:210
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:206
|
||||
msgid "TrafficRoute Public DNS (180.184.1.1)"
|
||||
msgstr "火山引擎公共 DNS(180.184.1.1)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:211
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:207
|
||||
msgid "TrafficRoute Public DNS (180.184.2.2)"
|
||||
msgstr "火山引擎公共 DNS(180.184.2.2)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:452
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:47
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:53
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:77
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:83
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:107
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:113
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:137
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:143
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:167
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:173
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:197
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:203
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:227
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:233
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:257
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:263
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:440
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:43
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:48
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:67
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:72
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:91
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:96
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:115
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:120
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:139
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:144
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:163
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:168
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:187
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:192
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:211
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:216
|
||||
msgid "Unable to save contents: %s"
|
||||
msgstr "无法保存内容:%s"
|
||||
|
||||
@@ -780,11 +780,11 @@ msgstr "更新成功"
|
||||
msgid "Updating Database..."
|
||||
msgstr "更新数据库..."
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:167
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:163
|
||||
msgid "Warning"
|
||||
msgstr "警告"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:241
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/rules.js:199
|
||||
msgid ""
|
||||
"When enabling 'Custom Stream Media DNS', added domains will always use the "
|
||||
"'Streaming Media DNS server' for resolution (one domain per line, supports "
|
||||
@@ -793,7 +793,7 @@ msgstr ""
|
||||
"启用 “自定义流媒体 DNS” 时,加入的域名始终使用 “流媒体 DNS 服务器” 进行解析"
|
||||
"(每个域名一行,支持域名匹配规则)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:359
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:355
|
||||
msgid ""
|
||||
"When using custom rule sources, please use rule types supported by MosDNS "
|
||||
"(domain list or AdGuardHome rules)."
|
||||
@@ -805,13 +805,13 @@ msgstr ""
|
||||
msgid "White Lists"
|
||||
msgstr "白名单"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:212
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:258
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:208
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:254
|
||||
msgid "Xinfeng Public DNS (114.114.114.114)"
|
||||
msgstr "信风公共 DNS(114.114.114.114)"
|
||||
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:213
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:259
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:209
|
||||
#: luci-app-mosdns/htdocs/luci-static/resources/view/mosdns/basic.js:255
|
||||
msgid "Xinfeng Public DNS (114.114.115.115)"
|
||||
msgstr "信风公共 DNS(114.114.115.115)"
|
||||
|
||||
|
||||
Reference in new issue
Block a user