An open API service indexing awesome lists of open source software.

https://github.com/caiorss/netmon

Cross platform app to check internet connectivity and help diagnose connection failures.
https://github.com/caiorss/netmon

app connection cross dashboard diagnose internet java monitoring network platform scala

Last synced: about 2 months ago
JSON representation

Cross platform app to check internet connectivity and help diagnose connection failures.

Awesome Lists containing this project

README

          

#+STARTUP: content

* Netmon - Cross Platform Internet / Network Monitoring Application
** Overview

*What is it?*

It is small and simple open-source and cross-platform graphical app
for monitoring internet connection. This program pools a list of
random hostnames and address such as (www.google.com and and its
address 216.58.222.100) in a regular time interval to check the
connection status. While Windows has this functionality, this
application provides more feedback about the network status, for
instance, it can diagnose the case when the network is working, but
the DNS is failing.

Features:

+ Small and cross platform network connection status app.
+ Show network interfaces data.

Screenshots:

- Tray icon when the computer is online (on Linux with Xfce)

[[file:images/trayicon-online.png][file:images/trayicon-online.png]]

- Detailed error message that shows when computer is offline and user
clicks on the trayicon. (on Windows 10)

[[file:images/network-online.png][file:images/network-online.png]]

- Tray icon when the computer is offline (on Linux)

[[file:images/trayicon-offline.png][file:images/trayicon-offline.png]]

- Detailed error message when computer is offline. (on Windows 10)

[[file:images/network-offline.png][file:images/network-offline.png]]

When the user clicks on the tray icon it shows a window with more
detailed information about the connection failure.

To run the application it is only necessary to click at the uber-jar
file.

** Build Instructions

This app doesn't have any third party dependency, except Scala runtime
library and the [[http://wwww.github.com/caiorss/jarget][jarget]] application used to build the app uber-jar.

Assuming that jarget is in the path variable, run =make force && make pgd=

- The comand make force, forces the compilation and make bundles the
app with scala runtime and optmizes the jar file reducing its size.

#+BEGIN_SRC sh
$ make force && make pgd

mkdir -p bin
scalac src/netmon.scala src/netmon-main.scala -d bin/netmon.jar
jarget uber -scala -o bin/netmon-uber.jar -m bin/netmon.jar -r resources
Built file: bin/netmon-uber.jar ok
Run it with: $ java -jar bin/netmon-uber.jar
java -jar proguard.jar @config.pro
ProGuard, version 5.3.3
Reading input...
Reading program jar [/home/archbox/Documents/projects/netmon.scala/bin/netmon-uber.jar]
Reading library jar [/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.fc26.x86_64/jre/lib/rt.jar]
Initializing...
Note: scala.Enumeration accesses a field 'MODULE$' dynamically
Maybe this is program field 'netmon.Main$ { netmon.Main$ MODULE$; }'
Maybe this is program field 'netmon.NetInfo$ { netmon.NetInfo$ MODULE$; }'
Maybe this is program field 'netmon.Utils$ { netmon.Utils$ MODULE$; }'
Maybe this is program field 'netmon.package$ { netmon.package$ MODULE$; }'
Maybe this is program field 'scala.Array$ { scala.Array$ MODULE$; }'

... ... ... ..... .... .... .... ... ....

Removing unused program classes and class elements...
Original number of program classes: 2515
Final number of program classes: 1012
Inlining subroutines...
Preverifying...
Writing output...
Preparing output jar [/home/archbox/Documents/projects/netmon.scala/bin/netmon-guard.jar]
Copying resources from program jar [/home/archbox/Documents/projects/netmon.scala/bin/netmon-uber.jar]

#+END_SRC

Running:

- Run ./bin/netmon-guard.jar or double click at this file.