A lightweight desktop GUI for monitoring and managing open ports on your system—without jumping between repetitive ss, netstat, or lsof commands.
- 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
git clone https://github.com/yofabr/nocta.git
cd nocta
go build ./cmd/nocta
./noctawget 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
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: trueRun the application from your terminal:
./noctaOn startup, Nocta loads currently active ports and process owners into the main table.
- Use the search field to filter by port number or process name.
- Use the protocol filter to switch between TCP, UDP, or all.
- Select a row to review process and socket details.
- Use Terminate when available to stop a process bound to a port.
- Press Refresh for an immediate update.
- Enable auto-refresh in config if you want periodic updates.
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
