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
Or specific the App Version (Optional)
fyne package --name NTGUI --appVersion <version>
-
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 a Personal-Use License:
- Free for individuals for personal, educational, or hobby use.
- Organizational or commercial use (including businesses, institutions, and government) requires a commercial license.
To obtain a commercial license, please contact: dennis.jian@packetstreams.net
See the LICENSE file for full terms and conditions.