Spaces:
Paused
Paused
Guest1 commited on
Commit Β·
67587db
1
Parent(s): 7f42ad5
Deploy: 2026-04-01 00:01:13
Browse files- README.md +3 -3
- backend/main.py +4 -4
- frontend/index.html +5 -5
README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
emoji: π
|
| 4 |
colorFrom: blue
|
| 5 |
colorTo: purple
|
|
@@ -8,7 +8,7 @@ app_port: 7860
|
|
| 8 |
pinned: true
|
| 9 |
---
|
| 10 |
|
| 11 |
-
# π
|
| 12 |
|
| 13 |
A random website discovery platform that indexes the entire web using:
|
| 14 |
|
|
@@ -33,4 +33,4 @@ A random website discovery platform that indexes the entire web using:
|
|
| 33 |
|
| 34 |
## Links
|
| 35 |
|
| 36 |
-
- [GitHub Repository](https://github.com/guestcoder0906/
|
|
|
|
| 1 |
---
|
| 2 |
+
title: WebRoulette
|
| 3 |
emoji: π
|
| 4 |
colorFrom: blue
|
| 5 |
colorTo: purple
|
|
|
|
| 8 |
pinned: true
|
| 9 |
---
|
| 10 |
|
| 11 |
+
# π WebRoulette β Discover Random Websites
|
| 12 |
|
| 13 |
A random website discovery platform that indexes the entire web using:
|
| 14 |
|
|
|
|
| 33 |
|
| 34 |
## Links
|
| 35 |
|
| 36 |
+
- [GitHub Repository](https://github.com/guestcoder0906/RandomWebsite)
|
backend/main.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
"""
|
| 2 |
-
|
| 3 |
FastAPI app with background workers for URL discovery, validation, and re-verification.
|
| 4 |
"""
|
| 5 |
import asyncio
|
|
@@ -24,7 +24,7 @@ logging.basicConfig(
|
|
| 24 |
format="%(asctime)s [%(name)s] %(levelname)s: %(message)s",
|
| 25 |
datefmt="%Y-%m-%d %H:%M:%S",
|
| 26 |
)
|
| 27 |
-
logger = logging.getLogger("
|
| 28 |
|
| 29 |
|
| 30 |
async def seed_top_websites():
|
|
@@ -39,7 +39,7 @@ async def seed_top_websites():
|
|
| 39 |
async def lifespan(app: FastAPI):
|
| 40 |
"""Manage background workers lifecycle."""
|
| 41 |
logger.info("=" * 60)
|
| 42 |
-
logger.info("
|
| 43 |
logger.info("Supabase URL: %s", SUPABASE_URL)
|
| 44 |
logger.info("Secret key configured: %s", "Yes" if SUPABASE_SECRET_KEY else "No")
|
| 45 |
logger.info("=" * 60)
|
|
@@ -86,7 +86,7 @@ async def lifespan(app: FastAPI):
|
|
| 86 |
|
| 87 |
# βββ FastAPI App βββββββββββββββββββββββββββββββββββββββββββββ
|
| 88 |
app = FastAPI(
|
| 89 |
-
title="
|
| 90 |
description="Discover random websites from across the internet",
|
| 91 |
version="1.0.0",
|
| 92 |
lifespan=lifespan,
|
|
|
|
| 1 |
"""
|
| 2 |
+
WebRoulette β Main Application
|
| 3 |
FastAPI app with background workers for URL discovery, validation, and re-verification.
|
| 4 |
"""
|
| 5 |
import asyncio
|
|
|
|
| 24 |
format="%(asctime)s [%(name)s] %(levelname)s: %(message)s",
|
| 25 |
datefmt="%Y-%m-%d %H:%M:%S",
|
| 26 |
)
|
| 27 |
+
logger = logging.getLogger("webroulette")
|
| 28 |
|
| 29 |
|
| 30 |
async def seed_top_websites():
|
|
|
|
| 39 |
async def lifespan(app: FastAPI):
|
| 40 |
"""Manage background workers lifecycle."""
|
| 41 |
logger.info("=" * 60)
|
| 42 |
+
logger.info("WebRoulette starting up")
|
| 43 |
logger.info("Supabase URL: %s", SUPABASE_URL)
|
| 44 |
logger.info("Secret key configured: %s", "Yes" if SUPABASE_SECRET_KEY else "No")
|
| 45 |
logger.info("=" * 60)
|
|
|
|
| 86 |
|
| 87 |
# βββ FastAPI App βββββββββββββββββββββββββββββββββββββββββββββ
|
| 88 |
app = FastAPI(
|
| 89 |
+
title="WebRoulette",
|
| 90 |
description="Discover random websites from across the internet",
|
| 91 |
version="1.0.0",
|
| 92 |
lifespan=lifespan,
|
frontend/index.html
CHANGED
|
@@ -3,10 +3,10 @@
|
|
| 3 |
<head>
|
| 4 |
<meta charset="UTF-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
-
<title>
|
| 7 |
-
<meta name="description" content="Explore the web randomly.
|
| 8 |
<meta name="theme-color" content="#0a0e1a">
|
| 9 |
-
<meta property="og:title" content="
|
| 10 |
<meta property="og:description" content="One click. One random website. Explore the entire internet.">
|
| 11 |
<meta property="og:type" content="website">
|
| 12 |
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>π</text></svg>">
|
|
@@ -27,7 +27,7 @@
|
|
| 27 |
<div class="container">
|
| 28 |
<a href="/" class="logo" id="logo-link">
|
| 29 |
<div class="logo-icon">π</div>
|
| 30 |
-
<span class="logo-text">
|
| 31 |
</a>
|
| 32 |
<div class="header-stats">
|
| 33 |
<span class="pulse-dot"></span>
|
|
@@ -132,7 +132,7 @@
|
|
| 132 |
<div class="footer-links">
|
| 133 |
<a href="https://github.com/guestcoder0906/RandomWeb" target="_blank" rel="noopener">GitHub</a>
|
| 134 |
<span class="divider"></span>
|
| 135 |
-
<span style="color: var(--text-muted);">Built with π by
|
| 136 |
</div>
|
| 137 |
|
| 138 |
</div>
|
|
|
|
| 3 |
<head>
|
| 4 |
<meta charset="UTF-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>WebRoulette β Discover Random Websites from Across the Internet</title>
|
| 7 |
+
<meta name="description" content="Explore the web randomly. WebRoulette discovers, indexes, and validates websites from across the entire internet. Click and go anywhere.">
|
| 8 |
<meta name="theme-color" content="#0a0e1a">
|
| 9 |
+
<meta property="og:title" content="WebRoulette β Discover Random Websites">
|
| 10 |
<meta property="og:description" content="One click. One random website. Explore the entire internet.">
|
| 11 |
<meta property="og:type" content="website">
|
| 12 |
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>π</text></svg>">
|
|
|
|
| 27 |
<div class="container">
|
| 28 |
<a href="/" class="logo" id="logo-link">
|
| 29 |
<div class="logo-icon">π</div>
|
| 30 |
+
<span class="logo-text">WebRoulette</span>
|
| 31 |
</a>
|
| 32 |
<div class="header-stats">
|
| 33 |
<span class="pulse-dot"></span>
|
|
|
|
| 132 |
<div class="footer-links">
|
| 133 |
<a href="https://github.com/guestcoder0906/RandomWeb" target="_blank" rel="noopener">GitHub</a>
|
| 134 |
<span class="divider"></span>
|
| 135 |
+
<span style="color: var(--text-muted);">Built with π by WebRoulette</span>
|
| 136 |
</div>
|
| 137 |
|
| 138 |
</div>
|