diff --git a/apps/i2psnark/java/build.xml b/apps/i2psnark/java/build.xml
index 2cbcd2ea88..83c0f514a9 100644
--- a/apps/i2psnark/java/build.xml
+++ b/apps/i2psnark/java/build.xml
@@ -70,7 +70,7 @@
-
+
diff --git a/apps/i2psnark/java/src/org/klomp/snark/CommandLine.java b/apps/i2psnark/java/src/org/klomp/snark/CommandLine.java
new file mode 100644
index 0000000000..f82943704c
--- /dev/null
+++ b/apps/i2psnark/java/src/org/klomp/snark/CommandLine.java
@@ -0,0 +1,45 @@
+package org.klomp.snark;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import net.i2p.CoreVersion;
+
+/**
+ * Simple command line access to various utilities.
+ * Not a public API. Subject to change.
+ * Apps and plugins should use specific classes.
+ *
+ * @since 0.9.26
+ */
+public class CommandLine extends net.i2p.util.CommandLine {
+
+ protected static final List SCLASSES = Arrays.asList(new String[] {
+ "org.klomp.snark.MetaInfo",
+ //"org.klomp.snark.Snark",
+ //"org.klomp.snark.StaticSnark",
+ "org.klomp.snark.Storage",
+ "org.klomp.snark.bencode.BDecoder",
+ //"org.klomp.snark.web.RunStandalone",
+ });
+
+ protected CommandLine() {}
+
+ public static void main(String args[]) {
+ List classes = new ArrayList(SCLASSES.size() + CLASSES.size());
+ classes.addAll(SCLASSES);
+ classes.addAll(CLASSES);
+ if (args.length > 0) {
+ exec(args, classes);
+ }
+ usage(classes);
+ System.exit(1);
+ }
+
+ private static void usage(List classes) {
+ System.err.println("I2PSnark version " + CoreVersion.VERSION + '\n' +
+ "USAGE: java -jar /path/to/i2psnark.jar command [args]");
+ printCommands(classes);
+ }
+}