templates/shodan.html (3444B)
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8" />
5 <title>Shodan Search</title>
6 <!-- Bootstrap CSS -->
7 <link
8 href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"
9 rel="stylesheet"
10 />
11 </head>
12
13 <body>
14 <nav class="navbar navbar-expand-lg navbar-light bg-light">
15 <a class="navbar-brand" href="#">Navigation</a>
16 <button
17 class="navbar-toggler"
18 type="button"
19 data-toggle="collapse"
20 data-target="#navbarNav"
21 aria-controls="navbarNav"
22 aria-expanded="false"
23 aria-label="Toggle navigation"
24 >
25 <span class="navbar-toggler-icon"></span>
26 </button>
27 <div class="collapse navbar-collapse" id="navbarNav">
28 <ul class="navbar-nav">
29 <li class="nav-item active">
30 <a class="nav-link" href="/">IP & Domain Country Finder</a>
31 </li>
32 <li class="nav-item">
33 <a class="nav-link" href="/ascii_to_char">ASCII Code Converter</a>
34 </li>
35 <li class="nav-item">
36 <a class="nav-link" href="/utf8_decoder">UTF-8 Decoder</a>
37 </li>
38 <li class="nav-item">
39 <a class="nav-link" href="/news">News</a>
40 </li>
41 <li class="nav-item">
42 <a class="nav-link" href="/shodan">Shodan</a>
43 </li>
44 <li class="nav-item">
45 <a class="nav-link" href="/krcert">Krcert</a>
46 </li>
47 </ul>
48 </div>
49 </nav>
50
51 <div class="container">
52 <h1 class="mt-5">Shodan Search</h1>
53 <form method="POST">
54 <div class="mb-3">
55 <label for="query" class="form-label">IP / Domain</label>
56 <input
57 type="text"
58 class="form-control"
59 id="query"
60 name="query"
61 required
62 />
63 </div>
64 <button type="submit" class="btn btn-primary">Search</button>
65 </form>
66 {% if results %}
67 <h2 class="my-4">Results</h2>
68 <table class="table">
69 <thead>
70 <tr>
71 <th>Key</th>
72 <th>Value</th>
73 </tr>
74 </thead>
75 <tbody>
76 {% for key, value in results.items() %} {% if value is mapping %} {%
77 for sub_key, sub_value in value.items() %}
78 <tr>
79 <td>{{ key }}.{{ sub_key }}</td>
80 <td>{{ sub_value }}</td>
81 </tr>
82 {% endfor %} {% elif value is iterable and value is not string %} {%
83 for element in value %} {% if element is mapping %} {% for sub_key,
84 sub_value in element.items() %}
85 <tr>
86 <td>{{ key }}[{{ loop.index }}].{{ sub_key }}</td>
87 <td>{{ sub_value }}</td>
88 </tr>
89 {% endfor %} {% else %}
90 <tr>
91 <td>{{ key }}[{{ loop.index }}]</td>
92 <td>{{ element }}</td>
93 </tr>
94 {% endif %} {% endfor %} {% else %}
95 <tr>
96 <td>{{ key }}</td>
97 <td>{{ value }}</td>
98 </tr>
99 {% endif %} {% endfor %}
100 </tbody>
101 </table>
102 {% endif %}
103 </div>
104
105 <!-- Optional JavaScript -->
106 <!-- jQuery first, then Popper.js, then Bootstrap JS -->
107 <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
108 <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.bundle.min.js"></script>
109 </body>
110 </html>