update 2026-10-15 06:56:05

This commit is contained in:
action committed 2026-10-15 06:56:05 +08:00
1 parent e75bfefc80
commit 27917e2b63
483 files changed
+128531 -374

No files matched your search

@@ -135,7 +135,7 @@ return view.extend({
subBtn.disabled = true;
subStatus.textContent = _('Adding subscription…');
honk.addSubscription(name, url).then(honk.ensureOk).then(function(result) {
subStatus.textContent = honk.resultMessage(result, _('Subscription added and Honk reloaded.'));
subStatus.textContent = honk.resultMessage(result, _('Subscription saved with usable nodes.'));
nameInput.value = '';
urlInput.value = '';
}).catch(function(error) {
@@ -145,7 +145,7 @@ return view.extend({
const subSection = E('section', { 'class': 'honk-card' }, [
E('h3', { 'class': 'honk-card-title' }, _('Add subscription')),
E('p', { 'class': 'honk-note' }, _('Enter a name and the subscription URL. Honk writes it into /etc/honk/config.dae, fetches the nodes and reloads.')),
E('p', { 'class': 'honk-note' }, _('Enter a name and subscription URL. Honk checks for usable nodes before saving.')),
E('div', { 'class': 'honk-subscription-add' }, [ nameInput, urlInput, subBtn ]),
subStatus
]);
@@ -223,7 +223,7 @@ return view.extend({
/* --- Direct configuration note --- */
const note = E('section', { 'class': 'honk-card' }, [
E('h3', { 'class': 'honk-card-title' }, _('Direct configuration')),
E('p', { 'class': 'honk-note' }, _('Routing, DNS and groups are managed in the Doona dashboard once Honk is started. You can also edit /etc/honk/config.dae directly.'))
E('p', { 'class': 'honk-note' }, _('After the first valid subscription or node import, the fresh-install policy sends local and Chinese traffic direct and other traffic through the proxy group. You can adjust it in Doona.'))
]);
page.appendChild(subSection);
@@ -169,16 +169,19 @@ function tokenMessage(token) {
share_links_invalid_or_conflicting: _('A share link is invalid or conflicts with an existing node. Review the input and try again.'),
subscription_invalid: _('The subscription name or URL is invalid.'),
subscription_invalid_or_conflicting: _('The subscription is invalid or its name already exists.'),
subscription_added: _('Subscription added and Honk reloaded.'),
nodes_added: _('Nodes added and Honk reloaded.'),
subscription_no_nodes: _('The subscription returned no usable nodes. The configuration was not changed.'),
subscription_added: _('Subscription saved with usable nodes.'),
nodes_added: _('Nodes saved.'),
reload_failed_rolled_back: _('Honk could not restart. The previous configuration and service were restored.'),
reload_and_rollback_failed: _('Honk could not restart or restore the previous service. Check its status and backup.'),
dae_imported: _('Configuration imported and Honk reloaded.'),
config_missing: _('The configuration file is missing.'),
config_write_failed: _('Could not write the configuration file.'),
dae_too_large: _('The dae file exceeds the 2 MiB limit.'),
dae_invalid_or_unsupported: _('The dae file contains invalid sections or unsupported includes.'),
candidate_invalid: _('The imported configuration could not be parsed.'),
candidate_invalid: _('Honk could not load the proposed configuration.'),
candidate_rejected: _('The imported configuration failed core validation.'),
source_changed: _('Honk or Doona configuration changed after the preview. Create a new preview.'),
source_changed: _('Honk or Doona changed the configuration during this operation. Try again.'),
preview_expired: _('The preview expired. Create a new preview.'),
preview_corrupt: _('The saved preview is damaged. Create a new preview.'),
dae_upload_unavailable: _('The dae upload is missing or unavailable. Upload the file again.'),