# ============================================
# WORDPRESS STYLE PHP FILE RENAMER
# WITH SKIP PROTECTION
# Python 2.7 Compatible
# ============================================

import os
import random

# ================= FILE YANG TIDAK BOLEH DIRENAME =================

SKIP_FILES = [
    "index.php",
    "wp-config.php",
    "wp-settings.php",
    "wp-load.php",
    "wp-blog-header.php",
    "xmlrpc.php",
    "cron.php",
    "router.php",
    ".htaccess",
]

# skip prefix (kalau mau tambah)
SKIP_PREFIX = [
    "wp-config",
    "wp-load",
    "wp-settings",
]

# ================= WORDLIST WORDPRESS =================

WP_PREFIX = [
    "admin","options","user","users","edit","edit-form",
    "media","site","network","ms","plugin","theme",
    "custom","link","post","comment","dashboard",
    "tools","install","update","upgrade","nav",
    "widgets","export","import","wp","core",
    "includes","content","assets","cache","engine",
    "builder","manager","system","config","template"
]

WP_CORE = [
    "ajax","post","header","footer","health","info",
    "reading","writing","discussion","privacy",
    "general","media","upload","new","edit",
    "advanced","blocks","comments","tags",
    "themes","plugins","users","network",
    "editor","manager","list","table","form",
    "handler","module","functions","loader",
    "optimizer","compress","security","assets",
    "template","widget","shortcode","api"
]

WP_SUFFIX = [
    "core","info","form","advanced","blocks",
    "table","editor","manager","helper",
    "handler","module","functions","assets",
    "system","template","builder","optimizer"
]

WP_CLASS = [
    "wp-user","wp-post","wp-comment","wp-theme",
    "wp-plugin","wp-upgrader","wp-filesystem",
    "wp-site-health","wp-query","wp-db",
    "wp-admin-bar","wp-widget","wp-network",
    "wp-template-loader","wp-script-loader",
    "wp-rest-api","wp-cache-engine",
    "wp-security-manager"
]

# ================= BUILD NAMES =================

NAMES = []

for a in WP_PREFIX:
    for b in WP_CORE:
        NAMES.append(a + "-" + b)

for a in WP_PREFIX:
    for b in WP_CORE:
        for c in WP_SUFFIX:
            NAMES.append(a + "-" + b + "-" + c)

for c in WP_CLASS:
    NAMES.append("class-" + c)

NAMES += [
    "about","privacy","tools","media","themes",
    "plugins","dashboard","install","upgrade",
    "menu","network","users","post",
    "comment","taxonomy","widgets","export","import",
    "wp-security","wp-assets","wp-cache",
    "wp-builder","wp-loader","wp-engine",
    "template-loader","style-manager",
    "plugin-manager","theme-loader"
]

NAMES = list(set(NAMES))

print "=" * 60
print " WordPress Core File Obfuscation System"
print " Secure Rename Engine Initialized"
print "=" * 60
print "Total generated WordPress style names:", len(NAMES)

def generate_name():
    return random.choice(NAMES) + ".php"

# ================= TARGET DIR =================

target_dir = os.path.dirname(os.path.abspath(__file__))

print "Target WordPress directory:"
print target_dir
print "-" * 60
print "Scanning WordPress core structure..."
print "Checking plugin and theme compatibility..."
print "Initializing rename protection layer..."
print "-" * 60

# ================= RENAME PROCESS =================

renamed = 0
skipped = 0

for f in os.listdir(target_dir):

    # hanya file php
    if not f.lower().endswith(".php"):
        continue

    # skip file penting
    if f in SKIP_FILES:
        print "[CORE-SKIP]", f
        skipped += 1
        continue

    # skip prefix penting
    skip = False
    for p in SKIP_PREFIX:
        if f.startswith(p):
            skip = True
            break

    if skip:
        print "[SYSTEM-SKIP]", f
        skipped += 1
        continue

    old_path = os.path.join(target_dir, f)

    if not os.path.isfile(old_path):
        continue

    while True:
        newf = generate_name()
        newp = os.path.join(target_dir, newf)

        if not os.path.exists(newp):
            break

    os.rename(old_path, newp)

    print "[WP-RENAMED]", f, "->", newf
    renamed += 1

print "\n" + "=" * 60
print " WordPress Rename Operation Completed"
print "=" * 60
print "Files renamed :", renamed
print "Files skipped :", skipped
print "WordPress core protection : ENABLED"
print "Plugin compatibility mode : ACTIVE"
print "Theme structure preserved : YES"
print "=" * 60
print "All protected WordPress files remain safe."
print "Rename engine finished successfully."
print "=" * 60