尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Web management for Wazuh agents, groups, cluster nodes and rules — the parts the Dashboard makes hard. Ships ready-made detection packs for Zimbra, Zenarmor, AdGuard Home, fail2ban, malware hashes and threat-intel lists. Bilingual EN / 繁體中文.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A powerful web-based management tool for Wazuh agents in cluster environments.
Purpose: This tool is designed to supplement the Wazuh Dashboard by providing missing or inconvenient management features. It is NOT intended to replace the Wazuh Dashboard, but to complement it.
Recommended: Use the Web UI as the primary interface — it's the main feature of this tool with full functionality.
⚡ One-line Install / Upgrade / Uninstall
Run as root on your Wazuh Manager (Master node in cluster mode):查看完整 README ↗A powerful web-based management tool for Wazuh agents in cluster environments.
Purpose: This tool is designed to supplement the Wazuh Dashboard by providing missing or inconvenient management features. It is NOT intended to replace the Wazuh Dashboard, but to complement it.
Recommended: Use the Web UI as the primary interface — it's the main feature of this tool with full functionality.
🌐 Project site: https://jasoncheng7115.github.io/jt-wazuh-mgr/
Run as root on your Wazuh Manager (Master node in cluster mode):
# Install
curl -fsSL https://raw.githubusercontent.com/jasoncheng7115/jt-wazuh-mgr/main/install.sh | sudo bash
# Upgrade (re-run the installer; your config.yaml is preserved)
curl -fsSL https://raw.githubusercontent.com/jasoncheng7115/jt-wazuh-mgr/main/install.sh | sudo bash
# Uninstall
curl -fsSL https://raw.githubusercontent.com/jasoncheng7115/jt-wazuh-mgr/main/uninstall.sh | sudo bash
The installer downloads the app to /opt/jt-wazuh-mgr, installs Python dependencies, and registers + starts a systemd service (jt-wazuh-mgr). After installation, open https://YOUR_WAZUH_MANAGER_IP:5000 and log in with your Wazuh API credentials.
Already installed? You can also upgrade/uninstall locally:
curl -fsSL https://raw.githubusercontent.com/jasoncheng7115/jt-wazuh-mgr/main/install.sh | sudo bash # upgrade sudo bash /opt/jt-wazuh-mgr/uninstall.sh # uninstall
On a machine with internet access, download the release and the Python wheels for the manager's Python version (/usr/bin/python3 -V on the manager; 3.9 below):
VER=X.Y.Z # a release tag from https://github.com/jasoncheng7115/jt-wazuh-mgr/releases, without the "v"
curl -fsSLO https://github.com/jasoncheng7115/jt-wazuh-mgr/archive/refs/tags/v$VER.tar.gz
tar xzf v$VER.tar.gz
docker run --rm -v "$PWD":/w -w /w python:3.9-slim \
pip download --only-binary=:all: -r jt-wazuh-mgr-$VER/requirements.txt -d jt-wazuh-mgr-$VER/wheels
tar czf jt-wazuh-mgr-$VER-offline.tar.gz jt-wazuh-mgr-$VER
Copy the archive to the manager, then as root (the same two commands install and upgrade; config.yaml is kept):
tar xzf /root/jt-wazuh-mgr-X.Y.Z-offline.tar.gz -C /root
bash /root/jt-wazuh-mgr-X.Y.Z/install.sh --offline
grep __version__ /opt/jt-wazuh-mgr/lib/__init__.py && systemctl is-active jt-wazuh-mgr
--offline never touches the network and does not need pip on the manager. The full procedure (without Docker, backup and rollback, manual steps for v1.19.0 and earlier, wheels that do not match): Offline install & upgrade.
<email_alerts> rules in ossec.conf — add/edit/delete without manual XML editing, one-click sync to all worker nodes, auto-backup before every changeif_sid, if_matched_sid)wazuh-analysisd -t validation, and full rollback if any step failsossec.conf on every cluster node, validates each node and rolls every node back if one rejects it; disabling restores the file exactly. The page shows each node's white_list and which managers still need a restart| Login | |
| Agent List | |
| Agent Actions & Queue DB | |
| Groups | |
| Nodes | |
| WPK Files Management | |
| Rules Viewer | |
| API Users | |
| Logs Viewer | |
| Edit ossec.conf | |
| Agent Upgrade | |
| Agent Detail | |
| Inventory (search across every agent) | |
| Rule Packs | |
| Rule Pack Detail | |
| Rules by File Name | |
| Statistics |
/opt/jt-wazuh-mgr/vendor, not in the system Python. That works where pip into the system is refused (Ubuntu 24.04, Debian 12) and survives an OS upgrade that changes the Python versionUse the one-line installer above, or run manually after cloning:
python3 -m pip install --target vendor -r requirements.txt
./wazuh_agent_mgr.py --web --ssl-auto
Open https://YOUR_WAZUH_MANAGER_IP:5000 and log in with your Wazuh API credentials.
Note: Log in with an API user of the tool's own (log in once as
wazuhand create one on the API Users tab, or usecreate_api_user.py), or withwazuh. Avoidwazuh-wui: it is the dashboard's account, and when its tokens are revoked on the dashboard's side this tool is logged out too. The passwords of the default accounts are inwazuh-install-files.tar(created during installation) or in your installation records.
--ssl-autoserves the Wazuh dashboard's certificate when the dashboard runs on the same host, and otherwise generates a self-signed one.
# Custom port
./wazuh_agent_mgr.py --web --port 8443 --ssl-auto
# Custom SSL certificate
./wazuh_agent_mgr.py --web --ssl-cert /path/to/cert.pem --ssl-key /path/to/key.pem
The installer registers and starts a systemd service automatically. Management commands:
systemctl status jt-wazuh-mgr # Check status
systemctl restart jt-wazuh-mgr # Restart service
journalctl -u jt-wazuh-mgr -f # View logs
# List all agents
./wazuh_agent_mgr.py agent list
# Filter agents
./wazuh_agent_mgr.py agent list --status=Active --group=production
# Quick status queries
./wazuh_agent_mgr.py agent disconnected
./wazuh_agent_mgr.py agent pending
# Group management
./wazuh_agent_mgr.py group list
./wazuh_agent_mgr.py group add-agent webservers 001 002 003
# Node management
./wazuh_agent_mgr.py node list
./wazuh_agent_mgr.py node reconnect 001 002
# Statistics
./wazuh_agent_mgr.py stats report
Supports three output formats: table (default), json, csv.
./wazuh_agent_mgr.py agent list --format=json
./wazuh_agent_mgr.py agent list --format=csv > agents.csv
./wazuh_agent_mgr.py stats report --format=json > report.json
All write operations support --dry-run to preview actions without executing:
./wazuh_agent_mgr.py agent delete 001 --dry-run
# Output: [DRY-RUN] Would execute: /var/ossec/bin/manage_agents -r 001
config.yaml (a template is included; no credentials are required for Web UI mode):
wazuh_path: /var/ossec
# API settings
# Web UI mode: username/password NOT required (users log in via the browser)
# CLI mode: username/password REQUIRED for commands like ./wazuh_agent_mgr.py agent list
api:
enabled: false # set to true for CLI mode
host: localhost
port: 55000
username: wazuh # only for CLI mode
password: "" # only for CLI mode, see wazuh-install-files.tar
verify_ssl: false
# Web UI settings
web:
session_timeout: 120 # minutes
# Optional: SSH for remote worker node management
# ssh:
# enabled: true
# key_file: /root/.ssh/wazuh_cluster_key
# nodes:
# worker01:
# host: 192.168.1.100
# port: 22
# user: root
| Setting | Web UI | CLI |
|---|---|---|
api.enabled | Not required | true |
api.username | Not required (login via browser) | Required |
api.password | Not required (login via browser) | Required |
ssh.* | Optional (for remote node management) | Optional |
The UI ships in English and translates to Traditional Chinese and Japanese
entirely on the client side. UI strings live in lib/i18n_engine.js, which is
embedded into lib/web_ui.py by tools/build_i18n.py. To extend or edit
translations:
# edit lib/i18n_engine.js, then re-embed into web_ui.py
python3 tools/build_i18n.py
Adding a language means adding its key to I18N and I18N_PATTERNS and a code
to SUPPORTED; nothing else in the engine is language-specific.
This software is provided "as is" without warranty of any kind, express or implied. The author is not responsible for any damages or losses arising from the use of this software. Use at your own risk.
Before performing any operations (especially delete, restart, or upgrade), it is strongly recommended to:
--dry-run mode to preview actionsLicensed under the GNU Affero General Public License v3.0.
Jason Cheng (Jason Tools)