https://buzzheavier.com/

Submitted URL:
https://buzzheavier.com/
Report Finished:

The outgoing links identified from the page

JavaScript Variables · 19 found

Global JavaScript variables loaded on the window object of a page, are variables declared outside of functions and accessible from anywhere in the code within the current scope

NameType
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
UploadManagerfunction
htmxobject
parseXHRErrorfunction
humanReadableSizefunction
copyTextToClipboardfunction
copyTextToClipboardFallbackfunction
addFileToHistoryfunction

Console log messages · 0 found

Messages logged to the web console

HTML

The raw HTML body of the page

<!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="Motherfucking file hosting service.">
    <meta name="application-name" content="buzzheavier.com">
    <script src="/xz.js?v=3e27e7fa67c475a39341fec4ffea5ce48265555d-dirty" defer=""></script>
    <link rel="stylesheet" href="/whysostylish.css?v=3e27e7fa67c475a39341fec4ffea5ce48265555d-dirty">
    <link rel="stylesheet" href="/icons.css?v=3e27e7fa67c475a39341fec4ffea5ce48265555d-dirty">
    <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" defer=""></script>
    <meta name="htmx-config" content="{&quot;methodsThatUseUrlParams&quot;:[&quot;get&quot;]}">

    
<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" hx-ext="response-targets">

    <div>
        <p class="text-center text-3xl font-bold mt-1 mb-0">BUZZHEAVIER</p>
        <p class="text-center mt-0">Motherfucking file hosting service</p>
    </div>



    <ul class="navbar text-center p-0 mb-7" hx-ext="preload">
        
            <li><a>Index</a></li>
        

        
        
        
        
        

        
            <li><a href="/pricing" preload="mouseover">Pricing</a></li>
        

        
            <li><a href="/blog" preload="mouseover">Blog</a></li>
        

        
            <li><a href="/speedtest" preload="mouseover">Speedtest</a></li>
        

        
            <li><a href="/developers" preload="mouseover">Developers</a></li>
        

        
            <li><a href="/privacy" preload="mouseover">Privacy</a></li>
        

        
            <li><a href="/terms" preload="mouseover">Terms</a></li>
        

        
            <li><a href="/contact" preload="mouseover">Contact</a></li>
        

        
            <li><a href="/help" preload="mouseover">Help</a></li>
        
    </ul>


<div class="mx-auto max-w-[60rem]">
    <p>buzzheavier.com is a simple, fast and privacy-oriented file hosting provider.</p>

    
    <div x-data="UploadManager()">
        
        <div class="flex flex-col">
            
            <div class="flex flex-wrap gap-4 items-center">
                <label for="file-input">
                    <input type="file" id="file-input" multiple="">
                </label>

                <label class="flex items-center gap-2">
                    Location
                    <select x-model="selectedLocation">
                        
                            <option value="3eb9t1559lkv">Central Europe</option>
                        
                            <option value="12brteedoy0f">Eastern US</option>
                        
                            <option value="95542dt0et21">Western US</option>
                        
                    </select>
                </label>
            </div>

            
            <div class="flex flex-wrap gap-2 items-center mt-2">
                <button id="upload-button" @click="upload($event)">Upload</button>
                <button @click="showNote=true;" x-show="!showNote">Add Note</button>
                <button @click="abort()" :disabled="queued.filter(t => t.status === 'inprogress').length === 0" disabled="disabled">Cancel</button>
                <button @click="copyLinks()" :disabled="completed.length === 0" x-text="copyLinksButtonText" disabled="disabled">Copy links</button>
                
            </div>

            
            <div class="mt-2" x-show="showNote" style="display: none;">
                <label>
                <textarea class="pt-1 border rounded-sm w-full sm:w-3/4" rows="1" maxlength="500" placeholder="Notes to display under the download link (e.g., file password, social handles)." x-model="note"></textarea>
                </label>
            </div>

            
            <ul x-show="queued.length || completed.length" class="ps-4" style="display: none;">
                <template x-for="task in queued">
                    <li x-show="task.status !== 'completed'">
                        <div class="flex-col flex gap-1">
                            <span x-text="task.file.name" class="mt-2"></span>
                            <div class="progress">
                                <div class="progress-bar" :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>
        </div>
    </div>
    <script>
      function UploadManager() {
        return {
          note: '',
          showNote: false,
          queued: [],
          completed: [],
          running: 0,
          concurrency: 5,
          copyLinksButtonText: 'Copy links',
          selectedLocation: "3eb9t1559lkv",
            
          get settings() {
            return {
              note: this.note,
              baseUrl: "https:\/\/w.buzzheavier.com",
              directoryId: "",
              locationId: this.selectedLocation,
              uploadLinkId: this.uploadLinkId,
            }
          },
          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 > 500)
            if (findOne.length) this.error = 'file name must not exceed more than 500 characters'
            else {
              for (const file of files) {
                const mp = new Uploader(file, this.settings)
                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)
                  }
                  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'))
            this.copyLinksButtonText = 'Links copied'
            setTimeout(() => {
              this.copyLinksButtonText = 'Copy links'
            }, 500)
          },
          init() {
            window.addEventListener('beforeunload', (e) => {
              const foundOne = this.queued.findIndex(task => task.status !== 'completed')
              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?'
              }
            })
          },
        }
      }
    </script>


    <h4>Our main features include</h4>
    <ul>
        <li>It's Fast</li>
        <li>Simple UI, No Bullshit, Just Works.</li>
        <li>No file size limits, No download speed caps.</li>
        <li>Strict Zero log policy - We don't care what you upload or download.</li>
        <li>Files will be kept forever as long as it was downloaded within the last 45 days.</li>
    </ul>

    <p>
        Manage Your Account - <a href="/login">Login</a> / <a href="/login">Signup</a>
        <br>
        We emphasize Privacy, Net Neutrality and Free Software.
    </p>
    <p class="text-right">
        <i>Malo periculosam libertatem quam quietum servitium.</i>
    </p>
</div>


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

<script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{&quot;rayId&quot;:&quot;8f2684f059633847&quot;,&quot;version&quot;:&quot;2024.10.5&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>