| 2026-07-08 17:36 | Fixed error output | Matthias Jaros | 1 | +3 | -2 |
| 2026-07-08 17:22 | Changed thread counting. Currently it was actually counting submitted but not really running threads. So now it is more clear what is going on and what is being counted | Matthias Jaros | 1 | +45 | -34 |
| 2026-07-07 22:13 | Early exit through canceled check. Now shutdown is dramatically faster | Matthias Jaros | 1 | +3 | -2 |
| 2026-07-07 21:50 | Calculate columnwidth each redraw. | Matthias Jaros | 1 | +1 | -1 |
| 2026-07-07 21:49 | Moved host counters into one place to have them together and actually changed meaning of host total counter to what it actually is. a total counter and not a done hosts counter | Matthias Jaros | 2 | +8 | -8 |
| 2026-07-06 13:42 | Reworked exception handling. Collect now only weird exceptions and print them before results to stderr | Matthias Jaros | 6 | +70 | -13 |
| 2026-07-06 12:32 | Updated defaults. Now that my statusline is pretty lean i put the values much higher since the scanner can handle a lot | Matthias Jaros | 1 | +3 | -3 |
| 2026-07-06 11:02 | Completetly reworked progress output. Now instead of individual hosts give a statusline that prints current stats to err | Matthias Jaros | 5 | +169 | -175 |
| 2026-07-06 09:05 | Changing scanner from collecting all results to a stream of output. Saves RAM and is not necessary to first collect everything | Matthias Jaros | 3 | +9 | -20 |
| 2026-07-05 05:09 | Improved shutdown logic that finally works properly Now if the user quits, then the main thread continues to collect all available results the producer and the host scan port threads close as soon as they check the flag and return whatever they have till now | Matthias Jaros | 2 | +43 | -24 |
| 2026-07-05 05:06 | Cleanup | Matthias Jaros | 1 | +9 | -6 |
| 2026-07-05 05:01 | Same optimization for scanHostPorts as for runScan. Moved producer into same method using function and generics | Matthias Jaros | 2 | +59 | -65 |
| 2026-07-05 04:34 | Moved producer thread into custom method which encapsulates logic for that producer -> reduced complexity of runScan method | Matthias Jaros | 2 | +65 | -38 |
| 2026-07-04 18:00 | Changed aquireUni.. to aquiere so that it can be interrupted in case of sudden shutdown | Matthias Jaros | 1 | +9 | -5 |
| 2026-07-04 12:20 | Improved algorithm by sorting first and then removing all that are 100% and break once we reach one that does not have that | Matthias Jaros | 1 | +5 | -2 |
| 2026-07-04 11:03 | Replaced thread unsafe usage of hasNext() | Matthias Jaros | 1 | +13 | -4 |
| 2026-07-04 10:39 | Minor improvements | Matthias Jaros | 2 | +2 | -3 |
| 2026-07-04 10:29 | Fix memory hole in quiet mode at ProgressBar | Matthias Jaros | 2 | +10 | -8 |
| 2026-07-04 10:06 | Same producer pattern for ports as for hosts | Matthias Jaros | 1 | +44 | -30 |
| 2026-07-04 09:55 | Replaced nested while loops with producer thread and consumer stays in main thread | Matthias Jaros | 1 | +38 | -18 |
| 2026-07-04 08:04 | Only save results that found something. Not reachable hosts or no open or filtered ports add no value to the scan and thus only cost RAM | Matthias Jaros | 1 | +5 | -1 |
| 2026-07-03 16:44 | Minor refactoring | Matthias Jaros | 1 | +9 | -5 |
| 2026-07-03 14:38 | Added ability to read from stdin using Streams Replaced useless counters with already existing hasNext() methods | Matthias Jaros | 2 | +41 | -24 |
| 2026-07-03 10:21 | Added comments and minor refactoring | Matthias Jaros | 2 | +15 | -4 |
| 2026-07-03 10:11 | Adjusted shutdown logic. | Matthias Jaros | 1 | +6 | -5 |
| 2026-07-03 10:06 | Replaced the nested executors with one per scanner. Which is fine for a virtualthread executor | Matthias Jaros | 1 | +86 | -87 |
| 2026-07-02 17:39 | Default timeout for close operation to 60 seconds | Matthias Jaros | 2 | +3 | -3 |
| 2026-07-02 17:33 | Finally managed to get a gracefull shutdown with information about the current state of scanned ports | Matthias Jaros | 2 | +90 | -55 |
| 2026-07-02 16:09 | Reformatted code so that Scan is initialized in Scan class and Scanner takes care of the actual Scan and not initializing Scan objects anymore | Matthias Jaros | 5 | +104 | -76 |
| 2026-07-02 12:55 | Refactoring for better readability | Matthias Jaros | 2 | +36 | -17 |
| 2026-07-02 12:21 | Changed timings | Matthias Jaros | 1 | +2 | -2 |
| 2026-07-02 12:17 | Minor fixes | Matthias Jaros | 2 | +8 | -0 |
| 2026-07-02 12:12 | Finally i managed to print also intermediate results when stopping process from running with strg-c | Matthias Jaros | 4 | +67 | -44 |
| 2026-07-02 10:45 | Changed scanstate to class that now owns completetly the Result List and does not allow modifications outside of defined methods. -> thread safe | Matthias Jaros | 2 | +42 | -10 |
| 2026-07-02 09:49 | Added banner recognition parameter to enable it depending on use case | Matthias Jaros | 4 | +42 | -34 |
| 2026-07-02 09:29 | Added new Class ScanState in order to make Scanner stateless during scan process. Not regarding config which is given to the constructor | Matthias Jaros | 3 | +47 | -31 |
| 2026-07-01 20:07 | Make scanner gracefully shutdown on Strg-C | Matthias Jaros | 2 | +55 | -8 |
| 2026-07-01 18:39 | Added quiet flag | Matthias Jaros | 6 | +37 | -23 |
| 2026-07-01 17:09 | Improve readability in cli | Matthias Jaros | 1 | +1 | -0 |
| 2026-07-01 16:49 | CLI options sorted, renamed and description fixed Fixed wrong default values by using one source of truth | Matthias Jaros | 3 | +28 | -20 |
| 2026-07-01 16:12 | Added CompletionService | Matthias Jaros | 1 | +56 | -48 |
| 2026-07-01 12:09 | Added dns to service detector | Matthias Jaros | 2 | +12 | -12 |
| 2026-07-01 12:09 | Fixed naming inconsistency | Matthias Jaros | 1 | +1 | -1 |
| 2026-07-01 11:45 | Do not redraw too often | Matthias Jaros | 1 | +1 | -1 |
| 2026-07-01 11:45 | Fixed port parsing logic | Matthias Jaros | 1 | +39 | -24 |
| 2026-07-01 11:44 | Properly and consistently named cli parameter and its internal representation | Matthias Jaros | 2 | +11 | -11 |
| 2026-07-01 11:43 | Added banner recognition for basic discovery of services | Matthias Jaros | 7 | +135 | -24 |
| 2026-04-13 15:31 | Renamed package from network_scanner to jscanner | Matthias Jaros | 25 | +641 | -642 |
| 2026-04-13 15:29 | Improved ProgressBar output | Matthias Jaros | 1 | +1 | -1 |
| 2026-04-13 09:16 | Formatted file | Matthias Jaros | 1 | +88 | -89 |
| 2026-04-06 18:24 | Replaced use of cut with java regex matcher | Matthias Jaros | 1 | +11 | -4 |
| 2026-04-06 18:07 | Make bar adjust to terminal width | Matthias Jaros | 1 | +28 | -5 |
| 2026-03-30 11:49 | Improved naming | Matthias Jaros | 3 | +13 | -13 |
| 2026-03-30 11:14 | Added cli help text for file option | Matthias Jaros | 1 | +1 | -0 |
| 2026-03-30 10:20 | Refactored cli option parsing and added -file option. Refactored reading of hosts to have less redundancy. | Matthias Jaros | 3 | +87 | -41 |
| 2026-03-30 09:16 | Fix tab alignment | Matthias Jaros | 1 | +3 | -3 |
| 2026-03-23 15:50 | Forgot one place | Matthias Jaros | 2 | +4 | -4 |
| 2026-03-23 15:49 | Consistent naming of host instead of target | Matthias Jaros | 5 | +42 | -42 |
| 2026-03-23 15:42 | Added disable target check option | Matthias Jaros | 1 | +1 | -1 |
| 2026-03-23 15:37 | Added cli option for online check | Matthias Jaros | 5 | +16 | -8 |
| 2026-03-23 15:19 | Added host online check | Matthias Jaros | 2 | +18 | -2 |
| 2026-03-23 14:41 | Added cli defaults class | Matthias Jaros | 2 | +19 | -7 |
| 2026-03-23 13:29 | Renamed blocked to filtered ports to do it like nmap and changed default scan values | Matthias Jaros | 8 | +33 | -30 |
| 2026-03-23 11:53 | Tiny refactoring | Matthias Jaros | 1 | +7 | -4 |
| 2026-03-23 11:38 | Added cli option to be able to select whether to display blocked ports or not | Matthias Jaros | 3 | +17 | -13 |
| 2026-03-23 11:30 | Added feature to distinguish between blocked by firewall and open ports | Matthias Jaros | 7 | +61 | -43 |
| 2026-03-23 10:38 | Fixed progress bar duplicates and now only redraw lines that actually changes and the rest is fixed | Matthias Jaros | 1 | +14 | -2 |
| 2026-03-16 22:34 | Added maxTargetLimit for a cap that defines how many targets are scanned at the same time. | Matthias Jaros | 4 | +23 | -8 |
| 2026-03-16 16:25 | Formatting | Matthias Jaros | 1 | +5 | -5 |
| 2026-03-16 15:41 | Renamed package | Matthias Jaros | 19 | +472 | -472 |
| 2026-03-16 15:39 | Fixed more sonarlint findings | Matthias Jaros | 3 | +8 | -6 |
| 2026-03-16 15:30 | Refactoring | Matthias Jaros | 1 | +1 | -5 |
| 2026-03-16 15:26 | . | Matthias Jaros | 1 | +3 | -3 |
| 2026-03-16 15:25 | Tiny improvements | Matthias Jaros | 1 | +2 | -2 |
| 2026-03-16 15:21 | Added cli option for worker threads per host | Matthias Jaros | 4 | +18 | -10 |
| 2026-03-16 14:57 | Replaced printStackTrace with proper message, handling interrupts now and also moved workerthreads to target level instead of global level | Matthias Jaros | 2 | +22 | -12 |
| 2026-03-16 11:13 | Set maxWorker cap to 1000 because consistently better and faster results, then when setting it lower or higher the value. | Matthias Jaros | 1 | +1 | -1 |
| 2026-03-16 11:05 | - Removed synchronized on PortRange class, because only called from one thread only. - Added max virtual thread worker cap to reduce memory consumption if required. Therefore also moved progress update into virtual thread, otherwise progress just gets updated at the end of a target host scan. | Matthias Jaros | 2 | +16 | -7 |
| 2026-03-09 16:00 | Moved portslot factory out of input parameters to have less confusion | Matthias Jaros | 1 | +5 | -3 |
| 2026-03-09 15:33 | Changed result Queue to BitSet, which is more memory efficient | Matthias Jaros | 4 | +8 | -9 |
| 2026-03-09 15:19 | Further broke down structure and fixed bug that not all ports got scanned due to early executor shutdown. now handling everything nice in a future that gives return port if it is open | Matthias Jaros | 2 | +31 | -20 |
| 2026-03-09 13:48 | Removed unused comments and code | Matthias Jaros | 1 | +0 | -3 |
| 2026-03-09 13:47 | Tiny rename and scope change | Matthias Jaros | 1 | +3 | -3 |
| 2026-03-09 13:41 | Finally refactored structure of virtual threads in a way that makes sense and feels more natural. Each layer, host target and target port scan has it's own executor and is responsible for it's own updates. return statement is called only when everything is finished | Matthias Jaros | 4 | +38 | -30 |
| 2026-03-09 11:59 | Refactored printing of progress bars to be able to handle adding of more hosts during time | Matthias Jaros | 2 | +28 | -13 |
| 2026-02-22 20:22 | Refactoring | Matthias Jaros | 1 | +3 | -3 |
| 2026-02-22 20:20 | Refactoring | Matthias Jaros | 2 | +11 | -11 |
| 2026-02-22 20:12 | Refactoring für bessere Visibility und Verständnis | Matthias Jaros | 2 | +28 | -26 |
| 2026-02-22 19:32 | Ignore SocketExceptions in case network is not reachable | Matthias Jaros | 1 | +2 | -2 |
| 2026-02-22 19:30 | Refactored port scan method and fixed open ports indicator | Matthias Jaros | 2 | +30 | -20 |
| 2026-02-16 16:58 | Removed unneded variable | Matthias Jaros | 1 | +1 | -2 |
| 2026-02-16 16:56 | Fixed missing 100% on progressbar | Matthias Jaros | 1 | +23 | -10 |
| 2026-02-16 16:38 | Fixed bug that cursors moves too much up and deletes lines depending on number of target hosts | Matthias Jaros | 1 | +15 | -10 |
| 2026-02-16 16:27 | Fixed bug, using the same portrange class per host | Matthias Jaros | 1 | +3 | -2 |
| 2026-02-16 16:24 | Added checks to prevent illegal port numbers | Matthias Jaros | 1 | +28 | -3 |
| 2026-02-16 16:14 | Changed names and removed unused variables | Matthias Jaros | 1 | +15 | -16 |
| 2026-02-16 16:14 | Report order changed | Matthias Jaros | 1 | +2 | -1 |
| 2026-02-16 16:07 | Added PortRange class that generates ports to scan | Matthias Jaros | 2 | +74 | -7 |
| 2026-02-16 16:07 | Added cli option for ports | Matthias Jaros | 2 | +8 | -3 |
| 2026-02-16 16:06 | Make result output more visible by enclosing ip addresses in [] | Matthias Jaros | 1 | +7 | -2 |
| 2026-01-26 18:06 | Better output handling | Matthias Jaros | 1 | +3 | -3 |
| 2026-01-26 17:28 | Added progress bar :-) | Matthias Jaros | 3 | +69 | -4 |
| 2026-01-26 16:50 | Added timeout to cli options | Matthias Jaros | 4 | +43 | -28 |
| 2026-01-26 14:58 | Added timeout | Matthias Jaros | 1 | +1 | -1 |
| 2026-01-26 14:10 | Added multi-target functionality | Matthias Jaros | 6 | +72 | -44 |
| 2026-01-23 23:15 | Adjusted cliparser options | Matthias Jaros | 2 | +19 | -19 |
| 2026-01-23 21:39 | Added support for delayInMillis in between connection attempts | Matthias Jaros | 3 | +14 | -10 |
| 2026-01-23 21:14 | Added cli parser | Matthias Jaros | 5 | +78 | -68 |
| 2026-01-22 20:39 | Added baseline fd | Matthias Jaros | 2 | +7 | -0 |
| 2026-01-22 20:05 | Working version with semaphore counter and rate limiter | Matthias Jaros | 8 | +252 | -0 |
| 2026-07-09 07:49 | LICENSE | Matthias Jaros | 2 | +681 | -0 |
| 2026-01-19 18:00 | README | Matthias Jaros | 1 | +5 | -0 |