Easy and modern interface to manage network devices — Serial, SSH, Telnet, VNC, RDP, Traceroute/MTR, IP Scanner, SNMP, File Transfer, Speed Test and Wi-Fi Survey.
- Modern graphical interface with PyQt6
- Embedded terminal — no external terminal required
- Automatic serial port detection with QSerialPortInfo
- Support for serial ports (
/dev/ttyS*) and USB adapters (/dev/ttyUSB*) - Port type toggle (USB / Serial) for quick switching
- Complete parameter configuration: baud rate (300–921600), data bits, parity, stop bits, flow control
- Quick connect profiles with per-device vendor selection
- Root password request via sudo
- SSH — secure shell with password or private key authentication
- Telnet — connect to legacy devices over port 23
- VNC — graphical desktop access via xtigervncviewer (Wayland-compatible)
- RDP — Windows Remote Desktop via wlfreerdp/xfreerdp (Wayland-compatible)
- Saved connection profiles with Quick Connect list and vendor selection
- Save password per host (encrypted in profile)
- Right-click Quick Connect entries to remove them
- Key icon indicator for hosts with saved credentials
- VT100/ANSI terminal emulation via pyte
- Syntax highlighting for network equipment commands
- Support for multiple vendors: Cisco, Huawei, H3C, Juniper, D-Link, Brocade, Datacom, Fortinet
- Vendor selection per profile — applies syntax highlighting automatically on connect
- Search with scroll-to-match (Ctrl+F)
- Scrollback mode — scroll freely without losing the live view
- Adjustable font size, multiple simultaneous terminal tabs
- Right-click context menu: copy, paste, export, close tab
- Network host discovery with ICMP, TCP and UDP scan methods
- ARP scanning with hostname resolution and MAC vendor detection
- Configurable subnet mask (CIDR /8–/30), ports, timeout and threads
- Real-time results with IP, status, latency and MAC vendor
- Sortable results table with CSV export
- Progress indicator on the scan button
- Graphical route visualization with glowing neon bars and hop details
- MTR (My Traceroute) for continuous real-time path monitoring
- ICMP and TCP ping with results visualization
- Latency graph with dark/neon aesthetic
- Automatic
cap_net_rawcapability configuration for TCP/UDP probes - Packet loss and latency statistics per hop
- Configurable packet count and proxy (SOCKS/HTTP)
- SNMP GET, GETNEXT and WALK operations (v1 and v2c)
- GETNEXT remembers the last OID per host and advances on each click
- Real-time streaming results in a sortable table (OID, Value, Type)
- Automatic value type classification (Integer, String, Counter, TimeTicks, etc.)
- Walk progress indicator; limit of 1000 entries per walk to prevent UI overload
- SSH/SFTP — client and server mode with file browser
- SMB — server with Share Name, Comment, Workgroup, Valid Users, Guest access, Read-only
- FTP — server via pyftpdlib with automatic
pkexecelevation for port 21 - TFTP — server for firmware transfers with network interface auto-detection
- Client mode defaults to SSH; collapsible log panel with timestamps
- Nmap integration for OS and service version detection
- CVE search via NVD API with CVSS severity badges
- Supports Cisco, Huawei, MikroTik, Juniper and other vendors
- MikroTik version discovery via SNMP OID
- Export results to CSV
- iPerf3 — LAN/WAN throughput testing (client / server / reverse modes)
- fast.com — internet speed test via Netflix CDN
- Real-time throughput graph (bitrate + cumulative transfer)
- Post-test latency measurement via ping
- ISP and country detection via ip-api.com
- iPerf3 public server list with country flags
- Network scanning with SSID, BSSID, channel, signal strength and security
- Channel usage chart with Gaussian curves, BSSID grouping and animation
- Best channel recommendation avoiding DFS channels
- Power Analysis graph — scrolling signal history with loss detection
- Wi-Fi heatmap for signal strength visualization
- Audio feedback (beep alarm) for signal loss events
- Python 3.8+
- PyQt6
- Qt6 SerialPort (optional, for advanced port detection)
- picocom (for serial connections)
- sudo / pkexec configured
| Tool | Feature | Required |
|---|---|---|
openssh / ssh |
SSH connections and SFTP file transfer | Yes |
samba / smbd |
SMB file server | Yes |
| iperf3 | Speed Test LAN/WAN | Yes |
| traceroute | Traceroute hop discovery | Yes |
| mtr / mtr-tiny | MTR continuous traceroute | Yes |
| nmcli / network-manager | Wi-Fi scanning | Yes |
| nmap | Vulnerability Scanner | Yes |
| iw | Wi-Fi interface info | Yes |
tigervnc / xtigervncviewer |
VNC remote desktop (Wayland) | Optional |
freerdp / wlfreerdp |
RDP remote desktop (Wayland) | Optional |
| fast / fast-cli | Speed Test via fast.com | Optional |
| python3-pyftpdlib | Built-in FTP server | Optional |
Install fast-cli via npm:
npm install -g fast-cli- pyte — Terminal emulator (VT100/ANSI)
- paramiko — SSH/SFTP protocol support
- pysnmp — SNMP protocol support
- standard-telnetlib — Telnet protocol support (Python 3.13+)
Security Note: Telnet transmits data without encryption, including passwords and sensitive information. Use SSH whenever possible. Telnet should only be used in trusted, isolated networks or when connecting to devices that don't support SSH.
-
Download the latest .deb package from releases
-
Install the package:
sudo dpkg -i cetus_1.6-1_all.deb
sudo apt-get install -f # Fix any missing dependencies- Launch from application menu or terminal:
cetus- Install build dependencies:
sudo apt install debhelper dpkg-dev python3-pyqt6 picocom- Build the package:
cd scripts
chmod +x make-deb.sh
./make-deb.sh- Install the generated package:
sudo dpkg -i ../cetus_1.6-1_all.debyay -S cetus
# or
paru -S cetus-
Download the latest
.pkg.tar.zstfrom releases -
Install:
sudo pacman -U cetus-1.6-1-any.pkg.tar.zst- Install from Flathub (when available):
flatpak install flathub io.github.benjamimgois.cetus- Or build from source:
cd packaging/flatpak
flatpak-builder --install --user build io.github.benjamimgois.cetus.yml- Run:
flatpak run io.github.benjamimgois.cetus- Install dependencies:
# Arch Linux / Manjaro
sudo pacman -S python-pyqt6 qt6-serialport picocom openssh samba iperf3 traceroute mtr networkmanager nmap iw tigervnc freerdp
# Fedora / RHEL
sudo dnf install python3-pyqt6 python3-pyqt6-sip picocom openssh samba iperf3 traceroute mtr NetworkManager nmap iw tigervnc freerdp
# Debian / Ubuntu
sudo apt install python3-pyqt6 python3-pyqt6.qtserialport picocom openssh-client samba samba-common-bin iperf3 traceroute mtr iw network-manager nmap tigervnc-viewer freerdp3-wayland
# Python dependencies
pip3 install pyte paramiko pysnmp
# Python 3.13+ users also need:
pip3 install standard-telnetlib- Make executable:
chmod +x cetus- (Optional) Install system-wide:
./scripts/install.sh./cetus
# or
python3 cetus- Select port type (USB or Serial toggle)
- Choose port from the list
- Configure baud rate and parameters
- Click CONNECT
- Enter root password when prompted
- Click the Remote tab
- Select protocol (SSH, Telnet, VNC or RDP)
- Enter host and port (auto-filled per protocol)
- Enter username and password (or select SSH key)
- (Optional) Save as profile for Quick Connect
- Click CONNECT
- Click the IP Scan tab
- Enter target network (e.g.
192.168.1.0) and subnet mask - Choose scan method (ICMP, TCP, UDP or ARP)
- Click SCAN — button shows progress percentage
- Export results to CSV
- Click the SNMP tab
- Enter host IP, SNMP version and community string
- Select query type (GET, GETNEXT or WALK)
- Enter OID (optional for WALK, defaults to
.1.3.6.1.2.1) - Click EXECUTE QUERY
- Click the Transfer tab
- Select protocol (SSH/SFTP, SMB, FTP or TFTP)
- Choose Client or Server mode
- Configure connection/server parameters
- Click CONNECT or START
Ctrl+ACtrl+X— Exit picocomCtrl+ACtrl+H— Show all picocom commands
To avoid password prompts for serial ports, add your user to the dialout group:
sudo usermod -a -G dialout $USERLog out and back in to apply.
- Check device is connected:
ls -la /dev/ttyUSB* /dev/ttyS* - May need to load kernel modules
- Add user to dialout group (see above)
- Install
tigervnc(for VNC) andfreerdp(for RDP) - On Debian/Ubuntu:
sudo apt install tigervnc-viewer freerdp3-wayland
- GitHub: https://github.com/benjamimgois/opengrid
- AUR Package: https://aur.archlinux.org/packages/cetus
- Flathub: https://flathub.org/apps/io.github.benjamimgois.cetus
- Releases: https://github.com/benjamimgois/opengrid/releases
- Issues: https://github.com/benjamimgois/opengrid/issues
This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
Benjamim Gois