universal webhook logger and blocker with nice gui
Key RequiredUniversal

universal webhook logger and blocker with nice gui

Universal Scriptdandushdandush 2.6K views 79 executesUpdated Oct 16, 2025
Unrated
00
Lua Script•135 lines (3500 chars)
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 @dandush on discord",
    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

log webhook calls, blocks other scripts from ip grabbing troll people by finding their secret webhooks open source made with help from chatgpt (deal with it) verified working on delta executor
#opensource#webhookgrabber#gui#webhooktroll

Community Comments (2)

xtclqxtclqOct 16, 2025

ts tuff thanks bro

Replying to @xtclq
dandushdandushOct 16, 2025

@Najimuzo no problem

More Scripts for Universal Scripts