#!/usr/bin/env python3
"""TSLaw: baca isi halaman 403 robots.txt untuk tahu siapa yang menolak (Cloudflare atau server asal)."""
import urllib.request, urllib.error

UA = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124 Safari/537.36",
      "Accept": "text/html,*/*"}

for u in ("https://www.tslaw.id/robots.txt", "https://www.tslaw.id/wp-config.php",
          "https://www.tslaw.id/xmlrpc.php", "https://www.tslaw.id/index.php"):
    try:
        r = urllib.request.urlopen(urllib.request.Request(u, headers=UA), timeout=45)
        print(f"\n{u} → HTTP {r.status} ({len(r.read())} byte)")
    except urllib.error.HTTPError as e:
        badannya = e.read().decode("utf-8", "replace")
        print(f"\n{u} → HTTP {e.code} ({len(badannya)} byte)")
        print("   headers penting:", {k: v for k, v in e.headers.items()
                                      if k.lower() in ("server", "cf-ray", "cf-mitigated", "content-type", "cf-cache-status")})
        potong = badannya.strip().replace("\n", " ")[:300]
        print("   isi:", potong if potong else "(kosong)")
        if "cloudflare" in badannya.lower():
            print("   → halaman blokir Cloudflare")
        elif "forbidden" in badannya.lower() or "not have permission" in badannya.lower():
            print("   → halaman 403 dari server asal (Apache/LiteSpeed), biasanya masalah izin berkas")
