Commit e6ac1749 authored by Lisa's avatar Lisa

Add README with documentation for cross-platform installation and usage

parent 020b3a28
# Hermes Node Agent
**Version:** 2.0
**Repository:** `git@git.nexlab.net:lisa/hermes-node-agent.git`
Cross-platform node agent for the Hermes Node Protocol. Connects to a central gateway via WebSocket and executes commands with permission enforcement.
---
## Features
- **Cross-platform**: Linux and Windows support
- **Reverse connection**: Nodes connect to gateway (firewall-friendly)
- **Token authentication**: Secure per-node tokens
- **Permission system**: sexec-based allow/deny/ask rules
- **Auto-reconnect**: Exponential backoff on disconnect
- **Heartbeat**: Keep-alive mechanism
- **Optional capabilities**: Browser control, computer control
---
## Platforms
### Linux
- Bash installer with SysV init service
- CLI-based configuration
- Runs as daemon
### Windows
- Graphical installer (.exe via Inno Setup)
- System tray GUI manager
- Windows Service integration (NSSM)
- Configuration editor (no manual JSON editing)
- Log viewer with auto-refresh
---
## Installation
### Linux
```bash
sudo ./install.sh
sudo nano /etc/hermes-node/config.json # Edit gateway_url and token
sudo /etc/init.d/hermes-node-agent start
```
### Windows
1. Build installer (on Windows dev machine):
```cmd
python windows\build.py
```
2. Run `windows\Output\hermes-node-agent-installer.exe` as Administrator
3. Configure via system tray: Right-click icon → Configuration
---
## Configuration
**Linux:** `/etc/hermes-node/config.json`
**Windows:** `C:\ProgramData\hermes-node\config.json`
```json
{
"gateway_url": "wss://gateway-host:8765",
"node_name": "my-node",
"token": "your-token-here",
"sexec_path": "/path/to/sexec.sh",
"reconnect_interval": 5,
"heartbeat_interval": 30
}
```
---
## Browser Control Capability
For browser automation support, install the Chrome extension from:
**Repository:** `git@git.nexlab.net:lisa/hermes-node-chrome.git`
The extension enables DOM manipulation, screenshots, and click/type automation.
---
## Files
```
node-agent/
├── hermes_node_agent.py # Main agent (cross-platform)
├── browser_controller.py # Browser control capability
├── install.sh # Linux installer
├── install-windows.ps1 # Windows PowerShell installer (legacy)
├── hermes-node-agent.init.d # SysV init script
├── hermes-node-agent.service # systemd unit (alternative)
├── requirements.txt # Python dependencies
└── windows/ # Windows-specific components
├── agent-manager.py # System tray GUI
├── installer.iss # Inno Setup script
├── build.py # Build automation
└── README.md # Build instructions
```
---
## Documentation
- **DEPLOYMENT.md** — Full deployment guide
- **WINDOWS_DEPLOYMENT.md** — Windows-specific guide
- **PROTOCOL.md** — WebSocket protocol specification
- **windows/README.md** — Windows build instructions
---
## Related Repositories
- **Gateway:** (location TBD)
- **Chrome Extension:** `git@git.nexlab.net:lisa/hermes-node-chrome.git`
- **Plugin:** (location TBD)
---
## License
(Add license information)
---
## Support
For issues, check:
- Agent logs: `/var/log/hermes-node-agent.log` (Linux) or `C:\ProgramData\hermes-node\hermes-node-agent.log` (Windows)
- Gateway logs on gateway host
- Configuration files for token/URL mismatches
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment