Soyjak.Party Filename Randomizer

Rename uploaded images and videos with random filenames

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name         Soyjak.Party Filename Randomizer
// @namespace    datamining
// @version      1.0
// @description  Rename uploaded images and videos with random filenames 
// @include      https://soyjak.party/static/front-page/soyberg.png  
// @license      MIT 
// @grant        none
// ==/UserScript==


(function() {
    'use strict';

    function generateRandomString(length) {
        const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
        let randomString = '';
        for (let i = 0; i < length; i++) {
            const randomIndex = Math.floor(Math.random() * characters.length);
            randomString += characters.charAt(randomIndex);
        }
        return randomString;
    }

    function renameFileInput(input) {
        if (input && input.files.length > 0) {
            const file = input.files[0];
            const extension = file.name.split('.').pop().toLowerCase();
            const randomString = generateRandomString(10);
            let newName = '';

            if (['jpeg', 'png', 'gif', 'jpg'].includes(extension)) {
                newName = 'IMG_' + randomString + '.' + extension;
            } else if (['mp4', 'mkv', 'webm', 'mov', 'wmv'].includes(extension)) {
                newName = 'VID_' + randomString + '.' + extension;
            }

            if (newName) {
                Object.defineProperty(file, 'name', {
                    value: newName,
                    writable: true,
                });
            }
        }
    }


    const fileInputs = document.querySelectorAll('input[type="file"]');
    if (fileInputs) {
        fileInputs.forEach(input => {
            input.addEventListener('change', () => {
                renameFileInput(input);
            });
        });
    }
})();