[ CRT: off ]
Visitors: 000003485 | Server: 2026-07-13 23:22:54 UTC | UTC: 2026-07-13 23:22:54 UTC
Best Viewed in Firefox | Powered by PHP 7.4.33 | Connection: HTTPS (secure) | No Cookies · No Tracking
*** Welcome to the last honest website on the internet *** +++ This site stores NOTHING about you -- everything is computed in YOUR browser +++ NEW! Live browser fingerprinting module added +++ NEW! Interactive terminal -- type help to begin +++ Best viewed in Firefox at 1024x768 or higher +++ Remember: if the product is free, usually YOU are the product -- but not here +++ Greetz to everyone still running an old CRT monitor <3

disk Source Code

The entire project, readable in your browser. No hidden JavaScript, no sneaky beacons. If we claimed we don't track you, this is where you check.

disk includes/footer.php  (7.7 KB, 207 lines)
   1  <?php
   2  /**
   3   * footer.php
   4   * -----------------------------------------------------------------------------
   5   * Shared bottom-of-page markup. Closes the .content / .wrap containers opened
   6   * in header.php and closes the document.
   7   *
   8   * Contains:
   9   *   - the "this site stores absolutely nothing" promise
  10   *   - links to RSS / Sitemap / robots.txt / Guestbook
  11   *   - the classic row of 88x31 buttons (rendered as pure-CSS boxes)
  12   *   - an "Under Construction" easter egg (hidden; revealed via the #dig anchor
  13   *     or the Konami code)
  14   *   - a small GLOBAL inline script that every page needs:
  15   *         * live-ticking server + UTC clocks
  16   *         * CRT scanline toggle (persisted in localStorage)
  17   *         * Konami-code easter egg
  18   *
  19   * Page-specific behaviour (detection, fingerprinting, the scan animation, the
  20   * terminal, exports) is loaded by the individual pages that need it.
  21   * -----------------------------------------------------------------------------
  22   */
  23  
  24  require_once __DIR__ . '/config.php';
  25  require_once __DIR__ . '/functions.php';
  26  
  27  $__buttons = isset($GLOBALS['BUTTONS_88x31']) ? $GLOBALS['BUTTONS_88x31'] : array();
  28  
  29  // Server epoch handed to JS so the live clock stays anchored to server time
  30  // (and computes the offset from the browser clock once, on load).
  31  $__server_epoch = time();
  32  ?>
  33    </div><!-- /.content -->
  34  
  35    <!-- ============================ EASTER EGG ========================= -->
  36    <div id="dig" class="under-construction" style="display:none">
  37      <div class="digger">/////  U N D E R   C O N S T R U C T I O N  /////</div>
  38      <div><?php echo section_icon('warning', '#FFFF00', 16); ?>
  39        Pardon our dust. A little man with a shovel is working here.
  40        <?php echo section_icon('warning', '#FFFF00', 16); ?></div>
  41      <div class="dim">(You found the hidden page. There is nothing else here. Go outside.)</div>
  42      <div><a href="#top" onclick="document.getElementById('dig').style.display='none';return false;">[ close ]</a></div>
  43    </div>
  44  
  45    <!-- ============================ FOOTER ============================= -->
  46    <div class="footer">
  47      <hr class="double">
  48  
  49      <p class="promise">
  50        This website stores <b>absolutely nothing</b>.
  51      </p>
  52      <p>
  53        Everything shown is calculated locally in your browser, or derived from
  54        information your browser <b>automatically sent</b> when it asked for this page.
  55      </p>
  56      <p class="dim">
  57        No tracking. &nbsp;No analytics. &nbsp;No cookies. &nbsp;No database.
  58        &nbsp;Made with PHP. &nbsp;Open Source.
  59      </p>
  60      <p>Last Updated: <b><?php echo e(LAST_UPDATED); ?></b></p>
  61  
  62      <hr>
  63  
  64      <!-- Utility links, web-1.0 style -->
  65      <p>
  66        <a href="<?php echo eattr(url('index.php')); ?>">Home</a> &middot;
  67        <a href="<?php echo eattr(url('about.php')); ?>">About</a> &middot;
  68        <a href="<?php echo eattr(url('privacy.php')); ?>">Privacy</a> &middot;
  69        <a href="<?php echo eattr(url('source.php')); ?>">Source</a> &middot;
  70        <a href="<?php echo eattr(url('guestbook.php')); ?>">Guestbook</a> &middot;
  71        <a href="<?php echo eattr(url('rss.php')); ?>">RSS</a> &middot;
  72        <a href="<?php echo eattr(url('sitemap.php')); ?>">Sitemap</a> &middot;
  73        <a href="<?php echo eattr(url('robots.txt')); ?>">robots.txt</a>
  74      </p>
  75  
  76      <!-- Author links + donation -->
  77      <div class="author-links">
  78        <div class="al-links">
  79          <a href="<?php echo eattr(WEBSITE_URL); ?>" target="_blank" rel="noopener noreferrer">[ My Website &mdash; h4x0r.icu ]</a>
  80          &nbsp;&middot;&nbsp;
  81          <a href="<?php echo eattr(BLOG_URL); ?>" target="_blank" rel="noopener noreferrer">[ My Blog ]</a>
  82        </div>
  83        <div class="al-donate">
  84          <a href="<?php echo eattr(DONATE_URL); ?>" target="_blank" rel="noopener noreferrer" title="Support this project">
  85            <img class="coindrop" src="https://coindrop.to/embed-button.png" alt="Coindrop.to me">
  86          </a>
  87        </div>
  88        <div class="dim" style="font-size:14px">Like this? Buy me a coffee. No pressure, no tracking.</div>
  89      </div>
  90  
  91      <!-- The obligatory row of 88x31 buttons -->
  92      <div class="buttons88">
  93  <?php foreach ($__buttons as $__b): ?>
  94        <?php echo button_88x31($__b); ?>
  95  <?php endforeach; ?>
  96      </div>
  97  
  98      <p class="dim">
  99        <?php echo e(SITE_NAME); ?> v<?php echo e(SITE_VERSION); ?> &mdash;
 100        (c) <?php echo e(SITE_YEAR); ?> <?php echo e(SITE_AUTHOR); ?>. Released to the public domain.
 101        <br>
 102        Handcrafted in a text editor. Tested in Netscape. <a href="#dig" id="digLink" title="?">.</a>
 103      </p>
 104    </div><!-- /.footer -->
 105  
 106    </div><!-- /.wrap -->
 107  
 108  <!-- ============================ GLOBAL SCRIPT ======================== -->
 109  <script>
 110  (function () {
 111    "use strict";
 112  
 113    /* ---- Live clocks -------------------------------------------------------
 114       Anchor to the server epoch delivered by PHP, then advance locally so both
 115       the server-time and UTC displays tick once per second without any polling. */
 116    var SERVER_EPOCH_MS = <?php echo json_encode($__server_epoch * 1000); ?>;
 117    var loadedAt = Date.now();
 118  
 119    function pad(n) { return (n < 10 ? '0' : '') + n; }
 120  
 121    function fmt(d) {
 122      return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate())
 123           + ' ' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds());
 124    }
 125  
 126    var elServer = document.getElementById('clkServer');
 127    var elUtc    = document.getElementById('clkUtc');
 128  
 129    function tick() {
 130      var nowServerMs = SERVER_EPOCH_MS + (Date.now() - loadedAt);
 131      var utc = new Date(nowServerMs);
 132      if (elUtc) { elUtc.textContent = fmt(utc) + ' UTC'; }
 133      if (elServer) {
 134        // Server local time: show the visitor's own local time as a stand-in for
 135        // "current time", clearly labelled, plus keep the server-rendered TZ text.
 136        var local = new Date(nowServerMs);
 137        elServer.textContent =
 138          local.getFullYear() + '-' + pad(local.getMonth() + 1) + '-' + pad(local.getDate())
 139          + ' ' + pad(local.getHours()) + ':' + pad(local.getMinutes()) + ':' + pad(local.getSeconds());
 140      }
 141    }
 142    tick();
 143    setInterval(tick, 1000);
 144  
 145    /* ---- CRT scanline toggle (persisted) ----------------------------------- */
 146    var htmlEl = document.documentElement;
 147    var bodyEl = document.body;
 148    var stateEl = document.getElementById('crtState');
 149    var toggleEl = document.getElementById('crtToggle');
 150  
 151    function applyCrt(on) {
 152      if (on) {
 153        bodyEl.classList.add('crt-on');
 154        if (stateEl) { stateEl.textContent = 'on'; }
 155      } else {
 156        bodyEl.classList.remove('crt-on');
 157        if (stateEl) { stateEl.textContent = 'off'; }
 158      }
 159      htmlEl.classList.remove('crt-pending');
 160    }
 161  
 162    var crtOn = false;
 163    try { crtOn = (localStorage.getItem('crt') === 'on'); } catch (e) {}
 164    applyCrt(crtOn);
 165  
 166    if (toggleEl) {
 167      toggleEl.addEventListener('click', function () {
 168        crtOn = !crtOn;
 169        try { localStorage.setItem('crt', crtOn ? 'on' : 'off'); } catch (e) {}
 170        applyCrt(crtOn);
 171      });
 172    }
 173  
 174    /* ---- Under-construction easter egg -------------------------------------
 175       Revealed by the #dig anchor link in the footer, OR by the Konami code. */
 176    var digLink = document.getElementById('digLink');
 177    var digBox  = document.getElementById('dig');
 178    function reveal() {
 179      if (digBox) {
 180        digBox.style.display = 'block';
 181        digBox.scrollIntoView({ behavior: 'smooth', block: 'center' });
 182      }
 183    }
 184    if (digLink) {
 185      digLink.addEventListener('click', function (ev) { ev.preventDefault(); reveal(); });
 186    }
 187  
 188    var konami = [38,38,40,40,37,39,37,39,66,65];
 189    var kpos = 0;
 190    document.addEventListener('keydown', function (ev) {
 191      var k = ev.keyCode || ev.which;
 192      if (k === konami[kpos]) {
 193        kpos++;
 194        if (kpos === konami.length) {
 195          kpos = 0;
 196          reveal();
 197        }
 198      } else {
 199        kpos = (k === konami[0]) ? 1 : 0;
 200      }
 201    });
 202  })();
 203  </script>
 204  
 205  </body>
 206  </html>
 207  

You are reading the real file being executed on the server. What you see is what runs.