Vercel
tcp/443 tcp/80
cloudflare
tcp/443 tcp/80 tcp/8443
railway-edge
tcp/443
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd12ec8532c2ec8532c2ec8532c2ec8532c2ec8532c2ec8532c
Public Swagger UI/API detected at path: /swagger/index.html
Open service 216.198.79.1:80 · ecommerce.quockhanh.dev
2026-01-10 03:13
HTTP/1.0 308 Permanent Redirect Content-Type: text/plain Location: https://ecommerce.quockhanh.dev/ Refresh: 0;url=https://ecommerce.quockhanh.dev/ server: Vercel Redirecting...
Open service 216.198.79.1:443 · ecommerce.quockhanh.dev
2026-01-10 03:13
HTTP/1.1 404 Not Found Cache-Control: public, max-age=0, must-revalidate Content-Length: 107 Content-Type: text/plain; charset=utf-8 Date: Sat, 10 Jan 2026 03:13:25 GMT Server: Vercel Strict-Transport-Security: max-age=63072000 X-Vercel-Error: DEPLOYMENT_NOT_FOUND X-Vercel-Id: iad1::bgbn5-1768014805761-ec333f584b3f Connection: close The deployment could not be found on Vercel. DEPLOYMENT_NOT_FOUND iad1::bgbn5-1768014805761-ec333f584b3f
Open service 64.29.17.1:443 · ecommerce.quockhanh.dev
2026-01-10 03:13
HTTP/1.1 404 Not Found Cache-Control: public, max-age=0, must-revalidate Content-Length: 107 Content-Type: text/plain; charset=utf-8 Date: Sat, 10 Jan 2026 03:13:25 GMT Server: Vercel Strict-Transport-Security: max-age=63072000 X-Vercel-Error: DEPLOYMENT_NOT_FOUND X-Vercel-Id: lhr1::8dt8t-1768014805808-aa2443a73aa2 Connection: close The deployment could not be found on Vercel. DEPLOYMENT_NOT_FOUND lhr1::8dt8t-1768014805808-aa2443a73aa2
Open service 64.29.17.1:80 · ecommerce.quockhanh.dev
2026-01-10 03:13
HTTP/1.0 308 Permanent Redirect Content-Type: text/plain Location: https://ecommerce.quockhanh.dev/ Refresh: 0;url=https://ecommerce.quockhanh.dev/ server: Vercel Redirecting...
Open service 66.33.22.148:443 · api.quockhanh.dev
2026-01-09 17:14
HTTP/1.1 200 OK Access-Control-Allow-Origin: * Content-Length: 12 Content-Type: text/html; charset=utf-8 Date: Fri, 09 Jan 2026 17:14:05 GMT Etag: W/"c-Lve95gjOVATpfV8EL5X4nxwjKHE" Server: railway-edge X-Powered-By: Express X-Railway-Edge: railway/us-east4-eqdc4a X-Railway-Request-Id: iSFry9AGRpavm-PHAax-fw Connection: close Hello World!
Open service 2606:4700:3037::ac43:d206:8443 · quockhanh.dev
2026-01-08 04:40
HTTP/1.1 522 <none> Date: Thu, 08 Jan 2026 04:41:11 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19725,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba904ee0e325f84-SIN alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:3036::6815:32c1:443 · quockhanh.dev
2026-01-08 04:40
HTTP/1.1 404 Not Found
Date: Thu, 08 Jan 2026 04:40:51 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 107
Connection: close
Cache-Control: public, max-age=0, must-revalidate
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-error: DEPLOYMENT_NOT_FOUND
x-vercel-id: bom1::slpzm-1767847251250-fc47e0782869
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=12,cfOrigin;dur=20
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=z648Qocy3kcS1ekDsTQAnn1R%2Fexud0aduziAwNaQkajhmwhyvXm4JUZPNJQjmueTyoR1exCUQJsUU2yGj5g6TydUbN%2B08fRVh2qK1xc70j9EonjQbMARetQ%3D"}]}
CF-RAY: 9ba904e7ffd44186-BOM
alt-svc: h3=":443"; ma=86400
The deployment could not be found on Vercel.
DEPLOYMENT_NOT_FOUND
bom1::slpzm-1767847251250-fc47e0782869
Open service 104.21.50.193:443 · quockhanh.dev
2026-01-08 04:40
HTTP/1.1 404 Not Found
Date: Thu, 08 Jan 2026 04:40:51 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 107
Connection: close
Cache-Control: public, max-age=0, must-revalidate
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-error: DEPLOYMENT_NOT_FOUND
x-vercel-id: fra1::s48xt-1767847251114-5c4df70dc854
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=GkpDLUu3B%2F96e2r0GZSq6z7TUypiYRsYr55XpNKP0XlpqbF3pjxuGlanTugeZEPZMPYlKWGgEqRQhq6OkZHBZWx1zkg4MDr7y7D1Udc%3D"}]}
CF-RAY: 9ba904e74c4ed2f7-FRA
alt-svc: h3=":443"; ma=86400
The deployment could not be found on Vercel.
DEPLOYMENT_NOT_FOUND
fra1::s48xt-1767847251114-5c4df70dc854
Open service 2606:4700:3036::6815:32c1:8443 · quockhanh.dev
2026-01-08 04:40
HTTP/1.1 522 <none> Date: Thu, 08 Jan 2026 04:41:11 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19692,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba904ed6b424401-EWR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 172.67.210.6:8443 · quockhanh.dev
2026-01-08 04:40
HTTP/1.1 522 <none> Date: Thu, 08 Jan 2026 04:41:11 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19431,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba904ed0ee71598-SJC alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:3036::6815:32c1:80 · quockhanh.dev
2026-01-08 04:40
HTTP/1.1 308 Permanent Redirect
Date: Thu, 08 Jan 2026 04:40:51 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://quockhanh.dev/
Refresh: 0;url=https://quockhanh.dev/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=vvO4dT%2FaDsMFhkkpwvtX3KbdeTWmGNpeF34Tg%2Fjf%2FZwSwKCIxIj4w9IMxwyI%2Fm%2BMuTBwwkHDzBWonFIQqGuda1eUW9AY2GlkKhRnTiv%2F4WrtCQhfChcoqjc%3D"}]}
CF-RAY: 9ba904e69e11bb3b-FRA
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 2606:4700:3037::ac43:d206:443 · quockhanh.dev
2026-01-08 04:40
HTTP/1.1 404 Not Found
Date: Thu, 08 Jan 2026 04:40:51 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 107
Connection: close
Cache-Control: public, max-age=0, must-revalidate
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-error: DEPLOYMENT_NOT_FOUND
x-vercel-id: iad1::8ngjm-1767847251067-0738bfd52a99
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=7,cfOrigin;dur=41
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=oDjtMT1%2BWayla9B92oUhVj51fV9dAPLmDNOeovXFnBHtfW6RtNSDb714Ly%2FHyAr05hX%2FWzojZfM2MxblIpimvLYdhIUdLPJVlOjfWPmbzfY%2FbQ60h7kDjU4%3D"}]}
CF-RAY: 9ba904e6ea57a8d0-EWR
alt-svc: h3=":443"; ma=86400
The deployment could not be found on Vercel.
DEPLOYMENT_NOT_FOUND
iad1::8ngjm-1767847251067-0738bfd52a99
Open service 172.67.210.6:80 · quockhanh.dev
2026-01-08 04:40
HTTP/1.1 308 Permanent Redirect
Date: Thu, 08 Jan 2026 04:40:51 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://quockhanh.dev/
Refresh: 0;url=https://quockhanh.dev/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=21,cfOrigin;dur=669
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=mTJ7GuK1dgBx0NwcoquQCsQ8kasmiBpIQDdME7%2Fe9rFgIjzea8sZ9QFo1emgItzA4I9oOZu0SR%2FQJaSLf4Onr4FTTR7z%2BcraOLAPny0%3D"}]}
CF-RAY: 9ba904e6acd6f8e2-SIN
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 172.67.210.6:443 · quockhanh.dev
2026-01-08 04:40
HTTP/1.1 404 Not Found
Date: Thu, 08 Jan 2026 04:40:51 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 107
Connection: close
Cache-Control: public, max-age=0, must-revalidate
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-error: DEPLOYMENT_NOT_FOUND
x-vercel-id: fra1::rdjz6-1767847251013-b045ebbaf4f7
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=KT8%2FMcwDZMiQsbkElGpmk9kZpDw1aI2oYCjV2NCkuPGEvaDOgrN7QV%2BWf%2FMwj6F02p0SdPvTQ8FfgV%2BTU%2FeUQaetuPl3H0BnI%2BmcYEE%3D"}]}
CF-RAY: 9ba904e69b905c4b-AMS
alt-svc: h3=":443"; ma=86400
The deployment could not be found on Vercel.
DEPLOYMENT_NOT_FOUND
fra1::rdjz6-1767847251013-b045ebbaf4f7
Open service 2606:4700:3037::ac43:d206:80 · quockhanh.dev
2026-01-08 04:40
HTTP/1.1 308 Permanent Redirect
Date: Thu, 08 Jan 2026 04:40:50 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://quockhanh.dev/
Refresh: 0;url=https://quockhanh.dev/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=srXPP5b2mtUftdK2fEH5LzpTZ9g8rNt2l6X4IhFSQzUhbHdyCbSPhJhlbcld0lndfdkn3RsbDgY3yGcoJdRn7ItySghTU6UCTkymT9FgT%2Bab1erQyCp2wzI%3D"}]}
CF-RAY: 9ba904e64aa55781-LHR
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 104.21.50.193:80 · quockhanh.dev
2026-01-08 04:40
HTTP/1.1 308 Permanent Redirect
Date: Thu, 08 Jan 2026 04:40:50 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://quockhanh.dev/
Refresh: 0;url=https://quockhanh.dev/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=yZAZJmEeRox3VR8U8dwhZU4d1bGubBVX80WvfFmOO9vTz%2FAx2gNkMkAPFDoljSexQX9n%2BlBbEyN6cMmYpdZuSWEOQJmtUmeQTzvfPdI%3D"}]}
CF-RAY: 9ba904e62fe7dbe4-FRA
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 104.21.50.193:8443 · quockhanh.dev
2026-01-08 04:40
HTTP/1.1 522 <none> Date: Thu, 08 Jan 2026 04:41:11 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9ba904ec5bd90beb-LHR alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:3037::ac43:d206:443 · blog.quockhanh.dev
2026-01-07 23:08
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 23:08:12 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
access-control-allow-origin: *
Age: 516597
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=MhqorjVCDcvmZI%2Bo7Bdd2HQWuh15jGXBWrOlQbbcesS7Vx5InouWT0Uha%2Bfh8jHHv6a%2FrOZpcW%2Fm4pgRnRlsjFCdCC3RDNnMDehLZOrRDABYwh7%2B8J1KNWgeDKwQhA%3D%3D"}]}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=11,cfOrigin;dur=47
Server: cloudflare
strict-transport-security: max-age=63072000
vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch
vary: accept-encoding
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: iad1::j7vl8-1767827292422-069a07cfe346
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9ba71da15ef4e73e-EWR
alt-svc: h3=":443"; ma=86400
Page title: Home page
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><link rel="preload" href="/_next/static/media/6a44acd4f1e705fc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cb9b1e37575a85c5.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a37cc1607c84e162.js"/><script src="/_next/static/chunks/3d638f20-911ae400f25b2a14.js" async=""></script><script src="/_next/static/chunks/295-ba3e9fab549a8444.js" async=""></script><script src="/_next/static/chunks/main-app-796623e21e577bb6.js" async=""></script><script src="/_next/static/chunks/407-cae4dbe7c73e814d.js" async=""></script><script src="/_next/static/chunks/452-f1eaf0f8212ab4e8.js" async=""></script><script src="/_next/static/chunks/app/page-f10515e9dd00a8ba.js" async=""></script><script src="/_next/static/chunks/520-6ba146698edec91e.js" async=""></script><script src="/_next/static/chunks/715-dd443ea7d9acf410.js" async=""></script><script src="/_next/static/chunks/740-af9987e61e46b129.js" async=""></script><script src="/_next/static/chunks/app/layout-c0e57e3f3152ffd7.js" async=""></script><script src="/_next/static/chunks/526-68f8eb798f855c9a.js" async=""></script><script src="/_next/static/chunks/app/not-found-0cb6165a698b4313.js" async=""></script><script src="/_next/static/chunks/app/loading-f3ac5048afca534e.js" async=""></script><title>Home page</title><meta name="description" content="quockhanh.dev - A software engine blog"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="use-credentials"/><meta name="creator" content="quockhanhtn"/><meta property="og:title" content="quockhanh.dev"/><meta property="og:description" content="quockhanh.dev - A software engine blog"/><meta property="og:url" content="https://www.quockhanh.dev"/><meta property="og:site_name" content="quockhanh.dev"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://images.squarespace-cdn.com/content/5ae0d31b75f9ee88cce7f318/1524683899859-B9VDH4YX6GGWPQNV21VK/idslogo_color_220x37dp.png?content-type=image%2Fpng"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="quockhanh.dev"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@quockhanhtn"/><meta name="twitter:title" content="quockhanh.dev"/><meta name="twitter:description" content="quockhanh.dev - A software engine blog"/><meta name="twitter:image" content="https://images.squarespace-cdn.com/content/5ae0d31b75f9ee88cce7f318/1524683899859-B9VDH4YX6GGWPQNV21VK/idslogo_color_220x37dp.png?content-type=image%2Fpng"/><link rel="icon" href="/favicon/android-chrome-192x192.png" sizes="192x192"/><link rel="icon" href="/favicon/android-chrome-512x512.png" sizes="512x512"/><link rel="icon" href="/favicon/favicon-16x16.png" sizes="16x16"/><link rel="icon" href="/favicon/favicon-32x32.png" sizes="32x32"/><link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png" sizes="180x180"/><link rel="icon" href="/favicon/favicon.ico" type="image/x-icon"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script><style data-emotion="mui-global qx747r">html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;-webkit-text-size-adjust:100%;}*,*::before,*::after{box-sizing:inherit;}strong,b{font-weight:700;}body{margin:0;color:#212B36;line-height:1.5;font-size:1rem;font-family:'__Public_Sans_e50a27','__Public_Sans_Fallback_e50a27',Helvetica,Arial,sans-serif;font-weight:400;background-color:#FFFFFF;}@media print{body{background-color:#FFFFFF;}}body::backdrop{background-color:#FFFFFF;}*{box-sizing:border-box;}html{margin:0;padding:0;width:100%;height:100%;-webkit-overflow-scrolling:touch;}body{margin:0;padding:0;width:100%;height:100%;}#root,#__next{width:100%;h
Open service 172.67.210.6:443 · blog.quockhanh.dev
2026-01-07 23:08
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 23:08:12 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
access-control-allow-origin: *
Age: 516597
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=KefrnbU398ckTv6%2BQHCt7I0owz1aZ9XQbmp2MAvAXk881yrGOCQZkIxjHmgPmvzKks6jrjDAR%2FPcDEhoFRQhLN8Ed1XBWBd2GAkzxggTYPw%3D"}]}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=53
Server: cloudflare
strict-transport-security: max-age=63072000
vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch
vary: accept-encoding
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: iad1::dc77w-1767827292420-019565928973
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9ba71da15ee41d1a-EWR
alt-svc: h3=":443"; ma=86400
Page title: Home page
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><link rel="preload" href="/_next/static/media/6a44acd4f1e705fc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cb9b1e37575a85c5.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a37cc1607c84e162.js"/><script src="/_next/static/chunks/3d638f20-911ae400f25b2a14.js" async=""></script><script src="/_next/static/chunks/295-ba3e9fab549a8444.js" async=""></script><script src="/_next/static/chunks/main-app-796623e21e577bb6.js" async=""></script><script src="/_next/static/chunks/407-cae4dbe7c73e814d.js" async=""></script><script src="/_next/static/chunks/452-f1eaf0f8212ab4e8.js" async=""></script><script src="/_next/static/chunks/app/page-f10515e9dd00a8ba.js" async=""></script><script src="/_next/static/chunks/520-6ba146698edec91e.js" async=""></script><script src="/_next/static/chunks/715-dd443ea7d9acf410.js" async=""></script><script src="/_next/static/chunks/740-af9987e61e46b129.js" async=""></script><script src="/_next/static/chunks/app/layout-c0e57e3f3152ffd7.js" async=""></script><script src="/_next/static/chunks/526-68f8eb798f855c9a.js" async=""></script><script src="/_next/static/chunks/app/not-found-0cb6165a698b4313.js" async=""></script><script src="/_next/static/chunks/app/loading-f3ac5048afca534e.js" async=""></script><title>Home page</title><meta name="description" content="quockhanh.dev - A software engine blog"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="use-credentials"/><meta name="creator" content="quockhanhtn"/><meta property="og:title" content="quockhanh.dev"/><meta property="og:description" content="quockhanh.dev - A software engine blog"/><meta property="og:url" content="https://www.quockhanh.dev"/><meta property="og:site_name" content="quockhanh.dev"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://images.squarespace-cdn.com/content/5ae0d31b75f9ee88cce7f318/1524683899859-B9VDH4YX6GGWPQNV21VK/idslogo_color_220x37dp.png?content-type=image%2Fpng"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="quockhanh.dev"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@quockhanhtn"/><meta name="twitter:title" content="quockhanh.dev"/><meta name="twitter:description" content="quockhanh.dev - A software engine blog"/><meta name="twitter:image" content="https://images.squarespace-cdn.com/content/5ae0d31b75f9ee88cce7f318/1524683899859-B9VDH4YX6GGWPQNV21VK/idslogo_color_220x37dp.png?content-type=image%2Fpng"/><link rel="icon" href="/favicon/android-chrome-192x192.png" sizes="192x192"/><link rel="icon" href="/favicon/android-chrome-512x512.png" sizes="512x512"/><link rel="icon" href="/favicon/favicon-16x16.png" sizes="16x16"/><link rel="icon" href="/favicon/favicon-32x32.png" sizes="32x32"/><link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png" sizes="180x180"/><link rel="icon" href="/favicon/favicon.ico" type="image/x-icon"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script><style data-emotion="mui-global qx747r">html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;-webkit-text-size-adjust:100%;}*,*::before,*::after{box-sizing:inherit;}strong,b{font-weight:700;}body{margin:0;color:#212B36;line-height:1.5;font-size:1rem;font-family:'__Public_Sans_e50a27','__Public_Sans_Fallback_e50a27',Helvetica,Arial,sans-serif;font-weight:400;background-color:#FFFFFF;}@media print{body{background-color:#FFFFFF;}}body::backdrop{background-color:#FFFFFF;}*{box-sizing:border-box;}html{margin:0;padding:0;width:100%;height:100%;-webkit-overflow-scrolling:touch;}body{margin:0;padding:0;width:100%;height:100%;}#root,#__next{width:100%;h
Open service 2606:4700:3036::6815:32c1:443 · blog.quockhanh.dev
2026-01-07 23:08
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 23:08:12 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
access-control-allow-origin: *
Age: 516597
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=8CWlshqjeCeqbynhoKK6Zjvr6DWPB9xw%2BbVPWliweNvowvoFlfJajQRUdMRYplvISdxAZboBs%2FZIO0%2BoPaUC7U%2FhHLBoXngOo07Qp%2FKKTu4RdKKP%2FQcFBBxKpSiDeA%3D%3D"}]}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=6,cfOrigin;dur=18
Server: cloudflare
strict-transport-security: max-age=63072000
vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch
vary: accept-encoding
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: iad1::tf6t5-1767827292402-a462dad1e1ce
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9ba71da17c96614b-EWR
alt-svc: h3=":443"; ma=86400
Page title: Home page
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><link rel="preload" href="/_next/static/media/6a44acd4f1e705fc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cb9b1e37575a85c5.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a37cc1607c84e162.js"/><script src="/_next/static/chunks/3d638f20-911ae400f25b2a14.js" async=""></script><script src="/_next/static/chunks/295-ba3e9fab549a8444.js" async=""></script><script src="/_next/static/chunks/main-app-796623e21e577bb6.js" async=""></script><script src="/_next/static/chunks/407-cae4dbe7c73e814d.js" async=""></script><script src="/_next/static/chunks/452-f1eaf0f8212ab4e8.js" async=""></script><script src="/_next/static/chunks/app/page-f10515e9dd00a8ba.js" async=""></script><script src="/_next/static/chunks/520-6ba146698edec91e.js" async=""></script><script src="/_next/static/chunks/715-dd443ea7d9acf410.js" async=""></script><script src="/_next/static/chunks/740-af9987e61e46b129.js" async=""></script><script src="/_next/static/chunks/app/layout-c0e57e3f3152ffd7.js" async=""></script><script src="/_next/static/chunks/526-68f8eb798f855c9a.js" async=""></script><script src="/_next/static/chunks/app/not-found-0cb6165a698b4313.js" async=""></script><script src="/_next/static/chunks/app/loading-f3ac5048afca534e.js" async=""></script><title>Home page</title><meta name="description" content="quockhanh.dev - A software engine blog"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="use-credentials"/><meta name="creator" content="quockhanhtn"/><meta property="og:title" content="quockhanh.dev"/><meta property="og:description" content="quockhanh.dev - A software engine blog"/><meta property="og:url" content="https://www.quockhanh.dev"/><meta property="og:site_name" content="quockhanh.dev"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://images.squarespace-cdn.com/content/5ae0d31b75f9ee88cce7f318/1524683899859-B9VDH4YX6GGWPQNV21VK/idslogo_color_220x37dp.png?content-type=image%2Fpng"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="quockhanh.dev"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@quockhanhtn"/><meta name="twitter:title" content="quockhanh.dev"/><meta name="twitter:description" content="quockhanh.dev - A software engine blog"/><meta name="twitter:image" content="https://images.squarespace-cdn.com/content/5ae0d31b75f9ee88cce7f318/1524683899859-B9VDH4YX6GGWPQNV21VK/idslogo_color_220x37dp.png?content-type=image%2Fpng"/><link rel="icon" href="/favicon/android-chrome-192x192.png" sizes="192x192"/><link rel="icon" href="/favicon/android-chrome-512x512.png" sizes="512x512"/><link rel="icon" href="/favicon/favicon-16x16.png" sizes="16x16"/><link rel="icon" href="/favicon/favicon-32x32.png" sizes="32x32"/><link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png" sizes="180x180"/><link rel="icon" href="/favicon/favicon.ico" type="image/x-icon"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script><style data-emotion="mui-global qx747r">html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;-webkit-text-size-adjust:100%;}*,*::before,*::after{box-sizing:inherit;}strong,b{font-weight:700;}body{margin:0;color:#212B36;line-height:1.5;font-size:1rem;font-family:'__Public_Sans_e50a27','__Public_Sans_Fallback_e50a27',Helvetica,Arial,sans-serif;font-weight:400;background-color:#FFFFFF;}@media print{body{background-color:#FFFFFF;}}body::backdrop{background-color:#FFFFFF;}*{box-sizing:border-box;}html{margin:0;padding:0;width:100%;height:100%;-webkit-overflow-scrolling:touch;}body{margin:0;padding:0;width:100%;height:100%;}#root,#__next{width:100%;h
Open service 104.21.50.193:443 · blog.quockhanh.dev
2026-01-07 23:08
HTTP/1.1 200 OK
Date: Wed, 07 Jan 2026 23:08:12 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
access-control-allow-origin: *
Age: 516597
Cache-Control: public, max-age=0, must-revalidate
content-disposition: inline
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Z%2BsEp%2BZArTVyaCTJucrTfb3T9AWOO5dsjM7HR5DNFqpsMcpLr4dvZDeOHfyCNer8senX3S5byZj8n%2F4ifcsSsfJgZ5JSvJKmlXufJsKcFE%2FYxg%3D%3D"}]}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=6,cfOrigin;dur=17
Server: cloudflare
strict-transport-security: max-age=63072000
vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch
vary: accept-encoding
x-matched-path: /
x-vercel-cache: HIT
x-vercel-id: iad1::pkvpf-1767827292455-ac45df2214b2
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9ba71da1cecce8a6-EWR
alt-svc: h3=":443"; ma=86400
Page title: Home page
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><link rel="preload" href="/_next/static/media/6a44acd4f1e705fc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cb9b1e37575a85c5.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a37cc1607c84e162.js"/><script src="/_next/static/chunks/3d638f20-911ae400f25b2a14.js" async=""></script><script src="/_next/static/chunks/295-ba3e9fab549a8444.js" async=""></script><script src="/_next/static/chunks/main-app-796623e21e577bb6.js" async=""></script><script src="/_next/static/chunks/407-cae4dbe7c73e814d.js" async=""></script><script src="/_next/static/chunks/452-f1eaf0f8212ab4e8.js" async=""></script><script src="/_next/static/chunks/app/page-f10515e9dd00a8ba.js" async=""></script><script src="/_next/static/chunks/520-6ba146698edec91e.js" async=""></script><script src="/_next/static/chunks/715-dd443ea7d9acf410.js" async=""></script><script src="/_next/static/chunks/740-af9987e61e46b129.js" async=""></script><script src="/_next/static/chunks/app/layout-c0e57e3f3152ffd7.js" async=""></script><script src="/_next/static/chunks/526-68f8eb798f855c9a.js" async=""></script><script src="/_next/static/chunks/app/not-found-0cb6165a698b4313.js" async=""></script><script src="/_next/static/chunks/app/loading-f3ac5048afca534e.js" async=""></script><title>Home page</title><meta name="description" content="quockhanh.dev - A software engine blog"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="use-credentials"/><meta name="creator" content="quockhanhtn"/><meta property="og:title" content="quockhanh.dev"/><meta property="og:description" content="quockhanh.dev - A software engine blog"/><meta property="og:url" content="https://www.quockhanh.dev"/><meta property="og:site_name" content="quockhanh.dev"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://images.squarespace-cdn.com/content/5ae0d31b75f9ee88cce7f318/1524683899859-B9VDH4YX6GGWPQNV21VK/idslogo_color_220x37dp.png?content-type=image%2Fpng"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="quockhanh.dev"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@quockhanhtn"/><meta name="twitter:title" content="quockhanh.dev"/><meta name="twitter:description" content="quockhanh.dev - A software engine blog"/><meta name="twitter:image" content="https://images.squarespace-cdn.com/content/5ae0d31b75f9ee88cce7f318/1524683899859-B9VDH4YX6GGWPQNV21VK/idslogo_color_220x37dp.png?content-type=image%2Fpng"/><link rel="icon" href="/favicon/android-chrome-192x192.png" sizes="192x192"/><link rel="icon" href="/favicon/android-chrome-512x512.png" sizes="512x512"/><link rel="icon" href="/favicon/favicon-16x16.png" sizes="16x16"/><link rel="icon" href="/favicon/favicon-32x32.png" sizes="32x32"/><link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png" sizes="180x180"/><link rel="icon" href="/favicon/favicon.ico" type="image/x-icon"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script><style data-emotion="mui-global qx747r">html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;-webkit-text-size-adjust:100%;}*,*::before,*::after{box-sizing:inherit;}strong,b{font-weight:700;}body{margin:0;color:#212B36;line-height:1.5;font-size:1rem;font-family:'__Public_Sans_e50a27','__Public_Sans_Fallback_e50a27',Helvetica,Arial,sans-serif;font-weight:400;background-color:#FFFFFF;}@media print{body{background-color:#FFFFFF;}}body::backdrop{background-color:#FFFFFF;}*{box-sizing:border-box;}html{margin:0;padding:0;width:100%;height:100%;-webkit-overflow-scrolling:touch;}body{margin:0;padding:0;width:100%;height:100%;}#root,#__next{width:100%;h
Open service 2606:4700:3037::ac43:d206:80 · blog.quockhanh.dev
2026-01-07 23:08
HTTP/1.1 308 Permanent Redirect
Date: Wed, 07 Jan 2026 23:08:12 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://blog.quockhanh.dev/
Refresh: 0;url=https://blog.quockhanh.dev/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=voKamCzlZA1lfnifXG%2Fb%2BCUYEeG1IrM2BuZ5Zr35GeNrjIRC7BiJFVY49gSaPyL9t2gpkwyUXs1JSgpYfLnBuYldaLv%2FFNDHRTJY4q2zGkoEwr5wP1ax3dXKveU%3D"}]}
CF-RAY: 9ba71da04b95f5da-AMS
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 172.67.210.6:80 · blog.quockhanh.dev
2026-01-07 23:08
HTTP/1.1 308 Permanent Redirect
Date: Wed, 07 Jan 2026 23:08:12 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://blog.quockhanh.dev/
Refresh: 0;url=https://blog.quockhanh.dev/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=9%2FGeSZU%2Bb4aeUo2RZew4B%2Bvur8XY0X6mpV61Cr16aSp2msX%2FsH7SI7KvW6qL4ooVvV2hi8zPved4OJIbgS5ZcJryR11GUZkngOy3Hnq91yRj3g%3D%3D"}]}
CF-RAY: 9ba71d9ffc870e00-AMS
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 2606:4700:3036::6815:32c1:80 · blog.quockhanh.dev
2026-01-07 23:08
HTTP/1.1 308 Permanent Redirect
Date: Wed, 07 Jan 2026 23:08:12 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://blog.quockhanh.dev/
Refresh: 0;url=https://blog.quockhanh.dev/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=9nlposcH%2F5HLGaszajWBCoxTBoLvVE2vR8A2vntHm6to19Gglh7%2BGBeYLdVUwkV04dvZBE8VvLC5EdTEdVimp2w4WjnQf%2FvYYX0TTqAOM%2FTG5N3oJfacP807z1YKkA%3D%3D"}]}
CF-RAY: 9ba71da04e45b93f-AMS
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 104.21.50.193:80 · blog.quockhanh.dev
2026-01-07 23:08
HTTP/1.1 308 Permanent Redirect
Date: Wed, 07 Jan 2026 23:08:12 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://blog.quockhanh.dev/
Refresh: 0;url=https://blog.quockhanh.dev/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=X0IOGX%2BL71pzjuE0Nh2pTcB2tHq6Y6MvC32YkqJBMgogr7veQNwV58fAbIG1ssfYIpCZft7gcmqBexicry%2BhM7PefFci9UMESHwlqPAwKQTU%2BQ%3D%3D"}]}
CF-RAY: 9ba71d9fdb91a018-AMS
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 2606:4700:3037::ac43:d206:8443 · blog.quockhanh.dev
2026-01-07 23:08
Open service 2606:4700:3036::6815:32c1:8443 · blog.quockhanh.dev
2026-01-07 23:08
Open service 104.21.50.193:8443 · blog.quockhanh.dev
2026-01-07 23:08
Open service 172.67.210.6:8443 · blog.quockhanh.dev
2026-01-07 23:08
Open service 66.33.22.148:443 · api.quockhanh.dev
2026-01-02 17:37
HTTP/1.1 200 OK Access-Control-Allow-Origin: * Content-Length: 12 Content-Type: text/html; charset=utf-8 Date: Fri, 02 Jan 2026 17:37:41 GMT Etag: W/"c-Lve95gjOVATpfV8EL5X4nxwjKHE" Server: railway-edge X-Powered-By: Express X-Railway-Edge: railway/us-east4-eqdc4a X-Railway-Request-Id: k2cc6m4dRNayx4K0g4a9AQ Connection: close Hello World!
Open service 66.33.22.148:443 · api.quockhanh.dev
2025-12-23 08:42
HTTP/1.1 200 OK Access-Control-Allow-Origin: * Content-Length: 12 Content-Type: text/html; charset=utf-8 Date: Tue, 23 Dec 2025 08:42:03 GMT Etag: W/"c-Lve95gjOVATpfV8EL5X4nxwjKHE" Server: railway-edge X-Powered-By: Express X-Railway-Edge: railway/europe-west4-drams3a X-Railway-Request-Id: Svi0UAVOSUS5ugl8ss7a6g Connection: close Hello World!
Open service 172.67.210.6:8443 · chat.quockhanh.dev
2025-12-21 12:40
Open service 104.21.50.193:8443 · chat.quockhanh.dev
2025-12-21 12:40
Open service 2606:4700:3036::6815:32c1:80 · chat.quockhanh.dev
2025-12-21 12:40
HTTP/1.1 308 Permanent Redirect
Date: Sun, 21 Dec 2025 12:40:07 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://chat.quockhanh.dev/
Refresh: 0;url=https://chat.quockhanh.dev/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=15,cfOrigin;dur=58
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ZJkkd8AGKzsTTCqiipYqIhDhiQRCOfStlwVWjTb2bL9dUzQL0AnZ%2FaeWHJq%2FoQPJs1jYvlogcX9CfrPc3socr4VOv26VN0aoWUtvXLi531xNzJeVwHMvohCDrWx%2Bdg%3D%3D"}]}
CF-RAY: 9b1772335a1cf812-EWR
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 2606:4700:3036::6815:32c1:8443 · chat.quockhanh.dev
2025-12-21 12:40
Open service 172.67.210.6:443 · chat.quockhanh.dev
2025-12-21 12:40
HTTP/1.1 307 Temporary Redirect
Date: Sun, 21 Dec 2025 12:40:07 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Cache-Control: public, max-age=0, must-revalidate
location: /dashboard
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-id: fra1::94d5h-1766320807774-129fc0bfa694
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=AsfmJm%2FpR8ltRtTrnriyzeKyH8dgDIjySd%2BPrj70LLYYsN1EA5WdDJN9LkLkl%2FSHawlk5Wm7GSXL1jei61lQpY83KFJ8rbfOytHFyp%2B87S0fFg%3D%3D"}]}
CF-RAY: 9b1772385d85b121-AMS
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 104.21.50.193:443 · chat.quockhanh.dev
2025-12-21 12:40
HTTP/1.1 307 Temporary Redirect
Date: Sun, 21 Dec 2025 12:40:07 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Cache-Control: public, max-age=0, must-revalidate
location: /dashboard
Server: cloudflare
strict-transport-security: max-age=63072000
x-vercel-id: fra1::m4fl6-1766320807836-b74aac4c66a8
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=hChEBmCgnLVKUWgBhO7XCee8eKVq%2B2yL4JpI8ORDi5NLFIiRfieYXmbDteBvXjPQfDJYfYsmxfHjNC0K3AxaQC0Xlk35WGNOvrLND7YpghEGxw%3D%3D"}]}
CF-RAY: 9b177238d847dbc1-FRA
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 2606:4700:3037::ac43:d206:80 · chat.quockhanh.dev
2025-12-21 12:40
HTTP/1.1 308 Permanent Redirect
Date: Sun, 21 Dec 2025 12:40:06 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://chat.quockhanh.dev/
Refresh: 0;url=https://chat.quockhanh.dev/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=16,cfOrigin;dur=18
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=IWJkY8hjbMd1KfwtMKkYcHCpUvJjvl%2FOeFoo8m9ls%2B3eis4Uy7StahEKyjPov6U7dDb3nJUeJbDvjdXVKaac%2Fvdg%2FTbTOh0Pd%2F3h1m9ev%2FdurGAWmbKqSqiR1X0qPQ%3D%3D"}]}
CF-RAY: 9b1772335ba64387-EWR
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 104.21.50.193:80 · chat.quockhanh.dev
2025-12-21 12:40
HTTP/1.1 308 Permanent Redirect
Date: Sun, 21 Dec 2025 12:40:06 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://chat.quockhanh.dev/
Refresh: 0;url=https://chat.quockhanh.dev/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=17,cfOrigin;dur=17
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=7UcVmtkZz4mmLbEKp2eDFvNEEli0FahWduEcpqcZY0dQUo2SV3J0Hcfb5giBiLqhdm5c4nhltCc0grZFdp39socDROciaU%2BmmdsaoSK5xhSZlQ%3D%3D"}]}
CF-RAY: 9b177232bd1139ea-YYZ
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 172.67.210.6:80 · chat.quockhanh.dev
2025-12-21 12:40
HTTP/1.1 308 Permanent Redirect
Date: Sun, 21 Dec 2025 12:40:06 GMT
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Location: https://chat.quockhanh.dev/
Refresh: 0;url=https://chat.quockhanh.dev/
server: cloudflare
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=12,cfOrigin;dur=64
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=LLEQ9CCZ7XuINDsFvK%2F2phpPSnSR%2BHni%2FL1MmBNjgu42LTmp%2B19dhB4%2BHpXqftz2SxryTULSrfnRgKe0zJcr3NiEf1BtaMDF5bFEXA8oMhmKUg%3D%3D"}]}
CF-RAY: 9b177232a950b35a-EWR
alt-svc: h3=":443"; ma=86400
Redirecting...
Open service 2606:4700:3037::ac43:d206:8443 · chat.quockhanh.dev
2025-12-21 12:40
Open service 66.33.22.148:443 · api.quockhanh.dev
2025-12-21 06:33
HTTP/1.1 200 OK Access-Control-Allow-Origin: * Content-Length: 12 Content-Type: text/html; charset=utf-8 Date: Sun, 21 Dec 2025 06:33:24 GMT Etag: W/"c-Lve95gjOVATpfV8EL5X4nxwjKHE" Server: railway-edge X-Powered-By: Express X-Railway-Edge: railway/us-east4-eqdc4a X-Railway-Request-Id: fYWIq6xBSBWeHQ9DozsQ6Q Connection: close Hello World!
Open service 66.33.22.148:443 · api.quockhanh.dev
2025-12-19 02:15
HTTP/1.1 200 OK Access-Control-Allow-Origin: * Content-Length: 12 Content-Type: text/html; charset=utf-8 Date: Fri, 19 Dec 2025 02:15:31 GMT Etag: W/"c-Lve95gjOVATpfV8EL5X4nxwjKHE" Server: railway-edge X-Powered-By: Express X-Railway-Edge: railway/asia-southeast1-eqsg3a X-Railway-Request-Id: fOx7m88hTYW0QAxeacI7Nw Connection: close Hello World!