Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
dezhban
command
Command dezhban is a cross-platform network kill switch: it watches the machine's public IP, resolves its country, and drives the OS firewall to cut traffic when the country matches a blocklist.
|
Command dezhban is a cross-platform network kill switch: it watches the machine's public IP, resolves its country, and drives the OS firewall to cut traffic when the country matches a blocklist. |
|
internal
|
|
|
command
Package command is the daemon's ROOT control channel: a root-owned command file that the `dezhban switch`/`vpn` CLIs write and the running daemon consumes on a tick.
|
Package command is the daemon's ROOT control channel: a root-owned command file that the `dezhban switch`/`vpn` CLIs write and the running daemon consumes on a tick. |
|
config
Package config defines dezhban's runtime configuration and loading.
|
Package config defines dezhban's runtime configuration and loading. |
|
control
Package control is the daemon's live control channel: a unix socket the daemon listens on and the CLI dials, so routine posture changes (block / unblock / switch window) work without re-elevating to root on every call.
|
Package control is the daemon's live control channel: a unix socket the daemon listens on and the CLI dials, so routine posture changes (block / unblock / switch window) work without re-elevating to root on every call. |
|
decision
Package decision maps monitor readings to an enforcement verdict.
|
Package decision maps monitor readings to an enforcement verdict. |
|
firewall
Package firewall drives the OS firewall to cut and restore network egress.
|
Package firewall drives the OS firewall to cut and restore network egress. |
|
learned
Package learned persists VPN server endpoints that the daemon discovered at runtime (during a switch window, or via live socket discovery under normal guard), so a VPN that has been connected once stays reachable across restarts without the user hand-typing its server address.
|
Package learned persists VPN server endpoints that the daemon discovered at runtime (during a switch window, or via live socket discovery under normal guard), so a VPN that has been connected once stays reachable across restarts without the user hand-typing its server address. |
|
logging
Package logging builds dezhban's structured logger.
|
Package logging builds dezhban's structured logger. |
|
monitor
Package monitor resolves the machine's public IP and its country, on a polling loop, with multi-provider redundancy.
|
Package monitor resolves the machine's public IP and its country, on a polling loop, with multi-provider redundancy. |
|
netdetect
Package netdetect discovers VPN tunnel interfaces for the interface-aware guard, so operators need not hand-name them.
|
Package netdetect discovers VPN tunnel interfaces for the interface-aware guard, so operators need not hand-name them. |
|
privilege
Package privilege reports whether dezhban has the OS privileges needed to modify the firewall (root on unix, Administrator on Windows).
|
Package privilege reports whether dezhban has the OS privileges needed to modify the firewall (root on unix, Administrator on Windows). |
|
runner
Package runner ties the three layers into the live daemon: it polls the Monitor, asks the Decider for a verdict, and drives the firewall Backend — always cleaning up on exit.
|
Package runner ties the three layers into the live daemon: it polls the Monitor, asks the Decider for a verdict, and drives the firewall Backend — always cleaning up on exit. |
|
state
Package state publishes the daemon's live posture to an on-disk JSON file so out-of-process observers (the macOS menubar app, `status --json`) can read exactly what the daemon decided without running their own poller.
|
Package state publishes the daemon's live posture to an on-disk JSON file so out-of-process observers (the macOS menubar app, `status --json`) can read exactly what the daemon decided without running their own poller. |
|
svc
Package svc runs dezhban as a managed background service on each OS, using one cross-platform API (github.com/kardianos/service) that maps to launchd on macOS, systemd/upstart/sysv on Linux, and the Windows Service manager.
|
Package svc runs dezhban as a managed background service on each OS, using one cross-platform API (github.com/kardianos/service) that maps to launchd on macOS, systemd/upstart/sysv on Linux, and the Windows Service manager. |
|
vpnimport
Package vpnimport extracts VPN server endpoints from common client config formats so a profile can be created without hand-copying the server address.
|
Package vpnimport extracts VPN server endpoints from common client config formats so a profile can be created without hand-copying the server address. |
|
tools
|
|
|
taskmenu
command
taskmenu is the interactive picker behind a bare `task` on a TTY: pick a flow, answer the prompts for the vars it takes, and it execs `task <name> KEY=VAL…`.
|
taskmenu is the interactive picker behind a bare `task` on a TTY: pick a flow, answer the prompts for the vars it takes, and it execs `task <name> KEY=VAL…`. |
Click to show internal directories.
Click to hide internal directories.
