Skip to main content

Obfuscate class names in HTML, CSS and Javascript files.

Project description

👋 HTML-Classes-Obfuscator 🔒

CLI that obfuscate HTML classes:

Normal HTML file :

<div class="content">
  <div class="text">Hello World</div>
</div>

Obfuscated HTML file :

<div class="oywdon">
  <div class="emnpzm">Hello World</div>
</div>

🚀 Usage

Using by command line

git clone git@github.com:xandermann/html-classes-obfuscator.git

cp html-classes-obfuscator/html_classes_obfuscator/html_classes_obfuscator.py ./YOUR_PROJECT

python3 html_classes_obfuscator.py --htmlpath="**/*.html" --csspath="**/*.css" --jspath="**/*.js"

Or using in python script

# https://pypi.org/project/html-classes-obfuscator/
pip install html-classes-obfuscator
import glob
import random
import string
from html_classes_obfuscator import html_classes_obfuscator

# [...]

htmlfiles = glob.glob("./**/*.html", recursive=True)
cssfiles = glob.glob("./**/*.css", recursive=True)
jsfiles = glob.glob("./**/*.js", recursive=True)

print(htmlfiles)
print(cssfiles)
print(jsfiles)

# Generate random string
def generate_class(current_classes_list):
    random_class = ''.join(random.choice(string.ascii_lowercase) for i in range(6))

    # As we generate random strings, we need to assure that there is no collisions between already converted classes
    while random_class in current_classes_list:
        random_class = ''.join(random.choice(string.ascii_lowercase) for i in range(6))

    return random_class

html_classes_obfuscator.html_classes_obfuscator(htmlfiles, cssfiles, jsfiles, generate_class)

⚠️️ Important notes

  1. Make a backup before use.
  2. DON'T use if you have duplicate class names in your css files.

✅ Run tests

python3 -m unittest tests/test_html_classes_obfuscator.py

🤝 Contributing

Contributions, issues and feature requests are welcome.

Feel free to check issues page if you want to contribute.

Check the contributing guide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

html_classes_obfuscator-0.0.5.tar.gz (3.9 kB view hashes)

Uploaded Source

Built Distribution

html_classes_obfuscator-0.0.5-py3-none-any.whl (5.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page