https://buzzheavier.com/

ID de exploración:
9d6edfa0-1f0c-4a43-9cf4-adb9a76764fbFinalizado
URL enviada:
https://buzzheavier.com/
Informe finalizado:

Enlaces: 0 encontrados

Variables JavaScript: 19 encontradas

NombreTipo
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
UploadManagerfunction
htmxobject
parseXHRErrorfunction
humanReadableSizefunction
copyTextToClipboardfunction
copyTextToClipboardFallbackfunction
addFileToHistoryfunction

Mensajes de registro de la consola: 0 encontrados

HTML

<!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>