Nuno Duque Nunes
7a544f9019
feat: display config system, table/compact toggle
...
- modules/display.module.sh: display config loader
- .wgctl/config/display.json: per-view style configuration
- ctx::display: points to .wgctl/config/display.json
- json_helper: display_load() reads view styles
- list: display::render dispatcher, _render_table with dynamic widths/colors
- ui::peer::_row_color/status_color: shared by both table and compact
- table layout: aligned columns, colored status/rows, dynamic separator
2026-05-27 02:48:51 +00:00
Nuno Duque Nunes
14d2a78b78
feat: command mixin system, --json for list/inspect, tests
...
- core/command_mixins.sh: mixin infrastructure with auto-loader
- core/mixins/json_output.mixin.sh, no_color.mixin.sh
- commands/mixins/MIXIN_TEMPLATE.mixin.sh
- command::run: mixin preprocess with nameref, empty array guard
- list --json, inspect --json: structured JSON with envelope
- json::envelope, json::error_envelope
- tests: json output unit tests, group purge-stale, logs clean
2026-05-27 00:01:06 +00:00
Nuno Duque Nunes
a3fe7f5986
feat: command mixin system, --json output for list/inspect
...
- core/command_mixins.sh: mixin infrastructure with auto-loader
- core/mixins/json_output.mixin.sh: --json flag mixin
- core/mixins/no_color.mixin.sh: --no-color flag mixin
- commands/mixins/MIXIN_TEMPLATE.mixin.sh: template for new mixins
- command::run: reset mixin state, preprocess flags before dispatch
- command::_preprocess_flags: nameref-based flag stripping, empty array fix
- command::mixin: opt-in registration from on_load
- list --json: structured JSON output with envelope
- inspect --json: structured JSON peer detail output
- json::envelope, json::error_envelope helpers
2026-05-26 23:18:56 +00:00
Nuno Duque Nunes
794e75bc9b
feat: duplicate rule validation, peer command, fallback DNS
...
- rule assign: block if rule already in peer's identity
- identity rule assign: --migrate flag to remove conflicting direct peer rules
- commands/peer.command.sh: update-dns and update-tunnel subcommands
- config.sh: config::dns_fallback, config::dns_string
- peers.module.sh: peers::get_display_subnet extraction
- wgctl peer update-dns --all: retrofits existing peer configs with fallback DNS
- wgctl.conf: WG_DNS_FALLBACK support
2026-05-25 21:39:17 +00:00
Nuno Duque Nunes
560e4cbe09
feat: peer list row coloring, verbose status, dim offline rows
...
- Dim gray for offline peers — lights off visual
- Dim/bold red for blocked peers (offline/online)
- Dim/bold yellow for restricted peers (offline/online)
- online (blocked) / offline (blocked) verbose status
- LIST_VERBOSE_STATUS=false to revert to simple status
- Rule list: +0/-0 dimmed, 0 peers dimmed
- Summary includes group breakdown
2026-05-23 04:51:33 +00:00
Nuno Duque Nunes
15897203a5
fix: blocked peer color, last seen annotation, subnet display in detailed view
2026-05-22 16:46:41 +00:00
Nuno Duque Nunes
4b2f2a846a
feat: identity, subnet, policy systems + tableless layouts
2026-05-22 03:42:40 +00:00
Nuno Duque Nunes
de1a44a7e4
finish base implementation
2026-05-20 21:49:44 +00:00
Nuno Duque Nunes
8bb1de4976
init feature
2026-05-19 15:26:31 +00:00
Nuno Duque Nunes
7323bf20f1
feat: main group display, group::has_peer, config validation, full block cleanup on unblock, ui::empty helper, blocks header count
2026-05-17 22:06:21 +00:00
Nuno Duque Nunes
f32ca5c0a1
feat: complete wgctl v2 — net services, block system M:N, rule inheritance, service annotations, restricted status, 64 tests passing
2026-05-15 12:36:38 +00:00
Nuno Duque Nunes
16b4351313
feat: block/unblock --service, fw::has_rule wrappers, restricted status, net annotations, block system tests, 64 tests passing
2026-05-15 11:36:05 +00:00
Nuno Duque Nunes
9a3ac2ae47
feat: net command, service annotations, block::restore_rules_for, fw refactor, restricted status, block system cleanup
2026-05-15 08:04:06 +00:00
Nuno Duque Nunes
cf90ab22db
feat: block system JSON migration, M:N group tracking, block module, block::restore_all, color module, fw refactor
2026-05-15 04:44:53 +00:00
Nuno Duque Nunes
6ac1a7d3a2
feat: rule inheritance, rule groups, rule inspect, ui::center, fw dedup, activity metrics
2026-05-13 22:44:07 +00:00
Nuno Duque Nunes
a7fd62ce32
refactor: group::each_peer helper, peer existence checks, group remove cleanup, watch multi-peer filter
2026-05-13 00:06:34 +00:00
Nuno Duque Nunes
51e3443357
refactor: rule::show new layout, assign fix, unblock helpers, test improvements
2026-05-12 04:27:47 +00:00
Nuno Duque Nunes
8ca3669c6c
refactor: test suite improvements, peers::get_type, dead code removal, add::run helpers, ui::col_width attempt
2026-05-12 00:49:12 +00:00
Nuno Duque Nunes
312f1f973c
feat: test suite, date formatter, list optimizations, fw:: rename, config overrides
2026-05-11 23:42:44 +00:00
Nuno Duque Nunes
0efa6c3a9e
feat: date format config, batch optimizations, list refactor, fw:: rename, .wgctl data dir
2026-05-11 22:27:33 +00:00
root
78f9caaf17
add wgctl
2026-05-06 23:02:12 +00:00