Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
awg-manager
command
cmd/awg-manager/awg_outbounds_adapters.go
|
cmd/awg-manager/awg_outbounds_adapters.go |
|
changelog-gen
command
Command changelog-gen reads commit subjects (one per line) from stdin and prints a single Keep-a-Changelog block for the given version.
|
Command changelog-gen reads commit subjects (one per line) from stdin and prints a single Keep-a-Changelog block for the given version. |
|
internal
|
|
|
accesspolicy
internal/accesspolicy/marks.go
|
internal/accesspolicy/marks.go |
|
api
internal/api/awg_outbounds.go
|
internal/api/awg_outbounds.go |
|
auth
Package auth provides authentication via Keenetic RCI API.
|
Package auth provides authentication via Keenetic RCI API. |
|
cleanup
Package cleanup orchestrates complete removal of all awg-manager resources.
|
Package cleanup orchestrates complete removal of all awg-manager resources. |
|
deviceproxy
internal/deviceproxy/ndms_adapter.go
|
internal/deviceproxy/ndms_adapter.go |
|
icmpprobe
Package icmpprobe sends a single ICMP echo through a tunnel interface.
|
Package icmpprobe sends a single ICMP echo through a tunnel interface. |
|
logbuf
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. |
|
monitoring
Package monitoring provides observability-only multi-target probes through running tunnels.
|
Package monitoring provides observability-only multi-target probes through running tunnels. |
|
ndms
Package ndms is the NDMS RCI integration layer for awg-manager.
|
Package ndms is the NDMS RCI integration layer for awg-manager. |
|
ndms/cache
Package cache provides generic primitives used by the NDMS Query Stores.
|
Package cache provides generic primitives used by the NDMS Query Stores. |
|
ndms/command
Package command is the write side of the NDMS integration layer.
|
Package command is the write side of the NDMS integration layer. |
|
ndms/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. |
|
ndms/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. |
|
ndms/payloads
Package payloads holds stateless command builders for NDMS RCI POST requests.
|
Package payloads holds stateless command builders for NDMS RCI POST requests. |
|
ndms/query
Package query is the read side of the NDMS CQRS layer.
|
Package query is the read side of the NDMS CQRS layer. |
|
ndms/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. |
|
ndms/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. |
|
routing
internal/routing/catalog.go
|
internal/routing/catalog.go |
|
signature
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. |
|
singbox
internal/singbox/config.go
|
internal/singbox/config.go |
|
singbox/awgoutbounds
internal/singbox/awgoutbounds/catalog.go
|
internal/singbox/awgoutbounds/catalog.go |
|
singbox/awgoutbounds/awgoutboundstest
internal/singbox/awgoutbounds/awgoutboundstest/mock.go
|
internal/singbox/awgoutbounds/awgoutboundstest/mock.go |
|
singbox/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), 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), and last-writer-wins everything else. |
|
singbox/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. |
|
singbox/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. |
|
singbox/vlink
Package vlink: Clash / mihomo YAML subscription support.
|
Package vlink: Clash / mihomo YAML subscription support. |
|
storage
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. |
|
sys/exec
Package exec provides command execution with timeout support.
|
Package exec provides command execution with timeout support. |
|
sys/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. |
|
sys/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. |
|
sys/kmod
Package kmod provides kernel module loading functionality.
|
Package kmod provides kernel module loading functionality. |
|
sys/lock
Package lock provides mkdir-based file locking compatible with BusyBox/Entware.
|
Package lock provides mkdir-based file locking compatible with BusyBox/Entware. |
|
sys/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. |
|
sys/osdetect
Package osdetect provides Keenetic OS version detection from cached NDMS info.
|
Package osdetect provides Keenetic OS version detection from cached NDMS info. |
|
sys/perftrace
Package perftrace — временный helper для performance diagnostics.
|
Package perftrace — временный helper для performance diagnostics. |
|
sys/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". |
|
testing
Package testing provides tunnel testing operations.
|
Package testing provides tunnel testing operations. |
|
traffic
Package traffic provides in-memory traffic rate history for tunnels.
|
Package traffic provides in-memory traffic rate history for tunnels. |
|
tunnel
Package tunnel provides tunnel management with clean architecture.
|
Package tunnel provides tunnel management with clean architecture. |
|
tunnel/backend
Package backend provides abstraction for tunnel process management.
|
Package backend provides abstraction for tunnel process management. |
|
tunnel/config
Package config provides WireGuard configuration parsing and generation.
|
Package config provides WireGuard configuration parsing and generation. |
|
tunnel/external
Package external provides functionality for working with external (unmanaged) tunnels.
|
Package external provides functionality for working with external (unmanaged) tunnels. |
|
tunnel/firewall
Package firewall provides an interface for iptables firewall management.
|
Package firewall provides an interface for iptables firewall management. |
|
tunnel/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. |
|
tunnel/ops
Package ops provides tunnel operations (create, start, stop, delete, recover).
|
Package ops provides tunnel operations (create, start, stop, delete, recover). |
|
tunnel/service
internal/tunnel/service/refs.go
|
internal/tunnel/service/refs.go |
|
tunnel/state
Package state provides the single source of truth for tunnel state.
|
Package state provides the single source of truth for tunnel state. |
|
tunnel/sysinfo
Package sysinfo provides system-level information about tunnel interfaces.
|
Package sysinfo provides system-level information about tunnel interfaces. |
|
tunnel/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. |
|
tunnel/wan
Package wan provides a unified WAN interface state model.
|
Package wan provides a unified WAN interface state model. |
|
tunnel/wg
Package wg provides an interface for WireGuard/AmneziaWG operations.
|
Package wg provides an interface for WireGuard/AmneziaWG operations. |
|
tools
|
|
|
genpresets
command
Command genpresets maintains internal/presets/defaults.json: it loads the committed catalog as base, refreshes DNS by decompiling each sing-box preset's .srs with a host sing-box, and appends new presets from the additions table.
|
Command genpresets maintains internal/presets/defaults.json: it loads the committed catalog as base, refreshes DNS by decompiling each sing-box preset's .srs with a host sing-box, and appends new presets from the additions table. |
Click to show internal directories.
Click to hide internal directories.
