oldhacfard Cloud Hub
Key Required

oldhacfard Cloud Hub

[UP] Just a baseplate.OldhacfardOldhacfard 874 views 475 executesUpdated Mar 7, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•110 lines (3782 chars)
local Fluent = loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()
local HttpService = game:GetService("HttpService")

-- AYARLAR
local GithubUser = "oldhacfard" 
local CheckInterval = 30 -- Yeni script kontrolü için bekleme süresi (saniye)

local Window = Fluent:CreateWindow({
    Title = GithubUser .. " Cloud Hub",
    SubTitle = "Auto-Sync & Notify",
    TabWidth = 160,
    Size = UDim2.fromOffset(580, 520),
    Acrylic = true,
    Theme = "Dark",
    MinimizeKey = Enum.KeyCode.LeftControl
})

local Tabs = {}
local KnownFiles = {} -- Mevcut dosyaları takip etmek için tablo

-- Veri çekme fonksiyonu
local function GetData(url)
    local success, res = pcall(function()
        return game:HttpGet(url)
    end)
    if success and res then
        return HttpService:JSONDecode(res)
    end
    return nil
end

-- Dosyayı Buton Olarak Ekleme Fonksiyonu
local function AddFileButton(tab, repoName, branch, filePath)
    local rawUrl = string.format("https://raw.githubusercontent.com/%s/%s/%s/%s", GithubUser, repoName, branch, filePath)
    
    tab:AddButton({
        Title = filePath,
        Description = "Çalıştırmak için tıkla",
        Callback = function()
            local s, content = pcall(function() return game:HttpGet(rawUrl) end)
            if s then
                local exec, err = pcall(function() loadstring(content)() end)
                if exec then
                    Fluent:Notify({Title = "Başarılı", Content = filePath .. " açıldı.", Duration = 2})
                else
                    print("Hata veya Düz Metin:\n" .. content)
                end
            end
        end
    })
end

-- Tüm Arşivi ve Yeni Dosyaları Yükleme/Kontrol Etme
local function SyncGithub(isFirstLoad)
    local repos = GetData("https://api.github.com/users/" .. GithubUser .. "/repos?per_page=100")
    if not repos then return end

    for _, repo in pairs(repos) do
        local repoName = repo.name
        local branch = repo.default_branch or "main"
        
        -- Eğer bu repo için henüz sekme yoksa oluştur
        if not Tabs[repoName] then
            Tabs[repoName] = Window:AddTab({ Title = repoName, Icon = "folder" })
        end

        local tree = GetData(string.format("https://api.github.com/repos/%s/%s/git/trees/%s?recursive=1", GithubUser, repoName, branch))
        
        if tree and tree.tree then
            for _, file in pairs(tree.tree) do
                if file.type == "blob" then
                    local fileKey = repoName .. "/" .. file.path
                    
                    -- Eğer dosya sistemde kayıtlı değilse (YENİ DOSYA)
                    if not KnownFiles[fileKey] then
                        KnownFiles[fileKey] = true
                        
                        -- Butonu ekle
                        AddFileButton(Tabs[repoName], repoName, branch, file.path)

                        -- Eğer ilk açılış değilse bildirim gönder
                        if not isFirstLoad then
                            Fluent:Notify({
                                Title = "Yeni Script Tespit Edildi!",
                                Content = repoName .. " deposuna '" .. file.path .. "' eklendi.",
                                SubContent = "Menüye otomatik eklendi.",
                                Duration = 10
                            })
                        end
                    end
                end
            end
        end
    end
end

-- Arka Plan Kontrol Döngüsü
task.spawn(function()
    -- İlk yükleme (Bildirimsiz)
    SyncGithub(true)
    
    -- Sürekli Kontrol (Bildirimli)
    while task.wait(CheckInterval) do
        pcall(function()
            SyncGithub(false)
        end)
    end
end)

Window:SelectTab(1)

Features & Information

Where you can now get my scripts directly

Community Comments (0)

No comments yet for this script.

More Scripts for [UP] Just a baseplate.