avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Friday July 12, 2024, 9:50 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - KynloStephen66515 [ switch to compact view ]

Pages: [1] 2 3 4 5 6 ... 22next

    Kynlos Python Web Server with PHP Support

    This is a Python-based web server that supports serving static files, executing PHP scripts, file uploads, rate limiting, IP whitelisting/blacklisting, HTTPS using self-signed certificates, CORS support, custom error pages, static file caching, Gzip/Brotli compression, basic authentication, virtual hosts, URL redirects, graceful shutdown, browser auto-open, email verification, and SQLite database integration for user management. The server is highly configurable via a `config.json` file.


    • Serves static files from the `htdocs` directory
    • Executes PHP scripts using the `php` command
    • Supports file uploads via POST requests to `/upload`, with uploaded files saved in the `htdocs/downloads` directory
    • Provides a file download page at `htdocs/download.html` for accessing uploaded files
    • Rate limiting to prevent abuse (configurable requests per minute and burst limits)
    • IP whitelisting and blacklisting for access control
    • HTTPS support using self-signed certificates with configurable certificate details and renewal options
    • Cross-Origin Resource Sharing (CORS) support
    • Serves custom HTML pages for different HTTP error codes (configurable via `config.json`)
    • Implements caching for static files to improve performance (configurable cache size and TTL)
    • Gzip and Brotli compression for improved transfer speeds
    • Basic authentication with configurable authorized users
    • Virtual hosts support for hosting multiple websites or domains
    • URL redirects for redirecting users from old or outdated URLs to new ones or external websites
    • Customizable entry point (default: `index.html`)
    • Logging of requests to a log file
    • Graceful shutdown on Ctrl-C
    • Opens the entry point in a web browser on server start
    • Email verification for new user registrations to prevent spam accounts
    • SQLite database integration for managing user accounts and enabling user registration and login


    • Python 3.x
    • `php` command available in PATH (for PHP script execution)
    • `OpenSSL` Python library (for HTTPS support)
    • `sqlite3` Python library (for SQLite database integration)


    The server can be configured using a `config.json` file in the same directory as the script. The following options are available:

    • `port`: The port number to run the server on (default: 80)
    • `entry_point`: The default file to serve when accessing the root URL (default: `index.html`)
    • `use_https`: Whether to enable HTTPS using a self-signed certificate (default: `false`)
    • `certfile`: The path to the certificate file for HTTPS (default: `cert.pem`)
    • `keyfile`: The path to the private key file for HTTPS (default: `key.pem`)
    • `rate_limit`: The maximum number of requests per minute per IP (default: 10)
    • `rate_limit_burst`: The maximum number of burst requests allowed (default: 5)
    • `log_file`: The path to the log file for request logging (default: `server.log`)
    • `whitelist`: A list of IP addresses that are allowed to access the server (default: [])
    • `blacklist`: A list of IP addresses that are blocked from accessing the server (default: [])
    • `htdocs_dir`: The directory to serve static files from (default: `htdocs`)
    • `downloads_dir`: The directory to save uploaded files to (default: `htdocs/downloads`)
    • `cert_config`: Configuration options for generating the self-signed certificate
      • `key_size`: The size of the private key in bits (default: 2048)
      • `subject`: The subject information for the certificate
        • `C`: Country (default: US)
        • `ST`: State (default: California)
        • `L`: Locality (default: San Francisco)
        • `O`: Organization (default: My Company)
        • `OU`: Organizational Unit (default: My Organization)
        • `CN`: Common Name (default: localhost)
      • `serial_number`: Serial number (default: 1000)
      • `valid_days`: Number of days the certificate is valid for (default: 3650)
      • `signing_algorithm`: The signing algorithm to use (default: sha256)
    • `cert_renewal_days`: The number of days before certificate expiration to renew (default: 30)
    • `cache_max_size`: The maximum size of the static file cache in bytes (default: 10485760)
    • `cache_ttl`: The time-to-live (TTL) for cached files in seconds (default: 60)
    • `enable_gzip_compression`: Whether to enable Gzip compression (default: true)
    • `enable_brotli_compression`: Whether to enable Brotli compression (default: true)
    • `enable_basic_auth`: Whether to enable basic authentication (default: false)
    • `auth_users`: A dictionary of authorized usernames and passwords for basic authentication
    • `enable_virtual_hosts`: Whether to enable virtual hosts support (default: false)
    • `virtual_hosts`: A dictionary of virtual host mappings, with each key representing a domain and the value specifying the `htdocs_dir` and `entry_point` for that domain
    • `enable_custom_error_pages`: Whether to enable custom error pages (default: false)
    • `error_pages`: A dictionary mapping HTTP error codes to custom HTML pages
    • `redirects`: A dictionary of URL redirects, with each key representing the old URL and the value specifying the new URL or external website
    • `enable_email_verification`: Whether to enable email verification for new user registrations (default: false)
    • `smtp_config`: Configuration options for sending verification emails via SMTP
      • `host`: SMTP server hostname
      • `port`: SMTP server port
      • `username`: SMTP username
      • `password`: SMTP password
      • `use_tls`: Whether to use TLS encryption (default: true)
      • `from_email`: The email address to send verification emails from


    • Clone the repository or download the `` file.
    • Create a `config.json` file in the same directory as `` with your desired configuration options.
    • Place your static files and PHP scripts in the `htdocs` directory or subdirectories.
    • Run the server using `python`.
    • Access the server in a web browser at `http://localhost` (or the configured port).
    • Upload files via the `/upload` endpoint and access them from the `htdocs/download.html` page.
    • Register new user accounts and verify email addresses to enable user-specific features.


    Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.


    This project is open-source and available under the MIT License.


    Kynlo's Software / Login Script with PHP and SQLite
    « on: March 13, 2024, 10:37 PM »
    Login Script with PHP and SQLite

    This repository contains a simple and secure login script implemented in PHP with an SQLite database for user authentication. The script offers features such as:

    User registration: Users can create new accounts by providing a username, email, and password.
    User login: Registered users can log in using their credentials to access their dashboard.
    User dashboard: After logging in, users are redirected to their personalized dashboard where they can view their profile information and submit messages.
    Message submission: Users can submit messages through a form on their dashboard.
    Public messages: All users can view the public messages submitted by other users.
    User messages: Users can view and manage their own messages, including editing and deleting them.


    • PHP 7.0 or higher
    • SQLite3 extension enabled
    • Web server (e.g., Apache, Nginx)
    • Python 3.x (for running the database creation script)


    • Clone the repository to your local machine.
    • Run the script to create the SQLite database file.
    • Configure your web server to serve the PHP files.
    • Access the login page (index.php) in your browser and start using the script.


    • Navigate to the login page (index.php).
    • Enter your username/email and password.
    • Click on the "Login" button.
    • Upon successful authentication, you will be redirected to the dashboard page (dashboard.php).


    • Passwords are securely hashed using PHP's built-in password_hash() function before storing them in the database.
    • User input is sanitized and validated to prevent SQL injection and cross-site scripting (XSS) attacks.
    • Sessions are used to manage user authentication and maintain logged-in state.


    This project is licensed under the MIT License. See the LICENSE file for details.

    GitHub Repository

    Visit the KynlosLoginScript repository for more information.


    Contributions are welcome! Feel free to open issues and pull requests to suggest improvements or report bugs. Donations towards the project are also HIGHLY welcomed!

    Kynlo's Software / How to contribute!
    « on: March 06, 2024, 07:10 PM »
    Help Keep the Code Flowing with a Cup of Coffee! ☕

    If you've found my software helpful and want to lend a hand in keeping the code flowing, why not consider buying me a cup of coffee? Your support can help fuel late-night coding sessions and keep the creativity brewing!

    1. Why Donate?

    Your donation directly supports my work as a sole developer, enabling me to dedicate more time and energy to creating and maintaining high-quality software. Whether it's fixing bugs, adding new features, or improving documentation, your contribution helps ensure that the projects you love continue to thrive.

    2. How Your Donation Helps:

    - Fueling Creativity: A cup of coffee can work wonders for productivity and creativity. With your support, I can stay energized and focused on delivering top-notch software that meets your needs.
    - Covering Expenses: Developing and maintaining software comes with various expenses, including hosting fees, domain registrations, and software licenses. Your donation helps cover these costs, ensuring that the projects remain freely accessible to everyone.
    - Showing Appreciation: Your donation is a tangible way to show your appreciation for the work put into the projects. It motivates me to continue coding like crazy and striving for excellence in everything I do.

    3. How to Donate:

    If you'd like to contribute and help keep the code flowing, you can buy me a cup of coffee by visiting:

    - Stripe
    - PayPal

    Support me via DonationCredits:
    If you prefer to use DonationCredits, you can support me here.

    Thank you for considering supporting my projects. Your generosity helps fuel my passion for coding and enables me to continue creating software that makes a difference in the lives of users like you.

    Cheers to the power of coffee and the endless possibilities it brings to the world of coding!

    RepoRover - GitHub Repository Automation Companion 🚀

    Welcome to RepoRover, your indispensable companion for seamlessly navigating the expansive realm of GitHub repositories! 🌌 This Python script, aptly named RepoRover (, brings a touch of sophistication to your repository-related tasks, making automation both enjoyable and efficient.

    • Commit Exploration: Embark on an insightful journey through commit history, unraveling the details of each SHA, message, author, and date.
    • Real-time Console Updates: Stay informed with dynamic updates in the console as RepoRover diligently explores the GitHub cosmos.
    • Tailored Log Files: Craft individual log files for each repository, capturing changes with the precision of a seasoned explorer.
    • Consolidated Log Hub: Assemble all logs into a unified hub for a comprehensive view of your GitHub ventures.
    • HTML Data Maps: Generate HTML logs for a polished and organized representation, enhancing your journey through repositories.
    • Configuration Mastery: Harness the power of RepoRover's customizable behavior through the config.ini file, offering flexibility and control.
    • Database Integration Excellence: Store repository data in an SQLite database, creating a robust archive of historical changes.
    • Plot your course by configuring repository URLs in the config.ini file under the [GitHubRepos] section.
    • Tailor your journey with preferences, scheduling, HTML logs, and database options in the config.ini file.
    • Launch RepoRover using the command:
    , and witness its automatic navigation through the GitHub galaxy, uncovering the intricacies of each repository.

    Configuration Options
    • GitHub Token: Secure your GitHub token in the config.ini file under the [GitHub] section.
    • Log Preferences: Choose the specific information to log, such as stars, forks, popularity comparisons, and latest releases.
    • Scheduling Mastery: Set the time interval for RepoRover to embark on its automatic explorations.
    • HTML Logging Elegance: Toggle HTML log generation for visually appealing representations of your GitHub expeditions.
    • Database Integration Wisdom: Decide whether to store repository data in a robust database and specify the database file.
    Getting Started
    • Ensure you have Python installed and are ready for a productive coding session.
    • Configure your config.ini file with repository URLs and preferences.
    • Install required packages by running:
      pip install beautifulsoup4 tqdm
    • Launch RepoRover using the command:
      Note: If you haven't set a GitHub token, RepoRover will prompt you during its exploration.

      Embark on your GitHub journey with RepoRover, and may your code explorations be both enriching and enjoyable! 🌟🚀 If you have any questions or wish to share your experiences, feel free to reach out. Happy coding! 🌌✨

      Known Issues
      HTML Output and Combined Outputs are not currently filling with data. Will be fixed in a future update.


    Kynlo's Software / Modularization Magic
    « on: March 06, 2024, 06:51 PM »
    Modularization Magic ✨

    This tool is designed to help web developers modularize their HTML files by extracting inline JavaScript and CSS into separate files. It also provides options to minify the extracted CSS and JS files and to compress the HTML content.

    • Extract inline JavaScript and CSS from an HTML file.
    • Minify JavaScript and CSS if desired.
    • Compress HTML content if desired.
    • Create backups of the original HTML file.
    • Validate the resulting HTML using the html5validator tool.
    • Logging of the modularization process.

    • Python 3.x
    • BeautifulSoup4:
    pip install beautifulsoup4
    • cssmin:
      pip install cssmin
    • jsmin:
      pip install jsmin
    • htmlmin:
      pip install htmlmin
    • html5validator (optional for validation): Install with
      npm install -g html5validator


        To use the HTML Modularization Tool, simply install the requirements:

        pip install -r requirements.txt

        Then run the script and follow the prompts:


        You will be asked to provide paths for the input HTML file and the output files for HTML, CSS, and JS. You can also choose whether to minify the JavaScript and CSS and whether to compress the HTML content.

        Input Prompts
        • Enter the path of the input HTML file.
        • Enter the path for the output HTML file (default: output.html).
        • Enter the path for the output CSS file (default: styles.css).
        • Enter the path for the output JS file (default: scripts.js).
        • Confirm overwriting if output files already exist.
        • Choose whether to minify JS (y/n).
        • Choose whether to minify CSS (y/n).
        • Enter a custom title for the HTML document (optional).
        • Choose whether to compress HTML (y/n).

        The script will generate the following files:

        • A new HTML file with links to the external CSS and JS files.
        • An external CSS file containing all styles extracted from the HTML.
        • An external JS file containing all scripts extracted from the HTML.
        • Backup files of the original HTML content.

        If you have html5validator installed, the script will validate the modified HTML file and report any issues.

        The script logs the modularization process to modularization.log.

        This project is open source and available under the MIT License.

        Contributions are welcome! Please feel free to submit a pull request.

        If you encounter any problems or have suggestions, please open an issue on the project's GitHub page.

        About Modularization Magic ✨
        Welcome to the world of Modularization Magic, where your HTML files undergo a transformation like never before! 🚀

        What is Modularization Magic?
        This enchanting script empowers you to wave a wand (or a keyboard) and effortlessly modularize your HTML files. It extracts JavaScript and CSS elements, creating separate files for a cleaner, more organized codebase.

        But that's not all! With options for minification, compression, and customization, this script adds a touch of wizardry to your web development toolkit.

        How to Unleash the Magic
        Simply run the script, answer a few prompts, and watch as it performs its spellbinding feats:

        • Extracting Scripts and Styles: The script gracefully separates scripts and styles, turning chaos into clarity.
        • Creating Backups: Fear not the unknown! The script creates backups of your original HTML, CSS, and JS files with timestamps.
        • Minification and Compression: Choose to minify your JavaScript and CSS for a streamlined, efficient enchantment. You can also compress the HTML for an added touch of magic.
        • Customization: Give your HTML document a unique identity with a custom title.
        • Validation: The script ensures your magic is in harmony with HTML5 standards by validating the modified HTML.

        Abracadabra, Your Code is Transformed!
        Let the Modularization Magic script be your trusted companion on your web development adventures. Embrace the magic, organize your code, and watch your projects sparkle with newfound brilliance!

        🧙 Happy Coding and May the Modularization Magic Be Ever in Your Favor! 🌟


      Kynlo's Software / Color Extractor and Analysis Tool
      « on: March 06, 2024, 06:50 PM »
      Color Extractor and Analysis Tool

      The Color Extractor and Analysis Tool is a robust software solution designed for extracting color information from images and conducting in-depth color analysis. This tool empowers users to gain valuable insights into the color composition of an image, identify dominant colors, analyze color distribution, find closest color names and HEX codes, and generate visually appealing color palettes.

      Utilizing advanced algorithms, the tool processes selected images by analyzing each pixel, identifying unique colors, and calculating color occurrences. The average color of the image is computed in both RGB and HSV color spaces, and the most frequently occurring color, the dominant color, is determined.

      Key Features
      • Color Information Extraction: Extract color information by analyzing each pixel.
      • Dominant Color Identification: Identify the most frequent color in the image.
      • Average Color Calculation: Compute average color in both RGB and HSV color spaces.
      • Color Distribution Analysis: Determine the percentage representation of each color.
      • Color Name and HEX Code Identification: Find closest color names and corresponding HEX codes.
      • Similar Color Detection: Identify similar colors based on predefined color sets.
      • Color Analysis Report: Generate a comprehensive report with image details, unique colors, dominant color, color distribution, color names, and HEX codes.
      • Color Palette Generation: Create visually appealing color palette images showcasing extracted colors.
      • Image File Selection: Easily select image files through command-line arguments or a graphical file selection dialog.
      • Error Logging: Log any errors during the color extraction process for troubleshooting purposes.
      Planned Features
      No planned features at the moment.


      • Drop an image file on top of the Python script.
      • Alternatively, run with command-line arguments:
      python path/to/img.jpeg

        Using the Application
        The tool will process the image and generate a text file and a palette file.

        Simply delete the tool.

        Whether you're a designer, artist, marketer, or just curious about the color composition of an image, the Color Extractor and Analysis Tool is a valuable asset. Gain insights into colors, explore their distribution, and effortlessly create stunning color palettes with this powerful tool.

        Feel free to contribute or provide feedback to enhance the tool further.


        Kynlo's Software / KSec (Website Security Scanner)
        « on: March 06, 2024, 06:48 PM »
        Website Security Scanner


        The Website Security Scanner is a Python script designed to empower security professionals, developers, and website administrators with robust capabilities for identifying and mitigating potential vulnerabilities within web applications. This tool automates the scanning process to streamline security assessments and enhance the resilience of web applications against cyber attacks.


        • Comprehensive Scanning Capabilities: Detect vulnerabilities across HTML, JavaScript, CSS, PHP endpoints, SSL configuration, HTTP headers, file inclusion, command injection, and hidden directories.
        • CVE Search Functionality: Search for Common Vulnerabilities and Exposures (CVEs) associated with a given website to identify known vulnerabilities and potential risks.
        • HTML Report Generation: Generate comprehensive HTML reports summarizing the scan results for in-depth analysis and reporting of security findings.
        • User-Friendly Interface: Simple command-line interface with intuitive prompts and instructions to guide users through the scanning process seamlessly.

        • Clone or Download: Clone or download the repository containing the Website Security Scanner.
        • Navigate to Directory: Open the terminal and navigate to the directory containing the scanner script.
        • Execute Script: Run the script using Python by executing the following command:
          • Follow Prompts: Follow the prompts to agree to use the tool responsibly and enter the URL of the website to scan.
          • View Results: Once the scan is complete, view the generated HTML report for detailed scan results.
          Usage Warning

          This tool is intended for ethical security testing purposes only. Ensure that you have explicit permission to scan websites before proceeding. Unauthorized scanning may be illegal and unethical, potentially resulting in legal consequences. By using this tool, you agree to use it responsibly and adhere to all applicable laws and regulations.


          The Website Security Scanner is licensed under the MIT License, providing users with the freedom to use, modify, and distribute the software in accordance with the terms of the license. Refer to the file for detailed licensing information.


        Kynlo's Software / KScan (Website Security Scanner)
        « on: March 06, 2024, 06:45 PM »
        Website Security Scanner Overview

        The Website Security Scanner is a sophisticated Python script meticulously designed to empower security professionals, developers, and website administrators with robust capabilities for identifying and mitigating potential vulnerabilities within web applications. This tool serves as an essential asset in the arsenal of security practitioners, offering an automated and comprehensive approach to security testing.


        In today's digital landscape, web applications are continuously exposed to evolving threats, ranging from common vulnerabilities like Cross-Site Scripting (XSS) to complex security risks such as command injection and SSL misconfigurations. The primary purpose of the Website Security Scanner is to provide a proactive defense mechanism against these threats by facilitating systematic vulnerability assessment and detection. By automating the scanning process, the script aims to streamline security assessments, accelerate vulnerability identification, and ultimately enhance the resilience of web applications against potential cyber attacks.


        • Comprehensive Scanning Capabilities: The scanner offers comprehensive scanning capabilities across various aspects of web applications, including HTML, JavaScript, CSS, PHP endpoints, SSL configuration, HTTP headers, file inclusion, command injection, and hidden directory detection.
        • CVE Search Functionality: Enables users to search for Common Vulnerabilities and Exposures (CVEs) associated with a given website, providing insights into known vulnerabilities and potential risks.
        • HTML Report Generation: Generates comprehensive HTML reports summarizing the scan results, facilitating in-depth analysis and reporting of security findings. Reports are structured and well-organized, providing clear visibility into identified vulnerabilities and their severity levels.
        • User-Friendly Interface: Features a simple command-line interface, making it accessible to users of all skill levels. Offers intuitive prompts and instructions, guiding users through the scanning process seamlessly.
        Scan Types

        • HTML Vulnerability Scanning: Analyzes the HTML content of the website to identify potential security risks such as XSS vulnerabilities, deprecated HTML tags, and instances of sensitive data exposure within the HTML code.
        • JavaScript Vulnerability Scanning: Assesses the JavaScript code used within the website for security risks, including the usage of dangerous functions and potential vulnerabilities within the JavaScript implementation.
        • CSS Vulnerability Scanning: Identifies security issues within the Cascading Style Sheets (CSS) used in the website, including CSS injection vulnerabilities and risks related to URL redirection within CSS files.
        • PHP Endpoint Scanning: Checks for vulnerabilities related to PHP endpoints within the website, detecting PHPInfo exposure and other potential PHP-related security risks.
        • SSL Configuration Scanning: Evaluates the SSL configuration of the website for potential security weaknesses, including SSL certificate expiration, SSL/TLS configurations, and other SSL-related risks.
        • HTTP Header Scanning: Assesses the HTTP headers sent by the website to ensure proper security controls are in place, including checks for security-related headers such as Content-Security-Policy, X-XSS-Protection, X-Content-Type-Options, and X-Frame-Options.
        • File Inclusion and Command Injection Scanning: Detects vulnerabilities related to file inclusion and command injection within the website, identifying potential points of exploitation and assessing associated risks.
        • Hidden Directory Detection: Aims to identify hidden directories within the website structure, enhancing reconnaissance capabilities and helping discover potential security risks.

        The Website Security Scanner is licensed under the MIT License, providing users with the freedom to use, modify, and distribute the software in accordance with the terms of the license. Refer to the file for detailed licensing information.


        Kynlo's Software / SVG Drawing App with Fabric.js
        « on: March 06, 2024, 06:43 PM »
        SVG Drawing App with Fabric.js

        This is a simple SVG drawing web application built using Fabric.js library. It allows users to draw various shapes, freehand drawings, add text, upload images, and manipulate SVG elements. The application provides functionalities like undo, redo, clear canvas, and save as SVG.


        • Drawing Tools: Users can select from different drawing tools such as brush, eraser, and select mode.
        • Shape Drawing: Options to draw shapes like rectangles, circles, and triangles.
        • Text Addition: Users can add text to the canvas.
        • Image Upload: Allows users to upload images onto the canvas.
        • Color Picker: Choose colors for drawing tools and shapes.
        • Brush Size Slider: Adjust the size of the brush.
        • Undo/Redo: Support for undoing and redoing actions.
        • Save as SVG: Save the canvas drawing as an SVG file.
        • Return to Top Icon: Scroll back to the top of the page easily.
        How to Use

        • Clone or download the repository.
        • Open index.html in a web browser.
        • Use the various drawing tools and functionalities provided.
        • Click on "Save as SVG" to download the drawing as an SVG file.
        • Enjoy drawing!

        Libraries Used

        • Fabric.js: A powerful JavaScript library that makes working with HTML5 canvas easy.
        • Tailwind CSS: A utility-first CSS framework for styling the application.
        • Font Awesome: Provides a wide range of icons for UI elements.

        Contributions are welcome! Feel free to fork the repository and submit pull requests for any improvements or additional features.


        This project is licensed under the MIT License.


        Kynlo's Software / Kynlos Python Packager
        « on: March 06, 2024, 05:58 PM »
        Kynlos Python Packager

        Kynlos Python Packager is a powerful tool crafted to streamline the process of packaging Python projects into standalone executables. Leveraging the capabilities of PyInstaller, this script empowers developers to bundle their Python applications and scripts into self-contained executables, eliminating the need for users to install Python or any dependencies.

        Key Features:

        • Versatile Packaging Options: Kynlos Python Packager offers both command-line interface (CLI) and wizard-based packaging options, catering to users with varying preferences and levels of expertise. Whether you prefer fine-grained control through the CLI or a guided experience with the wizard, Kynlos Python Packager has you covered.
        • Extensive Customization: With a plethora of customizable options, users can tailor the packaging process to their specific project requirements. From specifying additional files and directories to including custom icons and license files, the script provides flexibility to accommodate diverse project needs.
        • Platform Agnostic: Whether you're developing applications for Windows, macOS, or Linux, Kynlos Python Packager ensures cross-platform compatibility by generating executables that can run seamlessly on different operating systems. This enables developers to reach a wider audience without worrying about platform-specific issues.
        • Automatic Dependency Resolution: Kynlos Python Packager automatically resolves and bundles dependencies required by the packaged Python project, ensuring that the executable remains self-contained and portable. This simplifies distribution and deployment, as users no longer need to manually install dependencies.
        • Comprehensive Documentation: To facilitate ease of use, the script comes with comprehensive documentation that explains each parameter, option, and customization feature in detail. Whether you're a novice user or an experienced developer, the documentation serves as a valuable resource for understanding and harnessing the full potential of Kynlos Python Packager.
        Getting Started:

        To begin using Kynlos Python Packager, simply clone the repository and follow the instructions provided in the README. Whether you're packaging a simple Python script or a complex application, the script's intuitive interface and extensive customization options make the packaging process a breeze.


        Using Command Line Interface (CLI)

        python [-h] [-w] [path] [-d] [-o OUTPUT_DIR] [-i INCLUDE] [-a PYINSTALLER_ARGS]
                           [-n OUTPUT_NAME] [-c] [--icon ICON] [--hidden-imports HIDDEN_IMPORTS]
                           [--version VERSION] [--binaries BINARIES] [--license LICENSE]
                           [--env-vars ENV_VARS] [--python PYTHON] [--no-compress] [--hooks HOOKS]
                           [--bootloader BOOTLOADER] [--manifest MANIFEST] [--splash SPLASH]
                           [--runtime-hooks RUNTIME_HOOKS] [--exe-format {exe,directory}]
                           [--system-path SYSTEM_PATH] [--upx-level {0..9}] [--eula EULA]
                           [--spec-file SPEC_FILE] [--runtime-hook-spec RUNTIME_HOOK_SPEC]
                           [--template TEMPLATE] [--compile-pyc] [--icon-mac ICON_MAC]
                           [--package-data PACKAGE_DATA] [--build-mode BUILD_MODE]
                           [--custom-hooks CUSTOM_HOOKS] [--custom-upx CUSTOM_UPX]
                           [--bundle-stdlib] [--exclude EXCLUDE] [--bootloader-conf BOOTLOADER_CONF]
                           [--verbose] [--external-modules EXTERNAL_MODULES] [--bundled-icon BUNDLED_ICON]
                           [--temp-dir TEMP_DIR] [--upx-conf UPX_CONF] [--resource-files RESOURCE_FILES]
                           [--app-name APP_NAME] [--log-dir LOG_DIR] [--app-version APP_VERSION]
                           [--additional-files ADDITIONAL_FILES] [--user-hooks USER_HOOKS]
                           [--file-version FILE_VERSION] [--custom-library CUSTOM_LIBRARY] [--upx-path UPX_PATH]
                           [--no-confirm] [--custom-commands CUSTOM_COMMANDS] [--freeze-imports] [--clean-build]
                           [--warn-project-version] [--warn-no-version] [--name NAME]

        Using Wizard
        python PATH -w

        Follow the wizard prompts to guide you through the packaging process.


        • `-w`, `--wizard`: Launches a wizard to guide you through the packaging process.
        • `path`: Path to the Python project directory.
        • `-d`, `--directory`: Flag to indicate if the path is a directory.
        • `-o`, `--output-dir`: Output directory for the packaged executable.
        • `-i`, `--include`: Additional files or directories to include in the package (format: `source_path:destination_path`).
        • `-a`, `--pyinstaller-args`: Additional arguments to PyInstaller.
        • `-n`, `--output-name`: Custom name for the output executable.
        • `-c`, `--clean`: Clean build and dist directories before packaging.
        • `--icon`: Icon file for the executable.
        • `--hidden-imports`: Additional hidden imports.
        • `--version`: Version information for the executable.
        • `--binaries`: Additional binaries or data files to include.
        • `--license`: Custom license file for the packaged executable.
        • `--env-vars`: Environment variables for the packaged executable (comma-separated).
        • `--python`: Custom Python interpreter to bundle with the executable.
        • `--no-compress`: Disable compression of bundled files.
        • `--hooks`: Additional PyInstaller hooks.
        • `--bootloader`: Custom bootloader file.
        • `--manifest`: Custom manifest file.
        • `--splash`: Splash screen file.
        • `--runtime-hooks`: Runtime hooks file.
        • `--exe-format`: Specify whether to generate a single executable (`exe`) or a directory with bundled files (`directory`).
        • `--system-path`: Additional paths to include in the system PATH environment variable.
        • `--upx-level`: Specify the UPX compression level.
        • `--eula`: End User License Agreement (EULA) file.
        • `--spec-file`: Custom PyInstaller spec file.
        • `--runtime-hook-spec`: Custom runtime hook specification.
        • `--template`: Custom template directory for PyInstaller.
        • `--compile-pyc`: Compile Python files into bytecode (.pyc) files.
        • `--icon-mac`: Custom icon for the packaged executable on macOS.
        • `--package-data`: Additional package data files.
        • `--build-mode`: Specify whether to generate a debug or release build.
        • `--custom-hooks`: Custom hooks directories.
        • `--custom-upx`: Custom UPX binary.
        • `--bundle-stdlib`: Bundle the standard library into the executable.
        • `--exclude`: Custom exclusion patterns for file/directory inclusion.
        • `--bootloader-conf`: Custom bootloader configuration file.
        • `--verbose`: Enable verbose output during the packaging process.
        • `--external-modules`: External Python modules.
        • `--bundled-icon`: Custom icon for the bundled files on Windows.
        • `--temp-dir`: Custom location for the PyInstaller temporary directory.
        • `--upx-conf`: Custom UPX configuration file.
        • `--resource-files`: Additional resource files.
        • `--app-name`: Custom app name for macOS bundles.
        • `--log-dir`: Custom output directory for logs.
        • `--app-version`: Custom version number for the bundled application.
        • `--additional-files`: Additional files to be included in the application bundle.
        • `--user-hooks`: Custom path for user hooks.
        • `--file-version`: Custom file version for the bundled executable.
        • `--custom-library`: Custom library files.
        • `--upx-path`: Custom path for UPX compression.
        • `--no-confirm`: Skip confirmation prompts during packaging.
        • `--custom-commands`: Additional custom commands for PyInstaller.
        • `--freeze-imports`: Freeze imports and disable packing.
        • `--clean-build`: Clean build directories before packaging.
        • `--warn-project-version`: Enable warnings for project version mismatches.
        • `--warn-no-version`: Enable warnings for missing version information.
        • `--name`: Custom name for the packaged executable.


        To package a Python project into a standalone executable using the CLI:

        python "\path\to\" --icon my_icon.ico --output-dir dist --no-compress --verbose

        With more options:

        python -d "\path\to\my_project" \
            --output-dir dist \
            --no-compress \
            --verbose \
            --icon my_icon.ico \
            --hidden-imports pandas \
            --env-vars "KEY=VALUE,ANOTHER_KEY=ANOTHER_VALUE" \
            --additional-files "data_folder:data_folder" \
            --upx-level 9 \
            --custom-commands="--add-data 'resource_folder:resource_folder' --exclude '__pycache__'" \
            --name NAME \
            --custom-upx C:\path\to\custom_upx.exe \
            --bundle-stdlib \
            --clean-build \
            --warn-project-version \
            --warn-no-version \
            --app-version 1.0 \
            --file-version 1.0 \

        (Single line)

        python -d "\path\to\my_project" --output-dir dist --no-compress --verbose --icon my_icon.ico --hidden-imports pandas --env-vars "KEY=VALUE,ANOTHER_KEY=ANOTHER_VALUE" --additional-files "data_folder:data_folder" --upx-level 9 --custom-commands="--add-data 'resource_folder:resource_folder' --exclude '__pycache__'" --name NAME --custom-upx C:\path\to\custom_upx.exe --bundle-stdlib --clean-build --warn-project-version --warn-no-version --app-version 1.0 --file-version 1.0 --no-confirm

        This will package the script into a standalone executable with the specified options.


        Announce Your Software/Service/Product / Modularization Magic ✨
        « on: January 28, 2024, 08:29 PM »
        🚀 Exciting Announcement: Unveiling Modularization Magic! ✨

        Welcome to a new era in web development with Modularization Magic! 🌟 Our innovative tool is here to transform the way you structure and optimize your HTML, CSS, and JavaScript files.

        🌟 Key Features:

        • Effortless Extraction and Organization: Say goodbye to tangled code! Modularization Magic allows you to seamlessly extract inline JavaScript and CSS from your HTML files, creating a well-organized and maintainable codebase.

        • Dynamic Minification: Boost the performance of your scripts and styles with the option to minify JavaScript and CSS on the fly. Experience faster load times and improved efficiency.

        • HTML Content Compression: Optimize your web pages by compressing HTML content. This feature ensures a lighter payload, contributing to a smoother and faster user experience.

        • Safety First - Automated Backups: The tool takes a proactive approach to safety by automatically creating backups of your original HTML, CSS, and JS files. Embrace experimentation without the fear of losing your foundational code.

        • Validation and Confidence: Worried about the validity of your modified HTML? Fear not! Modularization Magic integrates seamlessly with the html5validator, offering validation to ensure your HTML adheres to standards.

        • Detailed Logging: Gain insights into the modularization process with a comprehensive log. Track the transformation journey and troubleshoot with ease.

        • User-Friendly Prompts: The tool engages users with intuitive prompts, guiding you through the process. Customization options include choosing output file names, confirming overwrites, and more.

        • Open Source and Contributions: Modularization Magic is an open-source project under the MIT License. We welcome and encourage contributions from the community. Feel free to submit pull requests and help enhance this magical tool.

        • Responsive Support: Encountering issues or have suggestions? Our support is just a click away. Open an issue on our GitHub page, and our responsive team will assist you.

        🎉 Explore on GitHub:
        Modularization Magic Repository

        Join the Excitement at NANY 2024: Unleash Your Creativity and Shape the Future of Software

        Get ready for the most anticipated event of the year for software developers - NANY (New Apps for the New Year) 2024! It's your time to shine and showcase your skills by creating a groundbreaking application that will captivate users worldwide.

        NANY is not your typical event; it's a vibrant celebration of innovation, programming prowess, and the joy of sharing your creations with a global community. There are no winners or losers - it's all about having a blast and embracing the spirit of collaboration.

        Whether you're a seasoned developer or just starting your journey, NANY welcomes all. The only requirement is that your application must be freely available for everyone to use and share.

        To participate, simply submit your incredible creation to the NANY website before January 1, 2025.  A full roundup of all released will be posted around January 31, 2024, in a grand unveiling that will leave you inspired and energized.

        How to Ignite Your NANY Journey

        Embarking on your NANY adventure is as easy as 1-2-3:

        1. Visit the forum and create an account to unlock the gateway to endless possibilities.

        2. Submit your exceptional application in the NANY 2024 section before the deadline hits on January 1, 2025. Let your imagination run wild - games, utilities, or expansive applications, the choice is yours. You can target any operating system or even create a web-based marvel.

        3. Amplify the excitement by spreading the word to your friends, followers, and fellow enthusiasts. Let them experience the magic you've woven with your coding expertise.

        Reap the Rewards of NANY

        Every participant in NANY 2024 will be rewarded with a stunning commemorative coffee mug, a keepsake symbolizing your journey into the future of software development. But that's not all - the winners (EVERYBODY) of the event will bask in the limelight, gaining exposure to an extensive network of passionate software developers eager to witness your genius.

        🎉 Get Ready for the Ultimate Software Extravaganza - Blasts From The Past! 🚀

        Prepare to be amazed as the NANY (New Apps for the New Year) event returns with a bang! Step into a world where innovation knows no bounds

        Check out this showcase of the most extraordinary software creations from previous events. Join us on this thrilling journey through time, where each application is a testament to the boundless creativity and talent of our brilliant developers.

        🌟 Behold the Legends: Witness the iconic releases that have left an indelible mark on the software world. From the groundbreaking LaunchBar Commander to the game-changing FARR (Find and Run Robot), these legendary applications have redefined how we interact with our digital realm.

        🎨 Unleash Your Imagination: Immerse yourself in a world of creativity with awe-inspiring tools like Screenshot Captor and Circle Dock. Capture, edit, and annotate screenshots with unparalleled ease, or revolutionize your desktop experience with a unique and elegant circular dock.

        Boost Your Efficiency: Experience the power of productivity with Process Tamer and Clipboard Help+Spell. Take control of CPU usage, prioritize tasks, and ensure a seamless multitasking experience. Never misspell a word or lose valuable information with advanced clipboard management.

        🔮 Embrace the Unexpected: Discover hidden gems that surprise and delight, like Point Motivator, where tasks become rewarding adventures, and PopUp Wisdom, which delivers daily doses of inspiration. These apps bring joy and wisdom to your digital life.

        🚀 Unleash Your Potential: From Stickies to The Form Letter Machine, these ingenious creations simplify your everyday tasks, saving you time and effort. They are your reliable companions on the journey towards an organized and productive life.

        Join us at the NANY event and be captivated by the exceptional software releases that have left their mark on the world. Let your imagination run wild as you explore the limitless possibilities of these remarkable applications. Together, we celebrate the brilliance and innovation of our developers, past and present. Don't miss this extraordinary event that will leave you inspired and eager for more! 🌟

        NANY 2024 is where dreams come to life, ideas flourish, and boundaries are shattered. Don't miss your chance to be a part of this extraordinary event that defines the next generation of software. Mark your calendars, gather your tools, and join us on this incredible journey at NANY 2024!

        N.A.N.Y. 2024 / [Pre-Release] Image Colour Info Extractor
        « on: May 31, 2023, 08:52 PM »
        NANY 2024 Entry Information

        Application Name [Python] Image Colour Information Extractor
        Version 0.1
        Short Description Extract color information, analyze color composition, and generate color palettes from images with the Color Extractor and Analysis Tool.
        Supported OSes Anything with Python
        Web Page Here
        Download LinkDownload Here
        System Requirements
        • pip install Pillow colormath webcolors tqdm
        Author Clicky my name

        The Color Extractor and Analysis Tool is a powerful software solution that allows you to extract color information from images and analyze various aspects of their color composition. With this tool, you can gain insights into the colors present in an image, identify dominant colors, calculate color distribution, find closest color names and HEX codes, and generate color palette images.

        Using advanced algorithms, the tool processes your selected image and extracts color information by analyzing each pixel. It identifies unique colors, counts their occurrences, and calculates the average color of the image in both RGB and HSV color spaces. The dominant color, which appears most frequently, is also determined.

        The tool provides detailed color analysis by presenting the color distribution in the image. You can see the percentage representation of each color, allowing you to understand the overall color composition. Additionally, the tool identifies color names and their corresponding HEX codes for the colors present in the image. This feature enables you to precisely identify and communicate specific colors.

        To further enhance your color analysis, the tool finds similar colors for each unique color present in the image. By comparing the colors with a predefined set of colors, it identifies the closest matches based on color similarity. This capability is valuable for tasks such as color matching and color coordination.

        Once the color analysis is complete, the tool saves the extracted color information to a text file for easy reference. The saved file includes the image name, dimensions, number of unique colors, average color values, dominant color, color distribution percentages, color names, HEX codes, and similar colors.

        In addition to the color analysis report, the tool generates a visually appealing color palette image. The color palette showcases a collection of colors extracted from the image, allowing you to visualize the overall color scheme. The palette image can be saved separately for further use and sharing.

        The Color Extractor and Analysis Tool offers a user-friendly interface that allows you to select image files easily. Whether you choose to provide the image file path as a command-line argument or use the graphical file selection dialog, the tool seamlessly processes the image and provides comprehensive color analysis results.

        Whether you are a designer, artist, marketer, or simply interested in understanding the color composition of an image, the Color Extractor and Analysis Tool is a valuable asset. Gain valuable insights into colors, explore their distribution, and create stunning color palettes with ease using this powerful tool.

        • Color Information Extraction: Extracts color information from images by analyzing each pixel.
        • Dominant Color Identification: Identifies the dominant color in the image based on frequency.
        • Average Color Calculation: Calculates the average color of the image in both RGB and HSV color spaces.
        • Color Distribution Analysis: Determines the percentage representation of each color, providing insights into color composition.
        • Color Name and HEX Code Identification: Finds closest color names and corresponding HEX codes for colors in the image.
        • Similar Color Detection: Identifies similar colors by comparing them with a predefined set of colors.
        • Color Analysis Report: Generates a comprehensive report with image details, unique colors, dominant color, color distribution, color names, and HEX codes.
        • Color Palette Generation: Creates a visually appealing color palette image showcasing the extracted colors.
        • Image File Selection: Allows easy selection of image files either through command-line arguments or a graphical file selection dialog.
        • Error Logging: Logs any errors that occur during the color extraction process for troubleshooting purposes.

        Planned Features
        No idea yet

        Drop an image file on top of the python script
        run with args: python path/to/img.jpeg

        Using the Application
        It will do it's thing and spit out a text file and palette file

        Delete it

        Example Output
        Image: C:/Users/steph/Desktop/FW/fg/1scripts/0a528585-00ca-4a92-9248-0da6edb7e067.jpeg
        Size: 540x239
        Number of unique colors: 41992
        Average color (RGB): (136, 142, 152)
        Average color (HSV): (0.6041666666666666, 0.10526315789473684, 152)
        Dominant color: (117, 131, 132)
        Color Distribution:
        (121, 144, 188): 0.00%
        (120, 143, 187): 0.01%
        (117, 141, 185): 0.01%
        (116, 140, 184): 0.00%
        (117, 144, 187): 0.02%
        (118, 145, 188): 0.01%
        (115, 142, 185): 0.01%
        (114, 143, 185): 0.01%
        (117, 146, 188): 0.01%
        (116, 145, 187): 0.02%
        (113, 142, 184): 0.00%
        (111, 140, 182): 0.00%
        (115, 142, 187): 0.01%
        (112, 139, 184): 0.00%
        (114, 141, 186): 0.00%
        (114, 141, 188): 0.00%
        [this continues but it's way too much to paste)

        Palette Output:

        Mint Green Pink Entertainment Pixel Art Discord Profile Banner.gif

        N.A.N.Y. 2024 / [Pre-Release] Reddit Image Downloader
        « on: May 31, 2023, 08:42 PM »
        NANY 2024 Entry Information

        Application Name [Python] Reddit Image Downloader
        Version 0.1
        Short Description Download n random images from any subreddit, and save them to a folder 
        Supported OSes Anything that can run python
        Web Page Only available here
        Download LinkDownload Here
        System Requirements
        • Internet Connection: Required for downloading images from Reddit
        • Python Version: 3.7 or above
        • Additional Libraries: requests, Pillow, tqdm
        Author Click my name

        🌟 Introducing the Reddit Image Downloader: Fun-tastic Edition! 📸🎉

        Get ready to embark on a thrilling and fun-filled image expedition with the Reddit Image Downloader: Fun-tastic Edition! This extraordinary Python script is your passport to a world of excitement, laughter, and captivating visuals from Reddit's most entertaining subreddits. Brace yourself for a truly unforgettable experience!

        Why choose the Reddit Image Downloader: Fun-tastic Edition? Here are some fantastic features that will make your image exploration a blast:

        1️⃣ Endless Fun, Beyond Memes: The Reddit Image Downloader: Fun-tastic Edition goes beyond just memes, uncovering a wide range of fun and entertaining images from various subreddits. From adorable animals to stunning landscapes, epic artwork to mind-bending illusions, this script brings you a kaleidoscope of visual delights to brighten your day.

        2️⃣ Example Usages: Let's dive into the exciting possibilities of the Reddit Image Downloader: Fun-tastic Edition! Use it to:

        📸 Create a collection of cute animal pictures from r/aww for a heartwarming slideshow.
        🎨 Gather inspiring artwork from r/art to fuel your creativity and brighten your workspace.
        🌄 Download breathtaking landscape images from r/EarthPorn for virtual travel adventures.
        🤣 Collect hilarious images from r/funny to share with friends and create your own comedy show.
        🚀 Grab captivating space-themed images from r/spaceporn for a cosmic screensaver.
        🎉 Save amusing reaction GIFs from r/reactiongifs to enhance your online conversations.
        🌈 Collect vibrant illustrations from r/illustration for a personalized digital art gallery.
        🐱 Download adorable cat pictures from r/cats to create a "Meow of Fame" montage.
        🍕 Gather mouth-watering food images from r/foodporn for culinary inspiration.
        🏞️ Save stunning nature photos from r/naturepics for a calming and immersive screensaver.
        🐶 Create a collection of funny dog pictures from r/dogpictures to boost your mood.
        🎮 Download epic gaming screenshots and fan art from r/gaming to fuel your gaming passion.
        🖼️ Gather art masterpieces from r/pics for an artistic slideshow on your digital frame.
        🎉 Collect party and celebration images from r/PartyParrot for festive event invitations.
        🌌 Download mesmerizing night sky photos from r/space for stargazing inspiration.
        🍕 Save delicious pizza images from r/Pizza to create a mouth-watering screensaver.
        🌸 Gather beautiful flower images from r/flowers for a virtual bouquet to brighten your day.
        🚗 Download cool car photos from r/Autos to create a dream car vision board.
        🎭 Save images from cosplay subreddits like r/cosplay to appreciate incredible costumes.
        🍩 Gather tempting dessert pictures from r/dessertporn for a drool-worthy dessert recipe book.
        ⚡️ Download images of lightning strikes from r/weather to create a captivating weather screensaver.
        🐍 Collect mesmerizing snake images from r/Sneks to appreciate their beauty and diversity.
        🏞️ Save serene forest landscapes from r/ForestPorn for a peaceful and immersive screensaver.
        🐦 Gather stunning bird photos from r/birdpics to create a digital aviary on your desktop.
        🎉 Download party meme images from r/wheredidthesodago for a hilarious virtual celebration.
        🎵 Collect images related to your favorite music artists from r/Music for a personalized gallery.
        🌊 Save breathtaking ocean scenes from r/OceanPorn for a tranquil and immersive screensaver.
        🐟 Gather colorful fish images from r/Aquariums to create a virtual aquarium on your desktop.
        🚀 Download images from NASA subreddits like r/spaceexploration to explore the wonders of space.
        🎥 Collect behind-the-scenes images from your favorite movies and TV shows from r/MovieDetails.
        🌺 Save images of tropical flowers from r/tropical for a virtual paradise on your desktop.
        🍔 Gather mouth-watering burger images from r/Burgers for a delicious screensaver.
        📚 Download book cover art images from r/bookcoverporn for a virtual library on your desktop.
        🎮 Collect nostalgic video game images from r/retrogaming for a trip down memory lane.
        🎨 Gather incredible street art images from r/graffiti for an urban art gallery.
        🐼 Download adorable panda pictures from r/pandas for an instant mood boost.
        🚁 Capture stunning aerial photography from r/aerialporn for a bird's-eye view.
        🌅 Save breathtaking sunset images from r/SunsetPorn for a soothing screensaver.
        🌳 Gather images of ancient trees from r/ancienttrees to appreciate their majestic beauty.
        🌈 Download rainbow-themed images from r/rainboweverything for a burst of color.
        🎥 Collect behind-the-scenes images from r/behindthegifs for a peek into GIF creation.
        🏞️ Save images of hidden gems from r/hiking for your next outdoor adventure.
        🐮 Gather cute cow pictures from r/happycowgifs for a dose of bovine joy.
        🌌 Download stunning Milky Way photos from r/MilkyWayPhotography for cosmic inspiration.
        🎮 Collect video game-inspired artwork from r/gamingart for a gaming art showcase.
        🎵 Save images of vinyl records and turntables from r/vinyl for music enthusiasts.
        🎉 Download images of celebration fireworks from r/fireworks for a festive screensaver.
        🎭 Collect theatrical makeup images from r/SFX for a showcase of special effects makeup.
        🌍 Save captivating images of Earth from space from r/NASA for a cosmic screensaver.
        🌸 Gather images of Japanese cherry blossoms from r/Sakura for a serene screensaver.

        With the Reddit Image Downloader: Fun-tastic Edition, the possibilities for joy and entertainment are truly limitless. Start your image adventure today and unleash the power of visual fun from Reddit's most delightful subreddits! 🚀📸🎉

        (Yes, AI wrote the description for me because my only remaining braincell wanted to type "it downloads pics from reddit" as the description)

        Subreddit Image Downloader
        Supports args, or user input

        Planned Features
        No clue, ask and I'll probably add


        It's python, just run it like:

        pip install requests urllib uuid4 sys concurrent.futures PIL Image io logging tqdm argparse

        python -h (for help)

        Using the Application
        Do the above and everything else is obvious

        Delete it

        Try not to get obsessed and end up with 3000+ Possum Memes in a folder, like I did

        Known Issues
        Can take up a lot of space if you become obsessed with possum memes

        RAW CODE:

        Code: Python [Select]
        1. import requests
        2. import os
        3. from uuid import uuid4
        4. import urllib
        5. import sys
        6. import concurrent.futures
        7. from PIL import Image
        8. from io import BytesIO
        9. import logging
        10. from tqdm import tqdm
        11. import argparse
        13. logging.basicConfig(level=logging.INFO)
        14. logger = logging.getLogger(__name__)
        16. def download_image(image_link, folder_name):
        17.     try:
        18.         response = requests.get(image_link)
        19.         if response.status_code == 200:
        20.             image_data = response.content
        21.             image =
        22.             if image.format.lower() in ['jpeg', 'jpg', 'png']:
        23.                 image_name = str(uuid4()) + "." + image.format.lower()
        24.                 image_path = os.path.join(folder_name, image_name)
        25.                 with open(image_path, 'wb') as file:
        26.                     file.write(image_data)
        27.       "Downloaded image: {image_link}")
        28.             else:
        29.                 logger.warning(f"Skipping image with unsupported format: {image_link}")
        30.         else:
        31.             logger.warning(f"Unable to download image: {image_link}")
        32.     except Exception as e:
        33.         logger.exception(f"Error downloading {image_link}: {e}")
        35. def download_images(search_term, folder_name, limit):
        36.     if not os.path.exists(folder_name):
        37.         os.mkdir(folder_name)
        39.     headers = {
        40.         "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
        41.     }
        43.     response = requests.get(f"{search_term}/.json?limit={limit}", headers=headers)
        45.     data = response.json()
        47.     if "data" not in data:
        48.         logger.warning("No posts found in subreddit")
        49.         sys.exit()
        51.     image_links = []
        53.     for post in data["data"]["children"]:
        54.         if "post_hint" in post["data"] and post["data"]["post_hint"] == "image":
        55.             image_links.append(post["data"]["url"])
        57.     while len(image_links) < int(limit) and data["data"]["after"]:
        58.         after = data["data"]["after"]
        59.         response = requests.get(f"{search_term}/.json?limit={limit}&after={after}", headers=headers)
        60.         data = response.json()
        61.         for post in data["data"]["children"]:
        62.             if "post_hint" in post["data"] and post["data"]["post_hint"] == "image":
        63.                 image_links.append(post["data"]["url"])
        65.     with concurrent.futures.ThreadPoolExecutor() as executor:
        66.         futures = []
        67.         for image_link in image_links[:int(limit)]:
        68.             futures.append(executor.submit(download_image, image_link, folder_name))
        69.         for future in tqdm(concurrent.futures.as_completed(futures), total=len(futures), desc="Downloading images"):
        70.             try:
        71.                 future.result()
        72.             except Exception as e:
        73.                 logger.exception(f"Error while downloading image: {e}")
        75."All images downloaded to: %s", folder_name)
        77. def validate_folder_name(folder_name):
        78.     folder_name = &#39;&#39;.join(c for c in folder_name if c.isalnum() or c in [&#39;-&#39;, &#39;_&#39;])
        79.     return folder_name
        81. def validate_limit(limit):
        82.     try:
        83.         limit = int(limit)
        84.         if limit <= 0:
        85.             raise ValueError()
        86.     except ValueError:
        87.         logger.warning("Invalid limit value. Using default limit of 10.")
        88.         limit = 10
        89.     return limit
        91. def parse_arguments():
        92.     parser = argparse.ArgumentParser(description="Reddit Image Downloader")
        93.     parser.add_argument("search_term", nargs="?", type=str, help="Enter the search term")
        94.     parser.add_argument("folder_name", nargs="?", type=str, help="Enter the folder name")
        95.     parser.add_argument("--limit", type=str, help="Enter the number of images to download (default: 10)")
        96.     return parser.parse_args()
        98. def main():
        99.     args = parse_arguments()
        100.     if not args.search_term:
        101.         search_term = input("Enter the search term: ").replace(" ", "")
        102.     else:
        103.         search_term = args.search_term.replace(" ", "")
        105.     if not args.folder_name:
        106.         folder_name = input("Enter the folder name: ")
        107.     else:
        108.         folder_name = validate_folder_name(args.folder_name)
        110.     if not args.limit:
        111.         limit = input("Enter the number of images to download: ")
        112.     else:
        113.         limit = validate_limit(args.limit)
        115.     download_images(search_term, folder_name, limit)
        117. if __name__ == "__main__":
        118.     main()

        Mint Green Pink Entertainment Pixel Art Discord Profile Banner.gif

        Please share this PSA far and wide.  As it says, even if this doesn't directly help you, it could save a life.


        N.A.N.Y. 2023 / What is NANY plus Mug Alternate Image
        « on: December 10, 2022, 03:40 PM »
        Are you a software developer looking to grow your skills and industry exposure?

        Join the annual NANY (New Apps for the New Year) event hosted by!

        This event brings together developers and users worldwide to share their talents and creativity by creating and sharing new software applications and tools. Participating in NANY offers numerous benefits, including the chance to learn new skills and technologies, showcase your talents, connect with other developers and users, and contribute to the development of new software.

        Don't miss out on this opportunity - sign up for NANY today!

        Living Room / Are you banned from the forum? Read here if so.
        « on: October 06, 2022, 01:36 PM »
        Hey guys,

        We are aware of an issue with logins that are causing legitimate users to be banned.  I have informed mouser of the problem and hopefully he will be able to resolve this as soon as possible!

        In the meantime, feel free to drop by our discord server if you have any further questions.


        Kynlo (Stephen)

        Living Room / Google Stadia shutting down
        « on: September 29, 2022, 05:39 PM »
        Sods law that I subscribed yesterday, but at least it was for the free trial!

        The following info is a direct copy/paste of the email I got:

        Dear Stadia player,

        On September 29, 2022, we announced that the Stadia service will be shut down on January 18, 2023. We’re getting in touch with important information on what this means for you as a Stadia player.


        Stadia will remain available for gameplay until the service is shut down on January 18, 2023. During this period, you will have access to your game library, including Pro games if you had an active Pro subscription as of September 29, 2022. Be aware that publisher support for games may vary, and it’s possible that your gameplay experience may be affected during the shut-down period.


        Google is offering a refund to Stadia users for Stadia hardware purchases (Stadia Controller, Stadia Founder’s Edition, Stadia Premiere Edition, or Play and Watch with Google TV Package) made on the Google Store, and game purchases and add-on purchases made on the Stadia Store. The refund process will take some time, but we expect to have the majority of refunds processed by January 18, 2023. We expect to be able to automatically issue refunds for a substantial portion of transactions as a credit to the form of payment used to make the purchase. For purchases that we are not able to automatically refund, you will receive an email with details on how to obtain your refund.

        Transactions and subscription fees

        All commerce functionality (the ability to buy games, new subscriptions, add-ons or in-game purchases) on Stadia has now been disabled. Users who held an active Stadia Pro subscription as of September 29, 2022 will not be charged for access to their Pro library or other subscription entitlements during the shut-down period. Historical Stadia Pro subscription fees will not be eligible for refund.

        Your Stadia account and data

        You will be able to export your Stadia data, such as profile information, game stats, social data, save files and captures from Google Takeout until the Stadia service shuts down on January 18, 2023, after which point your Stadia data will be permanently deleted. You can also delete Stadia from your Google account at any time or delete your Google account entirely. Please note that deleting your Google account will result in deletion of all data and content in that account, including emails, photos, and files, and may increase the amount of time it takes to receive a refund of your Stadia purchases. Google may however retain certain data, including transaction data, for up to three years following the shut-down of the service for the purposes of processing refunds and providing customer support.

        More information is available in the Help Centre, which will be updated as new information becomes available.

        The Stadia team


        Living Room / Projector recommendations?
        « on: May 21, 2022, 09:10 AM »

        Can anybody recommend a projector that will project images onto a ceiling? Bonus points if it has an app (or connects to a network) so I can change files remotely from my phone/Google Nest/Alexa/ETC, but will settle for one that runs purely from USB/SD.

        Quality of image is not relevant (newborns can barely see anyway so it's not like I need 4K compatible haha).




        I have a short MP3 I want to turn into a line drawing (of the waveform) to be used as a tattoo.

        Anybody have the first idea how tf to manage this?

        ~Kynlo (Stephen)

        Living Room / Ideas Needed: Tech For New Parents
        « on: May 04, 2022, 06:59 AM »
        Hey lovelies!

        So...I need some ideas to make life easier once baby gets here (first child [baby boy] is due in September!).  Looking for some tech ideas to make things easier/automate things around the house.

        I already have an automatic formula maker and cameras but wondering if any other parents have "tech'd" things up  :D

        ~Kynlo (Stephen)

        General Software Discussion / MOVED: T-Clock
        « on: January 20, 2021, 05:26 AM »

        Hey guys & girls!

        After a bit of a rethink about the Tech News podcast I was doing, I have completely revamped the entire show!

        Instead of being "Tech News", I now discuss Tech, Science, Innovations, Games & Other random fun stuff! 

        The relaunch is happening VERY soon!

        If you're interested, then you can check it all out on the links below:


        Support (+ Donate):
        Reasons to support it!
        Benefits of Supporting Us:

        • You help us stay Ad-Free for as long as possible
        • Help us create more and more content
        • Gain exclusive, supporter only posts
        • Supporter Role on this Discord Server!
        • (Coming Later) Supporter-only Podcasts!
        • (Coming Later) Early Access to most of the podcasts!


        Kynlo Talks Tech.png

        Kynlo Talks Tech is on almost every streaming platform!  If you want to subscribe to me on any of them, I'll list some below!

        Pocket Casts:

        Spotify: https://open.spotify...HLM6AH29OUrbpezqrdhW

        Breaker: https://www.breaker....o/p/kynlos-tech-news


        Radio Public: https://radiopublic....los-tech-news-GEov0K

        Google Podcasts:


        Apple Podcasts:


        N.A.N.Y. 2021 / NANY 2021: Only 8 Weeks To Go!
        « on: November 03, 2020, 11:25 AM »
        Hey guys and girls!

        This is just a friendly reminder that there are only 8 weeks left until the NANY 2021 deadline!

        Remember, if you're not a programmer then you can still join in by submitting requests for those who can code, to make!  There may well be a few coders sitting around with no thoughts on what they can make for this year, and you could be their saviour!

        If you are a programmer and you haven't yet submitted anything, why not let us know if you plan to?!  Also, if you're stuck for something to make then you could also put a call out for ideas on the forum or dig into the Coding Snacks section and see if any of the ideas there take your fancy!

        I understand that 2020 has been a...weird year (to put it lightly) and that not everybody may have the time or motivation to submit anything, but ANYTHING you submit, be it a tiny app or a huge software release, is absolutely better than nothing!

        Let's try to get some cool stuff online this year and make 2021 something to look forward to!



        Pages: [1] 2 3 4 5 6 ... 22next