A lightweight desktop GUI for monitoring and managing open ports on your system—without jumping between repetitive ss, netstat, or lsof commands.
Features
- Real-time Port Monitoring for TCP/UDP listeners and connections
- Process Details to quickly identify what owns each port
- Port Management to terminate related processes when needed
- Search & Filter by port, process name, and protocol
- Configurable Behavior via YAML config file
- Data Export to CSV and JSON
- Cross-platform (Linux, macOS, Windows) via Fyne
Installation
From Source
git clone https://github.com/yofabr/nocta.git
cd nocta
go build ./cmd/nocta
./noctaFrom Release (Coming Soon)
wget https://github.com/yofabr/nocta/releases/download/v1.0.0/nocta.tar.xz
tar -xf nocta.tar.xz
make install
cd nocta
./noctaIf
noctais not executable, run:chmod +x nocta
Configuration
Nocta reads configuration from:
~/.config/nocta/config.yaml
Default example:
gui: width: 900 height: 520 split: 0.35 refresh: interval: 30 auto: false filter: default_protocol: ALL show_closed: false notifications: enabled: false on_new: true on_close: true
Usage
1) Launch Nocta
Run the application from your terminal:
2) Inspect active ports
On startup, Nocta loads currently active ports and process owners into the main table.
3) Narrow results quickly
- Use the search field to filter by port number or process name.
- Use the protocol filter to switch between TCP, UDP, or all.
4) Investigate and manage
- Select a row to review process and socket details.
- Use Terminate when available to stop a process bound to a port.
5) Keep data up to date
- Press Refresh for an immediate update.
- Enable auto-refresh in config if you want periodic updates.
Screenshot
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
