Skip to content

Improvements to Javadocumentation and Database Deserialization #15

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 26 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
7aa56ca
updated version
ic0ns May 20, 2025
8ec3aeb
added uuid to scan job descriptions
ic0ns May 21, 2025
50ef46a
Added retrieval functions
ic0ns May 21, 2025
a528046
fixed slf4j warning
ic0ns May 21, 2025
487453c
added retrieval functions and added javadoc
ic0ns May 21, 2025
bd24017
added codec support
ic0ns May 21, 2025
73ad980
fixed multi module and removed codec classes
ic0ns May 22, 2025
230652e
updated pom
ic0ns May 22, 2025
781085d
added default constructor
ic0ns May 27, 2025
88600ab
switched version
ic0ns May 30, 2025
e9245ad
pom update
ic0ns Jun 9, 2025
7386688
Add comprehensive JavaDoc documentation for core classes
ic0ns Jun 11, 2025
4b1fd9e
Complete JavaDoc documentation for BulkScan class
ic0ns Jun 11, 2025
14a98e2
Document critical infrastructure classes BulkScanWorkerManager and Co…
ic0ns Jun 11, 2025
8ff98bd
Add comprehensive JavaDoc documentation to MongoPersistenceProvider
ic0ns Jun 11, 2025
e903fae
Add comprehensive JavaDoc documentation to RabbitMqOrchestrationProvider
ic0ns Jun 11, 2025
6efe686
Add comprehensive JavaDoc documentation to ControllerCommandConfig
ic0ns Jun 11, 2025
85554fa
Add comprehensive JavaDoc documentation to ProgressMonitor
ic0ns Jun 11, 2025
e69a042
Complete JavaDoc documentation for 100% coverage
ic0ns Jun 11, 2025
9aa9d06
Fix IPv6 parsing in ScanTarget
ic0ns Jun 11, 2025
ac7c438
Support multiple IPs per hostname in ScanTarget
ic0ns Jun 11, 2025
ecf6b57
Improve exception handling information in ScanTarget
ic0ns Jun 11, 2025
837cb32
Merge remote-tracking branch 'origin/main' into json
ic0ns Jun 16, 2025
23c7f1f
Merge remote-tracking branch 'origin/feature/improve-java-documentati…
ic0ns Jun 16, 2025
426dd69
fixed versions in pom
ic0ns Jun 17, 2025
daf27f7
compressed javadoc
ic0ns Jun 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@
<dependency>
<groupId>de.rub.nds</groupId>
<artifactId>scanner-core</artifactId>
<version>5.5.0</version>
<version>6.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
Expand All @@ -135,6 +135,14 @@
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>jakarta.persistence</artifactId>
Expand Down Expand Up @@ -182,8 +190,7 @@
<configuration>
<filesets>
<fileset>
<!--suppress UnresolvedMavenProperty -->
<directory>${maven.multiModuleProjectDirectory}/apps</directory>
<directory>${project.basedir}/apps</directory>
</fileset>
</filesets>
</configuration>
Expand All @@ -198,8 +205,7 @@
<excludeDefaultDirectories>true</excludeDefaultDirectories>
<filesets>
<fileset>
<!--suppress UnresolvedMavenProperty -->
<directory>${maven.multiModuleProjectDirectory}/apps</directory>
<directory>${project.basedir}/apps</directory>
</fileset>
</filesets>
</configuration>
Expand Down
50 changes: 50 additions & 0 deletions src/main/java/de/rub/nds/crawler/CommonMain.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,50 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
* Main entry point for the TLS-Crawler application.
*
* <p>This class provides the command-line interface for running the TLS-Crawler in two modes:
*
* <ul>
* <li><strong>Controller</strong> - Orchestrates scan jobs and manages the scanning workflow
* <li><strong>Worker</strong> - Executes individual scan tasks assigned by the controller
* </ul>
*
* <p>The application uses RabbitMQ for communication between controllers and workers, and MongoDB
* for persistence of scan results and job status.
*
* <p>Usage examples:
*
* <pre>
* java -jar crawler-core.jar controller --config controller.properties
* java -jar crawler-core.jar worker --config worker.properties
* </pre>
*
* @see Controller
* @see Worker
* @see ControllerCommandConfig
* @see WorkerCommandConfig
*/
public class CommonMain {
private static final Logger LOGGER = LogManager.getLogger();

/** Private constructor to prevent instantiation of utility class. */
private CommonMain() {
// Utility class should not be instantiated
}

/**
* Main entry point for the TLS-Crawler application.
*
* <p>Parses command line arguments to determine whether to run as a controller or worker,
* initializes the appropriate configuration and dependencies, and starts the selected mode.
*
* @param args command line arguments including the mode ("controller" or "worker") and
* configuration parameters
* @param controllerCommandConfig configuration for controller mode
* @param workerCommandConfig configuration for worker mode
*/
public static void main(
String[] args,
ControllerCommandConfig controllerCommandConfig,
Expand Down Expand Up @@ -71,6 +112,15 @@ public static void main(
}
}

/**
* Convenience method for running the application with only controller configuration.
*
* <p>Creates a default worker configuration and delegates to the main method. This is useful
* when only controller functionality is needed.
*
* @param args command line arguments
* @param controllerConfig configuration for controller mode
*/
public static void main(String[] args, ControllerCommandConfig controllerConfig) {
main(args, controllerConfig, new WorkerCommandConfig());
}
Expand Down
Loading