Skip to content

Releases: ashes00/Cre8or

🎉 Major Release: Version 2.0 Python to C Port

24 Jul 20:15

Choose a tag to compare

🚀 Cre8or V2.0 - Complete Rewrite in C

🎉 Major Release: Python to C Port

We're excited to announce Cre8or V2.0, a complete rewrite of the popular Linux desktop entry creator from Python to C! This major release brings significant performance improvements, enhanced security, and a more native Linux experience.

✨ What's New in V2.0

🔧 Complete Rewrite

  • Language: Ported from Python to C for better performance
  • Framework: Built with GTK3 for native Linux integration
  • Size: Reduced executable size and improved startup time
  • Dependencies: Minimal runtime dependencies

🛡️ Enhanced Security

  • Path Traversal Protection: Prevents malicious path inputs
  • Input Validation: Robust validation for all user inputs
  • Safe File Operations: Uses GLib's secure file handling
  • Command Injection Prevention: Secure process spawning

🎯 Improved Features

  • Smart File Type Detection: Automatically detects ELF, Python, and Shell scripts
  • Intelligent Exec Line Generation: Creates proper Exec lines based on file type
  • Terminal Support: Optional terminal execution for scripts
  • Overwrite Confirmation: User-friendly file overwrite dialogs

🎨 UI Improvements

  • Compact Design: 50% smaller window size for better usability
  • Professional Logo: Added robot icon to About dialog
  • Clean Interface: Removed duplicate UI elements
  • Better Error Handling: Comprehensive user feedback

🔧 Technical Improvements

Performance

  • Faster Startup: Native C compilation eliminates Python overhead
  • Reduced Memory Usage: More efficient memory management
  • Smaller Footprint: Minimal dependencies and optimized binary

Security

  • Path Sanitization: Removes dangerous characters from filenames
  • Executable Validation: Verifies selected files are actually executable
  • Safe File Writing: Uses GLib's secure file operations
  • Permission Management: Proper executable permissions on created files

File Type Support

  • ELF Binaries: Direct execution with proper path quoting
  • Python Scripts: Automatic python3 interpreter detection
  • Shell Scripts: Smart terminal handling with gnome-terminal
  • Other Scripts: Fallback support for various executable types

📋 System Requirements

  • OS: Linux (tested on Ubuntu, Debian, Arch)
  • Dependencies: GTK3, GLib, GIO
  • Architecture: x86_64, ARM64
  • Memory: Minimal RAM usage

🚀 Installation

Quick Install

git clone https://github.com/ashes00/cre8or-c
cd cre8or-c
make
sudo make install

Manual Build

# Install dependencies
sudo apt install build-essential libgtk-3-dev libglib2.0-dev

# Build and install
make
sudo make install

🎯 Usage

  1. Launch: Run cre8or from terminal or application menu
  2. Step 1: Enter application name and description
  3. Step 2: Select executable file (auto-detects file type)
  4. Step 3: Choose optional icon file
  5. Step 4: Select application categories
  6. Step 5: Preview generated desktop entry
  7. Step 6: Choose save locations and create files

🔍 What's Different from V1

Feature V1 (Python) V2 (C)
Performance Python overhead Native C speed
Size ~19KB source ~104KB binary
Dependencies Python + GTK GTK only
Security Basic validation Comprehensive security
File Detection Extension-based Magic bytes + shebang
UI Larger window Compact design
Error Handling Basic Professional dialogs

🐛 Bug Fixes

  • Fixed path traversal vulnerabilities
  • Improved error handling and user feedback
  • Enhanced file type detection accuracy
  • Better terminal integration for shell scripts
  • Resolved GTK dialog parent window issues

🔮 Future Plans

  • Package Distribution: Debian/Ubuntu packages
  • Internationalization: Multi-language support
  • Advanced Features: Template system, batch processing
  • Modern UI: GTK4 migration when stable

🙏 Acknowledgments

  • Original Python Version: Created by @ashes00
  • GTK Development: GNOME Foundation
  • Security Review: Comprehensive security audit completed
  • Testing: Community feedback and testing

📞 Support


Download: Release Assets
Source: GitHub Repository
Author: @ashes00

Cre8or V2.0 - Making Linux desktop entry creation simple, secure, and fast! 🐧