') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Hypefox · GitHub
Skip to content
@officialhypefox

Hypefox

Internet infrastructure from Malmö, Sweden. Hosting brands on our own network, AS214365.
Hypefox

Hypefox AB

Internet infrastructure, built and run from Malmö, Sweden.

We operate our own network and put our own brands on top of it. One of them is free, one of them is premium, and the wires underneath are the same.

hypefox.netAS214365Malmö, Sweden


🦊 The brands

Velrix

Velrix

Free hosting that stays free.

Discord bots and applications, deployed in minutes. A full control panel, DDoS protection, and points you earn to keep things running. No credit card and no trial clock.

Landing · Status · Discord

Melonslab

Melonslab

Premium Swedish cloud.

VPS, web hosting and game servers, all of it in Sweden. Full EU data sovereignty, GDPR by default, 100% renewable energy, and FoxProtect™ on every service.

Landing · Status · Discord

🛰️ The network

Everything runs on AS214365, our own network out of Malmö. Routing, peering and DDoS filtering are ours to fix rather than a vendor's to explain, which is the entire reason we run it ourselves.

📦 Open source

Most of what we build is private. The parts that belong to the community are not:

RepositoryWhat it is
velrix-controlOur fork of Pelican Panel, AGPL-3.0. Single sign-on, rate limits tuned for a brokered API, and a few interface fixes. Every change is listed in its readme, as the licence asks.
velrix-eggsThe eggs behind Velrix deployments, with an automated icon pipeline.

We keep our forks merged with upstream rather than letting them drift.

🔒 Behind the closed doors

The rest is private, but there is no reason to be cagey about what it is. This is what we actually work on:

RepositoryWhat it isBuilt with
❇️velrix-webthe Velrix site and dashboardNuxt 4, Nuxt UI
❇️velrix-apithe Velrix API, economy and panel brokerBun, Hono, Drizzle, PostgreSQL, Redis
❇️velrix-discordthe Velrix bot, for people who live in DiscordBun, discord.js, Sapphire
❇️velrix-desktopdesktop app with its own update channelElectron, Vite
🍉melonslab-webthe Melonslab landing pageNuxt 4, Tailwind
🦊hypefox-webthis company, on the webNuxt 4, Nuxt UI

📮 Getting hold of us

  • Support · open a ticket from the dashboard of the service you use, or ask in its Discord: Velrix, Melonslab
  • Security · contact@hypefox.net, or see security.txt
  • Abuse · abuse@hypefox.net
  • Peering · PeeringDB

Hypefox AB · Malmö, Sweden · AS214365

Popular repositories Loading

  1. .github .githubPublic

    Org profile and shared GitHub configuration for Hypefox AB.

  2. velrix-control velrix-controlPublic

    Forked from pelican/panel

    The Velrix game panel. A fork of Pelican Panel (AGPL-3.0) with single sign-on from the Velrix dashboard. Being replaced by velrix-runner. Every change we made is listed in the readme.

    PHP

  3. velrix-eggs velrix-eggsPublic

    The Pelican eggs behind Velrix deployments: Bun, Node.js, Python, Go, Java and Rust runtimes plus Red-DiscordBot and Modmail, with an automated icon pipeline.

    TypeScript

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…