<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://blog.zerophyr.com/tags/caddy/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/caddy-automatic-https-guide/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/categories/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/https/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/lets-encrypt/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/ssl/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/web%E6%9C%8D%E5%8A%A1%E5%99%A8/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/categories/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E8%87%AA%E5%8A%A8%E5%8C%96/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/categories/%E8%BF%90%E7%BB%B4%E9%83%A8%E7%BD%B2/</loc>
    <lastmod>2025-11-07T20:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/certbot/</loc>
    <lastmod>2025-11-07T20:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/nginx/</loc>
    <lastmod>2025-11-07T20:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/nginx-ssl-reverse-proxy-complete-guide/</loc>
    <lastmod>2025-11-07T20:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%85%8D%E7%BD%AE/</loc>
    <lastmod>2025-11-07T20:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/devops/</loc>
    <lastmod>2025-11-05T18:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/categories/devops/</loc>
    <lastmod>2025-11-05T18:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/github-actions/</loc>
    <lastmod>2025-11-05T18:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/github-actions-maven-central-publishing/</loc>
    <lastmod>2025-11-05T18:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/java/</loc>
    <lastmod>2025-11-05T18:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/maven-central/</loc>
    <lastmod>2025-11-05T18:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/categories/%E6%8A%80%E6%9C%AF/</loc>
    <lastmod>2025-11-05T18:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/categories/%E8%87%AA%E5%8A%A8%E5%8C%96/</loc>
    <lastmod>2025-11-05T18:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E8%87%AA%E5%8A%A8%E5%8C%96%E5%8F%91%E5%B8%83/</loc>
    <lastmod>2025-11-05T18:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/categories/ai/</loc>
    <lastmod>2025-10-15T17:40:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/ai-cli/</loc>
    <lastmod>2025-10-15T17:40:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/claude-code/</loc>
    <lastmod>2025-10-15T17:40:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/codex/</loc>
    <lastmod>2025-10-15T17:40:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/gemini-cli/</loc>
    <lastmod>2025-10-15T17:40:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/ai-cli-tools-guide/</loc>
    <lastmod>2025-10-15T17:40:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E5%91%BD%E4%BB%A4%E8%A1%8C/</loc>
    <lastmod>2025-10-15T17:40:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/categories/%E5%B7%A5%E5%85%B7/</loc>
    <lastmod>2025-10-15T17:40:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/</loc>
    <lastmod>2025-10-15T17:40:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/ai%E5%B7%A5%E5%85%B7/</loc>
    <lastmod>2025-10-15T16:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/cursor/</loc>
    <lastmod>2025-10-15T16:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/mcp/</loc>
    <lastmod>2025-10-15T16:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/mcp-configuration-guide/</loc>
    <lastmod>2025-10-15T16:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/openai-codex/</loc>
    <lastmod>2025-10-15T16:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E9%85%8D%E7%BD%AE%E6%8C%87%E5%8D%97/</loc>
    <lastmod>2025-10-15T16:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/categories/java/</loc>
    <lastmod>2025-10-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/java-thread-pool-best-practices/</loc>
    <lastmod>2025-10-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/jdk21/</loc>
    <lastmod>2025-10-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E5%A4%9A%E7%BA%BF%E7%A8%8B/</loc>
    <lastmod>2025-10-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/</loc>
    <lastmod>2025-10-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/</loc>
    <lastmod>2025-10-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E7%BA%BF%E7%A8%8B%E6%B1%A0/</loc>
    <lastmod>2025-10-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E8%99%9A%E6%8B%9F%E7%BA%BF%E7%A8%8B/</loc>
    <lastmod>2025-10-14T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/bun/</loc>
    <lastmod>2025-09-20T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/hono/</loc>
    <lastmod>2025-09-20T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/javascript-ecosystem-exploration/</loc>
    <lastmod>2025-09-20T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/node.js/</loc>
    <lastmod>2025-09-20T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/typescript/</loc>
    <lastmod>2025-09-20T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E5%85%A8%E6%A0%88%E5%BC%80%E5%8F%91/</loc>
    <lastmod>2025-09-20T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</loc>
    <lastmod>2025-09-20T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B/</loc>
    <lastmod>2025-09-20T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/ai/</loc>
    <lastmod>2025-08-20T14:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/claude/</loc>
    <lastmod>2025-08-20T14:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/claudecode/</loc>
    <lastmod>2025-08-20T14:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E6%8A%80%E5%B7%A7/</loc>
    <lastmod>2025-08-20T14:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/solve-claude-code-fetch-not-allowed/</loc>
    <lastmod>2025-08-20T14:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/rabbitmq/</loc>
    <lastmod>2024-11-05T16:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/categories/spring/</loc>
    <lastmod>2024-11-05T16:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/spring-boot/</loc>
    <lastmod>2024-11-05T16:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/spring-boot-multi-rabbitmq-integration/</loc>
    <lastmod>2024-11-05T16:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/</loc>
    <lastmod>2024-11-05T16:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/git/</loc>
    <lastmod>2024-09-20T18:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/hugo/</loc>
    <lastmod>2024-09-20T18:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/submodules/</loc>
    <lastmod>2024-09-20T18:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/git-submodules-guide/</loc>
    <lastmod>2024-09-20T18:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6/</loc>
    <lastmod>2024-09-20T18:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/giscus/</loc>
    <lastmod>2024-02-15T10:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/giscus-theme-adaptation/</loc>
    <lastmod>2024-02-15T10:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/javascript/</loc>
    <lastmod>2024-02-15T10:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/papermod/</loc>
    <lastmod>2024-02-15T10:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E4%B8%BB%E9%A2%98/</loc>
    <lastmod>2024-02-15T10:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/</loc>
    <lastmod>2024-02-15T10:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/github/</loc>
    <lastmod>2024-01-20T10:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/enable-giscus-comments/</loc>
    <lastmod>2024-01-20T10:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E5%8D%9A%E5%AE%A2/</loc>
    <lastmod>2024-01-20T10:30:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/vercel/</loc>
    <lastmod>2024-01-10T14:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/deploy-hugo-with-vercel/</loc>
    <lastmod>2024-01-10T14:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E9%83%A8%E7%BD%B2/</loc>
    <lastmod>2024-01-10T14:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E9%9D%99%E6%80%81%E5%8D%9A%E5%AE%A2/</loc>
    <lastmod>2024-01-10T14:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/halo/</loc>
    <lastmod>2024-01-10T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/hexo/</loc>
    <lastmod>2024-01-10T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/posts/blog-platform-selection/</loc>
    <lastmod>2024-01-10T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/%E9%9D%99%E6%80%81%E7%BD%91%E7%AB%99%E7%94%9F%E6%88%90%E5%99%A8/</loc>
    <lastmod>2024-01-10T10:00:00+08:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/about/</loc>
    <lastmod>2024-01-01T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://blog.zerophyr.com/tags/ci/cd/</loc>
  </url><url>
    <loc>https://blog.zerophyr.com/archives/</loc>
  </url>
</urlset>
