Initial OpenWrt RMM implementation
This commit is contained in:
53
agent/README.md
Normal file
53
agent/README.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# OpenWrt RMM Agent
|
||||
|
||||
MVP shell agent for OpenWrt.
|
||||
|
||||
The agent uses outbound HTTP polling:
|
||||
|
||||
1. Enrolls with the server using an enrollment token.
|
||||
2. Sends heartbeat with inventory and metrics.
|
||||
3. Receives queued commands from the heartbeat response.
|
||||
4. Executes only allowlisted commands.
|
||||
5. Sends command results back to the server.
|
||||
|
||||
## Config
|
||||
|
||||
Default config path:
|
||||
|
||||
```sh
|
||||
/etc/rmm-agent.conf
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```sh
|
||||
SERVER_URL="http://server:8080"
|
||||
ENROLLMENT_TOKEN="dev-enroll-token"
|
||||
INTERVAL_SECONDS="30"
|
||||
TUNNEL_IDENTITY_FILE="/etc/rmm-agent/tunnel_key"
|
||||
```
|
||||
|
||||
After enrollment the agent writes:
|
||||
|
||||
```sh
|
||||
DEVICE_ID="..."
|
||||
DEVICE_TOKEN="..."
|
||||
```
|
||||
|
||||
## Run
|
||||
|
||||
```sh
|
||||
sh ./agent/openwrt/rmm-agent.sh
|
||||
```
|
||||
|
||||
## OpenWrt Package
|
||||
|
||||
Package skeleton:
|
||||
|
||||
```text
|
||||
agent/package/rmm-agent
|
||||
```
|
||||
|
||||
It installs the agent as `/usr/bin/rmm-agent`, the procd service as `/etc/init.d/rmm-agent`, and the default config as `/etc/rmm-agent.conf`.
|
||||
|
||||
For Docker Compose reverse SSH access, install the generated tunnel private key at `/etc/rmm-agent/tunnel_key` with mode `600`. The agent automatically uses it for `remote_ssh_reverse`.
|
||||
Reference in New Issue
Block a user