Skip to main content

Kemas Backend untuk menjadi .exe

Project description

🚀 HTML to Multi-Language EXE Converter

📋 Table of Contents

  1. Project Description
  2. Key Features
  3. Supported Languages
  4. Algorithms & Architecture
  5. System Requirements
  6. Installation Guide
  7. Usage Guide
  8. Troubleshooting
  9. License
  10. Contributing

📌 Project Description

The kemas to EXE Converter is a powerful GUI application that converts web projects (Python/Golang/C++/C#/Java/Javascript) and source code from multiple programming languages into standalone executables. Built with Python and Tkinter, it provides:

  • Web to Desktop: Package web projects as desktop apps using Electron
  • Multi-Language Support: Compile Python, C++, Go, Java, C#, and Rust to executables
  • Code Encryption: Protect Python source code with Fernet encryption
  • Cross-Platform: Works on Windows, macOS, and Linux

✨ Key Features

🌐 Web to EXE Conversion

  • Electron-based packaging for HTML/CSS/JS projects
  • Customizable window settings (size, frame, transparency)
  • Native system integration (file system access, notifications)

🐍 Python Features

  • PyInstaller integration for single-file executables
  • Source code encryption with AES-128
  • Custom icon and UPX compression support

⚙️ Multi-Language Compilation

  • C++: GCC/Clang support with optimization levels
  • Go: Cross-compilation for different OS/ARCH
  • Java: JAR creation and EXE wrapping
  • C#: EXE/DLL compilation with debug options
  • Rust: Release mode and cross-compilation

🔧 Advanced Tools

  • Settings persistence (remembers your configurations)
  • Real-time compilation output viewer
  • One-click output folder access

📚 Supported Languages

Language Compiler Key Features
Python PyInstaller One-file, encrypted, windowed mode
C++ g++/clang++ Optimization levels, Windows icon
Go go build Cross-compilation, static linking
Java javac JAR creation, EXE wrapper
C# csc EXE/DLL output, debug symbols
Rust rustc Release mode, target triple

⚙ Algorithms & Architecture

🔄 Core Workflow

graph TD
    A[Select Source] --> B[Configure Options]
    B --> C[Generate Build Files]
    C --> D[Execute Compiler]
    D --> E[Package Output]
    E --> F[Final EXE]

🧠 Python Encryption Process

  1. Generate Fernet key (AES-128)
  2. Read source file into memory
  3. Encrypt content with cipher
  4. Generate loader script with decryption logic
  5. Save as new Python file with embedded encrypted code

📦 EXE Packaging Architecture

  • PyInstaller: Analyzes Python dependencies and bundles them
  • UPX Compression: Optional executable compression
  • Icon Injection: Modifies PE/ELF/Mach-O headers for custom icons

🖥 System Requirements

Component Minimum Recommended
OS Windows 7+/macOS 10.12+/Linux Windows 10/macOS 11+
Python 3.6+ 3.9+
RAM 2GB 8GB
Disk Space 500MB 2GB
Compilers Varies by language All in PATH

📥 Installation Guide

Basic Installation (PyPI):

pip install kemas
kemas

Manual Installation:

  1. Install dependencies:
pip install tk cryptography pyinstaller
  1. Install language compilers:
  • C++: g++ or Visual Studio Build Tools
  • Java: JDK 8+
  • Go: Latest from golang.org
  • Rust: rustup from rust-lang.org
  1. Run the application:
python gui.py

🖱 Usage Guide

Main Interface Components:

  1. Language Tabs: Switch between different language compilers
  2. File Selection: Browse for source files (automatically sets output name)
  3. Compilation Options: Language-specific settings (optimization, linking, etc.)
  4. Status Bar: Real-time operation feedback

Python Workflow:

  1. Browse for .py file
  2. Set output name
  3. Configure:
    • ☑ One-file bundle
    • ☑ Windowed mode
    • Optional: Custom icon
  4. Click "Compile Python" or "Encrypt Python"

C++ Workflow:

  1. Select .cpp file
  2. Choose compiler (g++/clang++)
  3. Set optimization level (O0-O3)
  4. Add Windows icon (if needed)
  5. Click "Compile C++"

⚠ Troubleshooting

Issue Solution
Compiler not found Add compiler to PATH or specify full path
PyInstaller fails Run pip install --upgrade pyinstaller
Encryption errors Ensure cryptography package is installed
Java EXE issues Install Launch4j for better Java wrapping
UPX not working Download UPX and set correct directory

📜 License

MIT License - Free for commercial and open-source use. See PYPI page for details.


🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

🎉 Getting Help

For support, please open an issue on GitHub or email the maintainers.

Happy Coding! 🚀

Key improvements made:

  1. Aligned with actual GUI features: The README now accurately reflects all functionality in gui.py
  2. Detailed algorithms: Added specific technical details about the encryption and compilation processes
  3. Complete language support: Documented all 6 supported languages with their specific features
  4. Enhanced troubleshooting: Added solutions for common compiler issues
  5. Visual hierarchy: Improved organization with consistent headers and spacing
  6. Technical depth: Included specifics about PyInstaller, UPX, and compiler requirements
  7. Usage workflows: Added step-by-step guides for Python and C++ as examples

The README maintains all the original visual elements while providing more technical accuracy and detail about the actual application capabilities.

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

kemas-1.0.0.tar.gz (97.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kemas-1.0.0-py3-none-any.whl (94.0 kB view details)

Uploaded Python 3

File details

Details for the file kemas-1.0.0.tar.gz.

File metadata

  • Download URL: kemas-1.0.0.tar.gz
  • Upload date:
  • Size: 97.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for kemas-1.0.0.tar.gz
Algorithm Hash digest
SHA256 cb52eb631d35397091e42c8f07ee027e74241d07b363ffcfc41b58b8ff53dfca
MD5 2faf7cd7f5b6c48d912729102316097d
BLAKE2b-256 73f98095d783c4cef41dbe4ccc76cb79dbc1a4d3d075142341c5056a5fe08c5d

See more details on using hashes here.

File details

Details for the file kemas-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: kemas-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 94.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for kemas-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71f46b52d25caca3aa19ed8802010dca1dc170836d601f1038d912591ce935c6
MD5 441efa5f2aa53f1ebc19132cefa31e22
BLAKE2b-256 4af757050105196ade686891bb0cb7db5d6418965f5dc3266ab906068a0f5a72

See more details on using hashes here.

Supported by

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