mihari 5.7.0 → 5.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/lib/mihari/actor.rb +10 -4
  4. data/lib/mihari/commands/alert.rb +6 -4
  5. data/lib/mihari/commands/search.rb +10 -29
  6. data/lib/mihari/enrichers/ipinfo.rb +1 -1
  7. data/lib/mihari/entities/tag.rb +1 -0
  8. data/lib/mihari/rule.rb +14 -0
  9. data/lib/mihari/service.rb +12 -2
  10. data/lib/mihari/services/alert_builder.rb +81 -8
  11. data/lib/mihari/services/alert_runner.rb +3 -10
  12. data/lib/mihari/services/rule_builder.rb +8 -10
  13. data/lib/mihari/services/rule_runner.rb +2 -25
  14. data/lib/mihari/structs/binaryedge.rb +9 -0
  15. data/lib/mihari/structs/censys.rb +0 -14
  16. data/lib/mihari/structs/fofa.rb +3 -0
  17. data/lib/mihari/structs/google_public_dns.rb +0 -4
  18. data/lib/mihari/structs/greynoise.rb +0 -6
  19. data/lib/mihari/structs/hunterhow.rb +0 -6
  20. data/lib/mihari/structs/ipinfo.rb +0 -2
  21. data/lib/mihari/structs/onyphe.rb +0 -4
  22. data/lib/mihari/structs/shodan.rb +0 -2
  23. data/lib/mihari/structs/urlscan.rb +0 -6
  24. data/lib/mihari/structs/virustotal_intelligence.rb +0 -8
  25. data/lib/mihari/version.rb +1 -1
  26. data/lib/mihari/web/app.rb +20 -17
  27. data/lib/mihari/web/endpoints/alerts.rb +75 -38
  28. data/lib/mihari/web/endpoints/artifacts.rb +60 -53
  29. data/lib/mihari/web/endpoints/ip_addresses.rb +19 -4
  30. data/lib/mihari/web/endpoints/rules.rb +132 -88
  31. data/lib/mihari/web/endpoints/tags.rb +15 -13
  32. data/lib/mihari/web/public/assets/{index-821134e2.js → index-07fafab5.js} +4 -3
  33. data/lib/mihari/web/public/index.html +1 -1
  34. data/lib/mihari.rb +0 -1
  35. data/mihari.gemspec +1 -1
  36. data/mkdocs.yml +1 -0
  37. metadata +3 -130
  38. data/docs/alternatives.md +0 -5
  39. data/docs/analyzers/binaryedge.md +0 -26
  40. data/docs/analyzers/censys.md +0 -31
  41. data/docs/analyzers/circl.md +0 -37
  42. data/docs/analyzers/crtsh.md +0 -26
  43. data/docs/analyzers/dnstwister.md +0 -25
  44. data/docs/analyzers/feed.md +0 -73
  45. data/docs/analyzers/fofa.md +0 -31
  46. data/docs/analyzers/greynoise.md +0 -26
  47. data/docs/analyzers/hunterhow.md +0 -33
  48. data/docs/analyzers/index.md +0 -104
  49. data/docs/analyzers/onyphe.md +0 -26
  50. data/docs/analyzers/otx.md +0 -28
  51. data/docs/analyzers/passivetotal.md +0 -52
  52. data/docs/analyzers/pulsedive.md +0 -28
  53. data/docs/analyzers/securitytrails.md +0 -41
  54. data/docs/analyzers/shodan.md +0 -26
  55. data/docs/analyzers/urlscan.md +0 -28
  56. data/docs/analyzers/virustotal.md +0 -43
  57. data/docs/analyzers/virustotal_intelligence.md +0 -33
  58. data/docs/analyzers/zoomeye.md +0 -38
  59. data/docs/configuration.md +0 -35
  60. data/docs/emitters/database.md +0 -22
  61. data/docs/emitters/hive.md +0 -26
  62. data/docs/emitters/index.md +0 -36
  63. data/docs/emitters/misp.md +0 -21
  64. data/docs/emitters/slack.md +0 -21
  65. data/docs/emitters/webhook.md +0 -63
  66. data/docs/enrichers/google_public_dns.md +0 -19
  67. data/docs/enrichers/index.md +0 -35
  68. data/docs/enrichers/ipinfo.md +0 -26
  69. data/docs/enrichers/shodan.md +0 -22
  70. data/docs/enrichers/whois.md +0 -17
  71. data/docs/github_actions.md +0 -43
  72. data/docs/index.md +0 -11
  73. data/docs/installation.md +0 -31
  74. data/docs/requirements.md +0 -13
  75. data/docs/rule.md +0 -168
  76. data/docs/tags.md +0 -3
  77. data/docs/usage.md +0 -103
  78. data/frontend/.eslintrc.cjs +0 -22
  79. data/frontend/.gitignore +0 -31
  80. data/frontend/.prettierrc.json +0 -8
  81. data/frontend/README.md +0 -3
  82. data/frontend/env.d.ts +0 -5
  83. data/frontend/index.html +0 -21
  84. data/frontend/package-lock.json +0 -7219
  85. data/frontend/package.json +0 -67
  86. data/frontend/public/favicon.ico +0 -0
  87. data/frontend/scripts/swagger_doc_to_yaml.rb +0 -23
  88. data/frontend/src/App.vue +0 -27
  89. data/frontend/src/ace-config.ts +0 -6
  90. data/frontend/src/api-helper.ts +0 -111
  91. data/frontend/src/api.ts +0 -105
  92. data/frontend/src/components/ErrorMessage.vue +0 -31
  93. data/frontend/src/components/Loading.vue +0 -15
  94. data/frontend/src/components/Navbar.vue +0 -42
  95. data/frontend/src/components/Pagination.vue +0 -119
  96. data/frontend/src/components/alert/Alert.vue +0 -87
  97. data/frontend/src/components/alert/Alerts.vue +0 -63
  98. data/frontend/src/components/alert/AlertsWithPagination.vue +0 -90
  99. data/frontend/src/components/alert/AlertsWrapper.vue +0 -128
  100. data/frontend/src/components/alert/Form.vue +0 -169
  101. data/frontend/src/components/artifact/AS.vue +0 -23
  102. data/frontend/src/components/artifact/Artifact.vue +0 -287
  103. data/frontend/src/components/artifact/ArtifactTag.vue +0 -64
  104. data/frontend/src/components/artifact/ArtifactTags.vue +0 -29
  105. data/frontend/src/components/artifact/ArtifactWrapper.vue +0 -57
  106. data/frontend/src/components/artifact/CPEs.vue +0 -23
  107. data/frontend/src/components/artifact/DnsRecords.vue +0 -32
  108. data/frontend/src/components/artifact/Ports.vue +0 -23
  109. data/frontend/src/components/artifact/ReverseDnsNames.vue +0 -23
  110. data/frontend/src/components/artifact/Tags.vue +0 -29
  111. data/frontend/src/components/artifact/WhoisRecord.vue +0 -44
  112. data/frontend/src/components/config/Configs.vue +0 -65
  113. data/frontend/src/components/config/ConfigsWrapper.vue +0 -32
  114. data/frontend/src/components/link/Link.vue +0 -32
  115. data/frontend/src/components/link/Links.vue +0 -42
  116. data/frontend/src/components/rule/EditRule.vue +0 -72
  117. data/frontend/src/components/rule/EditRuleWrapper.vue +0 -48
  118. data/frontend/src/components/rule/Form.vue +0 -158
  119. data/frontend/src/components/rule/InputForm.vue +0 -45
  120. data/frontend/src/components/rule/NewRule.vue +0 -57
  121. data/frontend/src/components/rule/Rule.vue +0 -100
  122. data/frontend/src/components/rule/RuleWrapper.vue +0 -53
  123. data/frontend/src/components/rule/Rules.vue +0 -84
  124. data/frontend/src/components/rule/RulesWrapper.vue +0 -121
  125. data/frontend/src/components/rule/YAML.vue +0 -37
  126. data/frontend/src/components/tag/Tag.vue +0 -65
  127. data/frontend/src/components/tag/Tags.vue +0 -37
  128. data/frontend/src/countries.ts +0 -350
  129. data/frontend/src/index.ts +0 -20
  130. data/frontend/src/links/anyrun.ts +0 -19
  131. data/frontend/src/links/base.ts +0 -14
  132. data/frontend/src/links/censys.ts +0 -20
  133. data/frontend/src/links/crtsh.ts +0 -20
  134. data/frontend/src/links/dnslytics.ts +0 -38
  135. data/frontend/src/links/greynoise.ts +0 -20
  136. data/frontend/src/links/index.ts +0 -40
  137. data/frontend/src/links/intezer.ts +0 -20
  138. data/frontend/src/links/otx.ts +0 -33
  139. data/frontend/src/links/securitytrails.ts +0 -38
  140. data/frontend/src/links/shodan.ts +0 -20
  141. data/frontend/src/links/urlscan.ts +0 -50
  142. data/frontend/src/links/virustotal.ts +0 -72
  143. data/frontend/src/main.ts +0 -41
  144. data/frontend/src/router/index.ts +0 -57
  145. data/frontend/src/rule.ts +0 -14
  146. data/frontend/src/shims-vue.d.ts +0 -6
  147. data/frontend/src/swagger.yaml +0 -771
  148. data/frontend/src/types.ts +0 -188
  149. data/frontend/src/utils.ts +0 -54
  150. data/frontend/src/views/Alerts.vue +0 -20
  151. data/frontend/src/views/Artifact.vue +0 -39
  152. data/frontend/src/views/Configs.vue +0 -20
  153. data/frontend/src/views/EditRule.vue +0 -39
  154. data/frontend/src/views/NewRule.vue +0 -26
  155. data/frontend/src/views/Rule.vue +0 -39
  156. data/frontend/src/views/Rules.vue +0 -20
  157. data/frontend/tests/utils.spec.ts +0 -9
  158. data/frontend/tsconfig.app.json +0 -21
  159. data/frontend/tsconfig.json +0 -14
  160. data/frontend/tsconfig.node.json +0 -13
  161. data/frontend/tsconfig.vitest.json +0 -12
  162. data/frontend/vite.config.ts +0 -24
  163. data/frontend/vitest.config.ts +0 -21
  164. data/lib/mihari/services/alert_proxy.rb +0 -97
@@ -1,350 +0,0 @@
1
- import type { Country } from "@/types"
2
-
3
- const COUNTRIES: Country[] = [
4
- { name: "Afghanistan", lat: 33.93911, long: 67.709953, code: "AF" },
5
- { name: "Albania", lat: 41.153332, long: 20.168331, code: "AL" },
6
- { name: "Algeria", lat: 28.033886, long: 1.659626, code: "DZ" },
7
- { name: "American Samoa", lat: -14.270972, long: -170.132217, code: "AS" },
8
- { name: "Andorra", lat: 42.546245, long: 1.601554, code: "AD" },
9
- { name: "Angola", lat: -11.202692, long: 17.873887, code: "AO" },
10
- { name: "Anguilla", lat: 18.220554, long: -63.068615, code: "AI" },
11
- { name: "Antarctica", lat: -75.250973, long: -0.071389, code: "AQ" },
12
- { name: "Antigua and Barbuda", lat: 17.060816, long: -61.796428, code: "AG" },
13
- { name: "Argentina", lat: -38.416097, long: -63.616672, code: "AR" },
14
- { name: "Armenia", lat: 40.069099, long: 45.038189, code: "AM" },
15
- { name: "Aruba", lat: 12.52111, long: -69.968338, code: "AW" },
16
- { name: "Australia", lat: -25.274398, long: 133.775136, code: "AU" },
17
- { name: "Austria", lat: 47.516231, long: 14.550072, code: "AT" },
18
- { name: "Azerbaijan", lat: 40.143105, long: 47.576927, code: "AZ" },
19
- { name: "Bahamas", lat: 25.03428, long: -77.39628, code: "BS" },
20
- { name: "Bahrain", lat: 25.930414, long: 50.637772, code: "BH" },
21
- { name: "Bangladesh", lat: 23.684994, long: 90.356331, code: "BD" },
22
- { name: "Barbados", lat: 13.193887, long: -59.543198, code: "BB" },
23
- { name: "Belarus", lat: 53.709807, long: 27.953389, code: "BY" },
24
- { name: "Belgium", lat: 50.503887, long: 4.469936, code: "BE" },
25
- { name: "Belize", lat: 17.189877, long: -88.49765, code: "BZ" },
26
- { name: "Benin", lat: 9.30769, long: 2.315834, code: "BJ" },
27
- { name: "Bermuda", lat: 32.321384, long: -64.75737, code: "BM" },
28
- { name: "Bhutan", lat: 27.514162, long: 90.433601, code: "BT" },
29
- { name: "Bolivia", lat: -16.290154, long: -63.588653, code: "BO" },
30
- { name: "Bosnia", lat: 43.915886, long: 17.679076, code: "BA" },
31
- { name: "Botswana", lat: -22.328474, long: 24.684866, code: "BW" },
32
- { name: "Bouvet Island", lat: -54.423199, long: 3.413194, code: "BV" },
33
- { name: "Brazil", lat: -14.235004, long: -51.92528, code: "BR" },
34
- {
35
- name: "British Indian Ocean Territory",
36
- lat: -6.343194,
37
- long: 71.876519,
38
- code: "IO"
39
- },
40
- { name: "Brunei", lat: 4.535277, long: 114.727669, code: "BN" },
41
- { name: "Bulgaria", lat: 42.733883, long: 25.48583, code: "BG" },
42
- { name: "Burkina Faso", lat: 12.238333, long: -1.561593, code: "BF" },
43
- { name: "Burundi", lat: -3.373056, long: 29.918886, code: "BI" },
44
- { name: "Cabo Verde", lat: 16.002082, long: -24.013197, code: "CV" },
45
- { name: "Cambodia", lat: 12.565679, long: 104.990963, code: "KH" },
46
- { name: "Cameroon", lat: 7.369722, long: 12.354722, code: "CM" },
47
- { name: "Canada", lat: 56.130366, long: -106.346771, code: "CA" },
48
- { name: "Cayman Islands", lat: 19.513469, long: -80.566956, code: "KY" },
49
- {
50
- name: "Central African Republic",
51
- lat: 6.611111,
52
- long: 20.939444,
53
- code: "CF"
54
- },
55
- { name: "Caribbean Netherlands", lat: 12.2, long: -68.26, code: "BQ" },
56
- { name: "Chad", lat: 15.454166, long: 18.732207, code: "TD" },
57
- { name: "Chile", lat: -35.675147, long: -71.542969, code: "CL" },
58
- { name: "China", lat: 35.86166, long: 104.195397, code: "CN" },
59
- { name: "Christmas Island", lat: -10.447525, long: 105.690449, code: "CX" },
60
- {
61
- name: "Cocos (Keeling) Islands",
62
- lat: -12.164165,
63
- long: 96.870956,
64
- code: "CC"
65
- },
66
- { name: "Colombia", lat: 4.570868, long: -74.297333, code: "CO" },
67
- { name: "Comoros", lat: -11.875001, long: 43.872219, code: "KM" },
68
- { name: "Congo", lat: -0.228021, long: 15.827659, code: "CG" },
69
- { name: "DRC", lat: -4.038333, long: 21.758664, code: "CD" },
70
- { name: "Cook Islands", lat: -21.236736, long: -159.777671, code: "CK" },
71
- { name: "Costa Rica", lat: 9.748917, long: -83.753428, code: "CR" },
72
- { name: 'Côte d"Ivoire', lat: 7.539989, long: -5.54708, code: "CI" },
73
- { name: "Croatia", lat: 45.1, long: 15.2, code: "HR" },
74
- { name: "Cuba", lat: 21.521757, long: -77.781167, code: "CU" },
75
- { name: "Curaçao", lat: 12.15, long: -68.97, code: "CW" },
76
- { name: "Cyprus", lat: 35.126413, long: 33.429859, code: "CY" },
77
- { name: "Czechia", lat: 49.817492, long: 15.472962, code: "CZ" },
78
- { name: "Denmark", lat: 56.26392, long: 9.501785, code: "DK" },
79
- { name: "Djibouti", lat: 11.825138, long: 42.590275, code: "DJ" },
80
- { name: "Dominica", lat: 15.414999, long: -61.370976, code: "DM" },
81
- { name: "Dominican Republic", lat: 18.735693, long: -70.162651, code: "DO" },
82
- { name: "Ecuador", lat: -1.831239, long: -78.183406, code: "EC" },
83
- { name: "Egypt", lat: 26.820553, long: 30.802498, code: "EG" },
84
- { name: "El Salvador", lat: 13.794185, long: -88.89653, code: "SV" },
85
- { name: "Equatorial Guinea", lat: 1.650801, long: 10.267895, code: "GQ" },
86
- { name: "Eritrea", lat: 15.179384, long: 39.782334, code: "ER" },
87
- { name: "Estonia", lat: 58.595272, long: 25.013607, code: "EE" },
88
- { name: "Ethiopia", lat: 9.145, long: 40.489673, code: "ET" },
89
- {
90
- name: "Falkland Islands (Malvinas)",
91
- lat: -51.796253,
92
- long: -59.523613,
93
- code: "FK"
94
- },
95
- { name: "Faroe Islands", lat: 61.892635, long: -6.911806, code: "FO" },
96
- { name: "Fiji", lat: -16.578193, long: 179.414413, code: "FJ" },
97
- { name: "Finland", lat: 61.92411, long: 25.748151, code: "FI" },
98
- { name: "France", lat: 46.227638, long: 2.213749, code: "FR" },
99
- { name: "French Guiana", lat: 3.933889, long: -53.125782, code: "GF" },
100
- { name: "French Polynesia", lat: -17.679742, long: -149.406843, code: "PF" },
101
- {
102
- name: "French Southern Territories",
103
- lat: -49.280366,
104
- long: 69.348557,
105
- code: "TF"
106
- },
107
- { name: "Gabon", lat: -0.803689, long: 11.609444, code: "GA" },
108
- { name: "Gambia", lat: 13.443182, long: -15.310139, code: "GM" },
109
- { name: "Georgia", lat: 42.315407, long: 43.356892, code: "GE" },
110
- { name: "Germany", lat: 51.165691, long: 10.451526, code: "DE" },
111
- { name: "Ghana", lat: 7.946527, long: -1.023194, code: "GH" },
112
- { name: "Gibraltar", lat: 36.137741, long: -5.345374, code: "GI" },
113
- { name: "Greece", lat: 39.074208, long: 21.824312, code: "GR" },
114
- { name: "Greenland", lat: 71.706936, long: -42.604303, code: "GL" },
115
- { name: "Grenada", lat: 12.262776, long: -61.604171, code: "GD" },
116
- { name: "Guadeloupe", lat: 16.995971, long: -62.067641, code: "GP" },
117
- { name: "Guam", lat: 13.444304, long: 144.793731, code: "GU" },
118
- { name: "Guatemala", lat: 15.783471, long: -90.230759, code: "GT" },
119
- { name: "Guernsey", lat: 49.465691, long: -2.585278, code: "GG" },
120
- { name: "Guinea", lat: 9.945587, long: -9.696645, code: "GN" },
121
- { name: "Guinea-Bissau", lat: 11.803749, long: -15.180413, code: "GW" },
122
- { name: "Guyana", lat: 4.860416, long: -58.93018, code: "GY" },
123
- { name: "Haiti", lat: 18.971187, long: -72.285215, code: "HT" },
124
- {
125
- name: "Heard Island and McDonald Islands",
126
- lat: -53.08181,
127
- long: 73.504158,
128
- code: "HM"
129
- },
130
- {
131
- name: "Holy See (Vatican City State)",
132
- lat: 41.902916,
133
- long: 12.453389,
134
- code: "VA"
135
- },
136
- { name: "Honduras", lat: 15.199999, long: -86.241905, code: "HN" },
137
- { name: "Hong Kong", lat: 22.396428, long: 114.109497, code: "HK" },
138
- { name: "Hungary", lat: 47.162494, long: 19.503304, code: "HU" },
139
- { name: "Iceland", lat: 64.963051, long: -19.020835, code: "IS" },
140
- { name: "India", lat: 20.593684, long: 78.96288, code: "IN" },
141
- { name: "Indonesia", lat: -0.789275, long: 113.921327, code: "ID" },
142
- { name: "Iran", lat: 32.427908, long: 53.688046, code: "IR" },
143
- { name: "Iraq", lat: 33.223191, long: 43.679291, code: "IQ" },
144
- { name: "Ireland", lat: 53.41291, long: -8.24389, code: "IE" },
145
- { name: "Isle of Man", lat: 54.236107, long: -4.548056, code: "IM" },
146
- { name: "Israel", lat: 31.046051, long: 34.851612, code: "IL" },
147
- { name: "Italy", lat: 41.87194, long: 12.56738, code: "IT" },
148
- { name: "Jamaica", lat: 18.109581, long: -77.297508, code: "JM" },
149
- { name: "Japan", lat: 36.204824, long: 138.252924, code: "JP" },
150
- { name: "Channel Islands", lat: 49.214439, long: -2.13125, code: "JE" },
151
- { name: "Jordan", lat: 30.585164, long: 36.238414, code: "JO" },
152
- { name: "Kazakhstan", lat: 48.019573, long: 66.923684, code: "KZ" },
153
- { name: "Kenya", lat: -0.023559, long: 37.906193, code: "KE" },
154
- { name: "Kiribati", lat: -3.370417, long: -168.734039, code: "KI" },
155
- { name: "Kosovo", lat: 42.602636, long: 20.902977, code: "XK" },
156
- { name: "N. Korea", lat: 40.339852, long: 127.510093, code: "KP" },
157
- { name: "S. Korea", lat: 35.907757, long: 127.766922, code: "KR" },
158
- { name: "Kuwait", lat: 29.31166, long: 47.481766, code: "KW" },
159
- { name: "Kyrgyzstan", lat: 41.20438, long: 74.766098, code: "KG" },
160
- {
161
- name: 'Lao People"s Democratic Republic',
162
- lat: 19.85627,
163
- long: 102.495496,
164
- code: "LA"
165
- },
166
- { name: "Latvia", lat: 56.879635, long: 24.603189, code: "LV" },
167
- { name: "Lebanon", lat: 33.854721, long: 35.862285, code: "LB" },
168
- { name: "Lesotho", lat: -29.609988, long: 28.233608, code: "LS" },
169
- { name: "Liberia", lat: 6.428055, long: -9.429499, code: "LR" },
170
- { name: "Libyan Arab Jamahiriya", lat: 26.3351, long: 17.228331, code: "LY" },
171
- { name: "Liechtenstein", lat: 47.166, long: 9.555373, code: "LI" },
172
- { name: "Lithuania", lat: 55.169438, long: 23.881275, code: "LT" },
173
- { name: "Luxembourg", lat: 49.815273, long: 6.129583, code: "LU" },
174
- { name: "Macao", lat: 22.198745, long: 113.543873, code: "MO" },
175
- { name: "Macedonia", lat: 41.608635, long: 21.745275, code: "MK" },
176
- { name: "Madagascar", lat: -18.766947, long: 46.869107, code: "MG" },
177
- { name: "Malawi", lat: -13.254308, long: 34.301525, code: "MW" },
178
- { name: "Malaysia", lat: 4.210484, long: 101.975766, code: "MY" },
179
- { name: "Maldives", lat: 3.202778, long: 73.22068, code: "MV" },
180
- { name: "Mali", lat: 17.570692, long: -3.996166, code: "ML" },
181
- { name: "Malta", lat: 35.937496, long: 14.375416, code: "MT" },
182
- { name: "Marshall Islands", lat: 7.131474, long: 171.184478, code: "MH" },
183
- { name: "Martinique", lat: 14.641528, long: -61.024174, code: "MQ" },
184
- { name: "Mauritania", lat: 21.00789, long: -10.940835, code: "MR" },
185
- { name: "Mauritius", lat: -20.348404, long: 57.552152, code: "MU" },
186
- { name: "Mayotte", lat: -12.8275, long: 45.166244, code: "YT" },
187
- { name: "Mexico", lat: 23.634501, long: -102.552784, code: "MX" },
188
- { name: "Micronesia", lat: 7.425554, long: 150.550812, code: "FM" },
189
- { name: "Moldova", lat: 47.411631, long: 28.369885, code: "MD" },
190
- { name: "Monaco", lat: 43.750298, long: 7.412841, code: "MC" },
191
- { name: "Mongolia", lat: 46.862496, long: 103.846656, code: "MN" },
192
- { name: "Montenegro", lat: 42.708678, long: 19.37439, code: "ME" },
193
- { name: "Montserrat", lat: 16.742498, long: -62.187366, code: "MS" },
194
- { name: "Morocco", lat: 31.791702, long: -7.09262, code: "MA" },
195
- { name: "Mozambique", lat: -18.665695, long: 35.529562, code: "MZ" },
196
- { name: "Myanmar", lat: 21.913965, long: 95.956223, code: "MM" },
197
- { name: "Burma", lat: 22.0, long: 98.0, code: "BU" },
198
- { name: "Namibia", lat: -22.95764, long: 18.49041, code: "NA" },
199
- { name: "Nauru", lat: -0.522778, long: 166.931503, code: "NR" },
200
- { name: "Nepal", lat: 28.394857, long: 84.124008, code: "NP" },
201
- { name: "Netherlands", lat: 52.132633, long: 5.291266, code: "NL" },
202
- {
203
- name: "Netherlands Antilles",
204
- lat: 12.226079,
205
- long: -69.060087,
206
- code: "AN"
207
- },
208
- { name: "New Caledonia", lat: -20.904305, long: 165.618042, code: "NC" },
209
- { name: "New Zealand", lat: -40.900557, long: 174.885971, code: "NZ" },
210
- { name: "Nicaragua", lat: 12.865416, long: -85.207229, code: "NI" },
211
- { name: "Niger", lat: 17.607789, long: 8.081666, code: "NE" },
212
- { name: "Nigeria", lat: 9.081999, long: 8.675277, code: "NG" },
213
- { name: "Niue", lat: -19.054445, long: -169.867233, code: "NU" },
214
- { name: "Norfolk Island", lat: -29.040835, long: 167.954712, code: "NF" },
215
- {
216
- name: "Northern Mariana Islands",
217
- lat: 17.33083,
218
- long: 145.38469,
219
- code: "MP"
220
- },
221
- { name: "Norway", lat: 60.472024, long: 8.468946, code: "NO" },
222
- { name: "Oman", lat: 21.512583, long: 55.923255, code: "OM" },
223
- { name: "Pakistan", lat: 30.375321, long: 69.345116, code: "PK" },
224
- { name: "Palau", lat: 7.51498, long: 134.58252, code: "PW" },
225
- { name: "Palestine", lat: 31.952162, long: 35.233154, code: "PS" },
226
- { name: "Panama", lat: 8.537981, long: -80.782127, code: "PA" },
227
- { name: "Papua New Guinea", lat: -6.314993, long: 143.95555, code: "PG" },
228
- { name: "Paraguay", lat: -23.442503, long: -58.443832, code: "PY" },
229
- { name: "Peru", lat: -9.189967, long: -75.015152, code: "PE" },
230
- { name: "Philippines", lat: 12.879721, long: 121.774017, code: "PH" },
231
- { name: "Pitcairn", lat: -24.703615, long: -127.439308, code: "PN" },
232
- { name: "Poland", lat: 51.919438, long: 19.145136, code: "PL" },
233
- { name: "Portugal", lat: 39.399872, long: -8.224454, code: "PT" },
234
- { name: "Puerto Rico", lat: 18.220833, long: -66.590149, code: "PR" },
235
- { name: "Qatar", lat: 25.354826, long: 51.183884, code: "QA" },
236
- { name: "Réunion", lat: -21.115141, long: 55.536384, code: "RE" },
237
- { name: "Romania", lat: 45.943161, long: 24.96676, code: "RO" },
238
- { name: "Russia", lat: 61.52401, long: 105.318756, code: "RU" },
239
- { name: "Rwanda", lat: -1.940278, long: 29.873888, code: "RW" },
240
- { name: "St. Barth", lat: 17.89, long: -62.82, code: "BL" },
241
- { name: "Saint Helena", lat: -24.143474, long: -10.030696, code: "SH" },
242
- {
243
- name: "Saint Kitts and Nevis",
244
- lat: 17.357822,
245
- long: -62.782998,
246
- code: "KN"
247
- },
248
- { name: "Saint Lucia", lat: 13.909444, long: -60.978893, code: "LC" },
249
- {
250
- name: "Saint Pierre Miquelon",
251
- lat: 46.941936,
252
- long: -56.27111,
253
- code: "PM"
254
- },
255
- { name: "Saint Martin", lat: 18.11, long: -63.03, code: "MF" },
256
- { name: "Sint Maarten", lat: 18.02, long: -63.06, code: "SX" },
257
- {
258
- name: "Saint Vincent and the Grenadines",
259
- lat: 12.984305,
260
- long: -61.287228,
261
- code: "VC"
262
- },
263
- { name: "Samoa", lat: -13.759029, long: -172.104629, code: "WS" },
264
- { name: "San Marino", lat: 43.94236, long: 12.457777, code: "SM" },
265
- { name: "Sao Tome and Principe", lat: 0.18636, long: 6.613081, code: "ST" },
266
- { name: "Saudi Arabia", lat: 23.885942, long: 45.079162, code: "SA" },
267
- { name: "Senegal", lat: 14.497401, long: -14.452362, code: "SN" },
268
- { name: "Serbia", lat: 44.016521, long: 21.005859, code: "RS" },
269
- { name: "Seychelles", lat: -4.679574, long: 55.491977, code: "SC" },
270
- { name: "Sierra Leone", lat: 8.460555, long: -11.779889, code: "SL" },
271
- { name: "Singapore", lat: 1.352083, long: 103.819836, code: "SG" },
272
- { name: "Slovakia", lat: 48.669026, long: 19.699024, code: "SK" },
273
- { name: "Slovenia", lat: 46.151241, long: 14.995463, code: "SI" },
274
- { name: "Solomon Islands", lat: -9.64571, long: 160.156194, code: "SB" },
275
- { name: "Somalia", lat: 5.152149, long: 46.199616, code: "SO" },
276
- { name: "South Africa", lat: -30.559482, long: 22.937506, code: "ZA" },
277
- {
278
- name: "South Georgia and the South Sandwich Islands",
279
- lat: -54.429579,
280
- long: -36.587909,
281
- code: "GS"
282
- },
283
- { name: "South Sudan", lat: 6.8769, long: 31.3069, code: "SS" },
284
- { name: "Spain", lat: 40.463667, long: -3.74922, code: "ES" },
285
- { name: "Sri Lanka", lat: 7.873054, long: 80.771797, code: "LK" },
286
- { name: "Sudan", lat: 12.862807, long: 30.217636, code: "SD" },
287
- { name: "Suriname", lat: 3.919305, long: -56.027783, code: "SR" },
288
- {
289
- name: "Svalbard and Jan Mayen",
290
- lat: 77.553604,
291
- long: 23.670272,
292
- code: "SJ"
293
- },
294
- { name: "Swaziland", lat: -26.522503, long: 31.465866, code: "SZ" },
295
- { name: "Sweden", lat: 60.128161, long: 18.643501, code: "SE" },
296
- { name: "Switzerland", lat: 46.818188, long: 8.227512, code: "CH" },
297
- { name: "Syrian Arab Republic", lat: 34.802075, long: 38.996815, code: "SY" },
298
- { name: "Taiwan", lat: 23.69781, long: 120.960515, code: "TW" },
299
- { name: "Tajikistan", lat: 38.861034, long: 71.276093, code: "TJ" },
300
- { name: "Tanzania", lat: -6.369028, long: 34.888822, code: "TZ" },
301
- { name: "Thailand", lat: 15.870032, long: 100.992541, code: "TH" },
302
- { name: "Timor-Leste", lat: -8.874217, long: 125.727539, code: "TL" },
303
- { name: "Togo", lat: 8.619543, long: 0.824782, code: "TG" },
304
- { name: "Tokelau", lat: -8.967363, long: -171.855881, code: "TK" },
305
- { name: "Tonga", lat: -21.178986, long: -175.198242, code: "TO" },
306
- { name: "Trinidad and Tobago", lat: 10.691803, long: -61.222503, code: "TT" },
307
- { name: "Tunisia", lat: 33.886917, long: 9.537499, code: "TN" },
308
- { name: "Turkey", lat: 38.963745, long: 35.243322, code: "TR" },
309
- { name: "Turkmenistan", lat: 38.969719, long: 59.556278, code: "TM" },
310
- {
311
- name: "Turks and Caicos Islands",
312
- lat: 21.694025,
313
- long: -71.797928,
314
- code: "TC"
315
- },
316
- { name: "Tuvalu", lat: -7.109535, long: 177.64933, code: "TV" },
317
- { name: "Uganda", lat: 1.373333, long: 32.290275, code: "UG" },
318
- { name: "Ukraine", lat: 48.379433, long: 31.16558, code: "UA" },
319
- { name: "UAE", lat: 23.424076, long: 53.847818, code: "AE" },
320
- { name: "UK", lat: 55.378051, long: -3.435973, code: "GB" },
321
- { name: "USA", lat: 37.09024, long: -95.712891, code: "US" },
322
- {
323
- name: "United States Minor Outlying Islands",
324
- lat: 0.0,
325
- long: 0.0,
326
- code: "UM"
327
- },
328
- { name: "Uruguay", lat: -32.522779, long: -55.765835, code: "UY" },
329
- { name: "Uzbekistan", lat: 41.377491, long: 64.585262, code: "UZ" },
330
- { name: "Vanuatu", lat: -15.376706, long: 166.959158, code: "VU" },
331
- { name: "Venezuela", lat: 6.42375, long: -66.58973, code: "VE" },
332
- { name: "Vietnam", lat: 14.058324, long: 108.277199, code: "VN" },
333
- {
334
- name: "British Virgin Islands",
335
- lat: 18.420695,
336
- long: -64.639968,
337
- code: "VG"
338
- },
339
- { name: "U.S. Virgin Islands", lat: 18.335765, long: -64.896335, code: "VI" },
340
- { name: "Wallis and Futuna", lat: -13.768752, long: -177.156097, code: "WF" },
341
- { name: "Western Sahara", lat: 24.215527, long: -12.885834, code: "EH" },
342
- { name: "Yemen", lat: 15.552727, long: 48.516388, code: "YE" },
343
- { name: "Zambia", lat: -13.133897, long: 27.849332, code: "ZM" },
344
- { name: "Zimbabwe", lat: -19.015438, long: 29.154857, code: "ZW" }
345
- ]
346
-
347
- export function getCountryByCode(code: string): Country | undefined {
348
- const country = COUNTRIES.find((country) => country.code === code)
349
- return country
350
- }
@@ -1,20 +0,0 @@
1
- import type { Link } from "@/types"
2
-
3
- import { Censys } from "./links/censys"
4
- import { Crtsh } from "./links/crtsh"
5
- import { SecurityTrailsForDomain, SecurityTrailsForIP } from "./links/securitytrails"
6
- import { Shodan } from "./links/shodan"
7
- import { UrlscanForDomain, UrlscanForIP } from "./links/urlscan"
8
- import { VirusTotalForDomain, VirusTotalForIP } from "./links/virustotal"
9
-
10
- export const Links: Link[] = [
11
- new Censys(),
12
- new Crtsh(),
13
- new SecurityTrailsForDomain(),
14
- new SecurityTrailsForIP(),
15
- new Shodan(),
16
- new UrlscanForDomain(),
17
- new UrlscanForIP(),
18
- new VirusTotalForDomain(),
19
- new VirusTotalForIP()
20
- ]
@@ -1,19 +0,0 @@
1
- import { BaseLink } from "@/links/base"
2
- import type { Link, LinkType } from "@/types"
3
-
4
- export class AnyRun extends BaseLink implements Link {
5
- public baseURL: string
6
- public name: string
7
- public type: LinkType
8
-
9
- public constructor() {
10
- super()
11
- this.baseURL = "https://app.any.run"
12
- this.name = "ANY.RUN"
13
- this.type = "hash"
14
- }
15
-
16
- public href(data: string): string {
17
- return this.baseURL + `/submissions/#filehash:${data}`
18
- }
19
- }
@@ -1,14 +0,0 @@
1
- export class BaseLink {
2
- public baseURL: string
3
-
4
- public constructor() {
5
- this.baseURL = "https://example.com"
6
- }
7
-
8
- public favicon(): string {
9
- return (
10
- "https://t0.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=" +
11
- this.baseURL
12
- )
13
- }
14
- }
@@ -1,20 +0,0 @@
1
- import { BaseLink } from "@/links/base"
2
- import type { Link, LinkType } from "@/types"
3
-
4
- export class Censys extends BaseLink implements Link {
5
- public baseURL: string
6
- public name: string
7
- public type: LinkType
8
-
9
- public constructor() {
10
- super()
11
-
12
- this.baseURL = "https://search.censys.io"
13
- this.name = "Censys"
14
- this.type = "ip"
15
- }
16
-
17
- public href(data: string): string {
18
- return this.baseURL + `/hosts/${data}`
19
- }
20
- }
@@ -1,20 +0,0 @@
1
- import { BaseLink } from "@/links/base"
2
- import type { Link, LinkType } from "@/types"
3
-
4
- export class Crtsh extends BaseLink implements Link {
5
- public baseURL: string
6
- public name: string
7
- public type: LinkType
8
-
9
- public constructor() {
10
- super()
11
-
12
- this.baseURL = "https://crt.sh"
13
- this.name = "crt.sh"
14
- this.type = "domain"
15
- }
16
-
17
- public href(data: string): string {
18
- return this.baseURL + `/?q=${data}`
19
- }
20
- }
@@ -1,38 +0,0 @@
1
- import { BaseLink } from "@/links/base"
2
- import type { Link, LinkType } from "@/types"
3
-
4
- export class DNSlyticsForIP extends BaseLink implements Link {
5
- public baseURL: string
6
- public name: string
7
- public type: LinkType
8
-
9
- public constructor() {
10
- super()
11
-
12
- this.baseURL = "https://dnslytics.com"
13
- this.name = "DNSlytics"
14
- this.type = "ip"
15
- }
16
-
17
- public href(data: string): string {
18
- return this.baseURL + `/ip/${data}`
19
- }
20
- }
21
-
22
- export class DNSlyticsForDomain extends BaseLink implements Link {
23
- public baseURL: string
24
- public name: string
25
- public type: LinkType
26
-
27
- public constructor() {
28
- super()
29
-
30
- this.baseURL = "https://dnslytics.com"
31
- this.name = "DNSlytics"
32
- this.type = "domain"
33
- }
34
-
35
- public href(data: string): string {
36
- return this.baseURL + `/domain/${data}`
37
- }
38
- }
@@ -1,20 +0,0 @@
1
- import { BaseLink } from "@/links/base"
2
- import type { Link, LinkType } from "@/types"
3
-
4
- export class GreyNoise extends BaseLink implements Link {
5
- public baseURL: string
6
- public name: string
7
- public type: LinkType
8
-
9
- public constructor() {
10
- super()
11
-
12
- this.baseURL = "https://www.greynoise.io"
13
- this.name = "GreyNoise"
14
- this.type = "ip"
15
- }
16
-
17
- public href(data: string): string {
18
- return this.baseURL + `/viz/query?gnql=ip:${data}`
19
- }
20
- }
@@ -1,40 +0,0 @@
1
- import type { Link } from "@/types"
2
-
3
- import { AnyRun } from "./anyrun"
4
- import { Censys } from "./censys"
5
- import { Crtsh } from "./crtsh"
6
- import { DNSlyticsForDomain, DNSlyticsForIP } from "./dnslytics"
7
- import { GreyNoise } from "./greynoise"
8
- import { Intezer } from "./intezer"
9
- import { OtxForDomain, OtxForIP } from "./otx"
10
- import { SecurityTrailsForDomain, SecurityTrailsForIP } from "./securitytrails"
11
- import { Shodan } from "./shodan"
12
- import { UrlscanForDomain, UrlscanForIP, UrlscanForURL } from "./urlscan"
13
- import {
14
- VirusTotalForDomain,
15
- VirusTotalForHash,
16
- VirusTotalForIP,
17
- VirusTotalForURL
18
- } from "./virustotal"
19
-
20
- export const Links: Link[] = [
21
- new AnyRun(),
22
- new Censys(),
23
- new Crtsh(),
24
- new DNSlyticsForDomain(),
25
- new DNSlyticsForIP(),
26
- new GreyNoise(),
27
- new Intezer(),
28
- new OtxForDomain(),
29
- new OtxForIP(),
30
- new SecurityTrailsForDomain(),
31
- new SecurityTrailsForIP(),
32
- new Shodan(),
33
- new UrlscanForDomain(),
34
- new UrlscanForIP(),
35
- new UrlscanForURL(),
36
- new VirusTotalForDomain(),
37
- new VirusTotalForHash(),
38
- new VirusTotalForIP(),
39
- new VirusTotalForURL()
40
- ]
@@ -1,20 +0,0 @@
1
- import { BaseLink } from "@/links/base"
2
- import type { Link, LinkType } from "@/types"
3
-
4
- export class Intezer extends BaseLink implements Link {
5
- public baseURL: string
6
- public name: string
7
- public type: LinkType
8
-
9
- public constructor() {
10
- super()
11
-
12
- this.baseURL = "https://analyze.intezer.com"
13
- this.name = "Intezer"
14
- this.type = "hash"
15
- }
16
-
17
- public href(data: string): string {
18
- return this.baseURL + `/#/files/${data}`
19
- }
20
- }
@@ -1,33 +0,0 @@
1
- import { BaseLink } from "@/links/base"
2
- import type { Link, LinkType } from "@/types"
3
-
4
- export class OtxForIP extends BaseLink implements Link {
5
- public baseURL: string
6
- public name: string
7
- public type: LinkType
8
-
9
- public constructor() {
10
- super()
11
-
12
- this.baseURL = "https://otx.alienvault.com"
13
- this.name = "OTX"
14
- this.type = "ip"
15
- }
16
-
17
- public href(data: string): string {
18
- return this.baseURL + `/indicator/ip/${data}`
19
- }
20
- }
21
-
22
- export class OtxForDomain extends OtxForIP implements Link {
23
- public type: LinkType
24
-
25
- public constructor() {
26
- super()
27
- this.type = "domain"
28
- }
29
-
30
- public href(data: string): string {
31
- return this.baseURL + `/indicator/domain/${data}`
32
- }
33
- }
@@ -1,38 +0,0 @@
1
- import { BaseLink } from "@/links/base"
2
- import type { Link, LinkType } from "@/types"
3
-
4
- class SecurityTrails extends BaseLink {
5
- public baseURL: string
6
- public name: string
7
- public type: LinkType
8
-
9
- public constructor() {
10
- super()
11
-
12
- this.baseURL = "https://securitytrails.com"
13
- this.name = "SecurityTrails"
14
- this.type = "domain"
15
- }
16
- }
17
-
18
- export class SecurityTrailsForDomain extends SecurityTrails implements Link {
19
- public constructor() {
20
- super()
21
- this.type = "domain"
22
- }
23
-
24
- public href(data: string): string {
25
- return this.baseURL + `/domain/${data}/dns`
26
- }
27
- }
28
-
29
- export class SecurityTrailsForIP extends SecurityTrails implements Link {
30
- public constructor() {
31
- super()
32
- this.type = "ip"
33
- }
34
-
35
- public href(data: string): string {
36
- return this.baseURL + `/list/ip/${data}`
37
- }
38
- }
@@ -1,20 +0,0 @@
1
- import { BaseLink } from "@/links/base"
2
- import type { Link, LinkType } from "@/types"
3
-
4
- export class Shodan extends BaseLink implements Link {
5
- public baseURL: string
6
- public name: string
7
- public type: LinkType
8
-
9
- public constructor() {
10
- super()
11
-
12
- this.baseURL = "https://www.shodan.io"
13
- this.name = "Shodan"
14
- this.type = "ip"
15
- }
16
-
17
- public href(data: string): string {
18
- return this.baseURL + `/host/${data}`
19
- }
20
- }