瀏覽代碼

Added detection patterns for UNIX timestamps, Zlib deflate, Gzip, Zip and Bzip2.

n1474335 7 年之前
父節點
當前提交
615a020469
共有 2 個文件被更改,包括 59 次插入34 次删除
  1. 45 30
      src/core/config/OperationConfig.js
  2. 14 4
      src/core/operations/FileType.js

+ 45 - 30
src/core/config/OperationConfig.js

@@ -2708,12 +2708,27 @@ const OperationConfig = {
                 value: DateTime.UNITS
             }
         ],
-        patterns: [ // TODO
-            //{
-            //    match: "^$",
-            //    flags: "",
-            //    args: []
-            //},
+        patterns: [
+            {
+                match: "^1?\\d{9}$",
+                flags: "",
+                args: ["Seconds (s)"]
+            },
+            {
+                match: "^1?\\d{12}$",
+                flags: "",
+                args: ["Milliseconds (ms)"]
+            },
+            {
+                match: "^1?\\d{15}$",
+                flags: "",
+                args: ["Microseconds (μs)"]
+            },
+            {
+                match: "^1?\\d{18}$",
+                flags: "",
+                args: ["Nanoseconds (ns)"]
+            },
         ]
     },
     "To UNIX Timestamp": {
@@ -3009,12 +3024,12 @@ const OperationConfig = {
                 value: Compress.INFLATE_VERIFY
             }
         ],
-        patterns: [ // TODO
-            //{
-            //    match: "^$",
-            //    flags: "",
-            //    args: []
-            //},
+        patterns: [
+            {
+                match: "^\\x78(\\x01|\\x9c|\\xda|\\x5e)",
+                flags: "",
+                args: [0, 0, "Adaptive", false, false]
+            },
         ]
     },
     "Gzip": {
@@ -3051,12 +3066,12 @@ const OperationConfig = {
         inputType: "byteArray",
         outputType: "byteArray",
         args: [],
-        patterns: [ // TODO
-            //{
-            //    match: "^$",
-            //    flags: "",
-            //    args: []
-            //},
+        patterns: [
+            {
+                match: "^\\x1f\\x8b\\x08",
+                flags: "",
+                args: []
+            },
         ]
     },
     "Zip": {
@@ -3114,12 +3129,12 @@ const OperationConfig = {
                 value: Compress.PKUNZIP_VERIFY
             }
         ],
-        patterns: [ // TODO
-            //{
-            //    match: "^$",
-            //    flags: "",
-            //    args: []
-            //},
+        patterns: [
+            {
+                match: "^\\x50\\x4b(?:\\x03|\\x05|\\x07)(?:\\x04|\\x06|\\x08)",
+                flags: "",
+                args: ["", false]
+            },
         ]
     },
     "Bzip2 Decompress": {
@@ -3128,12 +3143,12 @@ const OperationConfig = {
         inputType: "byteArray",
         outputType: "string",
         args: [],
-        patterns: [ // TODO
-            //{
-            //    match: "^$",
-            //    flags: "",
-            //    args: []
-            //},
+        patterns: [
+            {
+                match: "^\\x42\\x5a\\x68",
+                flags: "",
+                args: []
+            },
         ]
     },
     "Generic Code Beautify": {

+ 14 - 4
src/core/operations/FileType.js

@@ -225,8 +225,8 @@ const FileType = {
 
         if (buf[0] === 0x78 && buf[1] === 0x01) {
             return {
-                ext: "dmg",
-                mime: "application/x-apple-diskimage"
+                ext: "dmg, zlib",
+                mime: "application/x-apple-diskimage, application/x-deflate"
             };
         }
 
@@ -434,8 +434,11 @@ const FileType = {
             };
         }
 
-        // Added by n1474335 [n1474335@gmail.com] from here on
-        // ################################################################## //
+        /**
+         *
+         * Added by n1474335 [n1474335@gmail.com] from here on
+         *
+         */
         if ((buf[0] === 0x1F && buf[1] === 0x9D) || (buf[0] === 0x1F && buf[1] === 0xA0)) {
             return {
                 ext: "z, tar.z",
@@ -524,6 +527,13 @@ const FileType = {
             };
         }
 
+        if (buf[0] === 0x78 && (buf[1] === 0x01 || buf[1] === 0x9C || buf[1] === 0xDA || buf[1] === 0x5e)) {
+            return {
+                ext: "zlib",
+                mime: "application/x-deflate"
+            };
+        }
+
         return null;
     },