File: file_inspector.html

package info (click to toggle)
chromium 138.0.7204.183-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 6,071,908 kB
  • sloc: cpp: 34,937,088; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,953; asm: 946,768; xml: 739,971; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,806; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (86 lines) | stat: -rw-r--r-- 2,300 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<!doctype html>
<!--
  File inspector is a simple tool for understanding the contents of various
  updater-related binary files, such as ZIP files or zucchini patch files.
 -->
<html>
  <head>
    <title>File Inspector</title>
    <meta charset="utf-8"></meta>
    <style>
      body {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        font-family: sans-serif;
      }
      #help {
        padding: 1em;
      }
      #hexdump {
        max-width: 27.5em;
        overflow-wrap: break-word;
        font-family: monospace;
      }
      #hexdump > span > span {
        margin-left: 0.25em;
        margin-right: 0.25em;
      }
      #json {
        white-space: pre;
      }
      #output {
        display: flex;
        gap: 2em;
        align-items: flex-start;
      }
      #output > div {
        position: sticky;
        top: 0;
      }
    </style>
    <script src="insight-box.js" type="module"></script>
    <script src="parser.js" type="module"></script>
  </head>
  <body>
    <div id="controls">
      <label><input type="file" id="file"></input></label>
      <label>File Type:
        <select id="filetype">
          <option value="zucc">Zucchini Patch File</option>
        </select>
      </label>
    </div>
    <div id="output">
      <div id="hexdump"></div>
      <div id="json"></div>
      <div id="findings"></div>
    </div>
    <div id="help">
    </div>
    <script type="module">
      import {render} from "./parser.js";

      document.getElementById("file").addEventListener("change", () => {
        const hexdump = document.getElementById("hexdump");
        const json = document.getElementById("json");
        const findings = document.getElementById("findings");
        hexdump.innerHTML = "Loading file...";
        json.innerHTML = "";
        findings.innerHTML = "";
        const reader = new FileReader();
        reader.addEventListener("loadend", () => {
          hexdump.innerHTML = "";
          render(
            new DataView(reader.result),
            document.getElementById("filetype").value,
            hexdump,
            json,
            findings);
          });
        reader.readAsArrayBuffer(document.getElementById("file").files[0]);
      });
    </script>
  </body>
</html>