49 lines
812 B
Markdown
49 lines
812 B
Markdown
# statuspanel
|
|
|
|
`statuspanel` is a pure-Go terminal status panel for a network interface. It uses
|
|
`github.com/rivo/tview` for the TUI and reads YAML configuration from
|
|
`/etc/statuspanel.yaml` by default.
|
|
|
|
## Build
|
|
|
|
```sh
|
|
go build ./cmd/statuspanel
|
|
```
|
|
|
|
ICMP ping uses raw sockets. On Linux, run as root or grant the binary the
|
|
capability:
|
|
|
|
```sh
|
|
sudo setcap cap_net_raw+ep ./statuspanel
|
|
```
|
|
|
|
## Run
|
|
|
|
```sh
|
|
./statuspanel -config ./statuspanel.yaml
|
|
```
|
|
|
|
Press `q` or `Ctrl-C` to quit.
|
|
|
|
## Configuration
|
|
|
|
```yaml
|
|
interface: eth0
|
|
gateway: "" # optional; when empty, statuspanel discovers the default gateway for interface
|
|
refresh: 2s
|
|
|
|
dns:
|
|
server: 1.1.1.1
|
|
domain: example.com
|
|
timeout: 1s
|
|
|
|
ping:
|
|
timeout: 1s
|
|
|
|
targets:
|
|
- name: Cloudflare DNS
|
|
address: 1.1.1.1
|
|
- name: Google DNS
|
|
address: 8.8.8.8
|
|
```
|