Directories
¶
| Path | Synopsis |
|---|---|
|
internal/accesspolicy/marks.go
|
internal/accesspolicy/marks.go |
|
internal/api/awg_outbounds.go
|
internal/api/awg_outbounds.go |
|
Package auth provides authentication via Keenetic RCI API.
|
Package auth provides authentication via Keenetic RCI API. |
|
shadowcrypt
Package shadowcrypt verifies passwords against crypt(3)-style hashes as found in /etc/shadow.
|
Package shadowcrypt verifies passwords against crypt(3)-style hashes as found in /etc/shadow. |
|
Package cleanup orchestrates complete removal of all awg-manager resources.
|
Package cleanup orchestrates complete removal of all awg-manager resources. |
|
internal/deviceproxy/ndms_adapter.go
|
internal/deviceproxy/ndms_adapter.go |
|
Package freeturn manages the FreeTurn TURN-tunnel client and server as child processes: persisting their configuration, building CLI arguments from it, and tracking process lifecycle (start/stop/status).
|
Package freeturn manages the FreeTurn TURN-tunnel client and server as child processes: persisting their configuration, building CLI arguments from it, and tracking process lifecycle (start/stop/status). |
|
Package icmpprobe sends a single ICMP echo through a tunnel interface.
|
Package icmpprobe sends a single ICMP echo through a tunnel interface. |
|
Package logbuf provides a generic, time-bounded, size-capped in-memory log buffer with a background cleanup goroutine.
|
Package logbuf provides a generic, time-bounded, size-capped in-memory log buffer with a background cleanup goroutine. |
|
Package monitoring provides observability-only multi-target probes through running tunnels.
|
Package monitoring provides observability-only multi-target probes through running tunnels. |
|
Package ndms is the NDMS RCI integration layer for awg-manager.
|
Package ndms is the NDMS RCI integration layer for awg-manager. |
|
cache
Package cache provides generic primitives used by the NDMS Query Stores.
|
Package cache provides generic primitives used by the NDMS Query Stores. |
|
command
Package command is the write side of the NDMS integration layer.
|
Package command is the write side of the NDMS integration layer. |
|
events
Package events is the NDMS hook consumer — the push-side counterpart to the query-side Stores.
|
Package events is the NDMS hook consumer — the push-side counterpart to the query-side Stores. |
|
metrics
Package metrics runs a single ticker that publishes per-interface WireGuard peer metrics over SSE.
|
Package metrics runs a single ticker that publishes per-interface WireGuard peer metrics over SSE. |
|
payloads
Package payloads holds stateless command builders for NDMS RCI POST requests.
|
Package payloads holds stateless command builders for NDMS RCI POST requests. |
|
query
Package query is the read side of the NDMS CQRS layer.
|
Package query is the read side of the NDMS CQRS layer. |
|
transport
Package transport is the low-level NDMS HTTP client for awg-manager.
|
Package transport is the low-level NDMS HTTP client for awg-manager. |
|
types
Package types holds the raw NDMS RCI response shapes — used by callers that need to parse JSON directly (e.g.
|
Package types holds the raw NDMS RCI response shapes — used by callers that need to parse JSON directly (e.g. |
|
internal/routing/catalog.go
|
internal/routing/catalog.go |
|
Package signature captures real QUIC and TLS handshake packets from a domain and returns them in AWG CPS <b 0x...> format for use as I1-I5 signature fields.
|
Package signature captures real QUIC and TLS handshake packets from a domain and returns them in AWG CPS <b 0x...> format for use as I1-I5 signature fields. |
|
internal/singbox/config.go
|
internal/singbox/config.go |
|
awgoutbounds
internal/singbox/awgoutbounds/catalog.go
|
internal/singbox/awgoutbounds/catalog.go |
|
configmerge
Package configmerge mirrors sing-box's behavior when started with `-C config.d/`: read all *.json files in the directory in lexicographic order, concatenate the well-known top-level arrays (inbounds, outbounds, dns.servers, dns.rules, route.rules, route.rule_set), resolve conflicting scalar sub-keys of `dns` and `route` FIRST-FILE-WINS (matching sing-box), and last-writer-wins everything else.
|
Package configmerge mirrors sing-box's behavior when started with `-C config.d/`: read all *.json files in the directory in lexicographic order, concatenate the well-known top-level arrays (inbounds, outbounds, dns.servers, dns.rules, route.rules, route.rule_set), resolve conflicting scalar sub-keys of `dns` and `route` FIRST-FILE-WINS (matching sing-box), and last-writer-wins everything else. |
|
heavyop
Package heavyop serializes memory-heavy sing-box work (ipset rebuild, config apply).
|
Package heavyop serializes memory-heavy sing-box work (ipset rebuild, config apply). |
|
installer
Code generated by scripts/regen-embedded.sh and scripts/build-singbox.sh; DO NOT EDIT.
|
Code generated by scripts/regen-embedded.sh and scripts/build-singbox.sh; DO NOT EDIT. |
|
orchestrator
Package orchestrator owns the sing-box config.d/ directory: it is the single writer for per-domain JSON files, the only place that toggles a domain on/off (via rename-marker), and the only place that triggers a sing-box reload.
|
Package orchestrator owns the sing-box config.d/ directory: it is the single writer for per-domain JSON files, the only place that toggles a domain on/off (via rename-marker), and the only place that triggers a sing-box reload. |
|
router/selective
Package selective implements the selective-bypass feature for the sing-box TProxy router: only traffic whose destination IP is listed in the AWGM-SELECTIVE ipset reaches sing-box; all other traffic bypasses it entirely (RETURN → WAN).
|
Package selective implements the selective-bypass feature for the sing-box TProxy router: only traffic whose destination IP is listed in the AWGM-SELECTIVE ipset reaches sing-box; all other traffic bypasses it entirely (RETURN → WAN). |
|
vlink
Package vlink: Clash / mihomo YAML subscription support.
|
Package vlink: Clash / mihomo YAML subscription support. |
|
internal/storage/types_patch.go
|
internal/storage/types_patch.go |
|
sys
|
|
|
env
Package env provides typed env-var helpers with safe defaults.
|
Package env provides typed env-var helpers with safe defaults. |
|
exec
Package exec provides command execution with timeout support.
|
Package exec provides command execution with timeout support. |
|
httpclient
Package httpclient provides a lightweight HTTP client with interface binding, proxy support, and precise timing metrics.
|
Package httpclient provides a lightweight HTTP client with interface binding, proxy support, and precise timing metrics. |
|
httpdownload
Package httpdownload provides shared utilities for streaming HTTP downloads with throttled progress reporting.
|
Package httpdownload provides shared utilities for streaming HTTP downloads with throttled progress reporting. |
|
kmod
Package kmod provides kernel module loading functionality.
|
Package kmod provides kernel module loading functionality. |
|
lock
Package lock provides mkdir-based file locking compatible with BusyBox/Entware.
|
Package lock provides mkdir-based file locking compatible with BusyBox/Entware. |
|
ndmsinfo
Package ndmsinfo provides cached NDMS system information backed by the query.SystemInfoStore.
|
Package ndmsinfo provides cached NDMS system information backed by the query.SystemInfoStore. |
|
netif
Package netif provides small network-interface helpers shared across the daemon, replacing several copy-pasted getBr0IP/getInterfaceIP functions.
|
Package netif provides small network-interface helpers shared across the daemon, replacing several copy-pasted getBr0IP/getInterfaceIP functions. |
|
osdetect
Package osdetect provides Keenetic OS version detection from cached NDMS info.
|
Package osdetect provides Keenetic OS version detection from cached NDMS info. |
|
perftrace
Package perftrace — helper для performance diagnostics.
|
Package perftrace — helper для performance diagnostics. |
|
semver
Package semver provides minimal semantic-version comparison for dotted-numeric version strings like "2.3.10" or "1.4".
|
Package semver provides minimal semantic-version comparison for dotted-numeric version strings like "2.3.10" or "1.4". |
|
Package testing provides tunnel testing operations.
|
Package testing provides tunnel testing operations. |
|
Package traffic provides in-memory traffic rate history for tunnels.
|
Package traffic provides in-memory traffic rate history for tunnels. |
|
Package tunnel provides tunnel management with clean architecture.
|
Package tunnel provides tunnel management with clean architecture. |
|
backend
Package backend provides abstraction for tunnel process management.
|
Package backend provides abstraction for tunnel process management. |
|
config
Package config provides WireGuard configuration parsing and generation.
|
Package config provides WireGuard configuration parsing and generation. |
|
external
Package external provides functionality for working with external (unmanaged) tunnels.
|
Package external provides functionality for working with external (unmanaged) tunnels. |
|
firewall
Package firewall provides an interface for iptables firewall management.
|
Package firewall provides an interface for iptables firewall management. |
|
nwg
Package nwg provides OperatorNativeWG — manages tunnels via Keenetic's native WireGuard interface + awg_proxy.ko kernel module for obfuscation.
|
Package nwg provides OperatorNativeWG — manages tunnels via Keenetic's native WireGuard interface + awg_proxy.ko kernel module for obfuscation. |
|
ops
Package ops provides tunnel operations (create, start, stop, delete, recover).
|
Package ops provides tunnel operations (create, start, stop, delete, recover). |
|
service
internal/tunnel/service/refs.go
|
internal/tunnel/service/refs.go |
|
state
Package state provides the single source of truth for tunnel state.
|
Package state provides the single source of truth for tunnel state. |
|
sysinfo
Package sysinfo provides system-level information about tunnel interfaces.
|
Package sysinfo provides system-level information about tunnel interfaces. |
|
systemtunnel
Package systemtunnel provides read-only access to Keenetic native WireGuard tunnels with editable AWG obfuscation (ASC) parameters.
|
Package systemtunnel provides read-only access to Keenetic native WireGuard tunnels with editable AWG obfuscation (ASC) parameters. |
|
wan
Package wan provides a unified WAN interface state model.
|
Package wan provides a unified WAN interface state model. |
|
wg
Package wg provides an interface for WireGuard/AmneziaWG operations.
|
Package wg provides an interface for WireGuard/AmneziaWG operations. |
Click to show internal directories.
Click to hide internal directories.