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

@@ -123,7 +123,7 @@ export default function LinksPage() {
},
{
title: "ARB Academy",
description: "Learn 47 guaranteed ways to make money (parody). Most lessons end with your LUX balance going down.",
description: "Learn 47 guaranteed ways to make money. Most lessons end with your LUX balance going down.",
url: "/arb-academy",
internal: true,
icon: "🎓",
@@ -166,7 +166,7 @@ export default function LinksPage() {
<h2 className="font-orbitron text-4xl font-bold">VERIFIED LINKS</h2>
<p className="opacity-80">Sites that have been vetted by our community.</p>
</div>
<div className="text-sm text-foreground/40">
<div className="text-sm opacity-70">
<span className="inline-block h-3 w-3 rounded-full bg-neon-green"></span> High Trust &nbsp;
<span className="inline-block h-3 w-3 rounded-full bg-yellow-500"></span> Medium &nbsp;
<span className="inline-block h-3 w-3 rounded-full bg-red-500"></span> Low
@@ -176,7 +176,7 @@ export default function LinksPage() {
{darkWebLinks.map((link) => (
<div
key={link.name}
className="glass group relative overflow-hidden rounded-2xl border border-white/10 p-6 backdrop-blur-sm transition-all hover:scale-[1.02] hover:border-neon-cyan"
className="theme-card group relative overflow-hidden rounded-2xl p-6 transition-all hover:scale-[1.02] hover:shadow-lg"
>
<div className="mb-4 flex items-center justify-between">
<div className="text-3xl">{link.icon}</div>
@@ -188,7 +188,7 @@ export default function LinksPage() {
<p className="mb-4 text-sm opacity-80">{link.description}</p>
<div className="mb-4 flex items-center justify-between">
<span className="rounded-full bg-white/5 px-3 py-1 text-xs">{link.category}</span>
<span className="text-xs text-foreground/40">{link.url}</span>
<span className="text-xs opacity-70">{link.url}</span>
</div>
<a
href="#"
@@ -196,7 +196,7 @@ export default function LinksPage() {
e.preventDefault();
alert("Clearnet cannot resolve this hostname. Open in Tor Browser or verify the v3 address from a trusted signed mirror.");
}}
className="inline-flex items-center gap-2 text-neon-cyan hover:underline"
className="inline-flex items-center gap-2 theme-accent hover:underline"
>
<span>Visit Site</span>
<span></span>
@@ -217,7 +217,7 @@ export default function LinksPage() {
{endorsements.map((endorse) => (
<div
key={endorse.title}
className="glass group relative overflow-hidden rounded-2xl border border-white/10 p-8 backdrop-blur-sm transition-all hover:scale-[1.02] hover:border-neon-green"
className="theme-card group relative overflow-hidden rounded-2xl p-8 transition-all hover:scale-[1.02] hover:shadow-lg"
>
<div className="mb-6 text-4xl">{endorse.icon}</div>
<h3 className="mb-4 text-2xl font-bold">{endorse.title}</h3>
@@ -226,7 +226,7 @@ export default function LinksPage() {
{endorse.internal ? (
<Link
href={endorse.url}
className="rounded-full bg-gradient-to-r from-neon-green to-neon-cyan px-6 py-3 font-bold text-background"
className="rounded-full bg-gradient-to-r theme-accent border-2 border-current bg-current text-white px-6 py-3 font-bold text-background"
>
Read More
</Link>
@@ -237,12 +237,12 @@ export default function LinksPage() {
e.preventDefault();
alert("External .onion — use Tor Browser. Never enter keys or seeds on a clearnet tab.");
}}
className="rounded-full border border-neon-cyan px-6 py-3 font-bold text-neon-cyan hover:bg-neon-cyan/10"
className="rounded-full theme-card border-2 border-current px-6 py-3 font-bold theme-accent"
>
Visit External Site
</a>
)}
<span className="text-sm text-foreground/40">{endorse.internal ? "Internal" : "External"}</span>
<span className="text-sm opacity-70">{endorse.internal ? "Internal" : "External"}</span>
</div>
<div className="absolute -inset-1 -z-10 bg-gradient-to-br from-neon-green/0 to-neon-cyan/0 opacity-0 transition-opacity group-hover:opacity-10"></div>
</div>
@@ -251,7 +251,7 @@ export default function LinksPage() {
</section>
{/* Footer */}
<footer className="glass border-t border-white/10 px-4 py-12">
<footer className="theme-card border-t border-current/20 px-4 py-12">
<div className="container mx-auto max-w-6xl">
<div className="grid grid-cols-1 gap-10 md:grid-cols-4">
<div>
@@ -295,7 +295,7 @@ export default function LinksPage() {
</div>
</div>
</div>
<div className="mt-12 border-t border-white/10 pt-8 text-center text-sm text-foreground/40">
<div className="mt-12 border-t border-current/20 pt-8 text-center text-sm opacity-70">
<p>© 2026 CyberLux · Mirror integrity · Escrow policy</p>
<p className="mt-2 text-foreground/35">
Trust scores are heuristic. Verify vendors independently. Phishing clones exist check PGP every session.