AntiWebhooks script
Key RequiredUniversal

AntiWebhooks script

Universal ScriptsimkaHUBsimkaHUB 579 views 11 executesUpdated Nov 22, 2025
2.5/ 5(4 votes)
2250% Positive
Lua Script•137 lines (3534 chars)
warn("Executed!")
warn("Executed!")
warn("Executed!")

local Fluent = loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()
local Window = Fluent:CreateWindow({
    Title = "Webhook Logger",
    SubTitle = "by EmptyPowerfulDude",
    TabWidth = 160,
    Size = UDim2.fromOffset(650, 500),
    Acrylic = true,
    Theme = "Dark",
    MinimizeKey = Enum.KeyCode.K
})

local logs = {}

local Tabs = {
    logTab = Window:AddTab({Title = "Logging Tab", Icon = "newspaper"})
}
Tabs.logTab:AddButton({
    Title = "Clear",
    Description = "Clears All Logs",
    Callback = function()
        for i,v in logs do
            v:Destroy()
        end
    end,
})

local function getPrettierTableString(args : table) : string
    local str = ""
    for i,v in args do
        str = str .. i
        str = str .. " = "
        str = str .. v
        str = str .. "\n"
    end

    return str

end

local function onWebhookSent(args : table) : ()
    table.insert(logs,Tabs.logTab:AddParagraph(
        {
            Title = "HTTP SENT (AND BLOCKED)",
            Content = getPrettierTableString(args)
        }
    ))
    table.insert(logs,Tabs.logTab:AddButton({
        Title = "Copy Webhook",
        Description = "Copies The Webhook URL To Your Clipboard",
        Callback = function()
            setclipboard(args["Url"])
        end,
    }))
end

-- Safely convert any value to string
local function safeToString(v)
    local ok, s = pcall(function()
        if type(v) == "table" then
            return "{table: " .. tostring(v) .. "}"
        end
        return tostring(v)
    end)
    if not ok or s == nil then return "<unprintable>" end
    return s
end

-- Recursively flatten a table into a { key = "string_value" } table
local function flattenTable(tbl, result, prefix)
    result = result or {}
    prefix = prefix or ""

    for k, v in pairs(tbl) do
        local keyName = prefix ~= "" and (prefix .. "." .. tostring(k)) or tostring(k)
        if type(v) == "table" then
            flattenTable(v, result, keyName)
        else
            result[keyName] = safeToString(v)
        end
    end

    return result
end

-- Main function: accepts either a single table (like a request) or varargs
local function getPrettyArgs(...)
    local argCount = select("#", ...)
    local first = select(1, ...)

    if argCount == 1 and type(first) == "table" then
        return flattenTable(first)
    end

    -- For varargs, just stringify all arguments and store by index
    local result = {}
    for i = 1, argCount do
        local v = select(i, ...)
        if type(v) == "table" then
            local flat = flattenTable(v, {}, "Arg" .. i)
            for k, val in pairs(flat) do
                result[k] = val
            end
        else
            result["Arg" .. i] = safeToString(v)
        end
    end

    return result
end


-- Replace the real global reference:
if syn and syn.request then
    syn.request = function(...)
        print("Hooked syn.request")
        local args = getPrettyArgs(...)
        onWebhookSent(args)
    end
elseif http_request then
    getgenv().http_request = function(...)
        print("Hooked http_request")
        local args = getPrettyArgs(...)
        onWebhookSent(args)
    end
elseif fluxus and fluxus.request then
    fluxus.request = function(...)
        print("Hooked fluxus.request")
        local args = getPrettyArgs(...)
        onWebhookSent(args)
    end
else
    warn("No request function found to hook.")
end

Features & Information

A webhook blocker generally refers to methods or tools used to stop unwanted, excessive, or malicious webhook requests from reaching a receiving application or system.

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts