summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros/jscanner/App.java
diff options
context:
space:
mode:
authorGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-08-12 16:36:28 +0200
committerGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-08-12 16:36:28 +0200
commit1cbb5b6ffd5afdf55ea6727ee23550796a57809b (patch)
tree1c1b31e14966afadf6677d66e5af92b0dea9b2d4 /src/main/java/com/it_jaros/jscanner/App.java
parent7fc179ed2d663a04c22e4182cde898301597f74f (diff)
Renamed jscanner package to jns
Diffstat (limited to 'src/main/java/com/it_jaros/jscanner/App.java')
-rw-r--r--src/main/java/com/it_jaros/jscanner/App.java100
1 files changed, 0 insertions, 100 deletions
diff --git a/src/main/java/com/it_jaros/jscanner/App.java b/src/main/java/com/it_jaros/jscanner/App.java
deleted file mode 100644
index fd38ae0..0000000
--- a/src/main/java/com/it_jaros/jscanner/App.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package com.it_jaros.jscanner;
-
-import com.it_jaros.jscanner.scan.Scan;
-import com.it_jaros.jscanner.scan.ScanOptions;
-import com.it_jaros.jscanner.scan.Scanner;
-
-import java.io.IOException;
-import java.util.concurrent.CountDownLatch;
-
-public class App {
-
- private static Thread shutdownHook;
- private static final CountDownLatch shutdownLatch = new CountDownLatch(1);
- private static int exitCode = 0;
-
- public static void main(String[] args) {
- try {
- run(args);
- } catch (HelpRequested e) {
- // Do nothing
- } catch (Exception e) {
- System.err.println(e.getMessage());
- exitCode = 1;
- } finally {
- shutdownLatch.countDown();
- removeShutdownHook();
- }
-
- System.exit(exitCode);
- }
-
- private static void run(String[] args) throws Exception {
- ScanOptions options = parseOptions(args);
- try (Scanner scanner = new Scanner(options)) {
- runScan(scanner, options);
- }
- }
-
- private static void runScan(Scanner scanner, ScanOptions options) throws IOException {
- addShutdownHook(scanner);
- Scan scan = Scan.create(options);
- CliPrinter progressBar = new CliPrinter(scan, options.quiet());
- progressBar.start();
- scanner.runScan(scan, result -> progressBar.printResult(result, options.showFilteredPorts()));
- progressBar.stop();
- }
-
- private static ScanOptions parseOptions(String[] args) {
- CliParser cliParser = new CliParser();
- try {
- return cliParser.parseArgs(args);
- } catch (IllegalArgumentException e) {
- cliParser.printUsageHelp();
- throw e;
- }
- }
-
- /**
- * Notice user that the signal was received
- * Start shutdown of scanner
- *
- * @param scanner
- */
- private static void addShutdownHook(Scanner scanner) {
- shutdownHook = new Thread(() -> {
- System.err.printf("%nCtrl-C received. Shutting down...%n");
- shutdown(scanner);
- });
- Runtime.getRuntime().addShutdownHook(shutdownHook);
- }
-
- /**
- * Try to gracefully shutdown scanner
- * and wait
- *
- * @param scanner
- */
- private static void shutdown(Scanner scanner) {
- try {
- scanner.cancel();
- shutdownLatch.await();
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- } catch (Exception e) {
- // Time ran out
- }
- }
-
- private static void removeShutdownHook() {
- if (shutdownHook == null) {
- return;
- }
-
- try {
- Runtime.getRuntime().removeShutdownHook(shutdownHook);
- } catch (IllegalStateException ignored) {
- // JVM is already shutting down
- }
- }
-}