個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Terminal UI for monitoring servers over SSH. Keys or ssh-agent only, passwords are never stored.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗scat is a small app for your terminal. It logs in to your servers with plain SSH and shows you what they are doing. Nothing gets installed on the servers. No agents, no web panel, no passwords stored.
sudo rule (see below).Takes about five minutes.
scat needs Bash 5 on the machine you work on (not on your servers).
Check your version with bash --version.
| Your system | What to do |
|---|---|
| macOS | brew install bash, then put /opt/homebrew/bin first in your PATH |
| Linux | Usually there already. Otherwise apt install bash (or dnf / pacman) |
The macOS system Bash (version 3.2) is too old and is not supported.
curl -fsSL https://raw.githubusercontent.com/d3m0naz/scat/main/install.sh | bash
scat --help
The installer downloads the current release and checks its SHA-256 checksum. If the checksum does not match, nothing gets installed.
Start scat and press a to add a server. Or write it into the config file
yourself, ~/.config/scat/servers.conf:
[web1]
host = 203.0.113.10
user = deploy
group = production
host is the only required line. Anything ssh web1 understands works here,
including aliases from ~/.ssh/config.
Select a server and press Enter for its details. Press s to open a normal
SSH shell on it. q goes back.
| Key | What it does |
|---|---|
↑ ↓ or j k | move |
Enter | open |
Esc or q | back |
a e d | add, edit, delete a server |
s | open an SSH shell on the server |
r | refresh now |
p | all processes |
m | Docker view (if the server has Docker) |
t / f | group headings on/off, °C/°F (for this session) |
? | help, with every key |
The full list is in the reference.
scat can show the temperature and health of your disks (SMART). Reading that
data needs root rights. scat never asks for a password, so you give it
exactly one permission on each server: running smartctl without a password.
On the server (Linux, as an admin user):
Create the rule. Replace <scat-user> with the user that scat logs in as:
<scat-user> ALL=(root) NOPASSWD: /usr/sbin/smartctl -n standby -A /dev/sd[a-z], \
/usr/sbin/smartctl -n standby -A /dev/sd[a-z][a-z], \
/usr/sbin/smartctl -n standby -A /dev/nvme[0-9]n[0-9]
Save it with sudo visudo -f /etc/sudoers.d/scat. Use the path that
command -v smartctl shows on your system.
Check it:
sudo visudo -cf /etc/sudoers.d/scat # should say: parsed OK
sudo -l -U <scat-user> # lists the allowed commands
What this rule does and does not do:
-A), nothing else.-n standby means: a disk that is spun down stays asleep. scat shows it as SLEEP.sd* and nvme*. Partitions and other devices are not included.If you prefer not to add the rule, leave the section off: set drives = 0 in
settings.conf. With only smartctl -A allowed (no -n standby), scat still
works, but it wakes sleeping disks. Details are in the
reference.
On OPNsense and other FreeBSD systems, where scat logs in as root, no sudo rule is needed.
If a server has a docker command, m opens a table of its containers: name,
image, status, health, CPU and memory. Running containers come first. The detail
view shows the five busiest ones.
scat only reads. It does not start, stop or pull anything, and it does not know about Compose or Podman.
Heads-up: Docker access is root access. Anyone who may use the Docker socket can do anything on that server, so only let scat's user in if that user may have root rights anyway. Details are in the reference.
The list shows the CPU temperature in the TEMP column. scat reads only sensors
of the CPU itself. Press f for °F. Setting temp_unit = f makes it the
default. Details on which sensors are used are in the
reference.
Everything lives in ~/.config/scat/. The most useful keys in settings.conf:
| Key | Default | What it does |
|---|---|---|
theme | default | colours: default, light, solarized, nord, high-contrast |
ping | 1 | show the ping column in the list |
group_headings | 1 | show group names in the list |
temp_unit | c | c or f |
drives | 1 | show the disk section (SMART) |
list_refresh | 15 | seconds between list refreshes |
Every key, with its range, is in the reference.
Your passwords stay where they are. scat never reads or stores them. Config files are yours alone (mode 600) and are read as plain data.
The full reference, with every measurement, every key and every file, is in docs/reference.md. It covers:
MIT. See LICENSE. © 2026 d3m0naz.