<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url>
    <loc>https://perciocastelo.com.br/blog/en/10-malware-types-that-threaten-companies-and-how-to-prevent-them.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/10-malware-types-that-threaten-companies-and-how-to-prevent-them.webp</image:loc>
      <image:title>Guia definitivo: 10 tipos de malware que todo CIO e equipe de segurança devem dominar</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/10-practical-tips-to-strengthen-your-cybersecurity.html</loc>
    <lastmod>2026-06-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/10-practical-tips-to-strengthen-your-cybersecurity.webp</image:loc>
      <image:title>10 dicas práticas para fortalecer sua cibersegurança</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/5-human-errors-cause-60-percent-cybersecurity-incidents.html</loc>
    <lastmod>2026-09-01</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/5-human-errors-cause-60-percent-cybersecurity-incidents.webp</image:loc>
      <image:title>5 erros humanos que causam 60% dos incidentes de segurança cibernética</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/aapanel-python-310-podman-syntax-error-fix.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/aapanel-python-310-podman-syntax-error-fix.webp</image:loc>
      <image:title>O Dia em que o Python 3.10 &quot;quebrou&quot; meu aaPanel no Podman (e como resolvi)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/advanced-http-500-troubleshooting-cpanel-log-tracing-php-runtime.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/advanced-http-500-troubleshooting-cpanel-log-tracing-php-runtime.webp</image:loc>
      <image:title>Troubleshooting avançado de erro 500 no cPanel: do rastreio de logs à compatibilidade do runtime</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/advanced-instagram-header-json-extraction-curl.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/advanced-instagram-header-json-extraction-curl.webp</image:loc>
      <image:title>Guia avançado: extração de headers e JSON do Instagram com cURL</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/ai-monorepos-and-osint-google-dorking-linux-lab-troubleshooting.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/ai-monorepos-and-osint-google-dorking-linux-lab-troubleshooting.webp</image:loc>
      <image:title>Do monorepo de IA ao reconnaissance com Google dorking: troubleshooting real no lab Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/allowing-eml-attachments-exim-cpanel-with-domain-control.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/enabling-eml-send-receive-exim-cpanel.webp</image:loc>
      <image:title>Como liberar anexos .eml no Exim + cPanel/CloudLinux sem perder o controle por domínio</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/anatomy-email-account-takeover-spam-block-reputation-recovery.html</loc>
    <lastmod>2026-09-03</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/anatomy-email-account-takeover-spam-block-reputation-recovery.webp</image:loc>
      <image:title>Anatomia de um sequestro de e-mail: do bloqueio por spam à recuperação da reputação</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/anatomy-of-a-phantom-email-filesystem-and-dovecot-imap-desynchronization.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/phantom-email-dovecot-maildir-desync-fix.webp</image:loc>
      <image:title>Quando o filesystem e o daemon entram em desincronia</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/anatomy-of-a-phantom-subsystem-debugging-cpanel-v134-metadata.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/anatomia-de-um-subsistema-fantasma-debugging-cpanel-metadata.webp</image:loc>
      <image:title>O mistério dos bancos de dados invisíveis</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/anatomy-of-a-zombie-email-iso-8859-1-rfc-violations-deliverability.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/anatomy-of-a-zombie-email-iso-8859-1-rfc-violations-deliverability.webp</image:loc>
      <image:title>Anatomia de um e-mail zumbi: quando o ISO-8859-1 e as violações de RFC destroem a entregabilidade</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/anatomy-of-root-authentication-in-openssh-a-technical-deep-dive.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/anatomia-da-autenticacao-root-no-openssh-um-deep-dive-tecnico.webp</image:loc>
      <image:title>O guardião do UID 0</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/auditoria-tecnica-wordpress-xml-rpc-rest-api-cves.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/wordpress-technical-audit-xmlrpc-rest-api-cves.webp</image:loc>
      <image:title>Auditoria técnica em WordPress: XML-RPC, REST API e CVEs com automação Bash e hardening orientado a evidência</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/auto-zoom-follow-mouse-obs-studio-linux-mint.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/auto-zoom-follow-mouse-obs-studio-linux-mint.webp</image:loc>
      <image:title>Como fazer gravação de tela com auto-zoom e cursor suave no Linux (OBS, Mint e CachyOS)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/automating-plesk-cli-access-scope-error-elegant-fix.html</loc>
    <lastmod>2026-09-12</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/automating-plesk-cli-access-scope-error-elegant-fix.webp</image:loc>
      <image:title>Automatizando acesso ao Plesk via CLI: escopo Bash, token e função resiliente</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/automation-engineering-demystifying-opencode-cli-byok-topologies-and-llm-cost-bypass-with-ollama.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/automation-engineering-demystifying-opencode-cli-byok-topologies-and-llm-cost-bypass-with-ollama.webp</image:loc>
      <image:title>Auditando o bypass de custos em automação CLI: analisando o OpenCode</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/autopsy-global-timeout-debugging-io-mysql-apache-cpanel.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/autopsy-global-timeout-debugging-io-mysql-apache-cpanel.webp</image:loc>
      <image:title>Autópsia de um timeout global: debugando gargalos de i/o, MySQL e Apache no cPanel</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/batch-ssh-to-ui-automation-ansible-semaphore-multi-vps.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/batch-ssh-to-ui-automation-ansible-semaphore-multi-vps.webp</image:loc>
      <image:title>Do SSH em lote à automação com UI: gerenciando múltiplas VPS com Ansible Semaphore</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/battery-optimization-broken-display-manager-cachyos-hybrid-gpu-fix.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/battery-optimization-broken-display-manager-cachyos-hybrid-gpu-fix.webp</image:loc>
      <image:title>Quando a otimização de bateria quebra o display manager: recuperando tela preta no CachyOS com GPU híbrida</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/behind-smtp-analyzing-real-world-spam-headers-email-reputation.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/behind-smtp-analyzing-real-world-spam-headers-email-reputation.webp</image:loc>
      <image:title>Por trás do SMTP: como analisei um incidente real de spam, headers e reputação de e-mail</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/best-linux-control-panels-cpanel-directadmin-cyberpanel-cloudpanel.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/best-linux-control-panels-cpanel-directadmin-cyberpanel-cloudpanel.webp</image:loc>
      <image:title>Melhores painéis de controle Linux: cPanel, DirectAdmin, CyberPanel ou CloudPanel?</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/beyond-spf-dkim-decoding-gmail-blocks-dmarc-importance.html</loc>
    <lastmod>2026-06-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/beyond-spf-dkim-decoding-gmail-blocks-dmarc-importance.webp</image:loc>
      <image:title>Além do SPF e DKIM: decifrando bloqueios do Gmail e a importância do DMARC</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/bin-bash-or-usr-bin-env-bash-definitive-guide-scripts.html</loc>
    <lastmod>2026-09-12</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/bin-bash-or-usr-bin-env-bash-definitive-guide-scripts.webp</image:loc>
      <image:title>#!/bin/bash ou #!/usr/bin/env bash? O Como seus Scripts</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/bind9-whmcs-troubleshooting-dns-syntax-high-performance-cron-enom-integration.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/bind9-whmcs-troubleshooting-dns-syntax-high-performance-cron-enom-integration.webp</image:loc>
      <image:title>Troubleshooting BIND9 + WHMCS: sintaxe DNS, cron de alta performance e integração eNom</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/building-bug-bounty-recon-pipeline-cachyos-arch-linux.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/building-bug-bounty-recon-pipeline-cachyos-arch-linux.webp</image:loc>
      <image:title>Do setup ao recon: como estruturei meu pipeline de bug bounty no CachyOS (Arch Linux)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/bun-nodejs-pm2-production-architecture-tradeoffs.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/bun-nodejs-pm2-production-architecture-tradeoffs.webp</image:loc>
      <image:title>Bun, Node.js e PM2 em produção: quando usar, quando evitar e trade-offs arquiteturais</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cachyos-kernel-panic-limine-bootloader-regression-troubleshooting.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/cachyos-kernel-panic-limine-bootloader-regression-troubleshooting.webp</image:loc>
      <image:title>Sobrevivendo ao kernel panic: diagnosticando e contornando regressões no boot do CachyOS com Limine</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cannot-refresh-cache-whilst-offline-linux-cpanel.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/cannot-refresh-cache-whilst-offline-linux-cpanel.webp</image:loc>
      <image:title>Como resolver o erro &apos;cannot refresh cache whilst offline&apos; no Linux e cPanel</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/changing-default-ssh-port-linux-server.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/changing-default-ssh-port-linux-server.webp</image:loc>
      <image:title>Como alterar a porta do SSH no Linux de forma segura</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/changing-dns-zone-transfer-interval-hestiacp.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/changing-dns-zone-transfer-interval-hestiacp.webp</image:loc>
      <image:title>Como alterar o tempo de transferência de zonas DNS no HestiaCP</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/checklist-seguranca-hardening-wordpress-99-passos.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/wordpress-security-hardening-checklist-99-measures.webp</image:loc>
      <image:title>Checklist definitivo de segurança e hardening para WordPress: 99 medidas técnicas em 11 áreas críticas</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/choosing-wordpress-plugins-without-breaking-production-site.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/choosing-wordpress-plugins-without-breaking-production.webp</image:loc>
      <image:title>Como escolher plugins WordPress sem quebrar o site: guia prático de um administrador de servidores</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cloud-sync-bypass-on-linux-offline-google-drive-without-rclone-using-freefilesync-gui.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/cloud-sync-bypass-on-linux-offline-google-drive-without-rclone-using-freefilesync-gui.webp</image:loc>
      <image:title>Migrando workflows &apos;air live drive&apos; para ambientes Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/communication-in-critical-operations-support-syntax.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/communication-in-critical-operations-support-syntax.webp</image:loc>
      <image:title>Comunicação em operações críticas: por que a sintaxe no suporte reflete o seu trabalho técnico</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/compiling-registro-br-lib-epp.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/compiling-registro-br-lib-epp.webp</image:loc>
      <image:title>Compilando a lib-EPP do Registro.br e Xerces-C no Linux: Toolchain C++, Dependências e Troubleshooting</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/context-engineering-solving-ai-agent-amnesia-with-skills-sh-and-steering-in-kiro-dev.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/context-engineering-solving-ai-agent-amnesia-with-skills-sh-and-steering-in-kiro-dev.webp</image:loc>
      <image:title>Engenharia de contexto: resolvendo a &quot;amnésia&quot; de agentes IA com skills.sh e steering no domain.com</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/convert-moodle-database-utf8mb4.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/moodle-charset-fix.webp</image:loc>
      <image:title>Como identifiquei e corrigi problemas de charset e collation no moodle (passo a passo)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cpanel-calendar-forensics-why-internal-caldav-and-ical-invites-disappear.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/cpanel-calendar-forensics-why-internal-caldav-and-ical-invites-disappear.webp</image:loc>
      <image:title>Convite de calendário entregue para fora, sumido para dentro</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cpanel-cli-forensics-why-whmapi1-fails-for-modsecurity-and-how-to-use-uapi-correctly-per-domain.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/modsecurity-disable-domain-cpanel-uapi-whmapi1-cli.webp</image:loc>
      <image:title>ModSecurity bloqueando aplicação legítima (HTTP 403)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cpanel-disk-space-management-automate-email-cleanup-dovecot-queries.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/cpanel-disk-space-management-automate-email-cleanup-dovecot-queries.webp</image:loc>
      <image:title>Gerenciamento de espaço em disco no cPanel: como automatizar a limpeza de e-mails com queries do Dovecot</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cpanel-dovecot-doveadm-exit-code-68-definitive-fix.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/cpanel-dovecot-doveadm-exit-code-68-definitive-fix.webp</image:loc>
      <image:title>cPanel + Dovecot: erro `doveadm exit code 68` - diagnóstico e correção definitiva</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cpanel-lock-file-stalls-domain-dns-add-failures-troubleshooting.html</loc>
    <lastmod>2026-09-05</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/cpanel-lock-file-stalls-domain-dns-add-failures-troubleshooting.webp</image:loc>
      <image:title>Troubleshoot cPanel: resolvendo travas no `.lock` e falhas na adição de domínios</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cpanel-mysql-infinite-error-loop-new-accounts-skip-name-resolve.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/cpanel-mysql-infinite-error-loop-new-accounts-skip-name-resolve.webp</image:loc>
      <image:title>Como resolver o erro er_password_no_match e loops de MySQL no cPanel</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cpanel-production-url-mapping-critical-logs-upload-vectors.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/cpanel-production-url-mapping-critical-logs-upload-vectors.webp</image:loc>
      <image:title>cPanel em produção: mapeamento de URLs, logs críticos e vetores de upload</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cpanel-security-imunify360-csf-lfd-wordfence-in-production.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/cpanel-security-imunify360-csf-lfd-wordfence-in-production.webp</image:loc>
      <image:title>Segurança no cPanel em produção: Imunify360, CSF/LFD e wordfence CLI</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cpanel-systemd-docker-cgroups-v1-v2-persistent-volumes.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/cpanel-systemd-docker-cgroups-v1-v2-persistent-volumes.webp</image:loc>
      <image:title>A odisseia de rodar cPanel e systemd no Docker: de conflitos de Cgroups v1/v2 ao trap dos volumes persistentes</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/cpanel-webmail-request-timeout-roundcube-sqlite-lock-contention.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/cpanel-webmail-request-timeout-roundcube-sqlite-lock-contention.webp</image:loc>
      <image:title>Diagnóstico profundo de request timeout no cPanel webmail com Roundcube, cpsrvd e SQLite</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/crisis-management-hardening-linux-incident-response-anatomy.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/crisis-management-hardening-linux-incident-response-anatomy.webp</image:loc>
      <image:title>Gestão de crise e hardening: anatomia de uma resposta a incidente em ambiente Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/d4-network-tls13-ssh-hardening-forensics.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/d4-network-tls13-ssh-hardening-forensics.webp</image:loc>
      <image:title>Análise forense: operações D4 - criptografia de fio com TLS 1.3 e cirurgia de SSH</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/dangers-of-business-email-compromise-bec.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/dangers-of-business-email-compromise-bec.webp</image:loc>
      <image:title>Os perigos do business email compromise (BEC)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/ddc-how-to-detect-invisible-compiler-attacks.html</loc>
    <lastmod>2026-09-03</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/ddc-how-to-detect-invisible-compiler-attacks.webp</image:loc>
      <image:title>DDC: como detectar ataques invisíveis em compiladores</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/debugging-access-denied-imunify360-bot-protection.html</loc>
    <lastmod>2026-09-19</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/debugging-access-denied-imunify360-bot-protection.webp</image:loc>
      <image:title>Debugging: resolvendo o bloqueio &quot;access denied by Imunify360 bot protection&quot; em fluxos de automação</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/debugging-cpanel-ftp-logs-statistics-not-updating.html</loc>
    <lastmod>2026-09-12</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/debugging-cpanel-ftp-logs-statistics-not-updating.webp</image:loc>
      <image:title>Depurando logs de FTP no cPanel quando as estatísticas não atualizam</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/debugging-exit-code-126-kernel-vfs-posix-spawn-bun.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/debugging-exit-code-126-kernel-vfs-posix-spawn-bun.webp</image:loc>
      <image:title>Debugging de baixo nível: entendendo exit code 126, kernel VFS e falhas de posix_spawn no Bun</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/debugging-gcp-project-auth-external-tools-allowlist.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/debugging-gcp-project-auth-external-tools-allowlist.webp</image:loc>
      <image:title>Debugging de autenticação GCP em ferramentas externas: do erro de API ao veredito de allowlist</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/debugging-httpx-projectdiscovery-binary-conflicts-go-modules-path.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/debugging-httpx-projectdiscovery-binary-conflicts-go-modules-path.webp</image:loc>
      <image:title>Debugando o httpx no stack ProjectDiscovery conflitos de binário go modules e PATH</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/debugging-nginx-opendir-failed-permission-denied-cache.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/debugging-nginx-opendir-failed-permission-denied-cache.webp</image:loc>
      <image:title>Como resolver o erro &apos;opendir() failed (13: permission denied)&apos; no Nginx proxy cache</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/debugging-nginx-varnish-php-fpm-cloudpanel-no-input-file-specified.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/debugging-nginx-varnish-php-fpm-cloudpanel-no-input-file-specified.webp</image:loc>
      <image:title>Debugging Nginx, Varnish e PHP-FPM no CloudPanel: a anatomia do no input file specified e operation not permitted</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/debugging-no-ls-client-available-routing-key.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/debugging-no-ls-client-available-routing-key.webp</image:loc>
      <image:title>Como diagnosticar o erro &apos;no LS client available for routing key&apos; no Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/debugging-python-malware-scanner-yara-virustotal.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/debugging-python-malware-scanner-yara-virustotal.webp</image:loc>
      <image:title>Diário de debug como consertei e testei um scanner de malware em Python com YARA e VirusTotal</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/debugging-thumbnail-subsystem-linux-mint-nemo-gio.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/debugging-thumbnail-subsystem-linux-mint-nemo-gio.webp</image:loc>
      <image:title>Debugando o subsistema de miniaturas no Linux Mint: guia prático para Nemo, GIO e arquivos .psd</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/decoding-550-error-email-forwarding-srs-postfix.html</loc>
    <lastmod>2026-09-12</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/decoding-550-error-email-forwarding-srs-postfix.webp</image:loc>
      <image:title>Desvendando o erro 550 no encaminhamento de e-mails: SRS, Postfix e o falso positivo de destino</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/demystifying-coolify-self-hosted-paas-architecture-reverse-proxy-conflicts.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/demystifying-coolify-self-hosted-paas-architecture-reverse-proxy-conflicts.webp</image:loc>
      <image:title>Desmistificando o coolify: arquitetura paas self-hosted, conflitos de reverse proxy e gestão de containers</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/demystifying-dovecot-thunderbird-migration-definitive-guide.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/demystifying-dovecot-thunderbird-migration-definitive-guide.webp</image:loc>
      <image:title>Desmistificando a migração Dovecot para thunderbird: o guia definitivo</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/developing-chrome-extensions-instagram-linkedin-internal-apis-manifest-v3-store-approval.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/developing-chrome-extensions-instagram-linkedin-internal-apis-manifest-v3-store-approval.webp</image:loc>
      <image:title>Desenvolvendo extensões chrome para Instagram e linkedin: APIs internas, manifest V3 e aprovação na loja</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/diagnose-fix-email-delivery-failures-after-dns-changes-exim-bind.html</loc>
    <lastmod>2026-09-12</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/diagnose-fix-email-delivery-failures-after-dns-changes-exim-bind.webp</image:loc>
      <image:title>Como diagnosticar e resolver falhas de entrega de e-mail após alterações de DNS (Exim e BIND)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/diagnosing-receiveackhdr-timeout-300-mod-lsapi-cloudlinux.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/diagnosing-receiveackhdr-timeout-300-mod-lsapi-cloudlinux.webp</image:loc>
      <image:title>Diagnosticando o erro &quot;receiveackhdr: timeout 300 is exceeded&quot; no mod_lsapi (CloudLinux)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/directadmin-cli-database-automation-challenges-solutions.html</loc>
    <lastmod>2026-09-05</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/directadmin-cli-database-automation-challenges-solutions.webp</image:loc>
      <image:title>Automação de banco de dados via CLI no DirectAdmin: desafios e soluções</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/directadmin-recreate-dns-zones-cli-guide.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/directadmin-recreate-dns-zones-cli-guide.webp</image:loc>
      <image:title>DirectAdmin: como recriar zonas DNS via CLI (o guia de sobrevivência)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/discovered-but-not-indexed-what-to-do-when-google-leaves-you-waiting.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/google-search-console-discovered-not-indexed-troubleshooting.webp</image:loc>
      <image:title>Detectada, mas não indexada&quot;: o que fazer quando o Google te deixa no &quot;vácuo&quot;?</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/dissecting-apt-subsystem-deb822-duplications-multiarch-conflicts.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/dissecting-apt-subsystem-deb822-duplications-multiarch-conflicts.webp</image:loc>
      <image:title>Dissecando o subsistema do APT: duplicidade no deb822, falhas de idempotência e multiarch</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/dns-troubleshooting-layer3-zone-loaded-internet-unreachable.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/dns-troubleshooting-layer3-zone-loaded-internet-unreachable.webp</image:loc>
      <image:title>Debugging de DNS em camada de rede: quando o daemon carrega a zona, mas a internet não responde</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/docker-compose-non-string-key-at-top-level-fix.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/docker-compose-non-string-key-at-top-level-fix.webp</image:loc>
      <image:title>Docker compose: desvendando a causa e solução do erro `non-string key at top level`</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/docker-persistence-prisma-bun-errors-solutions-guide.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/docker-persistence-prisma-bun-errors-solutions-guide.webp</image:loc>
      <image:title>Do Docker à produção: resolvendo a persistência e erros de runtime no &quot;pé no barro</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/does-cloudpanel-support-plugins-architecture-and-extensibility.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/does-cloudpanel-support-plugins-architecture-and-extensibility.webp</image:loc>
      <image:title>CloudPanel tem plugins? Entenda a arquitetura de extensibilidade do painel</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/edge-troubleshooting-cnames-dns-resolution-and-false-positive-404-errors.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/edge-troubleshooting-cnames-dns-resolution-and-false-positive-404-errors.webp</image:loc>
      <image:title>Troubleshooting de borda: cnames, resolução DNS e falsos positivos de erro 404</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/elixir-phoenix-nextjs-pnpm-monorepo.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/elixir-phoenix-pnpm-monorepo-integration.webp</image:loc>
      <image:title>Como integrar elixir phoenix e next.js no mesmo monorepo com PNPM</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/enabling-new-servers-dns-cluster-hestiacp.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/enabling-new-servers-dns-cluster-hestiacp.webp</image:loc>
      <image:title>Como liberar novos servidores no cluster de DNS do HestiaCP</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/enabling-phpmyadmin-by-hestiacp-server-ip.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/enabling-phpmyadmin-by-hestiacp-server-ip.webp</image:loc>
      <image:title>Habilitando phpMyAdmin por IP no HestiaCP com controle de risco e hardening</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/exchange-forensics-diagnosing-outlook-drops-behind-nat-with-maxconnectionsfromsingleip-and-throttling-policies.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/exchange-forensics-diagnosing-outlook-drops-behind-nat-with-maxconnectionsfromsingleip-and-throttling-policies.webp</image:loc>
      <image:title>Quedas misteriosas do Outlook em rede corporativa</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/exim-cpanel-forwarding-backscatter-spfbl-reputation.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/exim-cpanel-forwarding-backscatter-spfbl-reputation.webp</image:loc>
      <image:title>A Armadilha do Forwarding e Loops de Backscatter no Exim: Como Evitar Bloqueios no SPFBL e UCEPROTECT-L3</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/exim-mta-queue-management-cleanup.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/exim-mta-queue-management-cleanup.webp</image:loc>
      <image:title>Gerenciamento e limpeza de fila no Exim (MTA) com abordagem forense e segura</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/extracting-7z-archives-linux-cli-low-level-troubleshooting.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/extracting-7z-archives-linux-cli-low-level-troubleshooting.webp</image:loc>
      <image:title>Descompactação de arquivos .7z no Linux via CLI: do básico ao troubleshooting de baixo nível</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/fast-javascript-security-triage-with-grep.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/fast-javascript-security-triage-with-grep.webp</image:loc>
      <image:title>Caça a bugs pé no barro: usando o grep para triagem rápida de segurança em javascript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/fixing-cockpit-root-access-debian-12-pam-shadow-polkit.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/fixing-cockpit-root-access-debian-12-pam-shadow-polkit.webp</image:loc>
      <image:title>Anatomia de um bloqueio de acesso: por que o cockpit rejeita o root no Debian 12 e como resolver</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/fixing-cr-command-not-found-bash-scripts.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/fixing-cr-command-not-found-bash-scripts.webp</image:loc>
      <image:title>Corrigindo o erro $&apos;\r&apos;: command not found em scripts Bash com diagnóstico forense e prevenção no pipeline</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/fixing-critical-roundcube-webmail-slowness.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/fixing-critical-roundcube-webmail-slowness.webp</image:loc>
      <image:title>Resolvendo lentidão crítica no Roundcube webmail</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/fixing-email-quota-conflicts-smtputf8-errors.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/fixing-email-quota-conflicts-smtputf8-errors.webp</image:loc>
      <image:title>Resolvendo conflitos de quota de e-mail e erros de SMTPUTF8 em ambiente Exim/Dovecot</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/fixing-exim-spamassassin-config-conflicts-ipv4-ipv6.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/fixing-exim-spamassassin-config-conflicts-ipv4-ipv6.webp</image:loc>
      <image:title>Resolvendo conflitos de configuração no Exim e SpamAssassin (ipv4 vs ipv6)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/fixing-phantom-ips-after-manual-dns-zone-edits-in-cpanel.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/fixing-phantom-ips-after-manual-dns-zone-edits-in-cpanel.webp</image:loc>
      <image:title>Resolvendo o &quot;IP fantasma&quot; após editar zonas DNS manualmente no cPanel</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/fixing-the-generic-ssl-error-in-directadmin-the-caa-record-and-lets-encrypt-mystery.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/fixing-the-generic-ssl-error-in-directadmin-the-caa-record-and-lets-encrypt-mystery.webp</image:loc>
      <image:title>Guia Definitivo de Troubleshooting de Let&apos;s Encrypt e SSL no DirectAdmin (CLI, CAA e Subdomínio WWW)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/fixing-the-intermittent-auth-command-used-when-not-advertised-error-in-exim-on-cpanel.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/fixing-the-intermittent-auth-command-used-when-not-advertised-error-in-exim-on-cpanel.webp</image:loc>
      <image:title>Resolvendo o erro intermitente: AUTH command used when not advertised no Exim (cPanel)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/friendly-urls-htaccess-definitive-guide-whois-case.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/friendly-urls-htaccess-definitive-guide-whois-case.webp</image:loc>
      <image:title>URLs amigáveis com .htaccess: guia definitivo com caso real de ferramenta WHOIS</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/from-chaos-to-order-solving-nextjs16-turbopack-logs.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/from-chaos-to-order-solving-nextjs16-turbopack-logs.webp</image:loc>
      <image:title>Next.js 16 + turbopack com Bun: conflitos, warnings e correções em produção</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/from-diagnosis-to-defense-linux-server-hardening-with-lynis.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/from-diagnosis-to-defense-linux-server-hardening-with-lynis.webp</image:loc>
      <image:title>Do diagnóstico à defesa: hardening de servidores Linux com lynis</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/from-dotenv-scans-to-kernel-drops-cloudpanel-nginx-crowdsec-nftables.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/from-dotenv-scans-to-kernel-drops-cloudpanel-nginx-crowdsec-nftables.webp</image:loc>
      <image:title>Do scan de .env ao bloqueio no kernel: minha jornada com CloudPanel, Nginx e CrowdSec</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/from-module-errors-to-bun-only-real-prisma-troubleshooting-linux.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/from-module-errors-to-bun-only-real-prisma-troubleshooting-linux.webp</image:loc>
      <image:title>Do erro de módulo ao Bun-only: o guia real de troubleshooting do prisma no Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/from-zero-to-vscode-how-i-tamed-cpanel-in-docker-realtime-dev-environment.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/mastering-cpanel-docker-realtime-vscode-dev-environment.webp</image:loc>
      <image:title>Do zero ao VS code como domei o cPanel no Docker e criei um ambiente dev em tempo real</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/ghost-clink-cmd-windows10-forensic-diagnosis-removal.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/ghost-clink-cmd-windows10-forensic-diagnosis-removal.webp</image:loc>
      <image:title>Clink fantasma no CMD: diagnóstico forense e remoção definitiva no Windows 10</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/gmail-rejecting-directadmin-system-emails-spf-dkim.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-i-fixed-system-email-blocking-spf-dkim-directadmin.webp</image:loc>
      <image:title>Gmail rejeitando e-mails do DirectAdmin: como autenticar o hostname com SPF e DKIM</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/google-oauth2-cloud-console-setup-client-id-secret-nextauth.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/identity-engineering-configuring-google-oauth-2-0-in-cloud-console-for-next-js.webp</image:loc>
      <image:title>Configuração de identidade antes do código</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/grub-efi-boot-entries-cleanup-dual-boot-efibootmgr.html</loc>
    <lastmod>2026-09-19</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/boot-forensics-auditing-nvram-efi-partitions-and-cleaning-phantom-grub-entries-in-dual-boot-environments.webp</image:loc>
      <image:title>Menu GRUB poluído por sistemas desinstalados</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/hestiacp-api-provisioning-automation.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/hestiacp-api-provisioning-automation.webp</image:loc>
      <image:title>Guia Definitivo da API do HestiaCP: Automação em Bash, Integração em PHP e Troubleshooting em Produção</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/hestiacp-hardening-troubleshooting-open-basedir-flysystem-nginx-ssl.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/hestiacp-hardening-troubleshooting-open-basedir-flysystem-nginx-ssl.webp</image:loc>
      <image:title>Hardening e troubleshooting em HestiaCP: guia prático de sobrevivência</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/hestiacp-ioncube-wsl-corrupted-files-504-timeout.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/hestiacp-ioncube-wsl-corrupted-files-504-timeout.webp</image:loc>
      <image:title>HestiaCP + IonCube: Instalação por Versão PHP, Correção de Arquivo Corrompido e Timeout 504</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/high-complexity-migration-preparing-invision-community5-large-scale.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/high-complexity-migration-preparing-invision-community5-large-scale.webp</image:loc>
      <image:title>Migração de alta complexidade: preparando o invision community 5 em ambientes de grande escala</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-a-select-count-query-in-livezilla-crashed-mysql-max-connections.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-a-select-count-query-in-livezilla-crashed-mysql-max-connections.webp</image:loc>
      <image:title>Como um SELECT COUNT(*) no LiveZilla derrubou o MySQL por max_connections (e como mitiguei)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-i-fixed-whmcs-storageexception-email-ticket-attachments.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-i-fixed-whmcs-storageexception-email-ticket-attachments.webp</image:loc>
      <image:title>Como resolvi o `storageexception` no WHMCS (`email_template_attachments` e `ticket_attachments`)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-to-change-wordpress-url.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-to-change-wordpress-url.webp</image:loc>
      <image:title>Como alterar a URL do WordPress com segurança operacional (WP-CLI, SQL e wp-config)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-to-configure-domain-blocking-bind.html</loc>
    <lastmod>2026-06-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-to-configure-domain-blocking-bind.webp</image:loc>
      <image:title>Como configurar bloqueio de domínios no BIND</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-to-create-oauth-client-id-google-drive.html</loc>
    <lastmod>2026-09-19</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-to-create-oauth-client-id-google-drive.webp</image:loc>
      <image:title>Como criar OAuth Client ID e Client Secret no Google Cloud para Google Drive</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-to-edit-hosts-file-windows-without-permission-errors.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-to-edit-hosts-file-windows-without-permission-errors.webp</image:loc>
      <image:title>Como editar o arquivo hosts no Windows sem erro de permissão</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-to-fix-mkdir-permission-denied-phpmyadmin.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-to-fix-mkdir-permission-denied-phpmyadmin.webp</image:loc>
      <image:title>Como resolver erro mkdir permission denied no phpMyAdmin com diagnóstico de owner e open_basedir</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-to-fix-spf-hard-fail-with-spamexperts-directadmin-cpanel.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-to-fix-spf-hard-fail-with-spamexperts-directadmin-cpanel.webp</image:loc>
      <image:title>Diário de infra: domando gateways antispam, falhas de SPF e filtros em Bash</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-to-install-and-use-who-follows-me.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-to-install-and-use-who-follows-me.webp</image:loc>
      <image:title>Como instalar e usar o who follows me</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-to-integrate-indexnow-instant-search-engine-indexing.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-to-integrate-indexnow-instant-search-engine-indexing.webp</image:loc>
      <image:title>Como integrar o IndexNow: indexação instantânea para sites, SaaS e APIs</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-to-restart-xfce4-desktop-without-logging-out-or-rebooting.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-to-restart-xfce4-desktop-without-logging-out-or-rebooting.webp</image:loc>
      <image:title>Como reiniciar a interface do XFCE4 sem encerrar a sessão ou rebootar</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-to-switch-ftp-service-hestiacp-vsftpd-proftpd.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-to-switch-ftp-service-hestiacp-vsftpd-proftpd.webp</image:loc>
      <image:title>Como alternar o serviço de FTP no HestiaCP: VSFTPD vs proftpd</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/how-to-unify-sent-folders-roundcube-outlook.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/how-to-unify-sent-folders-roundcube-outlook.webp</image:loc>
      <image:title>Como unificar sent/enviados entre Roundcube e Outlook sem perder histórico IMAP</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/hybrid-mei-tax-id-architecture-saas-marketplace-delivery-and-physical-products-under-stripe-compliance.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/hybrid-mei-tax-id-architecture-saas-marketplace-delivery-and-physical-products-under-stripe-compliance.webp</image:loc>
      <image:title>Operação híbrida com CNPJ único</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/i-o-debugging-when-an-nfs-backup-freezes-load-average-in-d-state.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/nfs-backup-mount-io-hang-load-average-fix.webp</image:loc>
      <image:title>&quot;D-state&quot; e load average fantasma</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/inconsistent-colors-why-same-hex-changes-chrome-firefox.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/inconsistent-colors-why-same-hex-changes-chrome-firefox.webp</image:loc>
      <image:title>Mistério das cores inconsistentes: por que o mesmo HEX muda entre chrome e firefox</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/increasing-mysql-timeout-hestiacp.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/increasing-mysql-timeout-hestiacp.webp</image:loc>
      <image:title>Como aumentar o timeout do MySQL no HestiaCP</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/infra-diary-frontend-to-dns-nextjs-performance-bash-automation.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/infra-diary-frontend-to-dns-nextjs-performance-bash-automation.webp</image:loc>
      <image:title>Diário de bordo: do frontend ao DNS - resolvendo b.o.s de next.js, performance e automação no Bash</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/installing-wazuh-docker-single-node-cloud-agents.html</loc>
    <lastmod>2026-09-19</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/installing-wazuh-docker-single-node-cloud-agents.webp</image:loc>
      <image:title>Wazuh Docker (single node): instalação, certificados e troubleshooting definitivo</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/interaction-engineering-solving-z-fighting-and-edge-bleed-in-a-web-based-3d-onboarding.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/interaction-engineering-solving-z-fighting-and-edge-bleed-in-a-web-based-3d-onboarding.webp</image:loc>
      <image:title>Do esboço ao espaço: solucionando gargalos em onboardings 3D imersivos</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/introduction-rdap-registro-br-whois-successor.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/introduction-rdap-registro-br-whois-successor.webp</image:loc>
      <image:title>Introdução ao RDAP na registro.br: o substituto do WHOIS</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/investigating-hostile-ip-bgp-tracing-anonymous-cloud-vps.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/investigating-hostile-ip-bgp-tracing-anonymous-cloud-vps.webp</image:loc>
      <image:title>Investigando um IP hostil: rastreamento, anonimato em provedores cloud e resposta a phishing</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/investigating-linux-network-connections-netstat-to-ss-lsof.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/investigating-linux-network-connections-netstat-to-ss-lsof.webp</image:loc>
      <image:title>Investigando conexões no Linux: por que abandonei o netstat e fui para o ss e lsof no nível de kernel</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/ip-blocked-server-identify-email-account-causing-whm-cpanel.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/ip-blocked-server-identify-email-account-causing-whm-cpanel.webp</image:loc>
      <image:title>IP bloqueado no servidor? Como identificar a conta de e-mail causadora via WHM e cPanel</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/isolated-technical-documentation-portal-in-a-next-js-saas-nextra-prisma-and-auth-middleware-without-database-pollution.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/nextjs-saas-technical-docs-nextra-prisma-middleware-auth.webp</image:loc>
      <image:title>Portal de documentação técnica isolado em SaaS next.js: nextra, prisma e auth middleware sem poluição de banco</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/killing-cascading-process-trees-in-linux-with-pkill.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/killing-cascading-process-trees-in-linux-with-pkill.webp</image:loc>
      <image:title>Como matar processos complexos em cascata no Linux com pkill sem deixar filhos orfãos</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/kvm-virtualization-cloudlinux-practical-implementation-guide.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/kvm-virtualization-cloudlinux-practical-implementation-guide.webp</image:loc>
      <image:title>Virtualização com KVM no CloudLinux: erros, ajustes e implementação prática</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/legacy-hardware-survival-migrating-from-pnpm-and-node-js-to-bun-and-turbopack-in-next-js-16-on-a-4th-gen-i5-machine.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/legacy-hardware-survival-migrating-from-pnpm-and-node-js-to-bun-and-turbopack-in-next-js-16-on-a-4th-gen-i5-machine.webp</image:loc>
      <image:title>Stack bleeding-edge em hardware legado</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/legacy-migration-mysql57-mariadb10-modsecurity-strict-mode.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/legacy-migration-mysql57-mariadb10-modsecurity-strict-mode.webp</image:loc>
      <image:title>O guia mestre de migração legada: do efeito dominó à incompatibilidade de arquitetura</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/lightweight-web-mascot-animation-rive-lottie-ai-video-webm.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/lightweight-web-mascot-animation-rive-lottie-ai-video-webm.webp</image:loc>
      <image:title>De rive e lottie a vídeos com IA: como escolhi a melhor stack de animação web sem pesar a CPU</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/lin-triage-bash-script-forensic-triage-linux-incidents.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/lin-triage-cover.webp</image:loc>
      <image:title>Lintriage: script Bash para triagem forense e resposta a incidentes em Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/linux-bluetooth-troubleshooting-from-kernel-to-userspace.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/troubleshooting-bluetooth-no-linux-do-kernel-ao-userspace.webp</image:loc>
      <image:title>Anatomia de um subsistema fantasma: debugging bluetooth no Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/linux-gaming-performance-and-ssd-upgrade-asus-tuf-f16.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/linux-gaming-performance-and-ssd-upgrade-asus-tuf-f16.webp</image:loc>
      <image:title>Da performance ao upgrade: rodando jogos modernos no Linux e escolhendo o SSD certo para o ASUS TUF F16</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/linux-mint-wifi-survival-guide-driver-event-loops.html</loc>
    <lastmod>2026-09-19</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/linux-mint-wifi-survival-guide-driver-event-loops.webp</image:loc>
      <image:title>Guia de sobrevivência wi-fi no Linux Mint: do power save ao loop de eventos de driver</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/linux-troubleshooting-command-not-found-path-sudo-su-environment.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/linux-troubleshooting-command-not-found-path-sudo-su-environment.webp</image:loc>
      <image:title>Troubleshooting no Linux: o dia em que o &apos;command not found&apos; me fez revisar o $PATH e o sudo su</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/local-computer-vision-ollama-screenshot-data-extraction-8gb-gpu.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/local-computer-vision-ollama-screenshot-data-extraction-8gb-gpu.webp</image:loc>
      <image:title>Visão computacional local com Ollama: extraindo dados de prints inteiros em uma GPU de 8GB</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/localhost-to-vps-modern-saas-development-workflow.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/localhost-to-vps-modern-saas-development-workflow.webp</image:loc>
      <image:title>Do localhost à VPS: por que parei de mexer direto no servidor e adotei o fluxo padrão de SaaS</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/low-level-debugging-cloudlinux-syscalls-lve-limits-unlimited-trap.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/low-level-debugging-cloudlinux-syscalls-lve-limits-unlimited-trap.webp</image:loc>
      <image:title>Debugging de baixo nível no CloudLinux: syscalls, LVE e o perigo dos limites ilimitados</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/lsm-selinux-netfilter-ubuntu-2404-oci.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/lsm-selinux-netfilter-ubuntu-2404-oci.webp</image:loc>
      <image:title>Do LSM ao netfilter na OCI: desmistificando selinux e liberando portas no Ubuntu minimal 24.04</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/manage-wordpress-terminal-wp-cli.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/wp-cli-mastering-wordpress-from-command-line.webp</image:loc>
      <image:title>Como gerenciar e atualizar múltiplos WordPress pelo terminal com WP-CLI</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/market-psychology-and-product-architecture-human-triggers-in-ux.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/market-psychology-and-product-architecture-human-triggers-in-ux.webp</image:loc>
      <image:title>Psicologia de mercado e arquitetura de produto: traduzindo gatilhos humanos em UX</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/mastering-cpguard-cli-fixing-firewall-is-disabled-error.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/mastering-cpguard-cli-fixing-firewall-is-disabled-error.webp</image:loc>
      <image:title>Dominando cpguard CLI: diagnóstico real do erro &quot;firewall is disabled</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/mastering-dns-templates-hestiacp.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/mastering-dns-templates-hestiacp.webp</image:loc>
      <image:title>Como criar e configurar templates de DNS no HestiaCP</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/mastering-html-output-tag-accessibility.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/mastering-html-output-tag-accessibility.webp</image:loc>
      <image:title>O segredo esquecido do HTML: dominando a tag &lt;output&gt; para acessibilidade</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/mastering-layout-why-inline-flex-button-does-not-center-text.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/mastering-layout-why-inline-flex-button-does-not-center-text.webp</image:loc>
      <image:title>Dominando layout: por que botão inline-flex não centraliza e como corrigir sem regressão</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/mastering-the-8-domains-of-cybersecurity-cissp-study-guide.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/mastering-the-8-domains-of-cybersecurity-the-definitive-cissp-guide.webp</image:loc>
      <image:title>Dominando os 8 domínios da cibersegurança: o guia definitivo do CISSP</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/migrating-cpanel-directadmin-generate-backups-cli.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/migrating-cpanel-directadmin-generate-backups-cli.webp</image:loc>
      <image:title>Migrando do cPanel para DirectAdmin: como gerar backups via CLI</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/migrating-distrobox-containers-local-to-cloud-ovh-latency.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/migrating-distrobox-containers-local-to-cloud-ovh-latency.webp</image:loc>
      <image:title>Do local ao cloud: o guia de sobrevivência para migrar Distrobox e containers Podman</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/migrating-sites-with-all-in-one-wp-migration.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/migrating-sites-with-all-in-one-wp-migration.webp</image:loc>
      <image:title>Migrando sites com all-in-one WP migration sem quebrar URL, mídia e login</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/mystery-blocked-ip-firewall-clean-user-cannot-connect.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/mystery-blocked-ip-firewall-clean-user-cannot-connect.webp</image:loc>
      <image:title>O mistério do IP fantasma quando o CSF ignora whitelist, NAT e estado de conexão</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/mystery-deleted-files-tracking-removals-cpanel-ftp-php.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/mystery-deleted-files-tracking-removals-cpanel-ftp-php.webp</image:loc>
      <image:title>O mistério dos arquivos deletados: como rastrear remoções no cPanel, FTP e na camada PHP</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/mystery-missing-chats-antigravity-ide-resume-storage.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/mystery-missing-chats-antigravity-ide-resume-storage.webp</image:loc>
      <image:title>O mistério das conversas desaparecidas no antigravity IDE: do bug de interface ao sistema de arquivos</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/nginx-downloading-php-aapanel-address-already-in-use-orphan-sockets.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/nginx-downloading-php-aapanel-address-already-in-use-orphan-sockets.webp</image:loc>
      <image:title>Nginx baixando arquivos PHP no aaPanel? Como resolver &quot;address already in use&quot; e sockets órfãos</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/no-route-to-host-to-virtual-host-nginx-standalone-cloud-networking.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/no-route-to-host-to-virtual-host-nginx-standalone-cloud-networking.webp</image:loc>
      <image:title>Do &apos;no route to host&apos; ao virtual host: debugging de Nginx standalone e redes na nuvem</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/nodejs-to-bun-definitive-transition-performance-guide.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/nodejs-to-bun-definitive-transition-performance-guide.webp</image:loc>
      <image:title>Node.js para Bun: transição com benchmark real, compatibilidade e rollback</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/offensive-security-xss-sql-injection-zero-trust-nextjs.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/offensive-security-xss-sql-injection-zero-trust-nextjs.webp</image:loc>
      <image:title>Segurança ofensiva na prática: XSS, SQL injection e arquitetura de confiança zero em next.js</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/opening-ports-oracle-cloud-oci.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/opening-ports-oracle-cloud-oci-guide.webp</image:loc>
      <image:title>Por que abrir portas na Oracle cloud falha: security lists vs iptables do Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/optimizing-memory-swap-exhaustion-aapanel-linux.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/optimizing-memory-swap-exhaustion-aapanel-linux.webp</image:loc>
      <image:title>Otimizando memória e eliminando o esgotamento de SWAP em servidores Linux com aaPanel</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/passbolt-vs-vaultwarden-password-self-hosting-guide.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/passbolt-vs-vaultwarden-password-self-hosting-guide.webp</image:loc>
      <image:title>Guia definitivo passbolt: do Docker ao Podman, segurança e gestão remota no Rocky Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/php-curl-hardening-recon-error-to-mitigation.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/php-curl-hardening-recon-error-to-mitigation.webp</image:loc>
      <image:title>Hardening e recon em aplicações PHP com cURL: do erro à mitigação</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/php-fpm-route-inconsistency-troubleshooting-opcache-and-shared-memory.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/php-fpm-opcache-route-inconsistency-fix.webp</image:loc>
      <image:title>Inconsistência de rotas e persistência de cache</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/podman-to-docker-clean-environment-resolve-device-resource-busy-port-conflicts.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/podman-to-docker-clean-environment-resolve-device-resource-busy-port-conflicts.webp</image:loc>
      <image:title>Do Podman ao Docker: como limpei meu ambiente e resolvi conflitos de porta &quot;device or resource busy</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/postgresql-peer-authentication-failed-diagnosis-fix.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/postgresql-peer-authentication-failed-diagnosis-fix.webp</image:loc>
      <image:title>PostgreSQL: entendendo e resolvendo o erro &quot;peer authentication failed</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/postgresql-startup-failed-could-not-create-lock-file-var-run-postgresql.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/postgresql-startup-failed-could-not-create-lock-file-var-run-postgresql.webp</image:loc>
      <image:title>PostgreSQL não inicia: `could not create lock file &quot;/var/run/PostgreSQL/.s.pgsql.5432.lock&quot;</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/prisma-studio-linux-spawn-xdg-open-enoent-troubleshooting.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/prisma-studio-linux-spawn-xdg-open-enoent-troubleshooting.webp</image:loc>
      <image:title>Troubleshooting prisma studio no Linux: `spawn xdg-open ENOENT` - diagnóstico, correção e hardening de ambiente</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/processing-massive-pcap-files-tshark-editcap-zeek.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/processing-massive-pcap-files-tshark-editcap-zeek.webp</image:loc>
      <image:title>Lidando com PCAPs gigantes: do script lento ao processamento eficiente com Tshark, Editcap e Zeek</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/protect-hestiacp-servers-with-ipset-list.html</loc>
    <lastmod>2026-09-19</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/protect-hestiacp-servers-with-ipset-list.webp</image:loc>
      <image:title>Proteja servidores HestiaCP com lista de ipset</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/pure-ftpd-welcome-message-timeout-cpanel-ovh.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/pure-ftpd-welcome-message-timeout-cpanel-ovh.webp</image:loc>
      <image:title>Debugando pure-ftpd travado na mensagem de boas-vindas em cPanel/OVH</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/recovering-revoked-driver-devices-code-52-windows.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/recovering-revoked-driver-devices-code-52-windows.webp</image:loc>
      <image:title>Guia sênior: recuperando dispositivos com drivers revogados (code 52) no Windows</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/removing-stuck-winfsp-windows-msi-forced-removal.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/removing-stuck-winfsp-windows-msi-forced-removal.webp</image:loc>
      <image:title>Removendo winfsp travado no Windows: diagnóstico real, erro MSI e remoção forçada</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/replicating-wsl-development-experience-podman-distrobox-linux-mint.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/replicating-wsl-development-experience-podman-distrobox-linux-mint.webp</image:loc>
      <image:title>Migração arquitetural WSL: integrando Podman e Distrobox para um workflow enterprise bare-metal</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/resolving-e2big-connection-refused-debug-bun-nextjs-prisma.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/resolving-e2big-connection-refused-debug-bun-nextjs-prisma.webp</image:loc>
      <image:title>Resolvendo o erro E2BIG e conexões recusadas: uma jornada de debug no ecossistema Bun + next.js + prisma</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/reviving-old-asus-linux-mint-22-nvidia-kernel-blacklist.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/reviving-old-asus-linux-mint-22-nvidia-kernel-blacklist.webp</image:loc>
      <image:title>Tempestade perfeita em hardware legado</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/rocky-linux-8-kernel-broke-iptables-fix.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/rocky-linux-8-kernel-broke-iptables-fix.webp</image:loc>
      <image:title>O dia em que o kernel do Rocky Linux 8 &quot;quebrou&quot; meu iptables (e como resolvi)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/roundcube-cpanel-db-error-14-unable-open-database-file-fix.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/roundcube-cpanel-db-error-14-unable-open-database-file-fix.webp</image:loc>
      <image:title>Roundcube no cPanel quebrando com DB error [14] unable to open database file</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/roundcube-imap-directories-missing-dovecot-solution.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/roundcube-imap-directories-missing-dovecot-solution.webp</image:loc>
      <image:title>Quando os diretórios do IMAP somem: um relato de &quot;pé no barro&quot; no Roundcube</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/running-android-on-linux-with-waydroid-hybrid-gpu-arm-games.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/running-android-on-linux-with-waydroid-hybrid-gpu-arm-games.webp</image:loc>
      <image:title>Rodando Android no Linux com Waydroid em notebook híbrido: gráficos integrados e jogos ARM</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/running-diffusion-models-nvidia-rtx-5050-blackwell-arch-linux.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/running-diffusion-models-nvidia-rtx-5050-blackwell-arch-linux.webp</image:loc>
      <image:title>Do Docker ao bare-metal: a odisseia para rodar modelos de difusão na NVIDIA RTX série 50 (Blackwell) no Arch Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/running-fastpanel-aapanel-podman-rocky-linux-uid-mapping.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/running-fastpanel-aapanel-podman-rocky-linux-uid-mapping.webp</image:loc>
      <image:title>Rodando fastpanel e aaPanel no Podman (Rocky Linux): o pesadelo do UID mapping e soluções reais</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/running-local-llms-in-terminal-ollama-tabby-8gb-gpu.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/running-local-llms-in-terminal-ollama-tabby-8gb-gpu.webp</image:loc>
      <image:title>Rodando LLMs locais no terminal: minha busca pelo modelo ideal no Ollama e Tabby</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/runtime-autopsy-fixing-module-not-found-prisma-client-and-the-prisma-trap-in-next-js-edge-middleware.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/prisma-client-edge-runtime-nextjs-middleware-module-not-found.webp</image:loc>
      <image:title>Inicialização bloqueada no `pnpm dev`</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/saas-delete-account-button-lgpd-compliance-email-flow.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/saas-delete-account-button-lgpd-compliance-email-flow.webp</image:loc>
      <image:title>Botão de deletar conta em um SaaS: obrigatoriedade, LGPD e o fluxo via e-mail</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/session-termination-anatomy-debugging-livezilla-php-linux-sockets.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/session-termination-anatomy-debugging-livezilla-php-linux-sockets.webp</image:loc>
      <image:title>Anatomia de um encerramento de sessão: debugando LiveZilla, PHP e sockets no Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/sftp-vs-additional-ftp-accounts-why-connection-fails-cpanel-directadmin.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/sftp-vs-additional-ftp-accounts-why-connection-fails-cpanel-directadmin.webp</image:loc>
      <image:title>FTP, FTPS ou SFTP no cPanel/DirectAdmin: arquitetura correta e falhas comuns</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/sharing-wsl2-vhdx-dual-boot.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/sharing-wsl2-vhdx-dual-boot.webp</image:loc>
      <image:title>Compartilhando o VHDX do WSL 2 entre dual-boot com segurança operacional</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/smart-proxy-server-comparison-during-migration.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/smart-proxy-server-comparison-during-migration.webp</image:loc>
      <image:title>Como criar um proxy inteligente para comparar servidores durante a migração</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/spfbl-service-management-linux-guide.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/spfbl-service-management-linux-guide.webp</image:loc>
      <image:title>Guia de troubleshooting: gerenciando o serviço SPFBL no Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/stabilizing-vps-swap-ssh-remote-editors-wazuh.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/stabilizing-vps-swap-ssh-remote-editors-wazuh.webp</image:loc>
      <image:title>Como estabilizei uma VPS travando com SWAP lotado, Wazuh, kiro, codex e sessões SSH caindo</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/support-diary-cpanel-pkgacct-excludes-customer-communication.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/support-diary-cpanel-pkgacct-excludes-customer-communication.webp</image:loc>
      <image:title>Diário de suporte: driblando o pkgacct no cPanel e alinhando a comunicação com o cliente</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/survival-guide-anti-spam-filter-transition-infrastructure-validation.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/survival-guide-anti-spam-filter-transition-infrastructure-validation.webp</image:loc>
      <image:title>Mão no barro: o guia de sobrevivência para transição de filtros anti-spam e validação de infra</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/sysadmin-chronicles-fixing-cascading-dovecot-bind9-errors.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/sysadmin-chronicles-fixing-cascading-dovecot-bind9-errors.webp</image:loc>
      <image:title>Crônicas do sysadmin: resolvendo cascatas de erros no Dovecot e BIND9</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/taming-devsense-php-ls-language-server-linux.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/taming-devsense-php-ls-language-server-linux.webp</image:loc>
      <image:title>Domando o devsense.php.ls: como depurar e conter o consumo de CPU e memória no Linux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/tanstack-query-vs-useeffect-data-fetching-react.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/tanstack-query-vs-useeffect-data-fetching-react.webp</image:loc>
      <image:title>TanStack Query vs. useEffect: O Guia Definitivo de Data Fetching, Governança de Estado e Performance no React</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/test-website-new-ip-without-dns-change-curl-resolve.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/test-website-new-ip-without-dns-change-curl-resolve.webp</image:loc>
      <image:title>Como testar site em novo IP sem alterar DNS usando cURL --resolve com validação completa</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/the-day-mysql-disappeared-in-production-forensics-hardening.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/the-day-mysql-disappeared-in-production-forensics-hardening.webp</image:loc>
      <image:title>O dia em que o MySQL sumiu em produção: forense em baixo nível e hardening no Laravel</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/the-evolution-of-ddos-attacks-botnets-layer-7.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/the-evolution-of-ddos-attacks-botnets-layer-7.webp</image:loc>
      <image:title>A evolução dos ataques DDoS: de pacotes simples a botnets e camadas complexas</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/the-sshd-config-illusion-how-to-actually-ensure-ssh-authentication-security-on-cpanel-and-cloudlinux.html</loc>
    <lastmod>2026-09-17</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/sshd-config-illusion-effective-ssh-security-cpanel-cloudlinux.webp</image:loc>
      <image:title>A ilusão do `sshd_config`: como realmente garantir a segurança da autenticação SSH no cPanel/CloudLinux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/total-control-of-cpanel-whm-updates-auditing-cpupdate-conf-yum-conf-and-protecting-critical-packages.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/total-control-of-cpanel-whm-updates-auditing-cpupdate-conf-yum-conf-and-protecting-critical-packages.webp</image:loc>
      <image:title>Atualizações automáticas como vetor de instabilidade</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/trench-benchmark-evaluating-elixir-beam-and-bun-against-node-js-in-production-on-linux-mint.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/trench-benchmark-evaluating-elixir-beam-and-bun-against-node-js-in-production-on-linux-mint.webp</image:loc>
      <image:title>Trench benchmark: avaliando elixir/BEAM e Bun contra Node.js em produção no Linux Mint</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/troubleshooting-broken-image-signatures-roundcube-cpanel-cloudlinux.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/troubleshooting-broken-image-signatures-roundcube-cpanel-cloudlinux.webp</image:loc>
      <image:title>Como resolver assinaturas de imagem quebradas no Roundcube com cPanel e CloudLinux</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/troubleshooting-fail2ban-status-255-systemd-backend-nginx-modularity.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/troubleshooting-fail2ban-status-255-systemd-backend-nginx-modularity.webp</image:loc>
      <image:title>Troubleshooting real: do crash status 255 no Fail2ban ao backend systemd e modularização no Nginx</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/troubleshooting-skills-catalog-indexing-syscall-mismatch.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/troubleshooting-skills-catalog-indexing-syscall-mismatch.webp</image:loc>
      <image:title>Troubleshooting de indexação de catálogos de skills: do scan ao syscall mismatch</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/turbopack-rust-panic-dissecting-and-fixing-inner-of-uppers-lost-follower-in-next-js-16.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/turbopack-rust-panic-inner-uppers-lost-follower-nextjs16.webp</image:loc>
      <image:title>Turbopack Rust panic: decodificando e corrigindo inner_of_uppers_lost_follower no next.js 16</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/type-safe-i18n-react-prisma-typescript.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/i18n-engineering-typed-internationalization-with-i18next-react-typescript-prisma-and-bun-from-scratch.webp</image:loc>
      <image:title>Internacionalização no react e prisma: como validar chaves no build com typescript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/typographic-hardening-fixing-jagged-font-rendering-in-brave-on-linux-mint.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/typographic-hardening-fixing-jagged-font-rendering-in-brave-on-linux-mint.webp</image:loc>
      <image:title>Do cansaço visual à nitidez absoluta: solucionando fontes &apos;serrilhadas&apos; no Linux Mint</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/ubuntu-2404-idempotent-bootstrapping-curl-bash-ssh.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/ubuntu-2404-idempotent-bootstrapping-curl-bash-ssh.webp</image:loc>
      <image:title>Bootstrapping idempotente no Ubuntu 24.04 via cURL | Bash: stdin /dev/tty, senhas efêmeras e SSH modular</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/unblock-emails-directadmin-usage-counter-exim-queue.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/unblock-emails-directadmin-usage-counter-exim-queue.webp</image:loc>
      <image:title>Como desbloquear e-mails no DirectAdmin contador usage fila Exim</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/updating-n8n-fastpanel.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/updating-n8n-fastpanel.webp</image:loc>
      <image:title>N8n no fastpanel: instalação, atualização, rollback e operação segura</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/upgrading-vite-laravel-infrastructure-inotify-manifest.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/upgrading-vite-laravel-infrastructure-inotify-manifest.webp</image:loc>
      <image:title>Atualizando o Vite no Laravel: do inotify do kernel ao manifest.json</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/vaultwarden-smtp-docker-setup-with-force-tls.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/vaultwarden-smtp-docker-setup-with-force-tls.webp</image:loc>
      <image:title>Desvendando o vaultwarden: como configurar SMTP e Docker sem erros</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/virtualbox-troubleshooting-fixing-host-only-adapter-enumeration-errors.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/virtualbox-host-only-adapter-enumeration-fix.webp</image:loc>
      <image:title>Erro de enumeração de interface host-only</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/wazuh-docker-generate-indexer-certs-tls-fix.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/wazuh-docker-generate-indexer-certs-tls-fix.webp</image:loc>
      <image:title>Wazuh Docker: resolvendo erros de permissão e TLS no generate-indexer-certs.yml</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/web-audio-api-text-blips-pseudo-speech.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/web-audio-api-text-blips-pseudo-speech.webp</image:loc>
      <image:title>Implementando &quot;text blips&quot; (pseudo-speech) na web com web audio API</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/what-are-endpoint-protection-platforms-epp.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/what-are-endpoint-protection-platforms-epp.webp</image:loc>
      <image:title>O que é EPP (endpoint protection platform) e como funciona essa proteção</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/what-is-winfsp-how-it-works-is-it-safe.html</loc>
    <lastmod>2026-09-19</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/what-is-winfsp-how-it-works-is-it-safe.webp</image:loc>
      <image:title>Winfsp no Windows: o que é, por que é seguro e como opera sob o capô (FUSE no Windows)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/what-to-look-for-in-a-next-generation-antivirus-ngav.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/what-to-look-for-in-a-next-generation-antivirus-ngav.webp</image:loc>
      <image:title>O que procurar em um antivírus de próxima geração (NGAV)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/whm-reseller-acl-storage-troubleshooting.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/whm-reseller-acl-storage-troubleshooting.webp</image:loc>
      <image:title>Onde as ACLs de revendedores ficam salvas no WHM: análise técnica, source of truth e troubleshooting em produção</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/whmcs-implementing-2fa-email-security-guide.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/whmcs-implementing-2fa-email-security-guide.webp</image:loc>
      <image:title>Implementando 2FA por e-mail no WHMCS: arquitetura, código e boas práticas</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/why-legitimate-emails-are-blocked-by-spfbl-hard-fail.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/why-legitimate-emails-are-blocked-by-spfbl-hard-fail.webp</image:loc>
      <image:title>SPFBL check blocked: diagnóstico completo (SPF hard fail, hotmail/Outlook e relay)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/why-you-should-split-sitemaps-sitemap-index-architecture.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/why-you-should-split-sitemaps-sitemap-index-architecture.webp</image:loc>
      <image:title>Por que separar sitemaps: arquitetura de índice para SEO técnico</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/why-your-ai-seems-degraded-the-api-capping-myth-sonnet-4-5-and-context-architectures.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/why-your-ai-seems-degraded-the-api-capping-myth-sonnet-4-5-and-context-architectures.webp</image:loc>
      <image:title>Por que sua IA parece defasada? O mito do &quot;capamento&quot; de API vs. a realidade arquitetônica</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/why-your-company-needs-a-chief-failure-officer.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/why-your-company-needs-a-chief-failure-officer.webp</image:loc>
      <image:title>Por que sua empresa precisa de um chief failure officer com método e métricas</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/windows-boot-recovery-manual-bcd-rebuild.html</loc>
    <lastmod>2026-09-19</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/windows-boot-recovery-manual-bcd-rebuild.webp</image:loc>
      <image:title>Recuperação de boot no Windows: reconstruindo o BCD manualmente com procedimento de campo</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/wordpress-admin-locked-before-login-forensic-diagnosis-wp-cli.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/wordpress-admin-locked-before-login-forensic-diagnosis-wp-cli.webp</image:loc>
      <image:title>WordPress Admin Bloqueado: Diagnóstico Forense, Desbloqueio e Recuperação de Acesso via WP-CLI e MySQL</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/wordpress-cloudflare-hardening-waf-rate-limiting-origin-shielding.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/wordpress-cloudflare-hardening-waf-rate-limiting-origin-shielding.webp</image:loc>
      <image:title>Hardening WordPress em camadas: Cloudflare, wp-config e blindagem de origem</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/wordpress-forensic-audit-identify-malicious-users-wpcli-logs.html</loc>
    <lastmod>2026-09-20</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/wordpress-forensic-audit-identify-malicious-users-wpcli-logs.webp</image:loc>
      <image:title>Auditoria forense em WordPress: como identificar usuários maliciosos via terminal (WP-CLI e logs)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/wordpress-upload-directory-hardening-and-protection.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/wordpress-upload-directory-hardening-and-protection.webp</image:loc>
      <image:title>Blindagem de WordPress: como alterar e proteger o diretório de uploads</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://perciocastelo.com.br/blog/en/wsl2-hcs-e-hyperv-not-installed-diagnosis-fix.html</loc>
    <lastmod>2026-09-16</lastmod>
    <priority>0.7</priority>
    <image:image>
      <image:loc>https://perciocastelo.com.br/assets/img/blog/wsl2-hcs-e-hyperv-not-installed-diagnosis-fix.webp</image:loc>
      <image:title>WSL2 parou de funcionar? Diagnóstico e correção do erro `hcs_e_hyperv_not_installed`</image:title>
    </image:image>
  </url>
</urlset>
