| |
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | | iamroot.tech - toolbox for dev, admin and UI/UX
|
|
8 | |
9 | |
10 | |
11 | |
12 | |
13 | | <link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png?2023121801">
|
|
14 | | <link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png?2023121801">
|
|
15 | | <link rel="shortcut icon" href="/favicon/favicon.ico?2023121801">
|
|
16 | |
17 | | <link id="manifest" rel="manifest" />
|
|
18 | |
19 | | <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png?2023121801">
|
|
20 | | <link rel="mask-icon" href="/favicon/safari-pinned-tab.svg?2023121801" color="#1b1d21">
|
|
21 | | <meta name="apple-mobile-web-app-title" content="iamroot.tech" /><meta name="application-name" content="iamroot.tech" /><meta name="msapplication-TileColor" content="#1b1d21" />
|
|
22 | | <meta name="msapplication-config" content="/favicon/browserconfig.xml?2023121801">
|
|
23 | | <meta name="theme-color" content="#1b1d21" /><meta name="GOOGLEBOT" content="NOARCHIVE" /><meta id="metadescription" name="description" content="iamroot.tech is a set of advanced online available tools, focusing on tasks the daily of sysadmins, develeopers and GUI/UI/UX." /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
24 | |
25 | |
26 | |
27 | |
28 | | <link rel="canonical" href="https://iamroot.tech/"/>
|
|
29 | |
30 | |
31 | |
32 | |
33 | |
34 | | <!-- nifty OnLoad thingy -->
|
|
35 | |
36 | |
37 | | // see if DOM is already available
|
|
38 | | if (document.readyState === "complete" || document.readyState === "interactive") {
|
|
39 | | // call on next available tick
|
|
40 | |
41 | |
42 | | document.addEventListener("DOMContentLoaded", fn);
|
|
43 | |
44 | |
45 | |
46 | | function docComplete(fn) {
|
|
47 | | // see if DOM is already available
|
|
48 | | if (document.readyState === "complete") {
|
|
49 | | // call on next available tick
|
|
50 | |
51 | |
52 | | document.addEventListener("DOMContentLoaded", fn);
|
|
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | | <!-- make sure the serviceWorker is up and running for homescreen apps -->
|
|
61 | | <!-- https://stackoverflow.com/questions/38826397/add-to-home-screen-functionality-using-javascript/46037389 -->
|
|
62 | | <script async type="text/javascript">
|
|
63 | | if ('serviceWorker' in navigator) {
|
|
64 | | //console.log("Will the service worker register?");
|
|
65 | | navigator.serviceWorker.register('/favicon/service-worker.js?2023121801')
|
|
66 | |
67 | | //console.log("Yes, it did.");
|
|
68 | | }).catch(function (err) {
|
|
69 | | //console.log("No it didn't. This happened:", err)
|
|
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | | <!-- if loaded as homescreen app - add 'homescreen' class to body -->
|
|
79 | | <!-- https://stackoverflow.com/questions/41742390/javascript-to-check-if-pwa-or-mobile-web -->
|
|
80 | | <script async type="text/javascript">
|
|
81 | |
82 | | if (window.matchMedia('(display-mode: standalone)').matches) {
|
|
83 | | console.log("This is running as standalone.");
|
|
84 | | $('body').addClass("homescreen");
|
|
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | | <script defer src="/css/jquery-3.6.0.min.js?2023121801"></script>
|
|
100 | |
101 | |
102 | |
103 | | <script defer src="/css/bootstrap-min.js?2023121801"></script>
|
|
104 | |
105 | |
106 | | <script defer src="/css/own.js?2023121801"></script>
|
|
107 | |
108 | |
109 | |
110 | | <link defer href="/css/theme-min.css?2023121801" rel="stylesheet">
|
|
111 | | <link defer href="/css/tweaks.css?2023121801" rel="stylesheet">
|
|
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | | function textAreaAdjust(element) {
|
|
122 | |
123 | | element.style.height = (25+element.scrollHeight)+"px";
|
|
124 | |
125 | |
126 | |
127 | |
128 | |
129 | |
130 | |
131 | |
132 | |
133 | |
134 | | <!-- Global site tag (gtag.js) - Google Analytics -->
|
|
135 | | <script async src="https://www.googletagmanager.com/gtag/js?id=G-2M7WFMYR2R"></script>
|
|
136 | |
137 | | window.dataLayer = window.dataLayer || [];
|
|
138 | | function gtag() { dataLayer.push(arguments); }
|
|
139 | |
140 | |
141 | | gtag('config', 'G-2M7WFMYR2R');
|
|
142 | |
143 | |
144 | |
145 | |
146 | |
147 | |
148 | | gtag('config', 'AW-1050254940');
|
|
149 | |
150 | |
151 | | <!-- Event snippet for 'Website traffic' conversion page -->
|
|
152 | |
153 | | gtag('event', 'conversion', { 'send_to': 'AW-1050254940/2C3mCK7D840DENy85vQD' });
|
|
154 | |
155 | |
156 | |
157 | |
158 | |
159 | |
160 | |
161 | | <!-- Hotjar Tracking Code for https://iamroot.tech/ -->
|
|
162 | |
163 | |
164 | |
165 | |
166 | |
167 | | (function (h, o, t, j, a, r) {
|
|
168 | | h.hj = h.hj || function () { (h.hj.q = h.hj.q || []).push(arguments) };
|
|
169 | | h._hjSettings = { hjid: 2817804, hjsv: 6 };
|
|
170 | | a = o.getElementsByTagName('head')[0];
|
|
171 | | r = o.createElement('script'); r.async = 1;
|
|
172 | | r.src = t + h._hjSettings.hjid + j + h._hjSettings.hjsv;
|
|
173 | |
174 | | })(window, document, 'https://static.hotjar.com/c/hotjar-', '.js?sv=');
|
|
175 | |
176 | |
177 | |
178 | |
179 | |
180 | |
181 | |
182 | |
183 | |
184 | | <!-- if loaded on cellphone - add 'cellphone', 'android' and/or 'iphone' classes to body -->
|
|
185 | | <!-- make the navbar visible as a last thing, once it has been placed properly -->
|
|
186 | |
187 | | function tweakForPhone() {
|
|
188 | | if (navigator.userAgent.indexOf("Android") > -1) {
|
|
189 | | $('body').addClass("cellphone");
|
|
190 | | $('body').addClass("android");
|
|
191 | |
192 | | else if (navigator.userAgent.indexOf("iPhone") > -1) {
|
|
193 | | $('body').addClass("cellphone");
|
|
194 | | $('body').addClass("iphone");
|
|
195 | |
196 | |
197 | | $('body').removeClass("cellphone");
|
|
198 | | $('body').removeClass("iphone");
|
|
199 | | $('body').removeClass("android");
|
|
200 | |
201 | |
202 | |
203 | | if (($(window).width() >= 1300) /*&& ($('body').hasClass("userAB"))*/) {
|
|
204 | | $('#navbar').css("display", "none");
|
|
205 | | $('body').removeClass("navbar_isvisible");
|
|
206 | |
207 | | $('#sidemenu').css("display", "block");
|
|
208 | | $('body').addClass("sidemenu_isvisible");
|
|
209 | |
210 | |
211 | | $('#navbar').css("display", "block");
|
|
212 | | $('body').addClass("navbar_isvisible");
|
|
213 | |
214 | | $('#sidemenu').css("display", "none");
|
|
215 | | $('body').removeClass("sidemenu_isvisible");
|
|
216 | |
217 | |
218 | |
219 | |
220 | |
221 | |
222 | |
223 | | $(window).resize(function () {
|
|
224 | |
225 | |
226 | |
227 | |
228 | |
229 | |
230 | | /* default settings der speeder layoutet lidt op - kan reelt fjernes, for bliver også sat på andre måder */
|
|
231 | |
232 | |
233 | |
234 | |
235 | |
236 | |
237 | | @media (min-width: 1300px) {
|
|
238 | |
239 | |
240 | |
241 | |
242 | |
243 | |
244 | |
245 | |
246 | |
247 | |
248 | |
249 | |
250 | |
251 | |
252 | |
253 | |
254 | |
255 | |
256 | |
257 | |
258 | | //https://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript
|
|
259 | | // Copies a string to the clipboard. Must be called from within an
|
|
260 | | // event handler such as click. May return false if it failed, but
|
|
261 | | // this is not always possible. Browser support for Chrome 43+,
|
|
262 | | // Firefox 42+, Safari 10+, Edge and Internet Explorer 10+.
|
|
263 | | // Internet Explorer: The clipboard feature may be disabled by
|
|
264 | | // an administrator. By default a prompt is shown the first
|
|
265 | | // time the clipboard is used (per session).
|
|
266 | | function copyToClipboard(text) {
|
|
267 | | if (window.clipboardData && window.clipboardData.setData) {
|
|
268 | | // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.
|
|
269 | | return window.clipboardData.setData("Text", text);
|
|
270 | |
271 | |
272 | | else if (document.queryCommandSupported && document.queryCommandSupported("copy")) {
|
|
273 | | var textarea = document.createElement("textarea");
|
|
274 | | textarea.textContent = text;
|
|
275 | | textarea.style.position = "fixed"; // Prevent scrolling to bottom of page in Microsoft Edge.
|
|
276 | | document.body.appendChild(textarea);
|
|
277 | |
278 | |
279 | | return document.execCommand("copy"); // Security exception may be thrown by some browsers.
|
|
280 | |
281 | |
282 | | console.warn("Copy to clipboard failed.", ex);
|
|
283 | | return prompt("Copy to clipboard: Ctrl+C, Enter", text);
|
|
284 | |
285 | |
286 | | document.body.removeChild(textarea);
|
|
287 | |
288 | |
289 | |
290 | |
291 | | function copy(elm, txt) {
|
|
292 | |
293 | |
294 | | if (copyToClipboard(txt)) {
|
|
295 | |
296 | | if (org.toUpperCase().indexOf("<IMG")>-1) {
|
|
297 | | elm.children[0].src = "/gfx/ok.png";
|
|
298 | |
299 | |
300 | | elm.innerHTML = "copied";
|
|
301 | |
302 | |
303 | |
304 | | if (org.toUpperCase().indexOf("<IMG") > -1) {
|
|
305 | | elm.children[0].src = "/gfx/copy.png";
|
|
306 | |
307 | |
308 | |
309 | |
310 | |
311 | |
312 | |
313 | |
314 | |
315 | |
316 | |
317 | |
318 | |
319 | |
320 | |
321 | |
322 | | transition: opacity 0.1s;
|
|
323 | |
324 | |
325 | | .copyParent:hover .copyIcon {
|
|
326 | | /*display: inline-block;*/
|
|
327 | |
328 | |
329 | |
330 | |
331 | |
332 | |
333 | |
334 | |
335 | |
336 | |
337 | |
338 | |
339 | |
340 | |
341 | |
342 | |
343 | |
344 | |
345 | |
346 | |
347 | |
348 | |
349 | |
350 | |
351 | |
352 | |
353 | |
354 | |
355 | |
356 | |
357 | |
358 | | function addFromInfo(elm, from) {
|
|
359 | |
360 | |
361 | | if (elm.href.indexOf("from=") == -1) {
|
|
362 | | if (elm.href.indexOf("?") == -1) {
|
|
363 | | elm.href += "?from=" + from;
|
|
364 | |
365 | |
366 | | elm.href += "&from=" + from;
|
|
367 | |
368 | |
369 | |
370 | |
371 | |
372 | |
373 | |
374 | | var url = "/feedback/click.aspx?q=" + from;
|
|
375 | |
376 | |
377 | |
378 | |
379 | |
380 | |
381 | |
382 | |
383 | |
384 | |
385 | |
386 | |
387 | |
388 | |
389 | |
390 | |
391 | |
392 | |
393 | |
394 | |
395 | |
396 | |
397 | |
398 | |
399 | |
400 | |
401 | | <body class=" userB sidemenu_isvisible">
|
|
402 | |
403 | |
404 | |
405 | |
406 | |
407 | |
408 | |
409 | |
410 | |
411 | | background-color: #2e353d;
|
|
412 | |
413 | |
414 | |
415 | |
416 | |
417 | |
418 | |
419 | | /*background-color: #23282e;*/
|
|
420 | |
421 | |
422 | |
423 | |
424 | |
425 | | .nav-side-menu .toggle-btn {
|
|
426 | |
427 | |
428 | |
429 | |
430 | |
431 | |
432 | |
433 | |
434 | |
435 | |
436 | |
437 | | .nav-side-menu ul .collapsed .arrow:before{
|
|
438 | |
439 | |
440 | |
441 | |
442 | |
443 | |
444 | |
445 | |
446 | | .nav-side-menu ul :not(collapsed) .arrow:before,
|
|
447 | | .nav-side-menu li :not(collapsed) .arrow:before {
|
|
448 | |
449 | |
450 | |
451 | |
452 | |
453 | |
454 | |
455 | | .nav-side-menu ul .active,
|
|
456 | | .nav-side-menu li .active {
|
|
457 | | border-left: 3px solid #d19b3d;
|
|
458 | | background-color: #4f5b69;
|
|
459 | |
460 | | .nav-side-menu ul .sub-menu li.active,
|
|
461 | | .nav-side-menu li .sub-menu li.active {
|
|
462 | |
463 | |
464 | | .nav-side-menu ul .sub-menu li.active a,
|
|
465 | | .nav-side-menu li .sub-menu li.active a {
|
|
466 | |
467 | |
468 | | .nav-side-menu ul .sub-menu li,
|
|
469 | | .nav-side-menu li .sub-menu li {
|
|
470 | |
471 | |
472 | | .nav-side-menu ul .sub-menu li:hover,
|
|
473 | | .nav-side-menu li .sub-menu li:hover {
|
|
474 | |
475 | | .nav-side-menu ul .sub-menu li:before,
|
|
476 | | .nav-side-menu li .sub-menu li:before {
|
|
477 | |
478 | |
479 | |
480 | |
481 | |
482 | |
483 | |
484 | | border-left: 3px solid #2e353d;
|
|
485 | | border-bottom: 1px solid #23282e;
|
|
486 | |
487 | |
488 | |
489 | |
490 | |
491 | |
492 | |
493 | |
494 | |
495 | |
496 | | .nav-side-menu li:hover {
|
|
497 | | border-left: 3px solid #d19b3d;
|
|
498 | | background-color: #4f5b69;
|
|
499 | | -webkit-transition: all 1s ease;
|
|
500 | | -moz-transition: all 1s ease;
|
|
501 | | -o-transition: all 1s ease;
|
|
502 | | -ms-transition: all 1s ease;
|
|
503 | |
504 | |
505 | | .nav-side-menu li:hover img {
|
|
506 | |
507 | |
508 | | transition: all 0.2s ease;
|
|
509 | |
510 | |
511 | | .nav-side-menu .menu-list .menu-content {
|
|
512 | |
513 | |
514 | |
515 | |
516 | |
517 | |
518 | |
519 | |
520 | |
521 | |
522 | |
523 | |
524 | |
525 | |
526 | |
527 | | background-color: #151517;
|
|
528 | |
529 | |
530 | |
531 | |
532 | |
533 | |
534 | |
535 | |
536 | |
537 | |
538 | |
539 | |
540 | |
541 | |
542 | |
543 | |
544 | |
545 | |
546 | |
547 | | border-bottom: 1px solid #000;
|
|
548 | |
549 | |
550 | |
551 | |
552 | |
553 | | .nav-side-menu li:hover {
|
|
554 | |
555 | |
556 | | background-color: #4f5b69;
|
|
557 | | -webkit-transition: all 0.5s ease;
|
|
558 | | -moz-transition: all 0.5s ease;
|
|
559 | | -o-transition: all 0.5s ease;
|
|
560 | | -ms-transition: all 0.5s ease;
|
|
561 | | transition: all 0.5s ease;
|
|
562 | | background-color: rgba(255,255,255,0.1);
|
|
563 | |
564 | |
565 | |
566 | | .nav-side-menu .current:hover {
|
|
567 | | background-color: rgba(255,255,255,0.2);
|
|
568 | |
569 | |
570 | |
571 | |
572 | |
573 | |
574 | |
575 | |
576 | | .nav-side-menu li a:hover {
|
|
577 | |
578 | |
579 | |
580 | |
581 | |
582 | |
583 | |
584 | | @media (min-width: 1300px) {
|
|
585 | |
586 | |
587 | |
588 | |
589 | | transition: all 0.5s ease;
|
|
590 | |
591 | |
592 | |
593 | | transition: all 0.5s ease;
|
|
594 | |
595 | |
596 | |
597 | |
598 | |
599 | | body.sidemenu_isvisible {
|
|
600 | |
601 | |
602 | |
603 | |
604 | |
605 | |
606 | |
607 | |
608 | |
609 | |
610 | | @media (min-width: 1300px) {
|
|
611 | | body.sidemenu_isvisible .container {
|
|
612 | |
613 | |
614 | |
615 | |
616 | | @media (min-width: 1400px) {
|
|
617 | | body.sidemenu_isvisible .container {
|
|
618 | |
619 | |
620 | |
621 | |
622 | | @media (min-width: 1500px) {
|
|
623 | | body.sidemenu_isvisible .container {
|
|
624 | |
625 | |
626 | |
627 | |
628 | | @media (min-width: 1700px) {
|
|
629 | | body.sidemenu_isvisible .container {
|
|
630 | |
631 | |
632 | |
633 | |
634 | | @media (min-width: 1800px) {
|
|
635 | | body.sidemenu_isvisible .container {
|
|
636 | |
637 | |
638 | |
639 | |
640 | | @media (min-width: 1900px) {
|
|
641 | | body.sidemenu_isvisible .container {
|
|
642 | |
643 | |
644 | |
645 | |
646 | | body.sidemenu_isvisible .container {
|
|
647 | |
648 | |
649 | |
650 | |
651 | |
652 | |
653 | |
654 | |
655 | |
656 | |
657 | | /* der skal gøres noget ved det her */
|
|
658 | |
659 | |
660 | |
661 | |
662 | |
663 | |
664 | |
665 | |
666 | |
667 | |
668 | |
669 | |
670 | |
671 | | body.sidemenu_isvisible .footer {
|
|
672 | | margin-left: auto !important;
|
|
673 | |
674 | |
675 | |
676 | |
677 | |
678 | |
679 | |
680 | |
681 | |
682 | | @media (min-height: 700px) {
|
|
683 | |
684 | |
685 | |
686 | |
687 | |
688 | |
689 | |
690 | |
691 | |
692 | |
693 | |
694 | | @media (min-height: 800px) {
|
|
695 | |
696 | |
697 | |
698 | |
699 | |
700 | |
701 | |
702 | |
703 | |
704 | |
705 | |
706 | | @media (min-height: 900px) {
|
|
707 | |
708 | |
709 | |
710 | |
711 | |
712 | |
713 | |
714 | |
715 | |
716 | |
717 | |
718 | |
719 | |
720 | |
721 | |
722 | |
723 | |
724 | |
725 | |
726 | |
727 | |
728 | |
729 | |
730 | | <div class="nav-side-menu" id="sidemenu" style="display: none;">
|
|
731 | | <div class="brand"><a href="/" OnClick="addFromInfo(this, 'leftmenu');" style="text-decoration: none;"><img src="/favicon/favicon-32x32.png?2023121801" style="height: 32px; width: 32px; margin-right: 5px;" alt="iamroot.tech logo"/>iamroot.tech</a></div>
|
|
732 | | <button type="button" class="toggle-btn collapsed" data-toggle="collapse" data-target="#menu-content" aria-expanded="false">
|
|
733 | | <span class="sr-only">Toggle navigation</span>
|
|
734 | | <span class="icon-bar"></span>
|
|
735 | | <span class="icon-bar"></span>
|
|
736 | | <span class="icon-bar"></span>
|
|
737 | |
738 | |
739 | | <!--<div class="small" style="margin-left: 10px; margin-right: 10px;">
|
|
740 | | <a href="#">Frontpage</a>
|
|
741 | |
742 | |
743 | |
744 | |
745 | |
746 | |
747 | |
748 | |
749 | |
750 | |
751 | |
752 | |
753 | | <ul id="menu-content" class="menu-content collapse out">
|
|
754 | |
755 | |
756 | |
757 | |
758 | |
759 | |
760 | |
761 | | <li style="margin-top: 30px;"><b>Internet tools</b></li>
|
|
762 | |
763 | |
764 | | <a href="/dns-lookup/" OnClick="addFromInfo(this, 'leftmenu');" title="DNS lookup / nslookup / DIG of DNS records. An online tool for DNS lookups. By default recursive lookups querying the authoritative name servers. Lookups on specific DNS resolvers are also possible. Additionally, it will look up secondary records and output a full log of what was done on a technical level." class="truncate">
|
|
765 | | <img src="/gfx/dnslookup.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="DNS lookup" />DNS lookup
|
|
766 | |
767 | |
768 | |
769 | |
770 | | <a href="/dns-propagation/" OnClick="addFromInfo(this, 'leftmenu');" title="Check how DNS records are propagated throughout the world. It will start by examining the authoritative name servers and compare the records with the results from over 20 DNS servers worldwide." class="truncate">
|
|
771 | | <img src="/gfx/dnspropagation.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="DNS propagation check" />DNS propagation check
|
|
772 | |
773 | |
774 | |
775 | |
776 | | <a href="/port-scan/" OnClick="addFromInfo(this, 'leftmenu');" title="Scan any IP for any open ports. Includes probing functionality on DNS, SMTP, POP3, IMAP and HTTP protocols if open." class="truncate">
|
|
777 | | <img src="/gfx/portscan.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Port scan + probeing" />Port scan + probeing
|
|
778 | |
779 | |
780 | |
781 | |
782 | | <a href="/whois/" OnClick="addFromInfo(this, 'leftmenu');" title="Perform WHOIS and/or RDAP lookups on domains, IP addresses, and ASNs. Will output all available technical info, contact info, etc." class="truncate">
|
|
783 | | <img src="/gfx/whois.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="WHOIS / RDAP lookup" />WHOIS / RDAP lookup
|
|
784 | |
785 | |
786 | |
787 | |
788 | | <a href="/http-request-tool/" OnClick="addFromInfo(this, 'leftmenu');" title="Perform HTTP/HTTPS requests to any server" class="truncate">
|
|
789 | | <img src="/gfx/httprequest.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="HTTP/S request tool" />HTTP/S request tool
|
|
790 | |
791 | |
792 | |
793 | |
794 | | <a href="/ssl-certificate-check/" OnClick="addFromInfo(this, 'leftmenu');" title="Check details of your SSL certificate and the full chain of certificates." class="truncate">
|
|
795 | | <img src="/gfx/sslcheck.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="TLS/SSL certificate check" />TLS/SSL certificate check<div class="betaMark">beta</div>
|
|
796 | |
797 | |
798 | |
799 | |
800 | | <a href="/dnsbl-blacklist-checker/" OnClick="addFromInfo(this, 'leftmenu');" title="Check IP or domain against the most common e-mail blacklists." class="truncate">
|
|
801 | | <img src="/gfx/dnsbl.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="E-mail DNSBL blacklist check" />E-mail DNSBL blacklist check
|
|
802 | |
803 | |
804 | |
805 | |
806 | | <a href="/reverse-dns-ptr-lookup/" OnClick="addFromInfo(this, 'leftmenu');" title="Perform reverse DNS (rDNS/PTR) lookups of any IP." class="truncate">
|
|
807 | | <img src="/gfx/rdns.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Reverse DNS" />Reverse DNS
|
|
808 | |
809 | |
810 | |
811 | |
812 | | <a href="/cidr/" OnClick="addFromInfo(this, 'leftmenu');" title="IP to CIDR calculation tool with subnet info. The reverse, CIDR ranges to IP addresses, is also possible. Last but not least, it includes a tool for refactoring groups of IPs, domain names, and/or other CIDR ranges." class="truncate">
|
|
813 | | <img src="/gfx/cidr.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="CIDR calculator" />CIDR calculator<div class="betaMark">beta</div>
|
|
814 | |
815 | |
816 | |
817 | |
818 | | <a href="/asndatabase/" OnClick="addFromInfo(this, 'leftmenu');" title="A fully searchable database of ASN records provides comprehensive details on peers, announced prefixes, and Internet Exchange memberships. Including metadata such as name, website, logo, and statistics for each ASN. Searchable by name, ASN, IP, or CIDR." class="truncate">
|
|
819 | | <img src="/gfx/asndatabase.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="ASN database lookup" />ASN database lookup<div class="betaMark">beta</div>
|
|
820 | |
821 | |
822 | |
823 | |
824 | | <a href="/whats-my-ip/" OnClick="addFromInfo(this, 'leftmenu');" title="Check your own IP - both IPv4 and IPv6. Works as a connectivity test as well." class="truncate">
|
|
825 | | <img src="/gfx/myip.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="What is my IPv4 and IPv6?" />What is my IPv4 and IPv6?
|
|
826 | |
827 | |
828 | |
829 | |
830 | | <a href="/geoip/" OnClick="addFromInfo(this, 'leftmenu');" title="Online tool GeoIP location of any IP and/or domain." class="truncate">
|
|
831 | | <img src="/gfx/geoip.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="GeoIP location" />GeoIP location
|
|
832 | |
833 | |
834 | |
835 | |
836 | | <a href="/qrcode/" OnClick="addFromInfo(this, 'leftmenu');" title="Turn any URL into a scanable QR code." class="truncate">
|
|
837 | | <img src="/gfx/qrcode.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="QR code generator" />QR code generator
|
|
838 | |
839 | |
840 | |
841 | |
842 | |
843 | |
844 | | <li style="margin-top: 30px;"><b>Dev tools</b></li>
|
|
845 | |
846 | |
847 | | <a href="/color-contrast/" OnClick="addFromInfo(this, 'leftmenu');" title="Online tool for checking the contrast/readability of two colors - and get hints for optimizing the contrast." class="truncate">
|
|
848 | | <img src="/gfx/colorcontrast.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Color contrast checker" />Color contrast checker
|
|
849 | |
850 | |
851 | |
852 | |
853 | | <a href="/color-picker/" OnClick="addFromInfo(this, 'leftmenu');" title="Pick any color - and see info on related colors, contrast colors and different shades." class="truncate">
|
|
854 | | <img src="/gfx/colorpicker.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Color picker" />Color picker
|
|
855 | |
856 | |
857 | |
858 | |
859 | | <a href="/lorem-ipsum/" OnClick="addFromInfo(this, 'leftmenu');" title="Lorem, ipsum generator, with the option of creating text's of different levels of complexity." class="truncate">
|
|
860 | | <img src="/gfx/loremipsum.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Lorem ipsum generator" />Lorem ipsum generator
|
|
861 | |
862 | |
863 | |
864 | |
865 | | <a href="/urlencode/" OnClick="addFromInfo(this, 'leftmenu');" title="Online tool for URLencode and/or URLdecode of any string." class="truncate">
|
|
866 | | <img src="/gfx/urlencode.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="URL encode/decode" />URL encode/decode
|
|
867 | |
868 | |
869 | |
870 | |
871 | | <a href="/htmlencode/" OnClick="addFromInfo(this, 'leftmenu');" title="Online tool for HTMLencode and/or HTMLdecode of any string." class="truncate">
|
|
872 | | <img src="/gfx/htmlencode.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="HTML encode/decode" />HTML encode/decode
|
|
873 | |
874 | |
875 | |
876 | |
877 | | <a href="/base64encode/" OnClick="addFromInfo(this, 'leftmenu');" title="Online tool for BASE64 encoding af binary-to-text, and BASE64 decoding for text-to-binary." class="truncate">
|
|
878 | | <img src="/gfx/base64encode.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="BASE64 encode/decode" />BASE64 encode/decode
|
|
879 | |
880 | |
881 | |
882 | |
883 | | <a href="/hashing/" OnClick="addFromInfo(this, 'leftmenu');" title="Online tool for hash encoding using MD5, SHA-1, SHA256, SHA384, SHA512 and RIPEMD algorithms." class="truncate">
|
|
884 | | <img src="/gfx/hashing.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Hash calculator (CRC64 - MD5 - SHA - RIPEMD)" />Hash calculator (CRC64 - MD5 - SHA - RIPEMD)
|
|
885 | |
886 | |
887 | |
888 | |
889 | |
890 | |
891 | |
892 | |
893 | |
894 | |
895 | |
896 | |
897 | | <li style="margin-top: 30px;"><b>Misc tools</b></li>
|
|
898 | |
899 | |
900 | | <a href="/password/" OnClick="addFromInfo(this, 'leftmenu');" title="Create passwords of any complexity. Ready to copy and with phonetic nato codes for easy to read out loud." class="truncate">
|
|
901 | | <img src="/gfx/password.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Password generator" />Password generator
|
|
902 | |
903 | |
904 | |
905 | |
906 | | <a href="/world-clock/" OnClick="addFromInfo(this, 'leftmenu');" title="Beautiful day/night map of the world, with markup of all major cities including local date and time." class="truncate">
|
|
907 | | <img src="/gfx/worldclock.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="World map, day/night + local time" />World map, day/night + local time<div class="betaMark">beta</div>
|
|
908 | |
909 | |
910 | |
911 | |
912 | |
913 | |
914 | |
915 | |
916 | |
917 | | <ul id="menu-content" class="menu-content collapse out" style="bottom: 0px; position: fixed;">
|
|
918 | |
919 | |
920 | |
921 | |
922 | |
923 | |
924 | |
925 | |
926 | |
927 | |
928 | |
929 | |
930 | |
931 | |
932 | |
933 | |
934 | |
935 | | <nav class="navbar navbar-default navbar-fixed-top " id="navbar" style="display: none;">
|
|
936 | | <div class="container-fluid" style="margin: 0px;">
|
|
937 | |
938 | |
939 | |
940 | | <!-- innerlinks if cellphone / menu at bottom -->
|
|
941 | | <div class=" znavbar-collapse collapse " style=" border-bottom: 1px solid #282828; margin-left: -15px; margin-right: -15px; text-align: center;" id="pageNavbarBottom" aria-expanded="false" aria-controls="pageNavbarBottom">
|
|
942 | | <div id="innerLinksBottom" style="padding-top: 10px; padding-bottom: 10px;"></div>
|
|
943 | |
944 | |
945 | |
946 | |
947 | | <!-- Brand and toggle get grouped for better mobile display -->
|
|
948 | | <div class="navbar-header">
|
|
949 | |
950 | | <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#siteNavbar" aria-expanded="false" onclick="InnerlinksSmHide();">
|
|
951 | |
952 | |
953 | |
954 | | <button type="button" id="pagenavsm" class="navbar-toggle collapsed cellphone-hidden hidden" onclick="InnerlinksSmShow();" data-toggle="collapse" data-target="#pageNavbarTop" aria-expanded="false">
|
|
955 | |
956 | |
957 | |
958 | | <button type="button" id="pagenavcell" class="navbar-toggle collapsed cellphone-visible hidden" onclick="InnerlinksSmShow();" data-toggle="collapse" data-target="#pageNavbarBottom" aria-expanded="false">
|
|
959 | |
960 | |
961 | |
962 | | <a class="navbar-brand" id="mainLeft" href="/" OnClick="addFromInfo(this, 'topmenu');"><img src=/favicon/favicon-32x32.png?2023121801" style="height: 20px; width: 20px; float: left; margin-right: 5px;" alt="iamroot.tech logo"/>iamroot.tech</a>
|
|
963 | |
964 | |
965 | |
966 | | <!-- Collect the nav links, forms, and other content for toggling -->
|
|
967 | | <div class="navbar-collapse collapse" id="siteNavbar" aria-expanded="false" aria-controls="siteNavbar">
|
|
968 | |
969 | | <ul class="nav navbar-nav" id="menuLeft">
|
|
970 | | <li class="hidden-xs dropdown">
|
|
971 | | <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Internet tools</a>
|
|
972 | | <ul class="dropdown-menu">
|
|
973 | |
974 | |
975 | | <a href="/dns-lookup/" OnClick="addFromInfo(this, 'topmenu');" title="DNS lookup / nslookup / DIG of DNS records. An online tool for DNS lookups. By default recursive lookups querying the authoritative name servers. Lookups on specific DNS resolvers are also possible. Additionally, it will look up secondary records and output a full log of what was done on a technical level." class="truncate">
|
|
976 | | <img src="/gfx/dnslookup.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="DNS lookup" />DNS lookup
|
|
977 | |
978 | |
979 | |
980 | |
981 | | <a href="/dns-propagation/" OnClick="addFromInfo(this, 'topmenu');" title="Check how DNS records are propagated throughout the world. It will start by examining the authoritative name servers and compare the records with the results from over 20 DNS servers worldwide." class="truncate">
|
|
982 | | <img src="/gfx/dnspropagation.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="DNS propagation check" />DNS propagation check
|
|
983 | |
984 | |
985 | |
986 | |
987 | | <a href="/port-scan/" OnClick="addFromInfo(this, 'topmenu');" title="Scan any IP for any open ports. Includes probing functionality on DNS, SMTP, POP3, IMAP and HTTP protocols if open." class="truncate">
|
|
988 | | <img src="/gfx/portscan.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Port scan + probeing" />Port scan + probeing
|
|
989 | |
990 | |
991 | |
992 | |
993 | | <a href="/whois/" OnClick="addFromInfo(this, 'topmenu');" title="Perform WHOIS and/or RDAP lookups on domains, IP addresses, and ASNs. Will output all available technical info, contact info, etc." class="truncate">
|
|
994 | | <img src="/gfx/whois.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="WHOIS / RDAP lookup" />WHOIS / RDAP lookup
|
|
995 | |
996 | |
997 | |
998 | |
999 | | <a href="/http-request-tool/" OnClick="addFromInfo(this, 'topmenu');" title="Perform HTTP/HTTPS requests to any server" class="truncate">
|
|
1000 | | <img src="/gfx/httprequest.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="HTTP/S request tool" />HTTP/S request tool
|
|
1001 | |
1002 | |
1003 | |
1004 | |
1005 | | <a href="/ssl-certificate-check/" OnClick="addFromInfo(this, 'topmenu');" title="Check details of your SSL certificate and the full chain of certificates." class="truncate">
|
|
1006 | | <img src="/gfx/sslcheck.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="TLS/SSL certificate check" />TLS/SSL certificate check<div class="betaMark">beta</div>
|
|
1007 | |
1008 | |
1009 | |
1010 | |
1011 | | <a href="/dnsbl-blacklist-checker/" OnClick="addFromInfo(this, 'topmenu');" title="Check IP or domain against the most common e-mail blacklists." class="truncate">
|
|
1012 | | <img src="/gfx/dnsbl.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="E-mail DNSBL blacklist check" />E-mail DNSBL blacklist check
|
|
1013 | |
1014 | |
1015 | |
1016 | |
1017 | | <a href="/reverse-dns-ptr-lookup/" OnClick="addFromInfo(this, 'topmenu');" title="Perform reverse DNS (rDNS/PTR) lookups of any IP." class="truncate">
|
|
1018 | | <img src="/gfx/rdns.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Reverse DNS" />Reverse DNS
|
|
1019 | |
1020 | |
1021 | |
1022 | |
1023 | | <a href="/cidr/" OnClick="addFromInfo(this, 'topmenu');" title="IP to CIDR calculation tool with subnet info. The reverse, CIDR ranges to IP addresses, is also possible. Last but not least, it includes a tool for refactoring groups of IPs, domain names, and/or other CIDR ranges." class="truncate">
|
|
1024 | | <img src="/gfx/cidr.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="CIDR calculator" />CIDR calculator<div class="betaMark">beta</div>
|
|
1025 | |
1026 | |
1027 | |
1028 | |
1029 | | <a href="/asndatabase/" OnClick="addFromInfo(this, 'topmenu');" title="A fully searchable database of ASN records provides comprehensive details on peers, announced prefixes, and Internet Exchange memberships. Including metadata such as name, website, logo, and statistics for each ASN. Searchable by name, ASN, IP, or CIDR." class="truncate">
|
|
1030 | | <img src="/gfx/asndatabase.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="ASN database lookup" />ASN database lookup<div class="betaMark">beta</div>
|
|
1031 | |
1032 | |
1033 | |
1034 | |
1035 | | <a href="/whats-my-ip/" OnClick="addFromInfo(this, 'topmenu');" title="Check your own IP - both IPv4 and IPv6. Works as a connectivity test as well." class="truncate">
|
|
1036 | | <img src="/gfx/myip.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="What is my IPv4 and IPv6?" />What is my IPv4 and IPv6?
|
|
1037 | |
1038 | |
1039 | |
1040 | |
1041 | | <a href="/geoip/" OnClick="addFromInfo(this, 'topmenu');" title="Online tool GeoIP location of any IP and/or domain." class="truncate">
|
|
1042 | | <img src="/gfx/geoip.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="GeoIP location" />GeoIP location
|
|
1043 | |
1044 | |
1045 | |
1046 | |
1047 | | <a href="/qrcode/" OnClick="addFromInfo(this, 'topmenu');" title="Turn any URL into a scanable QR code." class="truncate">
|
|
1048 | | <img src="/gfx/qrcode.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="QR code generator" />QR code generator
|
|
1049 | |
1050 | |
1051 | |
1052 | |
1053 | |
1054 | | <li class="hidden-xs dropdown">
|
|
1055 | | <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dev tools</a>
|
|
1056 | | <ul class="dropdown-menu">
|
|
1057 | |
1058 | |
1059 | | <a href="/color-contrast/" OnClick="addFromInfo(this, 'topmenu');" title="Online tool for checking the contrast/readability of two colors - and get hints for optimizing the contrast." class="truncate">
|
|
1060 | | <img src="/gfx/colorcontrast.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Color contrast checker" />Color contrast checker
|
|
1061 | |
1062 | |
1063 | |
1064 | |
1065 | | <a href="/color-picker/" OnClick="addFromInfo(this, 'topmenu');" title="Pick any color - and see info on related colors, contrast colors and different shades." class="truncate">
|
|
1066 | | <img src="/gfx/colorpicker.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Color picker" />Color picker
|
|
1067 | |
1068 | |
1069 | |
1070 | |
1071 | | <a href="/lorem-ipsum/" OnClick="addFromInfo(this, 'topmenu');" title="Lorem, ipsum generator, with the option of creating text's of different levels of complexity." class="truncate">
|
|
1072 | | <img src="/gfx/loremipsum.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Lorem ipsum generator" />Lorem ipsum generator
|
|
1073 | |
1074 | |
1075 | |
1076 | |
1077 | | <a href="/urlencode/" OnClick="addFromInfo(this, 'topmenu');" title="Online tool for URLencode and/or URLdecode of any string." class="truncate">
|
|
1078 | | <img src="/gfx/urlencode.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="URL encode/decode" />URL encode/decode
|
|
1079 | |
1080 | |
1081 | |
1082 | |
1083 | | <a href="/htmlencode/" OnClick="addFromInfo(this, 'topmenu');" title="Online tool for HTMLencode and/or HTMLdecode of any string." class="truncate">
|
|
1084 | | <img src="/gfx/htmlencode.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="HTML encode/decode" />HTML encode/decode
|
|
1085 | |
1086 | |
1087 | |
1088 | |
1089 | | <a href="/base64encode/" OnClick="addFromInfo(this, 'topmenu');" title="Online tool for BASE64 encoding af binary-to-text, and BASE64 decoding for text-to-binary." class="truncate">
|
|
1090 | | <img src="/gfx/base64encode.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="BASE64 encode/decode" />BASE64 encode/decode
|
|
1091 | |
1092 | |
1093 | |
1094 | |
1095 | | <a href="/hashing/" OnClick="addFromInfo(this, 'topmenu');" title="Online tool for hash encoding using MD5, SHA-1, SHA256, SHA384, SHA512 and RIPEMD algorithms." class="truncate">
|
|
1096 | | <img src="/gfx/hashing.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Hash calculator (CRC64 - MD5 - SHA - RIPEMD)" />Hash calculator (CRC64 - MD5 - SHA - RIPEMD)
|
|
1097 | |
1098 | |
1099 | |
1100 | |
1101 | |
1102 | | <li class="hidden-xs dropdown">
|
|
1103 | | <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Misc tools</a>
|
|
1104 | | <ul class="dropdown-menu">
|
|
1105 | |
1106 | |
1107 | | <a href="/password/" OnClick="addFromInfo(this, 'topmenu');" title="Create passwords of any complexity. Ready to copy and with phonetic nato codes for easy to read out loud." class="truncate">
|
|
1108 | | <img src="/gfx/password.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Password generator" />Password generator
|
|
1109 | |
1110 | |
1111 | |
1112 | |
1113 | | <a href="/world-clock/" OnClick="addFromInfo(this, 'topmenu');" title="Beautiful day/night map of the world, with markup of all major cities including local date and time." class="truncate">
|
|
1114 | | <img src="/gfx/worldclock.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="World map, day/night + local time" />World map, day/night + local time<div class="betaMark">beta</div>
|
|
1115 | |
1116 | |
1117 | |
1118 | |
1119 | |
1120 | | <li class="hidden visible-xs text-left MainItem">
|
|
1121 | | <b>Internet tools</b><br /><div class="clearfix MainItemContentBox">
|
|
1122 | |
1123 | | <a href="/dns-lookup/" OnClick="addFromInfo(this, 'topmenu');" title="DNS lookup / nslookup / DIG of DNS records. An online tool for DNS lookups. By default recursive lookups querying the authoritative name servers. Lookups on specific DNS resolvers are also possible. Additionally, it will look up secondary records and output a full log of what was done on a technical level." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1124 | | <img src="/gfx/dnslookup.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="DNS lookup" />DNS lookup
|
|
1125 | |
1126 | |
1127 | | <a href="/dns-propagation/" OnClick="addFromInfo(this, 'topmenu');" title="Check how DNS records are propagated throughout the world. It will start by examining the authoritative name servers and compare the records with the results from over 20 DNS servers worldwide." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1128 | | <img src="/gfx/dnspropagation.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="DNS propagation check" />DNS propagation check
|
|
1129 | |
1130 | |
1131 | | <a href="/port-scan/" OnClick="addFromInfo(this, 'topmenu');" title="Scan any IP for any open ports. Includes probing functionality on DNS, SMTP, POP3, IMAP and HTTP protocols if open." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1132 | | <img src="/gfx/portscan.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Port scan + probeing" />Port scan + probeing
|
|
1133 | |
1134 | |
1135 | | <a href="/whois/" OnClick="addFromInfo(this, 'topmenu');" title="Perform WHOIS and/or RDAP lookups on domains, IP addresses, and ASNs. Will output all available technical info, contact info, etc." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1136 | | <img src="/gfx/whois.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="WHOIS / RDAP lookup" />WHOIS / RDAP lookup
|
|
1137 | |
1138 | |
1139 | | <a href="/http-request-tool/" OnClick="addFromInfo(this, 'topmenu');" title="Perform HTTP/HTTPS requests to any server" class="truncate MainItemKids" style="max-width: 150px;">
|
|
1140 | | <img src="/gfx/httprequest.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="HTTP/S request tool" />HTTP/S request tool
|
|
1141 | |
1142 | |
1143 | | <a href="/ssl-certificate-check/" OnClick="addFromInfo(this, 'topmenu');" title="Check details of your SSL certificate and the full chain of certificates." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1144 | | <img src="/gfx/sslcheck.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="TLS/SSL certificate check" />TLS/SSL certificate check<div class="betaMark">beta</div>
|
|
1145 | |
1146 | |
1147 | | <a href="/dnsbl-blacklist-checker/" OnClick="addFromInfo(this, 'topmenu');" title="Check IP or domain against the most common e-mail blacklists." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1148 | | <img src="/gfx/dnsbl.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="E-mail DNSBL blacklist check" />E-mail DNSBL blacklist check
|
|
1149 | |
1150 | |
1151 | | <a href="/reverse-dns-ptr-lookup/" OnClick="addFromInfo(this, 'topmenu');" title="Perform reverse DNS (rDNS/PTR) lookups of any IP." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1152 | | <img src="/gfx/rdns.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Reverse DNS" />Reverse DNS
|
|
1153 | |
1154 | |
1155 | | <a href="/cidr/" OnClick="addFromInfo(this, 'topmenu');" title="IP to CIDR calculation tool with subnet info. The reverse, CIDR ranges to IP addresses, is also possible. Last but not least, it includes a tool for refactoring groups of IPs, domain names, and/or other CIDR ranges." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1156 | | <img src="/gfx/cidr.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="CIDR calculator" />CIDR calculator<div class="betaMark">beta</div>
|
|
1157 | |
1158 | |
1159 | | <a href="/asndatabase/" OnClick="addFromInfo(this, 'topmenu');" title="A fully searchable database of ASN records provides comprehensive details on peers, announced prefixes, and Internet Exchange memberships. Including metadata such as name, website, logo, and statistics for each ASN. Searchable by name, ASN, IP, or CIDR." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1160 | | <img src="/gfx/asndatabase.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="ASN database lookup" />ASN database lookup<div class="betaMark">beta</div>
|
|
1161 | |
1162 | |
1163 | | <a href="/whats-my-ip/" OnClick="addFromInfo(this, 'topmenu');" title="Check your own IP - both IPv4 and IPv6. Works as a connectivity test as well." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1164 | | <img src="/gfx/myip.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="What is my IPv4 and IPv6?" />What is my IPv4 and IPv6?
|
|
1165 | |
1166 | |
1167 | | <a href="/geoip/" OnClick="addFromInfo(this, 'topmenu');" title="Online tool GeoIP location of any IP and/or domain." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1168 | | <img src="/gfx/geoip.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="GeoIP location" />GeoIP location
|
|
1169 | |
1170 | |
1171 | | <a href="/qrcode/" OnClick="addFromInfo(this, 'topmenu');" title="Turn any URL into a scanable QR code." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1172 | | <img src="/gfx/qrcode.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="QR code generator" />QR code generator
|
|
1173 | |
1174 | |
1175 | |
1176 | |
1177 | | <li class="hidden visible-xs text-left MainItem">
|
|
1178 | | <b>Dev tools</b><br /><div class="clearfix MainItemContentBox">
|
|
1179 | |
1180 | | <a href="/color-contrast/" OnClick="addFromInfo(this, 'topmenu');" title="Online tool for checking the contrast/readability of two colors - and get hints for optimizing the contrast." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1181 | | <img src="/gfx/colorcontrast.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Color contrast checker" />Color contrast checker
|
|
1182 | |
1183 | |
1184 | | <a href="/color-picker/" OnClick="addFromInfo(this, 'topmenu');" title="Pick any color - and see info on related colors, contrast colors and different shades." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1185 | | <img src="/gfx/colorpicker.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Color picker" />Color picker
|
|
1186 | |
1187 | |
1188 | | <a href="/lorem-ipsum/" OnClick="addFromInfo(this, 'topmenu');" title="Lorem, ipsum generator, with the option of creating text's of different levels of complexity." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1189 | | <img src="/gfx/loremipsum.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Lorem ipsum generator" />Lorem ipsum generator
|
|
1190 | |
1191 | |
1192 | | <a href="/urlencode/" OnClick="addFromInfo(this, 'topmenu');" title="Online tool for URLencode and/or URLdecode of any string." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1193 | | <img src="/gfx/urlencode.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="URL encode/decode" />URL encode/decode
|
|
1194 | |
1195 | |
1196 | | <a href="/htmlencode/" OnClick="addFromInfo(this, 'topmenu');" title="Online tool for HTMLencode and/or HTMLdecode of any string." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1197 | | <img src="/gfx/htmlencode.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="HTML encode/decode" />HTML encode/decode
|
|
1198 | |
1199 | |
1200 | | <a href="/base64encode/" OnClick="addFromInfo(this, 'topmenu');" title="Online tool for BASE64 encoding af binary-to-text, and BASE64 decoding for text-to-binary." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1201 | | <img src="/gfx/base64encode.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="BASE64 encode/decode" />BASE64 encode/decode
|
|
1202 | |
1203 | |
1204 | | <a href="/hashing/" OnClick="addFromInfo(this, 'topmenu');" title="Online tool for hash encoding using MD5, SHA-1, SHA256, SHA384, SHA512 and RIPEMD algorithms." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1205 | | <img src="/gfx/hashing.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Hash calculator (CRC64 - MD5 - SHA - RIPEMD)" />Hash calculator (CRC64 - MD5 - SHA - RIPEMD)
|
|
1206 | |
1207 | |
1208 | |
1209 | |
1210 | | <li class="hidden visible-xs text-left MainItem">
|
|
1211 | | <b>Misc tools</b><br /><div class="clearfix MainItemContentBox">
|
|
1212 | |
1213 | | <a href="/password/" OnClick="addFromInfo(this, 'topmenu');" title="Create passwords of any complexity. Ready to copy and with phonetic nato codes for easy to read out loud." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1214 | | <img src="/gfx/password.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="Password generator" />Password generator
|
|
1215 | |
1216 | |
1217 | | <a href="/world-clock/" OnClick="addFromInfo(this, 'topmenu');" title="Beautiful day/night map of the world, with markup of all major cities including local date and time." class="truncate MainItemKids" style="max-width: 150px;">
|
|
1218 | | <img src="/gfx/worldclock.png?2023121801" height="20" width="20" border="0" style="margin-top: -3px; margin-right: 8px;" alt="World map, day/night + local time" />World map, day/night + local time<div class="betaMark">beta</div>
|
|
1219 | |
1220 | |
1221 | |
1222 | |
1223 | |
1224 | |
1225 | |
1226 | |
1227 | |
1228 | | <ul class="nav navbar-nav navbar-right" id="menuRight" >
|
|
1229 | |
1230 | | <a href="#"><i>CTRL+D to bookmark</i></a>
|
|
1231 | |
1232 | |
1233 | |
1234 | |
1235 | |
1236 | | </div><!-- /.navbar-collapse -->
|
|
1237 | |
1238 | | <!-- innerlinks, for menu at top -->
|
|
1239 | | <div class="znavbar-collapse collapse " style=" border-top: 1px solid #282828; margin-left: -15px; margin-right: -15px; text-align: center;" id="pageNavbarTop" aria-expanded="false" aria-controls="pageNavbarTop">
|
|
1240 | | <div id="innerLinksTop" style="padding-top: 10px; padding-bottom: 10px;"></div>
|
|
1241 | |
1242 | |
1243 | |
1244 | | </div><!-- /.container-fluid -->
|
|
1245 | |
1246 | |
1247 | |
1248 | |
1249 | |
1250 | |
1251 | |
1252 | |
1253 | | /*expand content hover https://stackoverflow.com/questions/16214326/bootstrap-dropdown-with-hover*/
|
|
1254 | | .dropdown:hover .dropdown-menu {
|
|
1255 | |
1256 | | margin-top: 0; /* remove the gap so it doesn't close */
|
|
1257 | |
1258 | |
1259 | |
1260 | |
1261 | |
1262 | |
1263 | |
1264 | |
1265 | |
1266 | |
1267 | |
1268 | |
1269 | |
1270 | | <!-- homescreen modals start -->
|
|
1271 | |
1272 | |
1273 | |
1274 | |
1275 | | if (navigator.userAgent.indexOf("Android") > -1) {
|
|
1276 | | //$("#webappTop").css("display", "block");
|
|
1277 | | $("#webappInnerAndroid").css("display", "block");
|
|
1278 | |
1279 | | else if (navigator.userAgent.indexOf("iPhone") > -1) {
|
|
1280 | | //$("#webappTop").css("display", "block");
|
|
1281 | | $("#webappInnerIphone").css("display", "block");
|
|
1282 | |
1283 | |
1284 | |
1285 | |
1286 | |
1287 | |
1288 | |
1289 | |
1290 | | <div class="modal fade" id="homescreenModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
|
1291 | | <div class="modal-dialog" role="document">
|
|
1292 | | <div class="modal-content">
|
|
1293 | | <div class="modal-header">
|
|
1294 | | <h5 class="modal-title" id="exampleModalLabel">Add to homescreen</h5>
|
|
1295 | | <button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
1296 | | <span aria-hidden="true">×</span>
|
|
1297 | |
1298 | |
1299 | |
1300 | |
1301 | | <div id="webappInnerIphone" style="display: none;">
|
|
1302 | | Tap the 'Share button' at the bottom of the screen:<br /><br />
|
|
1303 | |
1304 | | <center><img class="lazyload" data-src="/addtohomescreen-ios-1.png" style="width: 80%; border: 1px solid #555; height: auto;" /></center>
|
|
1305 | |
1306 | |
1307 | | Scroll down the list, and select 'Add to Home Screen':<br /><br />
|
|
1308 | | <center><img class="lazyload" data-src="/addtohomescreen-ios-2.png" style="width: 80%; border: 1px solid #555; height: auto;" /></center>
|
|
1309 | |
1310 | |
1311 | |
1312 | | <div id="webappInnerAndroid" style="display: none;">
|
|
1313 | | Tap the menu icon (3 dots - upper right-hand corner):<br /><br />
|
|
1314 | |
1315 | | <center><img class="lazyload" data-src="/addtohomescreen-android-1.png" style="width: 80%; border: 1px solid #555; height: auto;" /></center>
|
|
1316 | |
1317 | |
1318 | | and select 'Add to homescreen'.:<br /><br />
|
|
1319 | | <center><img class="lazyload" data-src="/addtohomescreen-android-2.png" style="width: 80%; border: 1px solid #555; height: auto;" /></center>
|
|
1320 | |
1321 | |
1322 | |
1323 | |
1324 | |
1325 | | <div class="modal-footer" style="text-align: center;">
|
|
1326 | | <button type="button" class="btn btn-primary" data-dismiss="modal">Okay thanks - got it!</button>
|
|
1327 | |
1328 | |
1329 | |
1330 | |
1331 | |
1332 | | <!-- homescreen modals end -->
|
|
1333 | |
1334 | |
1335 | |
1336 | |
1337 | |
1338 | |
1339 | |
1340 | |
1341 | |
1342 | |
1343 | |
1344 | | <div class="pageContentWrapper">
|
|
1345 | |
1346 | |
1347 | |
1348 | |
1349 | |
1350 | |
1351 | |
1352 | |
1353 | |
1354 | |
1355 | |
1356 | |
1357 | | <div class="col-xs-12 col-md-8 col-xl-8 pull-right resultCol">
|
|
1358 | |
1359 | |
1360 | |
1361 | |
1362 | |
1363 | | <div class=" col-sm-12 hidden visible-xs visible-sm">
|
|
1364 | |
1365 | | <div id="innerlinks"></div>
|
|
1366 | |
1367 | |
1368 | |
1369 | |
1370 | |
1371 | |
1372 | |
1373 | | <div class=" col-md-12 ">
|
|
1374 | |
1375 | | <h3 innerlink>The tools</h3>
|
|
1376 | |
1377 | |
1378 | | <div class="row "><div class="grid">
|
|
1379 | | <div class="grid-sizer col-xs-12 col-sm-6 col-md-6 col-lg-4"></div>
|
|
1380 | |
1381 | |
1382 | | <div class="grid-item col-xs-12 col-sm-12 col-md-12 col-lg-8"><div class="grid-item-content--big"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 15px; xline-height: 1;">
|
|
1383 | | <table cellspacing="0" cellpadding="0" border="0">
|
|
1384 | |
1385 | | <td valign="top" class="hidden-xs"><img src="gfx/dnslookup.png?2023121801" height0="60" width="60" border="0" style="margin-right: 10px;"></td>
|
|
1386 | |
1387 | | <a href="/dns-lookup/" OnClick="addFromInfo(this, 'frontpagelg'); " style="color: #fff; text-decoration: none;">
|
|
1388 | | <h4 style="margin: 0px;">DNS lookup<small></small></h4>
|
|
1389 | | <img src="gfx/dnslookup.png?2023121801" height0="60" width="60" border="0" style="margin-left: 10px; margin-bottom: 10px; float: right;" class="hidden visible-xs">
|
|
1390 | | DNS lookup / nslookup / DIG of DNS records. An online tool for DNS lookups. By default recursive lookups querying the authoritative name servers. Lookups on specific DNS resolvers are also possible. Additionally, it will look up secondary records and output a full log of what was done on a technical level.
|
|
1391 | |
1392 | |
1393 | |
1394 | |
1395 | | <td class="hidden-xs"> </td>
|
|
1396 | |
1397 | |
1398 | |
1399 | |
1400 | |
1401 | |
1402 | |
1403 | |
1404 | |
1405 | |
1406 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content--medium"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1407 | | <table cellspacing="0" cellpadding="0" border="0">
|
|
1408 | |
1409 | | <td valign="top" class="hidden-xs"><img src="gfx/dnspropagation.png" height="45" width="45" border="0" style="margin-right: 5px; margin-top: 5px; margin-bottom: 5px;"></td>
|
|
1410 | |
1411 | | <img src="gfx/dnspropagation.png?2023121801" height="45" width="45" border="0" style="margin-left: 5px; margin-top: 5px; margin-bottom: 5px; float: right;" class="hidden visible-xs">
|
|
1412 | | <a href="/dns-propagation/" OnClick="addFromInfo(this, 'frontpagemd'); "" style="color: #fff; text-decoration: none;">
|
|
1413 | | <h5>DNS propagation check</h5>
|
|
1414 | | Check how DNS records are propagated throughout the world. It will start by examining the authoritative name servers and compare the records with the results from over 20 DNS servers worldwide.
|
|
1415 | |
1416 | |
1417 | |
1418 | |
1419 | |
1420 | |
1421 | |
1422 | |
1423 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1424 | | <a href="/port-scan/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1425 | | <h5>Port scan + probeing</h5>
|
|
1426 | | <small>Scan any IP for any open ports. Includes probing functionality on DNS, SMTP, POP3, IMAP and HTTP protocols if open.</small>
|
|
1427 | |
1428 | |
1429 | |
1430 | |
1431 | |
1432 | | <div class="grid-item col-xs-12 col-sm-12 col-md-12 col-lg-8"><div class="grid-item-content--big"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 15px; xline-height: 1;">
|
|
1433 | | <table cellspacing="0" cellpadding="0" border="0">
|
|
1434 | |
1435 | | <td valign="top" class="hidden-xs"><img src="gfx/whois.png?2023121801" height0="60" width="60" border="0" style="margin-right: 10px;"></td>
|
|
1436 | |
1437 | | <a href="/whois/" OnClick="addFromInfo(this, 'frontpagelg'); " style="color: #fff; text-decoration: none;">
|
|
1438 | | <h4 style="margin: 0px;">WHOIS / RDAP lookup<small></small></h4>
|
|
1439 | | <img src="gfx/whois.png?2023121801" height0="60" width="60" border="0" style="margin-left: 10px; margin-bottom: 10px; float: right;" class="hidden visible-xs">
|
|
1440 | | Perform WHOIS and/or RDAP lookups on domains, IP addresses, and ASNs. Will output all available technical info, contact info, etc.
|
|
1441 | |
1442 | |
1443 | |
1444 | |
1445 | | <td class="hidden-xs"> </td>
|
|
1446 | |
1447 | |
1448 | |
1449 | |
1450 | |
1451 | |
1452 | |
1453 | |
1454 | |
1455 | |
1456 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1457 | | <a href="/http-request-tool/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1458 | | <h5>HTTP/S request tool</h5>
|
|
1459 | | <small>Perform HTTP/HTTPS requests to any server</small>
|
|
1460 | |
1461 | |
1462 | |
1463 | |
1464 | |
1465 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content--medium"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1466 | | <table cellspacing="0" cellpadding="0" border="0">
|
|
1467 | |
1468 | | <td valign="top" class="hidden-xs"><img src="gfx/sslcheck.png" height="45" width="45" border="0" style="margin-right: 5px; margin-top: 5px; margin-bottom: 5px;"></td>
|
|
1469 | |
1470 | | <img src="gfx/sslcheck.png?2023121801" height="45" width="45" border="0" style="margin-left: 5px; margin-top: 5px; margin-bottom: 5px; float: right;" class="hidden visible-xs">
|
|
1471 | | <a href="/ssl-certificate-check/" OnClick="addFromInfo(this, 'frontpagemd'); "" style="color: #fff; text-decoration: none;">
|
|
1472 | | <h5>TLS/SSL certificate check<div class="betaMark">beta</div></h5>
|
|
1473 | | Check details of your SSL certificate and the full chain of certificates.
|
|
1474 | |
1475 | |
1476 | |
1477 | |
1478 | |
1479 | |
1480 | |
1481 | |
1482 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1483 | | <a href="/dnsbl-blacklist-checker/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1484 | | <h5>E-mail DNSBL blacklist check</h5>
|
|
1485 | | <small>Check IP or domain against the most common e-mail blacklists.</small>
|
|
1486 | |
1487 | |
1488 | |
1489 | |
1490 | |
1491 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1492 | | <a href="/reverse-dns-ptr-lookup/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1493 | |
1494 | | <small>Perform reverse DNS (rDNS/PTR) lookups of any IP.</small>
|
|
1495 | |
1496 | |
1497 | |
1498 | |
1499 | |
1500 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1501 | | <a href="/color-contrast/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1502 | | <h5>Color contrast checker</h5>
|
|
1503 | | <small>Online tool for checking the contrast/readability of two colors - and get hints for optimizing the contrast.</small>
|
|
1504 | |
1505 | |
1506 | |
1507 | |
1508 | |
1509 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1510 | | <a href="/color-picker/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1511 | |
1512 | | <small>Pick any color - and see info on related colors, contrast colors and different shades.</small>
|
|
1513 | |
1514 | |
1515 | |
1516 | |
1517 | |
1518 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1519 | | <a href="/password/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1520 | | <h5>Password generator</h5>
|
|
1521 | | <small>Create passwords of any complexity. Ready to copy and with phonetic nato codes for easy to read out loud.</small>
|
|
1522 | |
1523 | |
1524 | |
1525 | |
1526 | |
1527 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1528 | | <a href="/lorem-ipsum/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1529 | | <h5>Lorem ipsum generator</h5>
|
|
1530 | | <small>Lorem, ipsum generator, with the option of creating text's of different levels of complexity.</small>
|
|
1531 | |
1532 | |
1533 | |
1534 | |
1535 | |
1536 | | <div class="grid-item col-xs-12 col-sm-12 col-md-12 col-lg-8"><div class="grid-item-content--big"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 15px; xline-height: 1;">
|
|
1537 | | <table cellspacing="0" cellpadding="0" border="0">
|
|
1538 | |
1539 | | <td valign="top" class="hidden-xs"><img src="gfx/cidr.png?2023121801" height0="60" width="60" border="0" style="margin-right: 10px;"></td>
|
|
1540 | |
1541 | | <a href="/cidr/" OnClick="addFromInfo(this, 'frontpagelg'); " style="color: #fff; text-decoration: none;">
|
|
1542 | | <h4 style="margin: 0px;">CIDR calculator<small><div class="betaMark">beta</div></small></h4>
|
|
1543 | | <img src="gfx/cidr.png?2023121801" height0="60" width="60" border="0" style="margin-left: 10px; margin-bottom: 10px; float: right;" class="hidden visible-xs">
|
|
1544 | | IP to CIDR calculation tool with subnet info. The reverse, CIDR ranges to IP addresses, is also possible. Last but not least, it includes a tool for refactoring groups of IPs, domain names, and/or other CIDR ranges.
|
|
1545 | |
1546 | |
1547 | |
1548 | |
1549 | | <td class="hidden-xs"> </td>
|
|
1550 | |
1551 | |
1552 | |
1553 | |
1554 | |
1555 | |
1556 | |
1557 | |
1558 | |
1559 | |
1560 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content--medium"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1561 | | <table cellspacing="0" cellpadding="0" border="0">
|
|
1562 | |
1563 | | <td valign="top" class="hidden-xs"><img src="gfx/asndatabase.png" height="45" width="45" border="0" style="margin-right: 5px; margin-top: 5px; margin-bottom: 5px;"></td>
|
|
1564 | |
1565 | | <img src="gfx/asndatabase.png?2023121801" height="45" width="45" border="0" style="margin-left: 5px; margin-top: 5px; margin-bottom: 5px; float: right;" class="hidden visible-xs">
|
|
1566 | | <a href="/asndatabase/" OnClick="addFromInfo(this, 'frontpagemd'); "" style="color: #fff; text-decoration: none;">
|
|
1567 | | <h5>ASN database lookup<div class="betaMark">beta</div></h5>
|
|
1568 | | A fully searchable database of ASN records provides comprehensive details on peers, announced prefixes, and Internet Exchange memberships. Including metadata such as name, website, logo, and statistics for each ASN. Searchable by name, ASN, IP, or CIDR.
|
|
1569 | |
1570 | |
1571 | |
1572 | |
1573 | |
1574 | |
1575 | |
1576 | |
1577 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1578 | | <a href="/world-clock/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1579 | | <h5>World map, day/night + local time<div class="betaMark">beta</div></h5>
|
|
1580 | | <small>Beautiful day/night map of the world, with markup of all major cities including local date and time.</small>
|
|
1581 | |
1582 | |
1583 | |
1584 | |
1585 | |
1586 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1587 | | <a href="/urlencode/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1588 | | <h5>URL encode/decode</h5>
|
|
1589 | | <small>Online tool for URLencode and/or URLdecode of any string.</small>
|
|
1590 | |
1591 | |
1592 | |
1593 | |
1594 | |
1595 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1596 | | <a href="/htmlencode/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1597 | | <h5>HTML encode/decode</h5>
|
|
1598 | | <small>Online tool for HTMLencode and/or HTMLdecode of any string.</small>
|
|
1599 | |
1600 | |
1601 | |
1602 | |
1603 | |
1604 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1605 | | <a href="/base64encode/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1606 | | <h5>BASE64 encode/decode</h5>
|
|
1607 | | <small>Online tool for BASE64 encoding af binary-to-text, and BASE64 decoding for text-to-binary.</small>
|
|
1608 | |
1609 | |
1610 | |
1611 | |
1612 | |
1613 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1614 | | <a href="/hashing/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1615 | | <h5>Hash calculator (CRC64 - MD5 - SHA - RIPEMD)</h5>
|
|
1616 | | <small>Online tool for hash encoding using MD5, SHA-1, SHA256, SHA384, SHA512 and RIPEMD algorithms.</small>
|
|
1617 | |
1618 | |
1619 | |
1620 | |
1621 | |
1622 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1623 | | <a href="/whats-my-ip/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1624 | | <h5>What is my IPv4 and IPv6?</h5>
|
|
1625 | | <small>Check your own IP - both IPv4 and IPv6. Works as a connectivity test as well.</small>
|
|
1626 | |
1627 | |
1628 | |
1629 | |
1630 | |
1631 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1632 | | <a href="/geoip/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1633 | |
1634 | | <small>Online tool GeoIP location of any IP and/or domain.</small>
|
|
1635 | |
1636 | |
1637 | |
1638 | |
1639 | |
1640 | | <div class="grid-item col-xs-12 col-sm-6 col-md-6 col-lg-4"><div class="grid-item-content"><div class="panel panel-default"><div class="panel-body" style="background-color: #181818; padding: 10px; line-height: 1;">
|
|
1641 | | <a href="/qrcode/" OnClick="addFromInfo(this, 'frontpagesm'); " style="color: #fff; text-decoration: none;">
|
|
1642 | | <h5>QR code generator</h5>
|
|
1643 | | <small>Turn any URL into a scanable QR code.</small>
|
|
1644 | |
1645 | |
1646 | |
1647 | |
1648 | |
1649 | |
1650 | |
1651 | |
1652 | | <script src="/css/masonry.pkgd.js?2023121801"></script>
|
|
1653 | |
1654 | |
1655 | |
1656 | |
1657 | |
1658 | |
1659 | |
1660 | | .grid-item-content--big {
|
|
1661 | |
1662 | |
1663 | | .grid-item-content--big2 {
|
|
1664 | |
1665 | |
1666 | | .grid-item-content--big .panel-body {
|
|
1667 | | padding-top: 30px !important;
|
|
1668 | | padding-bottom: 30px !important;
|
|
1669 | |
1670 | |
1671 | | .grid-item-content--medium .panel-body {
|
|
1672 | | padding-top: 30px !important;
|
|
1673 | | padding-bottom: 30px !important;
|
|
1674 | |
1675 | |
1676 | |
1677 | | .grid-item .panel-body table {
|
|
1678 | | background-color: transparent;
|
|
1679 | |
1680 | |
1681 | | .grid-item .panel-body:hover
|
|
1682 | |
1683 | | background-color: rgba(255,255,255,0.1) !important;
|
|
1684 | | transition: all 0.5s ease;
|
|
1685 | |
1686 | |
1687 | |
1688 | |
1689 | |
1690 | | var elem = document.querySelector('.grid');
|
|
1691 | | var msnry = new Masonry(elem, {
|
|
1692 | |
1693 | | itemSelector: '.grid-item',
|
|
1694 | | columnWidth: '.grid-sizer',
|
|
1695 | |
1696 | |
1697 | |
1698 | |
1699 | |
1700 | |
1701 | |
1702 | | //setTimeout("mason();", 1000);
|
|
1703 | |
1704 | |
1705 | |
1706 | |
1707 | |
1708 | |
1709 | |
1710 | |
1711 | |
1712 | |
1713 | |
1714 | |
1715 | |
1716 | |
1717 | |
1718 | |
1719 | |
1720 | |
1721 | |
1722 | | <div class="col-xs-12 col-md-4 col-xl-4 pull-right queryCol ">
|
|
1723 | |
1724 | | <h1 innerlink>What is iamroot.tech?</h1>
|
|
1725 | |
1726 | | <div class="panel panel-default"><div class="panel-body">
|
|
1727 | | iamroot.tech is a set of advanced and detailed online available tools centered around admin,
|
|
1728 | | development and GUI/UI/UX tasks.<br /><br />
|
|
1729 | |
1730 | | The need for this grew out of my day job as a fullstack developer and systems administrator.
|
|
1731 | | I needed a set of fast and reliable tools, with advanced options for me to tweak, clear
|
|
1732 | | and understandable results, and without having to deal with tons of ads and useless info
|
|
1733 | | added, just to make it look fancy.<br /><br />
|
|
1734 | |
1735 | | The tools have been extremely useful to me , and I hope they will serve you as well.<br /><br />
|
|
1736 | |
1737 | |
1738 | |
1739 | |
1740 | |
1741 | |
1742 | |
1743 | | <div class="x-hidden-sm x-hidden-xs x-discrete"> <h3 innerlink>Feedback</h3><div class="panel panel-default"><div class="panel-body">These tools are still in active development. If you have any kind of feedback, please let me know. Send me an e-mail on iamrootdottech(a)gmail.com.</div></div></div>
|
|
1744 | |
1745 | |
1746 | |
1747 | |
1748 | |
1749 | |
1750 | |
1751 | |
1752 | |
1753 | |
1754 | |
1755 | |
1756 | |
1757 | |
1758 | |
1759 | |
1760 | |
1761 | |
1762 | |
1763 | |
1764 | |
1765 | |
1766 | |
1767 | |
1768 | |
1769 | |
1770 | |
1771 | |
1772 | |
1773 | |
1774 | |
1775 | |
1776 | |
1777 | |
1778 | |
1779 | |
1780 | |
1781 | |
1782 | |
1783 | |
1784 | |
1785 | |
1786 | |
1787 | |
1788 | | .smallfooter .footer.mainfooter {
|
|
1789 | |
1790 | |
1791 | |
1792 | | .smallfooter .footer.smallfooter {
|
|
1793 | |
1794 | |
1795 | |
1796 | |
1797 | |
1798 | | <div class="container footer mainfooter" id="footer" innerlink="Footer">
|
|
1799 | |
1800 | |
1801 | | <hr style="margin-bottom: 15px; margin-top: 15px;" />
|
|
1802 | |
1803 | |
1804 | | <div class="panel panel-default " style="border-radius: 0px;"><div class="panel-body text-left">
|
|
1805 | |
1806 | |
1807 | |
1808 | | <div class="col-md-6 col-lg-4 hidden-xs hidden-sm" style="border-right: 1px solid rgba(255,255,255,.1);">
|
|
1809 | |
1810 | | <h4>The tools of iamroot.tech</h4>
|
|
1811 | | <a href="/dns-lookup/" OnClick="addFromInfo(this, 'footertools');" title="DNS lookup / nslookup / DIG of DNS records. An online tool for DNS lookups. By default recursive lookups querying the authoritative name servers. Lookups on specific DNS resolvers are also possible. Additionally, it will look up secondary records and output a full log of what was done on a technical level." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">DNS lookup</a> <a href="/dns-propagation/" OnClick="addFromInfo(this, 'footertools');" title="Check how DNS records are propagated throughout the world. It will start by examining the authoritative name servers and compare the records with the results from over 20 DNS servers worldwide." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">DNS propagation check</a> <a href="/port-scan/" OnClick="addFromInfo(this, 'footertools');" title="Scan any IP for any open ports. Includes probing functionality on DNS, SMTP, POP3, IMAP and HTTP protocols if open." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">Port scan + probeing</a> <a href="/whois/" OnClick="addFromInfo(this, 'footertools');" title="Perform WHOIS and/or RDAP lookups on domains, IP addresses, and ASNs. Will output all available technical info, contact info, etc." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">WHOIS / RDAP lookup</a> <a href="/http-request-tool/" OnClick="addFromInfo(this, 'footertools');" title="Perform HTTP/HTTPS requests to any server" class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">HTTP/S request tool</a> <a href="/ssl-certificate-check/" OnClick="addFromInfo(this, 'footertools');" title="Check details of your SSL certificate and the full chain of certificates." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">TLS/SSL certificate check</a> <a href="/dnsbl-blacklist-checker/" OnClick="addFromInfo(this, 'footertools');" title="Check IP or domain against the most common e-mail blacklists." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">E-mail DNSBL blacklist check</a> <a href="/reverse-dns-ptr-lookup/" OnClick="addFromInfo(this, 'footertools');" title="Perform reverse DNS (rDNS/PTR) lookups of any IP." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">Reverse DNS</a> <a href="/color-contrast/" OnClick="addFromInfo(this, 'footertools');" title="Online tool for checking the contrast/readability of two colors - and get hints for optimizing the contrast." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">Color contrast checker</a> <a href="/color-picker/" OnClick="addFromInfo(this, 'footertools');" title="Pick any color - and see info on related colors, contrast colors and different shades." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">Color picker</a> <a href="/password/" OnClick="addFromInfo(this, 'footertools');" title="Create passwords of any complexity. Ready to copy and with phonetic nato codes for easy to read out loud." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">Password generator</a> <a href="/lorem-ipsum/" OnClick="addFromInfo(this, 'footertools');" title="Lorem, ipsum generator, with the option of creating text's of different levels of complexity." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">Lorem ipsum generator</a> <a href="/cidr/" OnClick="addFromInfo(this, 'footertools');" title="IP to CIDR calculation tool with subnet info. The reverse, CIDR ranges to IP addresses, is also possible. Last but not least, it includes a tool for refactoring groups of IPs, domain names, and/or other CIDR ranges." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">CIDR calculator</a> <a href="/asndatabase/" OnClick="addFromInfo(this, 'footertools');" title="A fully searchable database of ASN records provides comprehensive details on peers, announced prefixes, and Internet Exchange memberships. Including metadata such as name, website, logo, and statistics for each ASN. Searchable by name, ASN, IP, or CIDR." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">ASN database lookup</a> <a href="/world-clock/" OnClick="addFromInfo(this, 'footertools');" title="Beautiful day/night map of the world, with markup of all major cities including local date and time." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">World map, day/night + local time</a> <a href="/urlencode/" OnClick="addFromInfo(this, 'footertools');" title="Online tool for URLencode and/or URLdecode of any string." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">URL encode/decode</a> <a href="/htmlencode/" OnClick="addFromInfo(this, 'footertools');" title="Online tool for HTMLencode and/or HTMLdecode of any string." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">HTML encode/decode</a> <a href="/base64encode/" OnClick="addFromInfo(this, 'footertools');" title="Online tool for BASE64 encoding af binary-to-text, and BASE64 decoding for text-to-binary." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">BASE64 encode/decode</a> <a href="/hashing/" OnClick="addFromInfo(this, 'footertools');" title="Online tool for hash encoding using MD5, SHA-1, SHA256, SHA384, SHA512 and RIPEMD algorithms." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">Hash calculator (CRC64 - MD5 - SHA - RIPEMD)</a> <a href="/whats-my-ip/" OnClick="addFromInfo(this, 'footertools');" title="Check your own IP - both IPv4 and IPv6. Works as a connectivity test as well." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">What is my IPv4 and IPv6?</a> <a href="/geoip/" OnClick="addFromInfo(this, 'footertools');" title="Online tool GeoIP location of any IP and/or domain." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">GeoIP location</a> <a href="/qrcode/" OnClick="addFromInfo(this, 'footertools');" title="Turn any URL into a scanable QR code." class="btn btn-xs btn-default" style="margin-right: 5px; margin-bottom: 5px;">QR code generator</a>
|
|
1812 | |
1813 | |
1814 | | <div class="col-md-6 col-lg-4 hidden-xs hidden-sm hidden-md " style="border-right: 1px solid rgba(255,255,255,.1);">
|
|
1815 | | <h4 class="truncate">Changelog</h4>
|
|
1816 | |
1817 | |
1818 | | <li><a href="https://iamroot.tech/asndatabase/the-asn-stats-report.aspx" OnClick="addFromInfo(this, 'footerchangelog');" title="I am pleased to introduce The ASN Stats Report - a weekly updated report on the ASN database, detailing active/inactive ASNs, peer statistics, and IP statistics (including stats on IPv6 adoption). Updated weekly on Fridays, it includes country-by-country statistics and download options." class="discrete small">18-03-2024: ASN statistics</a></li>
|
|
1819 | |
1820 | | <li><a href="https://iamroot.tech/color-contrast/" OnClick="addFromInfo(this, 'footerchangelog');" title="Some minor tweaks has been made on the color contrast tool. Thanks to Joe M for the heads up." class="discrete small">18-03-2024: Minor UI tweaks on the color contrast tool</a></li>
|
|
1821 | |
1822 | | <li><a href="https://iamroot.tech/asndatabase/" OnClick="addFromInfo(this, 'footerchangelog');" title="The details of Internet exchanges (IXes) have been updated where available. Information on individual ASN/IX connections and port speeds has been added, alongside total capacity per IX." class="discrete small">29-02-2024: ASN IX updates (port speeds and capacity)</a></li>
|
|
1823 | |
1824 | | <li><a href="/" OnClick="addFromInfo(this, 'footerchangelog');" title="The server at Nuremberg suffered a failure earlier today. It was fixed, and I am looking further into the issue. Sorry for the inconvenience." class="discrete small">29-02-2024: Nuremberg server crash</a></li>
|
|
1825 | |
1826 | | <li><a href="https://iamroot.tech/cidr/" OnClick="addFromInfo(this, 'footerchangelog');" title="An IPv6-specific error snuck into the CIDR tool. It has been fixed. I apologize for any inconvenience on this matter. Sorry." class="discrete small">29-02-2024: IPv6 issue on the CIDR tool has been fixed</a></li>
|
|
1827 | |
1828 | | <li><a href="https://iamroot.tech/port-scan/" OnClick="addFromInfo(this, 'footerchangelog');" title="Check of open ports used by Veeam backup has been updated - adding port 9393, 9392, 9401, 9419 and 10001." class="discrete small">29-02-2024: Port scan of Veeam services</a></li>
|
|
1829 | |
1830 | | <li><a href="/" OnClick="addFromInfo(this, 'footerchangelog');" title="The capcha checks have been tweaked a bit. Some hard limits on specific tools have been implemented to accommodate some of the limits we have to meet on, for instance, port scans and WHOIS lookups." class="discrete small">29-02-2024: Tweaked capcha</a></li>
|
|
1831 | |
1832 | | <li><a href="/" OnClick="addFromInfo(this, 'footerchangelog');" title="A tryit-tool for working with the API endpoints has been implemented. This allows for you to play around with the API straight away." class="discrete small">24-02-2024: API tryit-feature has been implemented</a></li>
|
|
1833 | |
1834 | | <li><a href="https://iamroot.tech/port-scan/" OnClick="addFromInfo(this, 'footerchangelog');" title="Check of WAN access to port 8006 (Proxmox remote management) has been added to the port scan tool." class="discrete small">15-02-2024: Check of port 8006 (Proxmox) has been added to the port scan tool</a></li>
|
|
1835 | |
1836 | | <li><a href="https://iamroot.tech/port-scan/" OnClick="addFromInfo(this, 'footerchangelog');" title="Major remake of the port scan UI. All ports are now categorized, and each result is prefixed with a summary." class="discrete small">10-02-2024: Port scan UI improvements</a></li>
|
|
1837 | |
1838 | |
1839 | |
1840 | |
1841 | |
1842 | | <div class="col-sm-12 col-md-6 col-lg-4 ">
|
|
1843 | |
1844 | |
1845 | | Bi-weekly (at most) with updates, changelog and info from the website. Just
|
|
1846 | | straight to the point info - no BS! Sign up right here, or <a href="/about/newsletter" >read more about the iamroot.tech newsletter</A>.<br />
|
|
1847 | |
1848 | |
1849 | |
1850 | |
1851 | |
1852 | |
1853 | |
1854 | |
1855 | | <div class="col-sm-6 col-lg-12 col-xl-6" style="margin-top: 10px;">
|
|
1856 | | <a href="https://iamroot.tech/about/0auth/goto-google.aspx?L2Fib3V0L25ld3NsZXR0ZXIvc2lnbnVwLWZyb20tMGF1dGguYXNweA%3d%3d" class="btn btn-md btn-default " style="width: 100%;" title="Sign up using facebook"><div style="display: inline-block;"><img class="lazyload" data-src="/about/0auth/google.png?2023121801" style="float: left; margin-right: 5px;" height="24" width="24" class="discrete" alt="Signup using google">Signup using Google</div></a>
|
|
1857 | |
1858 | |
1859 | | <div class="col-sm-6 col-lg-12 col-xl-6" style="margin-top: 10px;">
|
|
1860 | | <a href="https://iamroot.tech/about/0auth/goto-github.aspx?L2Fib3V0L25ld3NsZXR0ZXIvc2lnbnVwLWZyb20tMGF1dGguYXNweA%3d%3d" class="btn btn-md btn-default " style="width: 100%;" title="Sign up using github"><div style="display: inline-block;"><img class="lazyload" data-src="/about/0auth/github.png?2023121801" style="float: left; margin-right: 5px;" height="24" width="24" class="discrete" alt="Signup using microsoft">Signup using Github</div></a>
|
|
1861 | |
1862 | |
1863 | | <div class="col-sm-12 small discrete text-center" style="margin-top: 10px; margin-bottom: 10px;">
|
|
1864 | | Other options: <a href="https://iamroot.tech/about/0auth/goto-microsoft.aspx?L2Fib3V0L25ld3NsZXR0ZXIvc2lnbnVwLWZyb20tMGF1dGguYXNweA%3d%3d">Signup using Microsoft</a> or <a href="https://iamroot.tech/about/0auth/goto-facebook.aspx?L2Fib3V0L25ld3NsZXR0ZXIvc2lnbnVwLWZyb20tMGF1dGguYXNweA%3d%3d">Signup using Facebook</a>.
|
|
1865 | |
1866 | |
1867 | | <div class="col-xs-5"><hr /></div>
|
|
1868 | | <div class="col-xs-2 text-center">OR</div>
|
|
1869 | | <div class="col-xs-5"><hr /></div>
|
|
1870 | |
1871 | |
1872 | |
1873 | |
1874 | | <form action="/about/newsletter/default.aspx" method="post">
|
|
1875 | |
1876 | | <div class="form-group clearfix">
|
|
1877 | | <div class="col-xs-8 col-sm-8 col-md-8 col-xl-8">
|
|
1878 | | <input type="email" name="email" class="form-control input-md " placeholder="Input your e-mail" value="">
|
|
1879 | |
1880 | | <div class="col-xs-4 col-sm-4 col-md-4 col-xl-4">
|
|
1881 | | <input type="submit" class="form-control input-md btn btn-default btn-md" value="GO!">
|
|
1882 | |
1883 | |
1884 | |
1885 | |
1886 | |
1887 | |
1888 | |
1889 | |
1890 | |
1891 | |
1892 | |
1893 | |
1894 | |
1895 | |
1896 | |
1897 | |
1898 | |
1899 | |
1900 | |
1901 | |
1902 | |
1903 | |
1904 | | No personal information gathered anywhere. E-mail may be used for login and/or newsletter - will not be sold or used by anyone else but iamroot.tech.
|
|
1905 | | Cookies are in use for statistical and useability purposes.
|
|
1906 | | Trademarks property of their respective owners. A <a href="/about/privacy-policy">privacy policy</a> and
|
|
1907 | | <a href="/about/terms-conditions">terms and conditions</a> is availible if you like.<br />
|
|
1908 | |
1909 | |
1910 | |
1911 | | <div class="col-md-4 text-center blueLinks">
|
|
1912 | | <a href="mailto: iamrootdottech@gmail.com">iamrootdottech@gmail.com</a><br />
|
|
1913 | | Bundgaard - Løvenørnsgade 56, 2tv - DK-8700 Horsens - Denmark
|
|
1914 | |
1915 | |
1916 | |
1917 | | <div class="col-md-4 text-right blueLinks">
|
|
1918 | | Shoutouts and credits to:
|
|
1919 | | <a href="https://getbootstrap.com/" target="_blank">Bootstrap</a>,
|
|
1920 | | <a href="https://jquery.com/" target="_blank">jQuery</a>,
|
|
1921 | | <a href="https://www.bootstrap-live-customizer.com/" target="_blank">Bootstrap live customizer by Virtuosoft</a>,
|
|
1922 | | <a href="https://dnsclient.michaco.net/" target="_blank">DnsClient.NET by MichaCo</a>,
|
|
1923 | | <a href="https://www.appelsiini.net/projects/lazyload/" target="_blank">LazyLoad by Mika Tuupola</a>,
|
|
1924 | | <a href="https://www.iana.org/time-zones" target="_blank">the Olson tz database by IANA</a>,
|
|
1925 | | <a href="https://visibleearth.nasa.gov/" target="_blank">Visible earth by NASA</a>,
|
|
1926 | | <a href="https://dev.maxmind.com/geoip/geolite2-free-geolocation-data?lang=en" target="_blank">GeoLite2 by MaxMind</a>,
|
|
1927 | | <a href="https://github.com/huysentruitw/barcoder" target="_blank">Barcoder by Wouter Huysentruit</a>,
|
|
1928 | | <a href="https://icons8.com/" target="_blank">ICONS8</a>.<br />
|
|
1929 | | <a href="https://github.com/alenaksu/json-viewer" target="_blank">json-viewer by alenaksu</a>.<br />
|
|
1930 | |
1931 | |
1932 | |
1933 | |
1934 | |
1935 | |
1936 | |
1937 | |
1938 | |
1939 | | <div class="container footer smallfooter" id="footer" innerlink="Footer">
|
|
1940 | |
1941 | |
1942 | |
1943 | |
1944 | |
1945 | | <div class="col-md-offset-3 col-md-7 text-center ">
|
|
1946 | | <hr style="margin-bottom: 15px; margin-top: 15px;" />
|
|
1947 | |
1948 | |
1949 | | <a href="mailto: iamrootdottech@gmail.com" class="blueLinks">iamrootdottech@gmail.com</a><br />
|
|
1950 | | Bundgaard - Løvenørnsgade 56, 2tv - DK-8700 Horsens - Denmark
|
|
1951 | |
1952 | |
1953 | |
1954 | |
1955 | | No personal information gathered anywhere. E-mail may be used for login and/or newsletter - will not be sold or used by anyone else but iamroot.tech.
|
|
1956 | | Cookies are in use for statistical and useability purposes.
|
|
1957 | | Trademarks property of their respective owners. A <a href="/about/privacy-policy">privacy policy</a> and
|
|
1958 | | <a href="/about/terms-conditions">terms and conditions</a> is availible if you like.<br />
|
|
1959 | |
1960 | |
1961 | |
1962 | |
1963 | |
1964 | |
1965 | |
1966 | |
1967 | |
1968 | |
1969 | |
1970 | |
1971 | |
1972 | |
1973 | |
1974 | |
1975 | |
1976 | |
1977 | |
1978 | |
1979 | |
1980 | | $('[data-toggle="tooltip"]').tooltip();
|
|
1981 | |
1982 | | //$('[data-toggle="popover"]').popover();
|
|
1983 | |
1984 | | $('[data-toggle="popover"]').popover({
|
|
1985 | |
1986 | |
1987 | |
1988 | |
1989 | | var content = $(this).attr("data-content-elmid");
|
|
1990 | |
1991 | | if ($("#" + content).length) {
|
|
1992 | | content = $("#" + content).html();
|
|
1993 | |
1994 | |
1995 | |
1996 | |
1997 | | var title = $(this).attr("data-title");
|
|
1998 | | //return $(title).children(".popover-heading").html();
|
|
1999 | |
2000 | |
2001 | |
2002 | | var my = this.$element.attr('data-placement')
|
|
2003 | |
2004 | |
2005 | |
2006 | | .on("mouseenter", function () {
|
|
2007 | |
2008 | | $(_this).removeClass("popLeave");
|
|
2009 | |
2010 | | $(".popover").on("mouseleave", function () {
|
|
2011 | | $(_this).popover('hide');
|
|
2012 | |
2013 | |
2014 | | .on("mouseleave", function () {
|
|
2015 | |
2016 | | $(_this).addClass("popLeave");
|
|
2017 | |
2018 | | //if (!$(".popover:hover").length) {
|
|
2019 | | if ((!$(".popover:hover").length) && ($(_this).hasClass("popLeave"))) {
|
|
2020 | | $(_this).popover("hide");
|
|
2021 | | $(_this).removeClass("popLeave");
|
|
2022 | |
2023 | |
2024 | |
2025 | |
2026 | |
2027 | |
2028 | |
2029 | |
2030 | |
2031 | |
2032 | | /*background-color: #f00 !important;*/
|
|
2033 | |
2034 | |
2035 | |
2036 | |
2037 | |
2038 | |
2039 | |
2040 | |
2041 | |
2042 | |
2043 | |
2044 | | <!-- innerlinks and auto scroll start -->
|
|
2045 | |
2046 | |
2047 | |
2048 | |
2049 | | scrollToElementId('MainContent_resultOuter');
|
|
2050 | |
2051 | |
2052 | |
2053 | | function scrollToElementId(elmId) {
|
|
2054 | | if (document.getElementById(elmId)) {
|
|
2055 | | scrollToElement(document.getElementById(elmId));
|
|
2056 | |
2057 | |
2058 | |
2059 | |
2060 | |
2061 | |
2062 | | function scrollToElement(element) {
|
|
2063 | |
2064 | |
2065 | | // https://stackoverflow.com/questions/24665602/scrollintoview-scrolls-just-too-far
|
|
2066 | | const yOffset = -30; //-85;
|
|
2067 | | var y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
|
|
2068 | |
2069 | | if (($(".navbar").length) && ($(".navbar").position().top < 10)) {
|
|
2070 | | y -= $(".navbar").height();
|
|
2071 | |
2072 | |
2073 | |
2074 | |
2075 | |
2076 | |
2077 | | if (($("#pageNavbarTop").length) && ($("#pageNavbarTop").is(":visible"))) {
|
|
2078 | | //y -= $("#pageNavbarTop").height();
|
|
2079 | |
2080 | |
2081 | |
2082 | | var vH = (window.innerHeight || document.documentElement.clientHeight);
|
|
2083 | | //const vH = 300; //element must be within upper 200px
|
|
2084 | | vH = vH / 2; //upper half
|
|
2085 | |
2086 | | const isVisible = (element.getBoundingClientRect().top > 0) && (element.getBoundingClientRect().top < vH);
|
|
2087 | |
2088 | |
2089 | | //window.scrollTo({ top: y, behavior: 'smooth' });
|
|
2090 | |
2091 | | $('html, body').stop(true, true).delay(100).animate({
|
|
2092 | |
2093 | |
2094 | |
2095 | |
2096 | |
2097 | |
2098 | |
2099 | |
2100 | |
2101 | |
2102 | |
2103 | |
2104 | |
2105 | |
2106 | | if ($("#innerlinks").length > 0) {
|
|
2107 | |
2108 | | var innerLinksTopHtml = "";
|
|
2109 | | var innerLinksBottomHtml = "";
|
|
2110 | |
2111 | |
2112 | |
2113 | | $("[innerlink]").each(function () {
|
|
2114 | |
2115 | | if ($(this).is(":visible")) {
|
|
2116 | |
2117 | | var name = $(this).html();
|
|
2118 | | if ($(this).attr("innerlink").length > 0) {
|
|
2119 | | name = $(this).attr("innerlink");
|
|
2120 | |
2121 | |
2122 | | var id = $(this).attr("id");
|
|
2123 | |
2124 | | $(this).attr("id", name);
|
|
2125 | |
2126 | |
2127 | |
2128 | | if (innerLinksTopHtml.length > 0) {
|
|
2129 | | innerLinksTopHtml += " - ";
|
|
2130 | |
2131 | |
2132 | |
2133 | | innerLinksTopHtml += "<a href=\"#\" onclick=\"scrollToElementId('" + id + "'); addFromInfo(this, 'innerlink'); return (false);\">" + name + "</a>";
|
|
2134 | |
2135 | |
2136 | |
2137 | |
2138 | |
2139 | |
2140 | | innerLinksBottomHtml += "<a href=\"#\" class=\"btn-xs btn-default\" onclick=\"scrollToElementId('" + id + "'); addFromInfo(this, 'innerlink'); return (false);\">" + name + "</a>";
|
|
2141 | |
2142 | |
2143 | |
2144 | |
2145 | | //innerLinksTopHtml += "<br /><a href=\"default.aspx\">About, FAQ and changelog </a>";
|
|
2146 | |
2147 | |
2148 | |
2149 | | if (innerLinksTopHtml.length > 0) {
|
|
2150 | | $("#innerlinks").addClass("innerLinks");
|
|
2151 | | $("#innerlinks").html(innerLinksTopHtml);
|
|
2152 | |
2153 | | $("#pagenavcell").removeClass("hidden");
|
|
2154 | | $("#innerLinksBottom").html(innerLinksBottomHtml);
|
|
2155 | |
2156 | | $("#pagenavsm").removeClass("hidden");
|
|
2157 | | $("#innerLinksTop").html(innerLinksBottomHtml);
|
|
2158 | |
2159 | | //setTimeout("InnerlinksSmShow();", 1000);
|
|
2160 | |
2161 | |
2162 | |
2163 | |
2164 | |
2165 | |
2166 | | $("[autoscroll]").each(function () {
|
|
2167 | |
2168 | |
2169 | |
2170 | |
2171 | |
2172 | |
2173 | |
2174 | |
2175 | | function InnerlinksSmShow() {
|
|
2176 | | if ($(document).width() < 768) {
|
|
2177 | | if ($("body").hasClass("cellphone")) {
|
|
2178 | | $("#pageNavbarBottom").collapse("show");
|
|
2179 | |
2180 | |
2181 | | $("#pageNavbarTop").collapse("show");
|
|
2182 | |
2183 | |
2184 | | $("#pagenavsm").addClass("active");
|
|
2185 | | $("#pagenavcell").addClass("active");
|
|
2186 | |
2187 | |
2188 | | $("#siteNavbar").collapse("hide");
|
|
2189 | |
2190 | |
2191 | |
2192 | |
2193 | | function InnerlinksSmHide() {
|
|
2194 | | $("#pageNavbarBottom").collapse("hide");
|
|
2195 | | $("#pageNavbarTop").collapse("hide");
|
|
2196 | |
2197 | | $("#pagenavsm").removeClass("active");
|
|
2198 | | $("#pagenavcell").removeClass("active");
|
|
2199 | |
2200 | |
2201 | | //only trigger resize, if width has changed
|
|
2202 | |
2203 | |
2204 | | olwidt = $(window).width();
|
|
2205 | | $(window).resize(function () {
|
|
2206 | | if ($(window).width() != olwidt) {
|
|
2207 | |
2208 | | setTimeout("InnerlinksSmShow();", 100);
|
|
2209 | |
2210 | |
2211 | | olwidt = $(window).width();
|
|
2212 | |
2213 | |
2214 | |
2215 | |
2216 | |
2217 | |
2218 | |
2219 | |
2220 | |
2221 | |
2222 | |
2223 | |
2224 | |
2225 | |
2226 | |
2227 | |
2228 | |
2229 | | line-height: 1.1 !important;
|
|
2230 | |
2231 | |
2232 | |
2233 | |
2234 | |
2235 | |
2236 | |
2237 | |
2238 | |
2239 | | @media (max-width: 767px) {
|
|
2240 | |
2241 | |
2242 | |
2243 | |
2244 | |
2245 | |
2246 | |
2247 | |
2248 | |
2249 | |
2250 | |
2251 | |
2252 | |
2253 | |
2254 | | <!-- inner links and auto scroll end -->
|
|
2255 | |
2256 | |
2257 | |
2258 | |
2259 | |
2260 | |
2261 | |
2262 | |
2263 | |
2264 | |
2265 | |
2266 | |
2267 | |
2268 | |
2269 | |
2270 | |
2271 | | /* will handle click on btn's for displaying elements and hiding the others - START */
|
|
2272 | | /* if target element not availible, btn will be hidden */
|
|
2273 | |
2274 | |
2275 | |
2276 | |
2277 | | $("[tabfor]").each(function () {
|
|
2278 | |
2279 | | elmId = $(this).attr("tabfor");
|
|
2280 | | if ((elmId.length > 0) && ($("#" + elmId).length > 0)) {
|
|
2281 | | //if target element exist
|
|
2282 | |
2283 | |
2284 | | $(this).bind("click", function () {
|
|
2285 | |
2286 | |
2287 | |
2288 | | else if (elmId.length == 0) {
|
|
2289 | |
2290 | | $(this).bind("click", function () {
|
|
2291 | |
2292 | |
2293 | |
2294 | |
2295 | |
2296 | |
2297 | |
2298 | |
2299 | |
2300 | |
2301 | |
2302 | |
2303 | |
2304 | | //make first element of each group visible
|
|
2305 | | /*$("[tabgroup]").each(function () {
|
|
2306 | |
2307 | | $(this).children("[tabfor]").each(function () {
|
|
2308 | |
2309 | |
2310 | |
2311 | |
2312 | |
2313 | |
2314 | |
2315 | |
2316 | |
2317 | |
2318 | |
2319 | |
2320 | |
2321 | |
2322 | |
2323 | | var targetId = $(elm).attr("tabfor");
|
|
2324 | | if (targetId.length == 0) {
|
|
2325 | |
2326 | |
2327 | |
2328 | | //console.log("tabClick #" + targetId);
|
|
2329 | |
2330 | | //find parent tabgroup, and hide everything except the one clicked
|
|
2331 | | $(elm).closest("[tabgroup]").children("[tabfor]").each(function () {
|
|
2332 | | elementTargetId = $(this).attr("tabfor");
|
|
2333 | | if (elementTargetId != targetId) {
|
|
2334 | |
2335 | |
2336 | |
2337 | |
2338 | |
2339 | |
2340 | |
2341 | | function tabClickHide(elm) {
|
|
2342 | | var targetId = $(elm).attr("tabfor");
|
|
2343 | | //console.log("tabClickHide #" + targetId);
|
|
2344 | |
2345 | | if ((targetId.length > 0) && ($("#" + targetId).length > 0)) {
|
|
2346 | | var targetElement = $("#" + targetId);
|
|
2347 | |
2348 | |
2349 | |
2350 | |
2351 | | function tabClickShow(elm) {
|
|
2352 | | var targetId = $(elm).attr("tabfor");
|
|
2353 | | //console.log("tabClickShow #" + targetId);
|
|
2354 | |
2355 | | if ((targetId.length > 0) && ($("#" + targetId).length > 0)) {
|
|
2356 | | var targetElement = $("#" + targetId);
|
|
2357 | |
2358 | |
2359 | |
2360 | |
2361 | |
2362 | |
2363 | |
2364 | |
2365 | |
2366 | |
2367 | |
2368 | | /* handle classes on the input fields inside btn's - START */
|
|
2369 | |
2370 | |
2371 | |
2372 | | $("a input[type='radio']").each(function () {
|
|
2373 | |
2374 | |
2375 | | $(this).parent().bind("click", function () {
|
|
2376 | |
2377 | |
2378 | |
2379 | | //is it allreade checked=
|
|
2380 | | if ($(this).prop('checked')) {
|
|
2381 | | $(this).trigger("click");
|
|
2382 | |
2383 | |
2384 | |
2385 | | $("a input[type='checkbox']").each(function () {
|
|
2386 | |
2387 | |
2388 | | $(this).parent().bind("click", function () {
|
|
2389 | |
2390 | |
2391 | |
2392 | |
2393 | | $(this).bind("click", function () {
|
|
2394 | | var x = $(this).parent();
|
|
2395 | |
2396 | |
2397 | |
2398 | | //is it allreade checked=
|
|
2399 | | if ($(this).prop('checked')) {
|
|
2400 | | $(this).parent().addClass("btn-input-selected");
|
|
2401 | |
2402 | |
2403 | |
2404 | |
2405 | |
2406 | | function BtnRadioClick(elm) {
|
|
2407 | |
2408 | |
2409 | | $(elm).children("input[type='radio']").prop('checked', true)
|
|
2410 | |
2411 | |
2412 | | var name = $(elm).children("input[type='radio']").attr('name');
|
|
2413 | |
2414 | |
2415 | | $("a input[type='radio'][name='" + name + "']").each(function () {
|
|
2416 | | $(this).parent().removeClass("btn-input-selected");
|
|
2417 | |
2418 | |
2419 | | //add class btn-input-selected
|
|
2420 | | $(elm).addClass("btn-input-selected");
|
|
2421 | |
2422 | |
2423 | | function BtnCheckClick(elm) {
|
|
2424 | |
2425 | |
2426 | |
2427 | | //if checkbox, then flip it
|
|
2428 | | val = $(elm).children("input[type='checkbox']").prop('checked');
|
|
2429 | | $(elm).children("input[type='checkbox']").prop('checked', !val);
|
|
2430 | |
2431 | |
2432 | | //add class btn-input-selected
|
|
2433 | | $(elm).addClass("btn-input-selected");
|
|
2434 | |
2435 | |
2436 | | //add class btn-input-selected
|
|
2437 | | $(elm).removeClass("btn-input-selected");
|
|
2438 | |
2439 | |
2440 | |
2441 | | /* handle classes on the input fields inside btn's - STOP */
|
|
2442 | |
2443 | |
2444 | |
2445 | |
2446 | |
2447 | |
2448 | |
2449 | | <!-- set focus on first input field of page -->
|
|
2450 | |
2451 | | docComplete(function () {
|
|
2452 | |
2453 | |
2454 | |
2455 | | if (!$('body').hasClass("cellphone")) {
|
|
2456 | |
2457 | | console.log("docComplete");
|
|
2458 | | var firstInput = $('.queryCol').find('.input-lg').filter(':visible:first');
|
|
2459 | |
2460 | | if ((firstInput.is('textarea') || firstInput.is('input')) && (!(firstInput.hasClass("btn")))) {
|
|
2461 | |
2462 | | console.log("firstInput: " + firstInput.position().top);
|
|
2463 | |
2464 | | if (firstInput.position().top < 300) { //se fx world map
|
|
2465 | |
2466 | |
2467 | |
2468 | | //https://stackoverflow.com/questions/19568041/set-focus-and-cursor-to-end-of-text-input-field-string-w-jquery
|
|
2469 | | if (firstInput.val() != undefined) {
|
|
2470 | | var strLength = firstInput.val().length * 2;
|
|
2471 | | firstInput[0].setSelectionRange(strLength, strLength);
|
|
2472 | |
2473 | |
2474 | |
2475 | |
2476 | |
2477 | | //console.log(e); // Logs the error
|
|
2478 | |
2479 | |
2480 | |
2481 | |
2482 | |
2483 | |
2484 | |
2485 | |
2486 | |
2487 | |
2488 | |
2489 | |
2490 | |
2491 | |
2492 | | <!-- stuff for the api url boxes -->
|
|
2493 | |
2494 | |
2495 | | background-color: #f5f5f5;
|
|
2496 | |
2497 | |
2498 | |
2499 | |
2500 | |
2501 | |
2502 | |
2503 | |
2504 | |
2505 | |
2506 | |
2507 | |
2508 | |
2509 | |
2510 | | font-family: Consolas, 'Courier New';
|
|
2511 | |
2512 | |
2513 | |
2514 | |
2515 | |
2516 | |
2517 | |
2518 | |
2519 | |
2520 | | font-family: Consolas, 'Courier New';
|
|
2521 | |
2522 | |
2523 | |
2524 | |
2525 | |
2526 | |
2527 | |
2528 | |
2529 | |
2530 | |
2531 | |
2532 | |
2533 | |
2534 | |
2535 | |
2536 | |
2537 | |
2538 | |
2539 | |
2540 | |
2541 | |
2542 | | function apiUrlTryIt(elm) {
|
|
2543 | | url = $(elm).parent().parent().children('.apiUrlBoxUrl').first().html();
|
|
2544 | |
2545 | | url = "https://iamroot.tech/about/api/tryit.aspx?url=" + encodeURI(url);
|
|
2546 | |
2547 | | window.open(url, '_blank');
|
|
2548 | |
2549 | |
2550 | |
2551 | |
2552 | | function apiUrlCopy(elm) {
|
|
2553 | | val = $(elm).parent().parent().children('.apiUrlBoxUrl').text();
|
|
2554 | |
2555 | |
2556 | |
2557 | |
2558 | |
2559 | |
2560 | |
2561 | |
2562 | |
2563 | |
2564 | |
2565 | |
2566 | |
2567 | |
2568 | |
2569 | |
2570 | |
2571 | |
2572 | |
2573 | |
2574 | |
2575 | |
2576 | |
2577 | |
2578 | |
2579 | |
2580 | |
2581 | |
2582 | |
2583 | |
2584 | |
2585 | |
2586 | |
2587 | |
2588 | |
2589 | |
2590 | |
2591 | |
2592 | |
2593 | |
2594 | | -webkit-box-shadow: 0px 0px 19px 0px rgb(0 0 0 / 75%);
|
|
2595 | | -moz-box-shadow: 0px 0px 19px 0px rgba(0,0,0,0.75);
|
|
2596 | | box-shadow: 0px 0px 19px 0px rgb(0 0 0 / 75%);
|
|
2597 | |
2598 | |
2599 | |
2600 | | @media (max-width: 768px) {
|
|
2601 | |
2602 | |
2603 | |
2604 | |
2605 | | @media (min-width: 768px) and (max-width: 991px) {
|
|
2606 | |
2607 | |
2608 | |
2609 | |
2610 | |
2611 | | @media (min-width: 992px) and (max-width: 1199px) {
|
|
2612 | |
2613 | |
2614 | |
2615 | |
2616 | |
2617 | |
2618 | | @media (min-width: 1200px) {
|
|
2619 | |
2620 | |
2621 | |
2622 | |
2623 | |
2624 | |
2625 | | @media (min-width: 1400px) {
|
|
2626 | |
2627 | |
2628 | |
2629 | |
2630 | |
2631 | |
2632 | | .feedbackForm .modal-content {
|
|
2633 | |
2634 | |
2635 | | .feedbackForm .modal-body,
|
|
2636 | | .feedbackForm .modal-body h4,
|
|
2637 | | .feedbackForm .modal-body h5,
|
|
2638 | | .feedbackForm .modal-body h6,
|
|
2639 | | .feedbackForm .modal-body table,
|
|
2640 | |
2641 | |
2642 | |
2643 | |
2644 | |
2645 | |
2646 | |
2647 | |
2648 | | <div id="f" style="display: none;">
|
|
2649 | |
2650 | |
2651 | |
2652 | |
2653 | |
2654 | |
2655 | |
2656 | | $(".feedbackForm").hide();
|
|
2657 | |
2658 | |
2659 | | //if (($("#MainContent_resultOuter").is(":visible")) && (c >= 3)) {
|
|
2660 | |
2661 | | //if ($("#MainContent_resultOuter").is(":visible")) {
|
|
2662 | |
2663 | |
2664 | | $(".feedbackForm").each(function (index) {
|
|
2665 | |
2666 | | var name = $(this).closest('.feedbackForm').attr('ad');
|
|
2667 | | if (!(typeof attr !== 'undefined' && attr !== false)) {
|
|
2668 | | name = $(this).closest('.feedbackForm').attr('id');
|
|
2669 | |
2670 | |
2671 | | if (readCookie(name) != 1) {
|
|
2672 | |
2673 | |
2674 | |
2675 | | var attr = $(this).attr('mobileonly');
|
|
2676 | | if (typeof attr !== 'undefined' && attr !== false) {
|
|
2677 | | if ((navigator.userAgent.indexOf("Android") > -1) || (navigator.userAgent.indexOf("iPhone") > -1)) {
|
|
2678 | |
2679 | |
2680 | |
2681 | |
2682 | |
2683 | |
2684 | |
2685 | |
2686 | |
2687 | |
2688 | |
2689 | |
2690 | | feedbackPutIntoView(popOverlay);
|
|
2691 | | feedbackEvent('display-' + name);
|
|
2692 | |
2693 | | /*if ($('body').hasClass("userB")) {
|
|
2694 | | feedbackSwitch($('#reachoutMain'), $('#reachoutMain2'));
|
|
2695 | |
2696 | |
2697 | |
2698 | |
2699 | |
2700 | |
2701 | |
2702 | |
2703 | |
2704 | |
2705 | |
2706 | |
2707 | |
2708 | |
2709 | |
2710 | | function feedbackPutIntoView(jqElm) {
|
|
2711 | | boxHeight = $(jqElm).innerHeight();
|
|
2712 | |
2713 | |
2714 | | if ($("body").hasClass("cellphone")) {
|
|
2715 | |
2716 | |
2717 | |
2718 | |
2719 | |
2720 | |
2721 | |
2722 | |
2723 | |
2724 | |
2725 | |
2726 | | function feedbackHide(jqElmClicked, days, why) {
|
|
2727 | |
2728 | | $(jqElmClicked).closest('.feedbackForm').animate({
|
|
2729 | |
2730 | |
2731 | |
2732 | |
2733 | | var name = $(jqElmClicked).closest('.feedbackForm').attr('ad');
|
|
2734 | | if (!(typeof attr !== 'undefined' && attr !== false)) {
|
|
2735 | | name = $(jqElmClicked).closest('.feedbackForm').attr('id');
|
|
2736 | |
2737 | |
2738 | | createCookie(name, "1", days);
|
|
2739 | |
2740 | |
2741 | | feedbackEvent(why + '-' + name);
|
|
2742 | |
2743 | |
2744 | |
2745 | | function feedbackSwitch(jqCurrentElm, jqNxtElm) {
|
|
2746 | | $(jqCurrentElm).hide(200);
|
|
2747 | |
2748 | |
2749 | | var name = $(jqCurrentElm).closest('.feedbackForm').attr('ad');
|
|
2750 | | if (!(typeof attr !== 'undefined' && attr !== false)) {
|
|
2751 | | name = $(jqCurrentElm).closest('.feedbackForm').attr('id');
|
|
2752 | |
2753 | |
2754 | | feedbackEvent('display-' + name + "-" + $(jqNxtElm).attr('id'));
|
|
2755 | |
2756 | |
2757 | |
2758 | | function feedbackEvent(what) {
|
|
2759 | |
2760 | | var url = "/feedback/event.aspx?q=" + what;
|
|
2761 | |
2762 | |
2763 | |
2764 | |
2765 | |
2766 | |
2767 | |
2768 | |
2769 | |
2770 | |
2771 | |
2772 | |
2773 | |
2774 | |
2775 | | function feedbackSend(v) {
|
|
2776 | |
2777 | | var q = encodeURIComponent($("#feedbackq").html());
|
|
2778 | | var w = $(window).width();
|
|
2779 | |
2780 | | var u = "iamroot.tech%2fdefault.aspx";
|
|
2781 | |
2782 | |
2783 | | v = encodeURIComponent(v);
|
|
2784 | |
2785 | | var url = "/feedback/send.aspx?q=" + q + "&w=" + w + "&u=" + u + "&i=" + i + "&v=" + v;
|
|
2786 | |
2787 | |
2788 | |
2789 | |
2790 | |
2791 | |
2792 | |
2793 | |
2794 | |
2795 | |
2796 | |
2797 | |
2798 | |
2799 | |
2800 | | function createCookie(name, value, days) {
|
|
2801 | | if ((days) && (days>0)) {
|
|
2802 | |
2803 | | date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
|
|
2804 | | var expires = "; expires=" + date.toGMTString();
|
|
2805 | |
2806 | |
2807 | |
2808 | | document.cookie = name + "=" + value + expires + "; path=/";
|
|
2809 | |
2810 | |
2811 | | function readCookie(name) {
|
|
2812 | |
2813 | | var ca = document.cookie.split(';');
|
|
2814 | | for (var i = 0; i < ca.length; i++) {
|
|
2815 | |
2816 | | while (c.charAt(0) == ' ') c = c.substring(1, c.length);
|
|
2817 | | if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
|
|
2818 | |
2819 | |
2820 | |
2821 | |
2822 | |
2823 | |
2824 | |
2825 | |
2826 | | function perfFeedback(timespent) {
|
|
2827 | |
2828 | |
2829 | | const perfEntries = performance.getEntriesByType("navigation");
|
|
2830 | |
2831 | |
2832 | | var domainLookup = p.domainLookupEnd - p.domainLookupStart;
|
|
2833 | | var connect = p.connectEnd - p.connectStart;
|
|
2834 | | var response = p.responseEnd - p.responseStart;
|
|
2835 | | var domLoad = p.domContentLoadedEventEnd - 0;
|
|
2836 | |
2837 | | var fingerprint = generateFingerprint();
|
|
2838 | |
2839 | | var url = "/feedback/callback.aspx?uuid=860db7ca9f9641478ab84c06e213d950&resp=" + parseInt(response) + "&dom=" + parseInt(domLoad) + "×pent=" + parseInt(timespent) + "&fp=" + encodeURIComponent(fingerprint);
|
|
2840 | |
2841 | |
2842 | |
2843 | |
2844 | |
2845 | |
2846 | |
2847 | |
2848 | |
2849 | |
2850 | |
2851 | |
2852 | | //only trigger, if timespent is less than 10 minutes, and the windows is active
|
|
2853 | | if ((timespent < (10 * 60)) && (!document.hidden)) {
|
|
2854 | | setTimeout("perfFeedback(" + (timespent + 10) + ");", 10000);
|
|
2855 | |
2856 | |
2857 | |
2858 | |
2859 | |
2860 | |
2861 | |
2862 | |
2863 | |
2864 | |
2865 | |
2866 | |
2867 | | docReady(function () { setTimeout("perfFeedback(1);", 1000) });
|
|
2868 | |
2869 | |
2870 | |
2871 | |
2872 | |
2873 | |
2874 | |
2875 | |
2876 | |
2877 | |
2878 | |
2879 | |
2880 | |
| |