diff --git a/java_console/build.xml b/java_console/build.xml
index c8be7f72c4..ecda8bacd1 100644
--- a/java_console/build.xml
+++ b/java_console/build.xml
@@ -55,6 +55,7 @@
+
diff --git a/java_console/shared_io/shared_io.iml b/java_console/shared_io/shared_io.iml
index b1d8b0ac28..6711231c0c 100644
--- a/java_console/shared_io/shared_io.iml
+++ b/java_console/shared_io/shared_io.iml
@@ -4,9 +4,14 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/java_console/shared_io/src/main/java/com/rusefi/SignatureHelper.java b/java_console/shared_io/src/main/java/com/rusefi/SignatureHelper.java
new file mode 100644
index 0000000000..57707d62dd
--- /dev/null
+++ b/java_console/shared_io/src/main/java/com/rusefi/SignatureHelper.java
@@ -0,0 +1,23 @@
+package com.rusefi;
+
+public class SignatureHelper {
+
+ public static final String PREFIX = "rusEFI ";
+
+ static String getUrl(String signature) {
+ if (!signature.startsWith(PREFIX))
+ return null;
+ signature = signature.substring(PREFIX.length()).trim();
+ String[] elements = signature.split("\\.");
+ if (elements.length != 5)
+ return null;
+
+ String year = elements[0];
+ String month = elements[1];
+ String day = elements[2];
+ String bundle = elements[3];
+ String hash = elements[4];
+
+ return "https://rusefi.com/online/ini/rusefi/" + year + "/" + month + "/" + day + "/" + bundle + "/" + hash + ".ini";
+ }
+}
diff --git a/java_console/shared_io/src/test/java/com/rusefi/SignatureHelperTest.java b/java_console/shared_io/src/test/java/com/rusefi/SignatureHelperTest.java
new file mode 100644
index 0000000000..f67e02a7ab
--- /dev/null
+++ b/java_console/shared_io/src/test/java/com/rusefi/SignatureHelperTest.java
@@ -0,0 +1,13 @@
+package com.rusefi;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class SignatureHelperTest {
+ @Test
+ public void test() {
+ String url = SignatureHelper.getUrl("rusEFI 2020.07.06.frankenso_na6.2468827536");
+ assertEquals("https://rusefi.com/online/ini/rusefi/2020/07/06/frankenso_na6/2468827536.ini", url);
+ }
+}