<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">

  <!-- HOMEPAGE (x-default) — 10 language alternates -->
  <url>
    <loc>https://www.theethicalhacker.net/</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.theethicalhacker.net/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.theethicalhacker.net/?lang=en"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.theethicalhacker.net/?lang=es"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.theethicalhacker.net/?lang=de"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://www.theethicalhacker.net/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="pt" href="https://www.theethicalhacker.net/?lang=pt"/>
    <xhtml:link rel="alternate" hreflang="nl" href="https://www.theethicalhacker.net/?lang=nl"/>
    <xhtml:link rel="alternate" hreflang="ru" href="https://www.theethicalhacker.net/?lang=ru"/>
    <xhtml:link rel="alternate" hreflang="ar" href="https://www.theethicalhacker.net/?lang=ar"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://www.theethicalhacker.net/?lang=ja"/>
    <xhtml:link rel="alternate" hreflang="zh" href="https://www.theethicalhacker.net/?lang=zh"/>
    <image:image>
      <image:loc>https://www.theethicalhacker.net/assets/logo-light.png</image:loc>
      <image:title>The Ethical Hacker — Ralph Echemendia</image:title>
      <image:caption>The Ethical Hacker logo</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.theethicalhacker.net/assets/ralph-1.jpg</image:loc>
      <image:title>Ralph Echemendia portrait</image:title>
      <image:caption>Ralph Echemendia — The Ethical Hacker</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.theethicalhacker.net/assets/ralph-2.jpg</image:loc>
      <image:title>Ralph Echemendia at work</image:title>
      <image:caption>Ralph Echemendia — cybersecurity expert</image:caption>
    </image:image>
  </url>

  <url>
    <loc>https://www.theethicalhacker.net/?lang=en</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.theethicalhacker.net/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.theethicalhacker.net/?lang=en"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.theethicalhacker.net/?lang=es"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.theethicalhacker.net/?lang=de"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://www.theethicalhacker.net/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="pt" href="https://www.theethicalhacker.net/?lang=pt"/>
    <xhtml:link rel="alternate" hreflang="nl" href="https://www.theethicalhacker.net/?lang=nl"/>
    <xhtml:link rel="alternate" hreflang="ru" href="https://www.theethicalhacker.net/?lang=ru"/>
    <xhtml:link rel="alternate" hreflang="ar" href="https://www.theethicalhacker.net/?lang=ar"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://www.theethicalhacker.net/?lang=ja"/>
    <xhtml:link rel="alternate" hreflang="zh" href="https://www.theethicalhacker.net/?lang=zh"/>
  </url>

  <url>
    <loc>https://www.theethicalhacker.net/?lang=es</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.theethicalhacker.net/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.theethicalhacker.net/?lang=en"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.theethicalhacker.net/?lang=es"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.theethicalhacker.net/?lang=de"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://www.theethicalhacker.net/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="pt" href="https://www.theethicalhacker.net/?lang=pt"/>
    <xhtml:link rel="alternate" hreflang="nl" href="https://www.theethicalhacker.net/?lang=nl"/>
    <xhtml:link rel="alternate" hreflang="ru" href="https://www.theethicalhacker.net/?lang=ru"/>
    <xhtml:link rel="alternate" hreflang="ar" href="https://www.theethicalhacker.net/?lang=ar"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://www.theethicalhacker.net/?lang=ja"/>
    <xhtml:link rel="alternate" hreflang="zh" href="https://www.theethicalhacker.net/?lang=zh"/>
  </url>

  <url>
    <loc>https://www.theethicalhacker.net/?lang=de</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.theethicalhacker.net/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.theethicalhacker.net/?lang=en"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.theethicalhacker.net/?lang=es"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.theethicalhacker.net/?lang=de"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://www.theethicalhacker.net/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="pt" href="https://www.theethicalhacker.net/?lang=pt"/>
    <xhtml:link rel="alternate" hreflang="nl" href="https://www.theethicalhacker.net/?lang=nl"/>
    <xhtml:link rel="alternate" hreflang="ru" href="https://www.theethicalhacker.net/?lang=ru"/>
    <xhtml:link rel="alternate" hreflang="ar" href="https://www.theethicalhacker.net/?lang=ar"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://www.theethicalhacker.net/?lang=ja"/>
    <xhtml:link rel="alternate" hreflang="zh" href="https://www.theethicalhacker.net/?lang=zh"/>
  </url>

  <url>
    <loc>https://www.theethicalhacker.net/?lang=fr</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.theethicalhacker.net/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.theethicalhacker.net/?lang=en"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.theethicalhacker.net/?lang=es"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.theethicalhacker.net/?lang=de"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://www.theethicalhacker.net/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="pt" href="https://www.theethicalhacker.net/?lang=pt"/>
    <xhtml:link rel="alternate" hreflang="nl" href="https://www.theethicalhacker.net/?lang=nl"/>
    <xhtml:link rel="alternate" hreflang="ru" href="https://www.theethicalhacker.net/?lang=ru"/>
    <xhtml:link rel="alternate" hreflang="ar" href="https://www.theethicalhacker.net/?lang=ar"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://www.theethicalhacker.net/?lang=ja"/>
    <xhtml:link rel="alternate" hreflang="zh" href="https://www.theethicalhacker.net/?lang=zh"/>
  </url>

  <url>
    <loc>https://www.theethicalhacker.net/?lang=pt</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.theethicalhacker.net/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.theethicalhacker.net/?lang=en"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.theethicalhacker.net/?lang=es"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.theethicalhacker.net/?lang=de"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://www.theethicalhacker.net/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="pt" href="https://www.theethicalhacker.net/?lang=pt"/>
    <xhtml:link rel="alternate" hreflang="nl" href="https://www.theethicalhacker.net/?lang=nl"/>
    <xhtml:link rel="alternate" hreflang="ru" href="https://www.theethicalhacker.net/?lang=ru"/>
    <xhtml:link rel="alternate" hreflang="ar" href="https://www.theethicalhacker.net/?lang=ar"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://www.theethicalhacker.net/?lang=ja"/>
    <xhtml:link rel="alternate" hreflang="zh" href="https://www.theethicalhacker.net/?lang=zh"/>
  </url>

  <url>
    <loc>https://www.theethicalhacker.net/?lang=nl</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.theethicalhacker.net/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.theethicalhacker.net/?lang=en"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.theethicalhacker.net/?lang=es"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.theethicalhacker.net/?lang=de"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://www.theethicalhacker.net/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="pt" href="https://www.theethicalhacker.net/?lang=pt"/>
    <xhtml:link rel="alternate" hreflang="nl" href="https://www.theethicalhacker.net/?lang=nl"/>
    <xhtml:link rel="alternate" hreflang="ru" href="https://www.theethicalhacker.net/?lang=ru"/>
    <xhtml:link rel="alternate" hreflang="ar" href="https://www.theethicalhacker.net/?lang=ar"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://www.theethicalhacker.net/?lang=ja"/>
    <xhtml:link rel="alternate" hreflang="zh" href="https://www.theethicalhacker.net/?lang=zh"/>
  </url>

  <url>
    <loc>https://www.theethicalhacker.net/?lang=ru</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.theethicalhacker.net/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.theethicalhacker.net/?lang=en"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.theethicalhacker.net/?lang=es"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.theethicalhacker.net/?lang=de"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://www.theethicalhacker.net/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="pt" href="https://www.theethicalhacker.net/?lang=pt"/>
    <xhtml:link rel="alternate" hreflang="nl" href="https://www.theethicalhacker.net/?lang=nl"/>
    <xhtml:link rel="alternate" hreflang="ru" href="https://www.theethicalhacker.net/?lang=ru"/>
    <xhtml:link rel="alternate" hreflang="ar" href="https://www.theethicalhacker.net/?lang=ar"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://www.theethicalhacker.net/?lang=ja"/>
    <xhtml:link rel="alternate" hreflang="zh" href="https://www.theethicalhacker.net/?lang=zh"/>
  </url>

  <url>
    <loc>https://www.theethicalhacker.net/?lang=ar</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.theethicalhacker.net/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.theethicalhacker.net/?lang=en"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.theethicalhacker.net/?lang=es"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.theethicalhacker.net/?lang=de"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://www.theethicalhacker.net/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="pt" href="https://www.theethicalhacker.net/?lang=pt"/>
    <xhtml:link rel="alternate" hreflang="nl" href="https://www.theethicalhacker.net/?lang=nl"/>
    <xhtml:link rel="alternate" hreflang="ru" href="https://www.theethicalhacker.net/?lang=ru"/>
    <xhtml:link rel="alternate" hreflang="ar" href="https://www.theethicalhacker.net/?lang=ar"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://www.theethicalhacker.net/?lang=ja"/>
    <xhtml:link rel="alternate" hreflang="zh" href="https://www.theethicalhacker.net/?lang=zh"/>
  </url>

  <url>
    <loc>https://www.theethicalhacker.net/?lang=ja</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.theethicalhacker.net/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.theethicalhacker.net/?lang=en"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.theethicalhacker.net/?lang=es"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.theethicalhacker.net/?lang=de"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://www.theethicalhacker.net/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="pt" href="https://www.theethicalhacker.net/?lang=pt"/>
    <xhtml:link rel="alternate" hreflang="nl" href="https://www.theethicalhacker.net/?lang=nl"/>
    <xhtml:link rel="alternate" hreflang="ru" href="https://www.theethicalhacker.net/?lang=ru"/>
    <xhtml:link rel="alternate" hreflang="ar" href="https://www.theethicalhacker.net/?lang=ar"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://www.theethicalhacker.net/?lang=ja"/>
    <xhtml:link rel="alternate" hreflang="zh" href="https://www.theethicalhacker.net/?lang=zh"/>
  </url>

  <url>
    <loc>https://www.theethicalhacker.net/?lang=zh</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.theethicalhacker.net/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.theethicalhacker.net/?lang=en"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.theethicalhacker.net/?lang=es"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.theethicalhacker.net/?lang=de"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://www.theethicalhacker.net/?lang=fr"/>
    <xhtml:link rel="alternate" hreflang="pt" href="https://www.theethicalhacker.net/?lang=pt"/>
    <xhtml:link rel="alternate" hreflang="nl" href="https://www.theethicalhacker.net/?lang=nl"/>
    <xhtml:link rel="alternate" hreflang="ru" href="https://www.theethicalhacker.net/?lang=ru"/>
    <xhtml:link rel="alternate" hreflang="ar" href="https://www.theethicalhacker.net/?lang=ar"/>
    <xhtml:link rel="alternate" hreflang="ja" href="https://www.theethicalhacker.net/?lang=ja"/>
    <xhtml:link rel="alternate" hreflang="zh" href="https://www.theethicalhacker.net/?lang=zh"/>
  </url>

</urlset>
