mirror of
https://github.com/itdoginfo/podkop.git
synced 2025-12-25 00:48:13 +03:00
docs: update Russian translations and add new strings for FakeIP status check
This commit is contained in:
@@ -55,7 +55,7 @@ return view.extend({
|
||||
|
||||
o = s.taboption('basic', form.TextValue, 'proxy_string', _('Proxy Configuration URL'), _('Enter connection string starting with vless:// or ss:// for proxy configuration'));
|
||||
o.depends('proxy_config_type', 'url');
|
||||
o.rows = 7;
|
||||
o.rows = 5;
|
||||
o.ucisection = 'main';
|
||||
o.validate = function (section_id, value) {
|
||||
if (!value || value.length === 0) {
|
||||
@@ -198,7 +198,7 @@ return view.extend({
|
||||
|
||||
o = s.taboption('basic', form.TextValue, 'outbound_json', _('Outbound Configuration'), _('Enter complete outbound configuration in JSON format'));
|
||||
o.depends('proxy_config_type', 'outbound');
|
||||
o.rows = 7;
|
||||
o.rows = 10;
|
||||
o.ucisection = 'main';
|
||||
o.validate = function (section_id, value) {
|
||||
if (!value || value.length === 0) {
|
||||
@@ -986,9 +986,10 @@ return view.extend({
|
||||
// Diagnostics Column
|
||||
E('div', { 'style': 'flex: 1; padding: 15px; background: #f8f9fa; border-radius: 8px;' }, [
|
||||
E('div', { 'style': 'margin-bottom: 15px;' }, [
|
||||
E('strong', {}, _('Diagnostic Tools')),
|
||||
E('br'),
|
||||
E('div', { 'style': 'height: 18px;' })
|
||||
E('strong', {}, _('FakeIP Status')),
|
||||
E('div', { 'id': 'fakeip-status' }, [
|
||||
E('span', {}, _('Checking FakeIP...'))
|
||||
])
|
||||
]),
|
||||
E('div', { 'class': 'btn-group', 'style': 'display: flex; flex-direction: column; gap: 8px;' }, [
|
||||
E('button', {
|
||||
@@ -1168,7 +1169,7 @@ return view.extend({
|
||||
E('strong', {}, 'Device Model: '), system.stdout ? system.stdout.split('\n')[4].trim() : _('Unknown')
|
||||
])
|
||||
])
|
||||
])
|
||||
]),
|
||||
])
|
||||
]);
|
||||
};
|
||||
@@ -1179,6 +1180,44 @@ return view.extend({
|
||||
return E('div', { id: 'diagnostics-status' }, _('Loading diagnostics...'));
|
||||
};
|
||||
|
||||
function checkFakeIP() {
|
||||
fetch('http://httpbin.org/ip')
|
||||
.then(response => response.text())
|
||||
.then(text => {
|
||||
const statusElement = document.getElementById('fakeip-status');
|
||||
if (!statusElement) return;
|
||||
|
||||
console.log('FakeIP check response:', text);
|
||||
|
||||
if (text.includes('Cannot GET /ip')) {
|
||||
console.log('FakeIP status: working (Cannot GET /ip)');
|
||||
statusElement.innerHTML = E('span', { 'style': 'color: #4caf50' }, [
|
||||
'✔ ',
|
||||
_('working')
|
||||
]).outerHTML;
|
||||
} else if (text.includes('"origin":')) {
|
||||
console.log('FakeIP status: not working (got IP response)');
|
||||
statusElement.innerHTML = E('span', { 'style': 'color: #f44336' }, [
|
||||
'✘ ',
|
||||
_('not working')
|
||||
]).outerHTML;
|
||||
} else {
|
||||
console.log('FakeIP status: check error (unexpected response)');
|
||||
statusElement.innerHTML = E('span', { 'style': 'color: #ff9800' }, [
|
||||
'! ',
|
||||
_('check error')
|
||||
]).outerHTML;
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
console.log('FakeIP check error:', error.message);
|
||||
const statusElement = document.getElementById('fakeip-status');
|
||||
if (statusElement) {
|
||||
statusElement.innerHTML = E('span', { 'style': 'color: #ff9800' }, 'check error').outerHTML;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function updateDiagnostics() {
|
||||
Promise.all([
|
||||
fs.exec('/etc/init.d/podkop', ['get_status']),
|
||||
@@ -1196,6 +1235,7 @@ return view.extend({
|
||||
if (container) {
|
||||
container.innerHTML = '';
|
||||
container.appendChild(newContent);
|
||||
checkFakeIP();
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Error parsing diagnostics status:', e);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -25,18 +25,318 @@ msgstr ""
|
||||
msgid "Select between VPN and Proxy connection methods for traffic routing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration Type"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select how to configure the proxy"
|
||||
msgstr ""
|
||||
|
||||
msgid "Connection URL"
|
||||
msgstr ""
|
||||
|
||||
msgid "Outbound Config"
|
||||
msgstr ""
|
||||
|
||||
msgid "Proxy Configuration URL"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter connection string starting with vless:// or ss:// for proxy configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Outbound Configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter complete outbound configuration in JSON format"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Interface"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select network interface for VPN connection"
|
||||
msgstr ""
|
||||
|
||||
msgid "Community Lists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Service List"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select predefined service for routing"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Domain List Type"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select how to add your custom domains"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
|
||||
msgid "Dynamic List"
|
||||
msgstr ""
|
||||
|
||||
msgid "Text List"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Domains"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter domain names without protocols (example: sub.example.com or example.com)"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Domains List"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter domain names separated by comma, space or newline (example: sub.example.com, example.com or one domain per line)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Local Domain Lists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use the list from the router filesystem"
|
||||
msgstr ""
|
||||
|
||||
msgid "Local Domain Lists Path"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter to the list file path"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remote Domain Lists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download and use domain lists from remote URLs"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remote Domain URLs"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter full URLs starting with http:// or https://"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Subnet List Type"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select how to add your custom subnets"
|
||||
msgstr ""
|
||||
|
||||
msgid "Text List (comma/space/newline separated)"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Subnets"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter subnets in CIDR notation (example: 103.21.244.0/22) or single IP addresses"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Subnets List"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter subnets in CIDR notation or single IP addresses, separated by comma, space or newline"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remote Subnet Lists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download and use subnet lists from remote URLs"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remote Subnet URLs"
|
||||
msgstr ""
|
||||
|
||||
msgid "IP for full redirection"
|
||||
msgstr ""
|
||||
|
||||
msgid "Specify local IP addresses whose traffic will always use the configured route"
|
||||
msgstr ""
|
||||
|
||||
msgid "Local IPs"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter valid IPv4 addresses"
|
||||
msgstr ""
|
||||
|
||||
msgid "IP for exclusion"
|
||||
msgstr ""
|
||||
|
||||
msgid "Specify local IP addresses that will never use the configured route"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mixed enable"
|
||||
msgstr ""
|
||||
|
||||
msgid "Browser port: 2080"
|
||||
msgstr ""
|
||||
|
||||
msgid "Yacd enable"
|
||||
msgstr ""
|
||||
|
||||
msgid "Exclude NTP"
|
||||
msgstr ""
|
||||
|
||||
msgid "For issues with open connections sing-box"
|
||||
msgstr ""
|
||||
|
||||
msgid "QUIC disable"
|
||||
msgstr ""
|
||||
|
||||
msgid "For issues with the video stream"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Update Frequency"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select how often the lists will be updated"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every hour"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every 2 hours"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every 3 hours"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every 4 hours"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every 6 hours"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every 12 hours"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every day"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every 3 days"
|
||||
msgstr ""
|
||||
|
||||
msgid "Once a day at 04:00"
|
||||
msgstr ""
|
||||
|
||||
msgid "Once a week on Sunday at 04:00"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid domain format. Enter domain without protocol (example: sub.example.com)"
|
||||
msgstr ""
|
||||
|
||||
msgid "URL must use http:// or https:// protocol"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid URL format. URL must start with http:// or https://"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid format. Use format: X.X.X.X or X.X.X.X/Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "IP address parts must be between 0 and 255"
|
||||
msgstr ""
|
||||
|
||||
msgid "CIDR must be between 0 and 32"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid IP format. Use format: X.X.X.X (like 192.168.1.1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid domain format: %s. Enter domain without protocol"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid format: %s. Use format: X.X.X.X or X.X.X.X/Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "IP parts must be between 0 and 255 in: %s"
|
||||
msgstr ""
|
||||
|
||||
msgid "CIDR must be between 0 and 32 in: %s"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid path format. Path must start with \"/\" and contain only valid characters (letters, numbers, \"-\", \"_\", \"/\", \".\")"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid path format"
|
||||
msgstr ""
|
||||
|
||||
msgid "JSON must contain at least type, server and server_port fields"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid JSON format"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning: %s cannot be used together with %s. Previous selections have been removed."
|
||||
msgstr ""
|
||||
|
||||
msgid "Regional options cannot be used together"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning: Russia inside can only be used with Meta, Twitter, Discord, and Telegram. %s already in Russia inside and have been removed from selection."
|
||||
msgstr ""
|
||||
|
||||
msgid "Russia inside restrictions"
|
||||
msgstr ""
|
||||
|
||||
msgid "URL must start with vless:// or ss://"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid Shadowsocks URL format: missing method and password separator \":\""
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid Shadowsocks URL format"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid Shadowsocks URL: missing server address"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid Shadowsocks URL: missing server"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid Shadowsocks URL: missing port"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid port number. Must be between 1 and 65535"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid Shadowsocks URL: missing or invalid server/port format"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid VLESS URL: missing UUID"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid VLESS URL: missing server address"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid VLESS URL: missing server"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid VLESS URL: missing port"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid VLESS URL: missing or invalid server/port format"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid VLESS URL: missing query parameters"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid VLESS URL: missing type parameter"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid VLESS URL: missing security parameter"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid VLESS URL: missing pbk parameter for reality security"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid VLESS URL: missing fp parameter for reality security"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid VLESS URL: missing sni parameter for tls security"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid URL format: %s"
|
||||
msgstr ""
|
||||
|
||||
msgid "Community Domain Lists"
|
||||
msgstr ""
|
||||
|
||||
@@ -64,292 +364,169 @@ msgstr ""
|
||||
msgid "Enable and manage your custom list of domains for selective routing"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Domains"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter domain names without protocols (example: sub.example.com or example.com)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remote Domain Lists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download and use domain lists from remote URLs"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remote Domain URLs"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter full URLs starting with http:// or https://"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Subnet List"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable and manage your custom list of IP subnets for selective routing"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Subnets"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter subnet in CIDR notation (example: 103.21.244.0/22)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remote Subnet Lists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download and use subnet lists from remote URLs"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remote Subnet URLs"
|
||||
msgstr ""
|
||||
|
||||
msgid "Domain Exclusions"
|
||||
msgstr ""
|
||||
|
||||
msgid "Exclude specific domains from routing rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Excluded Domains"
|
||||
msgstr ""
|
||||
|
||||
msgid "Domains to be excluded from routing"
|
||||
msgstr ""
|
||||
|
||||
msgid "IP for full redirection"
|
||||
msgstr ""
|
||||
|
||||
msgid "Specify local IP addresses whose traffic will always use the configured route"
|
||||
msgstr ""
|
||||
|
||||
msgid "Local IPs"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter valid IPv4 addresses"
|
||||
msgstr ""
|
||||
|
||||
msgid "IP for exclusion"
|
||||
msgstr ""
|
||||
|
||||
msgid "Specify local IP addresses that will never use the configured route"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Update Frequency"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select how often the lists will be updated"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every hour"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every 2 hours"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every 4 hours"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every 6 hours"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every 12 hours"
|
||||
msgstr ""
|
||||
|
||||
msgid "Once a day at 04:00"
|
||||
msgstr ""
|
||||
|
||||
msgid "Once a week on Sunday at 04:00"
|
||||
msgstr ""
|
||||
|
||||
msgid "Yacd enable"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mixed enable"
|
||||
msgstr ""
|
||||
|
||||
msgid "Browser port: 2080"
|
||||
msgstr ""
|
||||
|
||||
msgid "Exclude NTP"
|
||||
msgstr ""
|
||||
|
||||
msgid "For issues with open connections sing-box"
|
||||
msgstr ""
|
||||
|
||||
msgid "Service Domain List Enable"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable predefined service domain lists for routing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Service List"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select predefined services for routing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Domains"
|
||||
msgstr ""
|
||||
|
||||
msgid "Subnet List"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure custom subnets for routing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Subnets"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid domain format. Enter domain without protocol (example: sub.example.com)"
|
||||
msgstr ""
|
||||
|
||||
msgid "URL must use http:// or https:// protocol"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid URL format. URL must start with http:// or https://"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid subnet format. Use format: X.X.X.X/Y (like 103.21.244.0/22)"
|
||||
msgstr ""
|
||||
|
||||
msgid "IP address parts must be between 0 and 255"
|
||||
msgstr ""
|
||||
|
||||
msgid "CIDR must be between 0 and 32"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid IP format. Use format: X.X.X.X (like 192.168.1.1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Domain List Type"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select how to add your custom domains"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
|
||||
msgid "Dynamic List"
|
||||
msgstr ""
|
||||
|
||||
msgid "Text List"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Domains List"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter domain names separated by comma, space or newline (example: sub.example.com, example.com or one domain per line)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid domain format: %s. Enter domain without protocol"
|
||||
msgid "Remote Domain Lists URL"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Subnet List Type"
|
||||
msgid "Enter URL to download domain list"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select how to add your custom subnets"
|
||||
msgid "Update Interval"
|
||||
msgstr ""
|
||||
|
||||
msgid "Text List (comma/space/newline separated)"
|
||||
msgid "Select how often to update the lists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter subnets in CIDR notation (example: 103.21.244.0/22) or single IP addresses"
|
||||
msgid "Last Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "User Subnets List"
|
||||
msgid "Last update time"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter subnets in CIDR notation or single IP addresses, separated by comma, space or newline"
|
||||
msgid "Next Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid format. Use format: X.X.X.X or X.X.X.X/Y"
|
||||
msgid "Next scheduled update time"
|
||||
msgstr ""
|
||||
|
||||
msgid "IP parts must be between 0 and 255 in: %s"
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration Type"
|
||||
msgid "Component version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select how to configure the proxy"
|
||||
msgid "Installed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Connection URL"
|
||||
msgid "Not installed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Outbound Config"
|
||||
msgid "Unknown version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Outbound Configuration"
|
||||
msgid "Error parsing version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter complete outbound configuration in JSON format"
|
||||
msgid "Error parsing status"
|
||||
msgstr ""
|
||||
|
||||
msgid "JSON must contain at least type, server and server_port fields"
|
||||
msgid "Service is running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid JSON format"
|
||||
msgid "Service is stopped"
|
||||
msgstr ""
|
||||
|
||||
msgid "Diagnostics"
|
||||
msgid "Service is enabled"
|
||||
msgstr ""
|
||||
|
||||
msgid "Main Check"
|
||||
msgid "Service is disabled"
|
||||
msgstr ""
|
||||
|
||||
msgid "Run a comprehensive diagnostic check of all components"
|
||||
msgid "Service Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "Run Check"
|
||||
msgid "working"
|
||||
msgstr ""
|
||||
|
||||
msgid "Full Diagnostic Results"
|
||||
msgid "not working"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to copy: %s"
|
||||
msgid "check error"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copy to Clipboard"
|
||||
msgid "Diagnostic check in progress..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Close"
|
||||
msgid "Diagnostic check completed"
|
||||
msgstr ""
|
||||
|
||||
msgid "No output"
|
||||
msgid "Diagnostic check failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Logs"
|
||||
msgid "Update in progress..."
|
||||
msgstr ""
|
||||
|
||||
msgid "View recent system logs related to Podkop"
|
||||
msgid "Update completed"
|
||||
msgstr ""
|
||||
|
||||
msgid "View Logs"
|
||||
msgid "Update failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to copy logs: %s"
|
||||
msgid "Check in progress..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Show Config"
|
||||
msgid "Check completed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show current podkop configuration with masked sensitive data"
|
||||
msgid "Check failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Podkop Configuration"
|
||||
msgid "Version Information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update lists"
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update all lists in config"
|
||||
msgid "Podkop Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Update"
|
||||
msgid "Start Podkop"
|
||||
msgstr ""
|
||||
|
||||
msgid "Lists will be updated in background. You can check the progress in system logs."
|
||||
msgid "Stop Podkop"
|
||||
msgstr ""
|
||||
|
||||
msgid "Restart Podkop"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable Podkop"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable Podkop"
|
||||
msgstr ""
|
||||
|
||||
msgid "Loading diagnostics..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Error loading diagnostics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Sing-box Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "Diagnostic Tools"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Device Model: "
|
||||
msgstr ""
|
||||
|
||||
msgid "OpenWrt Version: "
|
||||
msgstr ""
|
||||
|
||||
msgid "Sing-box: "
|
||||
msgstr ""
|
||||
|
||||
msgid "LuCI App: "
|
||||
msgstr ""
|
||||
|
||||
msgid "Podkop: "
|
||||
msgstr ""
|
||||
|
||||
msgid "Check NFT Rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update Lists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Lists Update Results"
|
||||
msgstr ""
|
||||
|
||||
msgid "Extra configurations"
|
||||
@@ -361,25 +538,7 @@ msgstr ""
|
||||
msgid "Add Section"
|
||||
msgstr ""
|
||||
|
||||
msgid "QUIC disable"
|
||||
msgstr ""
|
||||
|
||||
msgid "For issues with the video stream"
|
||||
msgstr ""
|
||||
|
||||
msgid "Community Lists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Local Domain Lists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use the list from the router filesystem"
|
||||
msgstr ""
|
||||
|
||||
msgid "Local Domain Lists Path"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter to the list file path"
|
||||
msgid "Lists Update Results"
|
||||
msgstr ""
|
||||
|
||||
msgid "Proxy Check"
|
||||
@@ -463,148 +622,6 @@ msgstr ""
|
||||
msgid "Lists Update Results"
|
||||
msgstr ""
|
||||
|
||||
#: applications/luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:XXX
|
||||
msgid "Warning: %s cannot be used together with %s. Previous selections have been removed."
|
||||
msgstr ""
|
||||
|
||||
#: applications/luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:XXX
|
||||
msgid "Warning: Russia inside can only be used with Meta, Twitter, Discord, and Telegram. %s already in Russia inside and have been removed from selection."
|
||||
msgstr ""
|
||||
|
||||
#: applications/luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:XXX
|
||||
msgid "Regional options cannot be used together"
|
||||
msgstr ""
|
||||
|
||||
#: applications/luci-app-podkop/htdocs/luci-static/resources/view/podkop/podkop.js:XXX
|
||||
msgid "Russia inside restrictions"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version Information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show version information for all components"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show Versions"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Service Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "Podkop Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start Podkop"
|
||||
msgstr ""
|
||||
|
||||
msgid "Stop Podkop"
|
||||
msgstr ""
|
||||
|
||||
msgid "Restart Podkop"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable Podkop"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable Podkop"
|
||||
msgstr ""
|
||||
|
||||
msgid "Loading diagnostics..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Error loading diagnostics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Sing-box Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "Diagnostic Tools"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every 3 hours"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every day"
|
||||
msgstr ""
|
||||
|
||||
msgid "Every 3 days"
|
||||
msgstr ""
|
||||
|
||||
msgid "Device Model: "
|
||||
msgstr ""
|
||||
|
||||
msgid "OpenWrt Version: "
|
||||
msgstr ""
|
||||
|
||||
msgid "Sing-box: "
|
||||
msgstr ""
|
||||
|
||||
msgid "LuCI App: "
|
||||
msgstr ""
|
||||
|
||||
msgid "Podkop: "
|
||||
msgstr ""
|
||||
|
||||
msgid "Check NFT Rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update Lists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid path format. Path must start with \"/\" and contain only valid characters (letters, numbers, \"-\", \"_\", \"/\", \".\")"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid path format"
|
||||
msgstr ""
|
||||
|
||||
msgid "CIDR must be between 0 and 32 in: %s"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid format: %s. Use format: X.X.X.X or X.X.X.X/Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to copy: %s"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to apply changes: %s"
|
||||
msgstr ""
|
||||
|
||||
msgid "Operation completed successfully"
|
||||
msgstr ""
|
||||
|
||||
msgid "Operation failed: %s"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration saved"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save failed: %s"
|
||||
msgstr ""
|
||||
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Processing..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Updating..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Please wait..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Alert"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
@@ -800,10 +817,16 @@ msgstr ""
|
||||
msgid "Service is disabled"
|
||||
msgstr ""
|
||||
|
||||
msgid "Service status unknown"
|
||||
msgid "Service Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error checking service status"
|
||||
msgid "working"
|
||||
msgstr ""
|
||||
|
||||
msgid "not working"
|
||||
msgstr ""
|
||||
|
||||
msgid "check error"
|
||||
msgstr ""
|
||||
|
||||
msgid "Diagnostic check in progress..."
|
||||
|
||||
@@ -153,6 +153,7 @@ main() {
|
||||
sing_box_dns
|
||||
sing_box_dns_rule_fakeip
|
||||
sing_box_rule_dns
|
||||
sing_box_add_secure_dns_probe_domain
|
||||
sing_box_cache_file
|
||||
process_socks5
|
||||
|
||||
@@ -1698,4 +1699,40 @@ get_status() {
|
||||
fi
|
||||
|
||||
echo "{\"running\":$running,\"enabled\":$enabled,\"status\":\"$status\"}"
|
||||
}
|
||||
|
||||
sing_box_add_secure_dns_probe_domain() {
|
||||
local domain="httpbin.org"
|
||||
local override_address="numbersapi.com"
|
||||
|
||||
if [ -z "$override_address" ]; then
|
||||
log "Error: Could not get br-lan IP address"
|
||||
return 1
|
||||
fi
|
||||
|
||||
log "Adding DNS probe domain ${domain} to fakeip-server configuration"
|
||||
|
||||
jq \
|
||||
--arg domain "$domain" \
|
||||
--arg override "$override_address" \
|
||||
'.dns.rules |= map(
|
||||
if .server == "fakeip-server" then
|
||||
{
|
||||
"server": .server,
|
||||
"domain": $domain,
|
||||
"rule_set": .rule_set
|
||||
}
|
||||
else
|
||||
.
|
||||
end
|
||||
) |
|
||||
.route.rules |= . + [
|
||||
{
|
||||
"domain": $domain,
|
||||
"action": "route-options",
|
||||
"override_address": $override
|
||||
}
|
||||
]' "$SING_BOX_CONFIG" >/tmp/sing-box-config-tmp.json && mv /tmp/sing-box-config-tmp.json "$SING_BOX_CONFIG"
|
||||
|
||||
log "DNS probe domain ${domain} configured with override to ${override_address}"
|
||||
}
|
||||
Reference in New Issue
Block a user