Help
RSS
API
Feed
Maltego
Contact
Domain > schwaab.dev
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-10-09
216.137.39.117
(
ClassC
)
2024-12-01
13.224.14.47
(
ClassC
)
2025-12-08
3.169.173.120
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Mon, 08 Dec 2025 08:15:13 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://schwaab.dev/X-Cache: Redirect from cloudfrontVia: 1.1 e3d057b3e6efdd15e49b433f7704a6c8.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P4Alt-Svc: h3:443; ma86400X-Amz-Cf-Id: xctknzbKL7fEIHfOi5yseD3BZWZv8C53VmnulabdjlK6gCkN5LHnyA html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 21115Connection: keep-aliveDate: Mon, 08 Dec 2025 08:15:13 GMTCache-Control: public, max-age0, s-maxage2Server: AmazonS3Accept-Ranges: bytesLast-Modified: Sat, 20 Jul 2024 20:24:45 GMTETag: c2fbc9b7916bd561dd5c5b082eb07d1fX-Cache: Miss from cloudfrontVia: 1.1 5f7d374d92b73172fce43b7879076d1c.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P4Alt-Svc: h3:443; ma86400X-Amz-Cf-Id: QEdGelIebAAiwADf_Y_yrcPHckvU7v6a0YXT739Wm4JBD1IRqztbGw !doctype html>!-- `site.alt_lang` can specify a language different from the UI -->html langen > head> meta http-equivContent-Type contenttext/html; charsetUTF-8> meta nametheme-color media(prefers-color-scheme: light) content#f7f7f7> meta nametheme-color media(prefers-color-scheme: dark) content#1b1b1e> meta nameapple-mobile-web-app-capable contentyes> meta nameapple-mobile-web-app-status-bar-style contentblack-translucent> meta nameviewport contentwidthdevice-width, user-scalableno initial-scale1, shrink-to-fitno, viewport-fitcover >!-- Setup Open Graph image --> !-- Begin Jekyll SEO tag v2.8.0 -->meta namegenerator contentJekyll v4.3.3 />meta propertyog:title contentVitor Schwaab />meta propertyog:locale contenten />meta namedescription contentSharing struggles and curious bits of software development />meta propertyog:description contentSharing struggles and curious bits of software development />link relcanonical hrefhttps://schwaab.dev/ />meta propertyog:url contenthttps://schwaab.dev/ />meta propertyog:site_name contentVitor Schwaab />meta propertyog:type contentwebsite />meta nametwitter:card contentsummary />meta propertytwitter:title contentVitor Schwaab />meta nametwitter:site content@vitorschwaab />script typeapplication/ld+json>{@context:https://schema.org,@type:WebSite,description:Sharing struggles and curious bits of software development,headline:Vitor Schwaab,name:Vitor Hugo Schwaab,sameAs:https://twitter.com/vitorschwaab,https://github.com/vitorhugods,https://www.linkedin.com/in/vitor-hugo-schwaab-15bbaab9,url:https://schwaab.dev/}/script>!-- End Jekyll SEO tag --> title>Vitor Schwaab /title> !-- The Favicons for Web, Android, Microsoft, and iOS (iPhone and iPad) Apps Generated by: https://realfavicongenerator.net/-->link relapple-touch-icon sizes180x180 href/assets/img/favicons/apple-touch-icon.png>link relicon typeimage/png sizes32x32 href/assets/img/favicons/favicon-32x32.png>link relicon typeimage/png sizes16x16 href/assets/img/favicons/favicon-16x16.png> link relmanifest href/assets/img/favicons/site.webmanifest>link relshortcut icon href/assets/img/favicons/favicon.ico>meta nameapple-mobile-web-app-title contentVitor Schwaab>meta nameapplication-name contentVitor Schwaab>meta namemsapplication-TileColor content#da532c>meta namemsapplication-config content/assets/img/favicons/browserconfig.xml>meta nametheme-color content#ffffff> link relpreconnect hrefhttps://fonts.googleapis.com > link reldns-prefetch hrefhttps://fonts.googleapis.com > link relpreconnect hrefhttps://fonts.gstatic.com crossorigin> link reldns-prefetch hrefhttps://fonts.gstatic.com crossorigin> link relpreconnect hrefhttps://fonts.googleapis.com > link reldns-prefetch hrefhttps://fonts.googleapis.com > link relpreconnect hrefhttps://cdn.jsdelivr.net > link reldns-prefetch hrefhttps://cdn.jsdelivr.net > link relpreconnect hrefhttps://cdnjs.cloudflare.com > link reldns-prefetch hrefhttps://cdnjs.cloudflare.com > link relstylesheet hrefhttps://fonts.googleapis.com/css2?familyLato&familySource+Sans+Pro:wght@400;600;700;900&displayswap> !-- GA --> !-- Bootstrap --> link relstylesheet hrefhttps://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css> !-- Font Awesome --> link relstylesheet hrefhttps://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/css/all.min.css> link relstylesheet href/assets/css/jekyll-theme-chirpy.css> link relstylesheet hrefhttps://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.min.css> !-- JavaScript --> !-- Switch the mode between dark and light. -->script typetext/javascript> class ModeToggle { static get MODE_KEY() { return mode; } static get MODE_ATTR() { return data-mode; } static get DARK_MODE() { return dark; } static get LIGHT_MODE() { return light; } static get ID() { return mode-toggle; } constructor() { if (this.hasMode) { if (this.isDarkMode) { if (!this.isSysDarkPrefer) { this.setDark(); } } else { if (this.isSysDarkPrefer) { this.setLight(); } } } let self this; /* always follow the system prefers */ this.sysDarkPrefers.addEventListener(change, () > { if (self.hasMode) { if (self.isDarkMode) { if (!self.isSysDarkPrefer) { self.setDark(); } } else { if (self.isSysDarkPrefer) { self.setLight(); } } self.clearMode(); } self.notify(); }); } /* constructor() */ get sysDarkPrefers() { return window.matchMedia((prefers-color-scheme: dark)); } get isSysDarkPrefer() { return this.sysDarkPrefers.matches; } get isDarkMode() { return this.mode ModeToggle.DARK_MODE; } get isLightMode() { return this.mode ModeToggle.LIGHT_MODE; } get hasMode() { return this.mode ! null; } get mode() { return sessionStorage.getItem(ModeToggle.MODE_KEY); } /* get the current mode on screen */ get modeStatus() { if (this.isDarkMode || (!this.hasMode && this.isSysDarkPrefer)) { return ModeToggle.DARK_MODE; } else { return ModeToggle.LIGHT_MODE; } } setDark() { document.documentElement.setAttribute(ModeToggle.MODE_ATTR, ModeToggle.DARK_MODE); sessionStorage.setItem(ModeToggle.MODE_KEY, ModeToggle.DARK_MODE); } setLight() { document.documentElement.setAttribute(ModeToggle.MODE_ATTR, ModeToggle.LIGHT_MODE); sessionStorage.setItem(ModeToggle.MODE_KEY, ModeToggle.LIGHT_MODE); } clearMode() { document.documentElement.removeAttribute(ModeToggle.MODE_ATTR); sessionStorage.removeItem(ModeToggle.MODE_KEY); } /* Notify another plugins that the theme mode has changed */ notify() { window.postMessage( { direction: ModeToggle.ID, message: this.modeStatus }, * ); } flipMode() { if (this.hasMode) { if (this.isSysDarkPrefer) { if (this.isLightMode) { this.clearMode(); } else { this.setLight(); } } else { if (this.isDarkMode) { this.clearMode(); } else { this.setDark(); } } } else { if (this.isSysDarkPrefer) { this.setLight(); } else { this.setDark(); } } this.notify(); } /* flipMode() */ } /* ModeToggle */ const modeToggle new ModeToggle();/script> !-- A placeholder to allow defining custom metadata -->/head> body> !-- The Side Bar -->aside aria-labelSidebar idsidebar classd-flex flex-column align-items-end> header classprofile-wrapper> a href/ idavatar classrounded-circle>img srchttps://s.gravatar.com/avatar/17ae02d39898259396cbbe52d906c234?s256 width112 height112 altavatar onerrorthis.style.displaynone>/a> h1 classsite-title> a href/>Vitor Schwaab/a> /h1> p classsite-subtitle fst-italic mb-0>Software Stuff/p> /header> !-- .profile-wrapper --> nav classflex-column flex-grow-1 w-100 ps-0> ul classnav> !-- home --> li classnav-item active> a href/ classnav-link> i classfa-fw fas fa-home>/i> span>HOME/span> /a> /li> !-- the real tabs --> li classnav-item> a href/categories/ classnav-link> i classfa-fw fas fa-stream>/i> span>CATEGORIES/span> /a> /li> !-- .nav-item --> li classnav-item> a href/tags/ classnav-link> i classfa-fw fas fa-tag>/i> span>TAGS/span> /a> /li> !-- .nav-item --> li classnav-item> a href/archives/ classnav-link> i classfa-fw fas fa-archive>/i> span>ARCHIVES/span> /a> /li> !-- .nav-item --> li classnav-item> a href/cv/ classnav-link> i classfa-fw fa fa-user-circle>/i> span>CV/span> /a> /li> !-- .nav-item --> /ul> /nav> div classsidebar-bottom d-flex flex-wrap align-items-center w-100> button typebutton classmode-toggle btn aria-labelSwitch Mode> i classfas fa-adjust>/i> /button> span classicon-border>/span> a hrefhttps://github.com/vitorhugods aria-labelgithub target_blank relnoopener noreferrer > i classfab fa-github>/i> /a> a hrefhttps://androiddev.social/@vitorschwaab aria-labelmastodon target_blank relnoopener noreferrer me > i classfab fa-mastodon>/i> /a> a hrefhttps://twitter.com/vitorschwaab aria-labeltwitter target_blank relnoopener noreferrer > i classfab fa-twitter>/i> /a> a hrefjavascript:location.href mailto: + vitor,schwaab.dev.join(@) aria-labelemail > i classfas fa-envelope>/i> /a> a href/feed.xml aria-labelrss > i classfas fa-rss>/i> /a> /div> !-- .sidebar-bottom -->/aside>!-- #sidebar --> div idmain-wrapper classd-flex justify-content-center> div classcontainer d-flex flex-column px-xxl-5> !-- The Top Bar -->header idtopbar-wrapper aria-labelTop Bar> div idtopbar classd-flex align-items-center justify-content-between px-lg-3 h-100 > nav idbreadcrumb aria-labelBreadcrumb> !-- index page --> span>Home/span> /nav> !-- endof #breadcrumb --> button typebutton idsidebar-trigger classbtn btn-link> i classfas fa-bars fa-fw>/i> /button> div idtopbar-title> Vitor Schwaab /div> button typebutton idsearch-trigger classbtn btn-link> i classfas fa-search fa-fw>/i> /button> search classalign-items-center ms-3 ms-lg-0> i classfas fa-search fa-fw>/i> input classform-control idsearch-input typesearch aria-labelsearch autocompleteoff placeholderSearch... > /search> button typebutton classbtn btn-link text-decoration-none idsearch-cancel>Cancel/button> /div>/header> div classrow flex-grow-1> main aria-labelMain Content classcol-12 col-lg-11 col-xl-9 px-md-4> !-- Refactor the HTML structure -->!-- In order to allow a wide table to scroll horizontally, we suround the markdown table with `div classtable-wrapper>` and `/div>`-->!-- Fixed kramdown code highlight rendering: https://github.com/penibelst/jekyll-compress-html/issues/101 https://github.com/penibelst/jekyll-compress-html/issues/71#issuecomment-188144901-->!-- Change the icon of checkbox -->!-- Handle images -->!-- Add header for code snippets -->!-- Create heading anchors --> !-- return -->!-- Get pinned posts -->!-- Get default posts -->div idpost-list classflex-grow-1 px-xl-1> article classcard-wrapper card> a href/posts/Emoji-On-Android/ classpost-preview row g-0 flex-md-row-reverse> div classcol-md-12> div classcard-body d-flex flex-column> h1 classcard-title my-2 mt-md-0>Plans for an Emoji Picker that I may (or may not) make/h1> div classcard-text content mt-0 mb-3> p> While Compose already did a great job providing backwards-compatible emoji display for Text and TextField, how do you pick emoji on Android in the first place?What would be the requirements for a... /p> /div> div classpost-meta flex-grow-1 d-flex align-items-end> div classme-auto> !-- posted date --> i classfar fa-calendar fa-fw me-1>/i> !-- Date format snippet See: ${JS_ROOT}/utils/locale-dateime.js-->time data-ts1695092400 data-dfll > Sep 19, 2023/time> !-- categories --> i classfar fa-folder-open fa-fw me-1>/i> span classcategories> Software /span> /div> /div> !-- .post-meta --> /div> !-- .card-body --> /div> /a> /article> /div>!-- #post-list --> /main> !-- panel --> aside aria-labelPanel idpanel-wrapper classcol-xl-3 ps-2 mb-5 text-muted> div classaccess> !-- Get 5 last posted/updated posts --> section idaccess-lastmod> h2 classpanel-heading>Recently Updated/h2> ul classcontent list-unstyled ps-0 pb-1 ms-1 mt-2> li classtext-truncate lh-lg> a href/posts/Emoji-On-Android/>Plans for an Emoji Picker that I may (or may not) make/a> /li> /ul> /section> !-- #access-lastmod --> !-- The trending tags list --> section> h2 classpanel-heading>Trending Tags/h2> div classd-flex flex-wrap mt-3 mb-1 me-3> a classpost-tag btn btn-outline-primary href/tags/android/>android/a> a classpost-tag btn btn-outline-primary href/tags/emoji/>emoji/a> a classpost-tag btn btn-outline-primary href/tags/ui/>ui/a> /div> /section> /div> /aside> /div> div classrow> !-- tail --> div idtail-wrapper classcol-12 col-lg-11 col-xl-9 px-md-4> !-- The Footer -->footer aria-labelSite Info class d-flex flex-column justify-content-center text-muted flex-lg-row justify-content-lg-between align-items-lg-center pb-lg-3 > p>© time>2024/time> a hrefhttps://twitter.com/vitorschwaab>Vitor Hugo Schwaab/a>. span data-bs-toggletooltip data-bs-placementtop titleExcept where otherwise noted, the blog posts on this site are licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License by the author. >Some rights reserved./span> /p> p>Using the a hrefhttps://github.com/cotes2020/jekyll-theme-chirpy target_blank relnoopener>Chirpy/a> theme for a hrefhttps://jekyllrb.com target_blank relnoopener>Jekyll/a>. /p>/footer> /div> /div> !-- The Search results -->div idsearch-result-wrapper classd-flex justify-content-center unloaded> div classcol-11 content> div idsearch-hints> !-- The trending tags list --> section> h2 classpanel-heading>Trending Tags/h2> div classd-flex flex-wrap mt-3 mb-1 me-3> a classpost-tag btn btn-outline-primary href/tags/android/>android/a> a classpost-tag btn btn-outline-primary href/tags/emoji/>emoji/a> a classpost-tag btn btn-outline-primary href/tags/ui/>ui/a> /div> /section> /div> div idsearch-results classd-flex flex-wrap justify-content-center text-muted mt-3>/div> /div>/div> /div> aside aria-labelScroll to Top> button idback-to-top typebutton classbtn btn-lg btn-box-shadow> i classfas fa-angle-up>/i> /button> /aside> /div> div idmask>/div> aside idnotification classtoast rolealert aria-liveassertive aria-atomictrue data-bs-animationtrue data-bs-autohidefalse> div classtoast-header> button typebutton classbtn-close ms-auto data-bs-dismisstoast aria-labelClose >/button> /div> div classtoast-body text-center pt-0> p classpx-2 mb-3>A new version of content is available./p> button typebutton classbtn btn-primary aria-labelUpdate> Update /button> /div>/aside> !-- JavaScripts --> !-- JS selector for site. -->!-- commons -->!-- layout specified --> script srchttps://cdn.jsdelivr.net/combine/npm/jquery@3.7.1/dist/jquery.min.js,npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js,npm/simple-jekyll-search@1.10.0/dest/simple-jekyll-search.min.js,npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.umd.min.js,npm/dayjs@1.11.10/dayjs.min.js,npm/dayjs@1.11.10/locale/en.min.js,npm/dayjs@1.11.10/plugin/relativeTime.min.js,npm/dayjs@1.11.10/plugin/localizedFormat.min.js>/script>script defer src/assets/js/dist/home.min.js>/script> !-- Jekyll Simple Search loader See: https://github.com/christian-fei/Simple-Jekyll-Search>-->script> /* Note: dependent library will be loaded in `js-selector.html` */ SimpleJekyllSearch({ searchInput: document.getElementById(search-input), resultsContainer: document.getElementById(search-results), json: /assets/js/data/search.json, searchResultTemplate: article classpx-1 px-sm-2 px-lg-4 px-xl-0> header> h2>a href{url}>{title}/a>/h2> div classpost-meta d-flex flex-column flex-sm-row text-muted mt-1 mb-1> {categories} {tags} /div> /header> p>{snippet}/p> /article>, noResultsText: p classmt-5>/p>, templateMiddleware: function(prop, value, template) { if (prop categories) { if (value ) { return `${value}`; } else { return `div classme-sm-4>i classfar fa-folder fa-fw>/i>${value}/div>`; } } if (prop tags) { if (value ) { return `${value}`; } else { return `div>i classfa fa-tag fa-fw>/i>${value}/div>`; } } } });/script> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]