Soulja How to almost Get Any Script
Key RequiredUniversal

Soulja How to almost Get Any Script

Universal ScriptSouljaWitchSrcSouljaWitchSrc 842 views 134 executesUpdated Jan 5, 2026
5.0/ 5(3 votes)
30100% Positive
Lua Script•140 lines (6852 chars)
-- UNIVERSAL SCRIPT LOADER & FETCHER 

--[[
    Credits & Development:
    - Initial script by DOZE/Soulja/UILib.
]]

---------------------------------------------------------------------
-- Configuration Table
---------------------------------------------------------------------
local Config = {
    Url = "website here",
    AutoExecute = false,
    CopyToClipboard = true,
    Verbose = true,
    MaxRetries = 3,
    RetryDelay = 2,
}

---------------------------------------------------------------------
-- Services and Initial Validation
---------------------------------------------------------------------
if not HttpGet then
    warn("❌ Critical Error: HttpGet is not available in this environment. The script cannot function.")
    return
end

local originalUrl = Config.Url
if originalUrl then originalUrl = originalUrl:match("^%s*(.-)%s*$") end

if not originalUrl or originalUrl == "" or originalUrl == "website here" then
    warn("❌ URL is empty or hasn't been changed. Please configure the script.")
    return
end

if Config.AutoExecute and Config.Verbose then
    warn("⚠️ AutoExecute is enabled. Only use this with a URL from a trusted source.")
end

local finalUrl = originalUrl
local handlerOrder = { "gist.github.com", "github.com", "gitlab.com", "bitbucket.org", "pastebin.com", "paste.ee", "rentry.co", "controlc.com", "scriptblox.com", "haxhell.com" }
local urlHandlers = {
    ["github.com"] = function(url) if not url:match("raw.githubusercontent.com") then return url:gsub("github.com", "raw.githubusercontent.com"):gsub("/blob/", "/") end; return url end,
    ["gist.github.com"] = function(url) if not url:match("gist.githubusercontent.com") then local u, g = url:match("gist.github.com/([^/]+)/([%w%d]+)"); if u and g then return ("https://gist.githubusercontent.com/%s/%s/raw/"):format(u, g) end end; return url end,
    ["gitlab.com"] = function(url) if not url:match("/-/raw/") and url:match("/-/blob/") then return url:gsub("/-/blob/", "/-/raw/") end; return url end,
    ["bitbucket.org"] = function(url) if url:match("/src/") and not url:match("/raw/") then return url:gsub("/src/", "/raw/") end; return url end,
    ["pastebin.com"] = function(url) if not url:match("/raw/") then local id = url:match("pastebin.com/([%w%d]+)"); if id then return "https://pastebin.com/raw/"..id end end; return url end,
    ["paste.ee"] = function(url) if not url:match("/r/") and url:match("/p/") then return url:gsub("/p/", "/r/") end; return url end,
    ["rentry.co"] = function(url) if not url:match("/raw/") then local id = url:match("rentry.co/([%w%d]+)"); if id then return "https://rentry.co/raw/"..id end end; return url end,
    ["controlc.com"] = function(url) if not url:match("/download/") then local id = url:match("controlc.com/([%w%d]+)"); if id then return "https://controlc.com/download/"..id end end; return url end,
    ["scriptblox.com"] = function(url) if not url:match("rawscripts.net") then local path = url:match("scriptblox.com/script/(.+)") if path then return "https://rawscripts.net/raw/" .. path end end return url end,
    ["haxhell.com"] = function(url) if not url:match("/raw/") and url:match("/script/") then return url:gsub("/script/", "/raw/") end return url end,
}

for _, domain in ipairs(handlerOrder) do
    if originalUrl:match("^https?://[^/]*" .. domain) then
        local handler = urlHandlers[domain]
        local convertedUrl = handler(originalUrl)
        if convertedUrl and convertedUrl ~= originalUrl then
            finalUrl = convertedUrl
            if Config.Verbose then print("✅ Converted URL using handler for: " .. domain) end
            break
        end
    end
end

local scriptContent, success, final_error = nil, false, "Unknown error"

for attempt = 1, Config.MaxRetries do
    if Config.Verbose then print(("Fetching from final URL: %s (Attempt %d/%d)"):format(finalUrl, attempt, Config.MaxRetries)) end
    local s, r = pcall(function() return HttpGet(finalUrl) end)
    if s then
        success, scriptContent = true, r
        break
    else
        final_error = tostring(r)
        if attempt < Config.MaxRetries then
            if Config.Verbose then warn(("⚠️ Fetch failed. Retrying in %d seconds..."):format(Config.RetryDelay)) end
            task.wait(Config.RetryDelay)
        end
    end
end

if success then
    if Config.Verbose then print("✅ Fetch successful!") end

    if type(scriptContent) ~= "string" then
        warn(("❌ Fetch error: The server returned an invalid response type (expected string, got %s)."):format(type(scriptContent)))
        return
    end
    
    -- 1. Comprehensive line ending normalization: Handles \r\n (Windows), \r (old Mac), and ensures consistent \n.
    scriptContent = scriptContent:gsub("\r\n", "\n"):gsub("\r", "\n")

    if not scriptContent or scriptContent:gsub("%s", "") == "" then
        warn("⚠️ Fetch was successful, but the returned script content is empty.")
        return
    end
    
    -- 2. Case-insensitive HTML detection for maximum robustness.
    local contentLower = scriptContent:lower()
    if contentLower:find("<html") or contentLower:find("<!doctype") then
        warn("❌ Execution blocked: The fetched content is an HTML page, not a Lua script. This is likely an access-denied page.")
        return
    end

    if #scriptContent < 50 and Config.Verbose then
        warn("⚠️ The fetched script is unusually small. Please verify it's the correct content.")
    end

    if Config.CopyToClipboard then
        if not setclipboard then if Config.Verbose then warn("⚠️ Clipboard API (setclipboard) is not available.") end
        else setclipboard(scriptContent); if Config.Verbose then print("📋 Script copied to clipboard.") end
        end
    end

    if Config.AutoExecute then
        if not loadstring then warn("❌ Execution failed: loadstring is not available.")
        else
            if Config.Verbose then print("▶️ Attempting to execute script...") end
            warn("🚨 Executing script with full executor permissions.")
            local s, f = pcall(loadstring(scriptContent))
            if s and typeof(f) == "function" then
                local execSuccess, execError = pcall(f)
                if not execSuccess then
                    warn("❌ Script executed but threw an error: " .. tostring(execError))
                else
                    -- 3. CRITICAL SYNTAX FIX: Replaced the invalid "else if" with a proper nested "if".
                    if Config.Verbose then
                        print("✔️ Script executed successfully.")
                    end
                end
            else
                warn("⚠️ Fetched content is not a valid script and cannot be executed.")
            end
        end
    end
else
    warn(("❌ Failed to fetch script after %d attempts. Final error: %s"):format(Config.MaxRetries, final_error))
end

Features & Information

A universal Roblox script loader that lets you fetch, copy, and optionally execute scripts from supported links with ease. 🔧 How It Works Paste a script URL (GitHub, Pastebin, Rentry, etc.) The loader automatically converts the link to the correct raw format Fetches the script with retry protection Validates the content (blocks HTML / access denied pages) Copies the script to your clipboard Optional auto-execution (disabled by default for safety) ▶️ How To Use Paste the script into your executor Edit the config at the top: Set your script URL Enable/disable AutoExecute if you trust the source Execute the loader ✅ Supported Sites GitHub (repos & gists) Pastebin Paste.ee Rentry GitLab Scriptblox HaxHell Most direct raw links 👤 Credits Soulja — loader, upgrades, and public release Xenx — original script concept Original script: https://scriptblox.com/script/Universal-Script-How-To-Get-Almost-ANY-Script-EASILY-81951 ⚠️ Note: Only auto-execute scripts from sources you trust.
#universal#utility#tools#scriptfetch

Community Comments (3)

NjGGERIANjGGERIAJan 5, 2026

thats nice.

NjGGERIANjGGERIAJan 5, 2026

do it support PASTEFY or anything?

Replying to @NjGGERIA
SouljaWitchSrcSouljaWitchSrcJan 5, 2026

@xenx i havent added that if u give me a list one which ones u want ill add them

More Scripts for Universal Scripts