Tor ops: launch UI, onion list/health scripts, systemd installer, README glow-up

- Replace fake-site footer with dark-web launch CTA; fix HubChatter inside AppProviders (client crash)
- Add /launch, DEPLOY.md, onions:list|status|health, list-onion-urls, install-systemd, onion-status
- start.sh CYBERLUX_PREPARE_ONLY; copy pass on satellite pages; Navbar launch link
- README: operator cheat sheet, phone Tor note, systemd via install-systemd.sh

Made-with: Cursor
This commit is contained in:
drjones
2026-04-15 22:12:44 -07:00
parent 1bbc761f58
commit e0a4a20862
30 changed files with 664 additions and 109 deletions

View File

@@ -1,5 +1,6 @@
"use client";
import Link from "next/link";
import { useState, useEffect, useRef } from "react";
export default function DDoSProtection({ onComplete }: { onComplete: () => void }) {
@@ -92,8 +93,11 @@ export default function DDoSProtection({ onComplete }: { onComplete: () => void
Performance & Security by ShadowGuard
</div>
</div>
<p className="pointer-events-none fixed bottom-6 left-0 right-0 px-4 text-center text-2xl font-black text-red-500 sm:text-3xl md:text-4xl">
This site is fake
<p className="pointer-events-none fixed bottom-6 left-0 right-0 px-4 text-center text-sm font-mono uppercase tracking-[0.2em] text-neon-cyan/80 sm:text-base">
Tor-ready ingress · verify circuit ·{" "}
<Link href="/launch" className="pointer-events-auto text-neon-purple underline hover:text-neon-cyan">
/launch
</Link>
</p>
</div>
);

View File

@@ -0,0 +1,42 @@
"use client";
import Link from "next/link";
/** Global footer: dark-web deployment CTA (replaces old disclosure strip). */
export default function DarkWebLaunchFooter() {
return (
<footer
className="relative z-[1] border-t border-neon-cyan/30 bg-gradient-to-b from-[#0a0a0a] to-black px-4 py-14 shadow-[0_-12px_40px_rgba(0,255,255,0.06)]"
role="contentinfo"
aria-label="Tor deployment"
>
<div className="mx-auto max-w-4xl text-center">
<p className="font-mono text-[10px] uppercase tracking-[0.4em] text-neon-cyan/80">onion · v3 · air-gapped backend</p>
<h2 className="mt-4 font-orbitron text-2xl font-black tracking-tight text-white sm:text-3xl md:text-4xl">
Get this launched on the dark web
</h2>
<p className="mx-auto mt-4 max-w-2xl text-sm text-foreground/70">
One Next.js stack behind nginx loopbacks Tor hidden services per vertical. Bind to localhost, route through Tor
Browser, rotate keys from backups. No clearnet required.
</p>
<div className="mt-8 flex flex-wrap items-center justify-center gap-4">
<Link
href="/launch"
className="rounded-full bg-gradient-to-r from-neon-cyan to-neon-purple px-8 py-3 text-sm font-bold text-black transition hover:opacity-95"
>
Full Tor launch playbook
</Link>
<Link
href="/account/hidden-services"
className="glass rounded-full border border-white/15 px-6 py-3 text-sm font-semibold text-neon-green hover:border-neon-green/50"
>
Mirror list & hostnames
</Link>
</div>
<p className="mt-10 text-xs text-foreground/40">
Operational security is yours. Verify signatures, firewall egress, and jurisdiction before you ship.
</p>
</div>
</footer>
);
}

View File

@@ -1,20 +0,0 @@
"use client";
/**
* Single required disclosure for the build: appears after every routes main content.
*/
export default function GlobalFakeSiteFooter() {
return (
<footer
className="relative z-[1] border-t-4 border-red-600 bg-[#050505] px-4 py-12 shadow-[0_-12px_40px_rgba(0,0,0,0.85)]"
role="contentinfo"
aria-label="Fiction disclosure"
>
<div className="mx-auto max-w-5xl pb-16 sm:pb-20 md:pb-24">
<p className="text-center text-4xl font-black leading-tight tracking-tight text-red-500 sm:text-5xl md:text-6xl lg:text-7xl">
This site is fake
</p>
</div>
</footer>
);
}

View File

@@ -26,6 +26,7 @@ const Navbar = () => {
{ label: "Syndicate", href: "/syndicate", icon: "🕸️" },
{ label: "Void crawl", href: "/search", icon: "🔦" },
{ label: "Mirrors", href: "/account/hidden-services", icon: "🧅" },
{ label: "Dark web launch", href: "/launch", icon: "🔥" },
];
const handleWalletClick = () => {

View File

@@ -23,7 +23,7 @@ export function WebringBadge({ storeHref = "/" }: { storeHref?: string }) {
</Link>
</div>
<div className="mt-4 text-xs text-foreground/40">
Disclaimer: parody universe. No real goods. No real money. Just immaculate confusion.
Shadow-routed microsite · deploy your own onion from the hub <Link href="/launch" className="text-neon-cyan hover:underline">/launch</Link>
</div>
</div>
);