https://buzzheavier.com/

Eingereichte URL:
https://buzzheavier.com/
Bericht beendet:

Die von der Seite ausgehenden identifizierten Links

LinkText
https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExOGdqdWEwaDR5enB5bXYzdGt2YXRkb2ppMWN2M3o2OHpwdDJoY250MyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/7zSO56YSB0DhNvBUWt/giphy.gifuntil

JavaScript-Variablen · 13 gefunden

Globale JavaScript-Variablen, die in das Window Object einer Seite geladen werden, sind Variablen, die außerhalb von Funktionen deklariert werden und von jeder Stelle des Codes innerhalb des aktuellen Bereichs zugänglich sind

NameTyp
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
uploadManagerfunction
Appfunction
htmxobject
humanReadableSizefunction
copyTextToClipboardfunction
copyTextToClipboardFallbackfunction
addFileToHistoryfunction

Konsolenprotokoll-Meldungen · 1 gefunden

In der Web-Konsole protokollierte Meldungen

TypKategorieProtokoll
errornetwork
URL
https://buzzheavier.com/favicon.ico
Text
Failed to load resource: the server responded with a status of 404 ()

HTML

Der HTML-Rohtext der Seite

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <meta content="width=device-width, initial-scale=1.0" name="viewport">
    <title>buzzheavier.com</title>
    <meta name="title" content="buzzheavier.com">
    <meta name="description" content="Simple fast anonymous file sharing for everyone.">
    <meta name="application-name" content="buzzheavier.com">
    <script src="/static/main.js?v=e3715aaba893b1fb6b95d87a8390cef71c9bb74a-dirty" defer=""></script>
    <script src="/static/exts.js?v=e3715aaba893b1fb6b95d87a8390cef71c9bb74a-dirty" defer=""></script>
    <link rel="stylesheet" href="/static/whysostylish.css?v=e3715aaba893b1fb6b95d87a8390cef71c9bb74a-dirty">
    <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" defer=""></script>
    
<style>      .htmx-indicator{opacity:0}      .htmx-request .htmx-indicator{opacity:1; transition: opacity 200ms ease-in;}      .htmx-request.htmx-indicator{opacity:1; transition: opacity 200ms ease-in;}      </style></head>

<body class="min-h-screen p-1.5" x-data="App()">

<div>
    <div>
        <p class="text-center text-4xl font-bold mt-1 mb-0">BUZZHEAVIER</p>
        <p class="text-center mt-0">Simple fast anonymous file sharing for everyone.</p>
    </div>
    <ul id="menu" class="text-center p-0 mb-7">
        <li>Index</li>
        
        <li><a href="/history">History</a></li>
        <li><a href="/help">Help</a></li>
        <li><a href="/developers">Developers</a></li>
        <li><a href="/mirrors">Mirrors</a></li>
        <li><a href="/privacy">Privacy</a></li>
        <li><a href="/terms">Terms</a></li>
        <li><a href="/contact">Contact</a></li>
        
            <li><a href="/login">Login</a></li>
        
    </ul>
    <div class="mx-auto max-w-[60rem]" hx-ext="response-targets">
        <div>
    <p>buzzheavier.com is a simple, fast and privacy-oriented file hosting provider.</p>

    <div x-data="uploadManager()">
        <label for="file-input"><input type="file" id="file-input" multiple=""></label>
        <label>
            Expiry
            <select x-model="selectedExpiry">
                <option value="">Never</option>
                <option value="3600">1 hour</option>
                <option value="43200">12 hours</option>
                <option value="86400">1 day</option>
                <option value="259200">3 days</option>
                <option value="604800">7 days</option>
                <option value="2592000">30 days</option>
            </select>
        </label>
        <button id="upload-button" @click="upload($event)">Upload</button>
        <button @click="abort()" :disabled="queued.filter(t => t.status === 'inprogress').length === 0" disabled="disabled">Cancel</button>
        <button class="copy" @click="copyLinks()" :disabled="completed.length === 0" disabled="disabled">Copy links</button>

        <ul>
            <template x-for="task in queued">
                <li x-show="task.status !== 'completed'">
                    <div class="flex-col flex">
                        <span x-text="task.file.name" class="mt-2"></span>
                        <div class="progress">
                            <div class="progress-bar gay-background" :style="'width: ' + task.stats.progress + '%;'" :class="{'progress-bar-danger': task.error}"></div>
                        </div>
                        <div class="flex justify-between">
                            <span x-text="task.statsText" :class="{'text-danger': task.error}"></span>
                            <button x-show="task.status === 'inprogress'" @click="task.abort()">Cancel</button>
                        </div>
                    </div>
                </li>
            </template>
            <template x-for="task in completed">
                <li>
                    <a :href="task.link" x-text="`${task.file.name} - ${humanReadableSize(task.file.size)}`" target="_blank"></a>
                </li>
            </template>
        </ul>
        <p>Files uploaded from here won't be saved to your account.</p>
    </div>

    <p>Our main features include</p>
    <ul>
        <li>It's fast. (not really)</li>
        <li>No bloatware.</li>
        <li>No file size limits.</li>
        <li>Keep your file forever. (or
            <a href="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExOGdqdWEwaDR5enB5bXYzdGt2YXRkb2ppMWN2M3o2OHpwdDJoY250MyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/7zSO56YSB0DhNvBUWt/giphy.gif">until</a>)
        </li>
        <li>No download speed caps.</li>
        <li>Doesn't track you - no logs who download who upload.</li>
    </ul>
    <div>
        
            <p>
                <span>Account - </span> <a href="/login">Login</a> / <a href="/login">Signup</a>
            </p>
        
    </div>

    <p>We emphasize Privacy, Net Neutrality and Free Software.</p>
    <p class="text-right">
        <i>Malo periculosam libertatem quam quietum servitium.</i>
    </p>
</div>

<script>
    function uploadManager() {
        return {
            queued: [],
            completed: [],
            running: 0,
            concurrency: 5,
            uploadUrl: 'https:\/\/w.buzzheavier.com',
            selectedExpiry: null,
            get expiry() {
                const expiry = parseInt(this.selectedExpiry, 10)
                if (isNaN(expiry) || !isFinite(expiry)) return false
                return expiry
            },
            get settings() {
                return {
                    expiry: this.expiry,
                    directoryId: null,
                    baseUrl: this.uploadUrl,
                }
            },
            upload() {
                const fi = document.getElementById("file-input")
                const files = Array.from(fi.files)
                if (!files || files.length === 0) return;
                const findOne = files.filter(f => f.name.length > 200)
                if (findOne.length) this.error = "file name must not exceed more than 200 characters"
                else {
                    for (const file of files) {
                        const mp = new Uploader(file, this.settings, false)
                        this.queued.push(Alpine.reactive(mp))
                        this.process()
                    }
                }
                fi.value = null
            },
            process() {
                this.queued.forEach((task) => {
                    if (task.status === "queued" && this.running < this.concurrency) {
                        this.running += 1;
                        task.upload().finally(() => {
                            if (task.status === "completed") {
                                this.completed.push(task)
                                if (!this.expiry) {
                                    addFileToHistory({id: task.id, name: task.file.name, size: humanReadableSize(task.file.size)})
                                }
                            }
                            this.running -= 1;
                            this.process();
                        })
                    }
                });
                this.queued = this.queued.filter(task => task !== undefined);
            },
            abort() {
                this.queued.forEach((task) => {
                    if (task.status !== "aborted" || task.status !== "completed") {
                        task.abort()
                    }
                });
            },
            copyLinks() {
                const links = []
                this.completed.forEach(task => {
                    links.push(task.link)
                })
                copyTextToClipboard(links.join('\n'))
            },
            init() {
                window.addEventListener('beforeunload', (e) => {
                    const foundOne = this.queued.findIndex(task => task.status === "inprogress")
                    if (foundOne !== -1) {
                        e.preventDefault();
                        e.returnValue = 'You have an ongoing upload. Are you sure you want to leave?';
                        return 'You have an ongoing upload. Are you sure you want to leave?';
                    }
                });
            }
        }
    }

    function App() {
        return {
            
        };
    }
</script>

    </div>
</div>
<div class="text-center text-danger mt-9">
    <div id="flash"></div>
</div>

<script>if (!this.App) this.App = () => ({});</script>
<script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{&quot;rayId&quot;:&quot;8d801dd52a11384a&quot;,&quot;version&quot;:&quot;2024.10.3&quot;,&quot;serverTiming&quot;:{&quot;name&quot;:{&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfSpeedBrain&quot;:true,&quot;cfCacheStatus&quot;:true}},&quot;token&quot;:&quot;c1361d0ed928439489c7829da1f19fac&quot;,&quot;b&quot;:1}" crossorigin="anonymous"></script>


</body></html>