nt_gui is a cross-platform network diagnostics tool developed in Go, featuring a graphical user interface (GUI) built with the Fyne toolkit. It offers a suite of network testing utilities, including ICMP, TCP, DNS, and HTTP pings, along with result visualization and export capabilities.
- ICMP Ping: Test network reachability using standard ICMP echo requests.
- TCP Ping: Check the availability of specific TCP ports on target hosts.
- DNS Ping: Resolve domain names and measure DNS query response times.
- HTTP Ping: Send HTTP requests to endpoints and monitor response metrics.
- Result Visualization: View test results through interactive charts and graphs.
- History Management: Access and analyze past test results.
- CSV Export: Export test data for external analysis or record-keeping.
Precompiled executables for Windows, Linux, and macOS are available on the Releases page.
-
Clone the Repository:
git clone https://github.com/djian01/nt_gui.git cd nt_gui
-
Build the Application:
go build -o NTGUI.exe
-
Run the Application:
./NTGUI.exe
-
Install the Fyne CLI (if not installed):
go install fyne.io/fyne/v2/cmd/fyne@latest
-
Package the App:
fyne package --name NTGUI
-
The output will be a platform-native bundle (e.g.,
.app
,.exe
, or a package installer).
All test history data is stored in a local SQLite database automatically. This allows you to review, analyze, and export historical results even after restarting the application.
Upon launching the application:
- Select a Test Type: Choose from ICMP, TCP, DNS, or HTTP ping tests.
- Configure Parameters: Enter target addresses, ports, or URLs as required.
- Initiate Test: Click the "Start" button to begin the network test.
- View Results: Monitor real-time results displayed in the GUI.
- Analyze Data: Use the history and analysis features to review past tests.
- Export Data: Save results in CSV format for further analysis.
UI_main.go
: Entry point and main GUI setup.ICMP_Ping_UI.go
,TCP_Ping_UI.go
,DNS_Ping_UI.go
,HTTP_Ping_UI.go
: UI components for respective tests.ICMP_Ping_Func_Struct.go
,TCP_Ping_Func_Struct.go
,DNS_Ping_Func_Struct.go
,HTTP_Ping_Func_Struct.go
: Backend logic for network tests.Result_Analysis_UI.go
,Result_Analysis_Func.go
: Components for result analysis and visualization.History_UI.go
,History_Func_Struct.go
: Manage and display test history.Function_CSVExport.go
: Handles exporting results to CSV files.assets/
: Contains application assets like icons and images.pkg/
: Additional packages and modules used in the application.
- Fyne: GUI toolkit for Go.
- Standard Go libraries for networking and file operations.
This project is licensed under the Apache License 2.0 with the Commons Clause, restricting commercial use without written permission from the author.
See the LICENSE file for full terms and conditions.