Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -15,11 +15,17 @@ BLOCKED_DOMAINS = [
|
|
15 |
# ββββββββββββββββββββββββββ 2. CURATED CATEGORIES ββββββββββββββββββββββββββ
|
16 |
CATEGORIES = {
|
17 |
"Popular": [
|
|
|
|
|
|
|
|
|
|
|
18 |
"https://huggingface.co/spaces/openfree/AGI-Screenplay",
|
19 |
"https://huggingface.co/spaces/openfree/AGI-WebNovel",
|
20 |
"https://huggingface.co/spaces/openfree/AGI-NOVEL",
|
21 |
"https://huggingface.co/spaces/fantaxy/AGI-LEADERBOARD",
|
22 |
-
"https://cutechicken-3d-airforce-simulator.static.hf.space",
|
|
|
23 |
"https://huggingface.co/spaces/ginipick/Private-AI",
|
24 |
"https://huggingface.co/spaces/fantaxy/ofai-flx-logo",
|
25 |
"https://huggingface.co/spaces/aiqtech/FLUX-Ghibli-Studio-LoRA",
|
@@ -51,14 +57,13 @@ CATEGORIES = {
|
|
51 |
"https://huggingface.co/spaces/openfree/MagicFace-V3",
|
52 |
"https://huggingface.co/spaces/Heartsync/adult",
|
53 |
"https://huggingface.co/spaces/Heartsync/wan2-1-fast-security",
|
54 |
-
"https://huggingface.co/spaces/Heartsync/NSFW-Uncensored-REAL",
|
55 |
"https://huggingface.co/spaces/seawolf2357/img2vid",
|
56 |
"https://huggingface.co/spaces/openfree/image-to-vector",
|
57 |
"https://huggingface.co/spaces/openfree/DreamO-video",
|
58 |
"https://huggingface.co/spaces/VIDraft/FramePack_rotate_landscape",
|
59 |
"https://huggingface.co/spaces/fantaxy/Sound-AI-SFX",
|
60 |
"https://huggingface.co/spaces/ginigen/VoiceClone-TTS",
|
61 |
-
|
62 |
"https://huggingface.co/spaces/Heartsync/NSFW-image",
|
63 |
"https://huggingface.co/spaces/Heartsync/NSFW-detection",
|
64 |
"https://huggingface.co/spaces/Heartsync/VEO3-RealTime",
|
@@ -69,6 +74,7 @@ CATEGORIES = {
|
|
69 |
|
70 |
],
|
71 |
"BEST": [
|
|
|
72 |
"https://huggingface.co/spaces/MaziyarPanahi/FACTS-Leaderboard",
|
73 |
"https://huggingface.co/spaces/ginigen/Flux-Kontext-Style",
|
74 |
"https://huggingface.co/spaces/openfree/Cycle-Navigator",
|
@@ -76,6 +82,8 @@ CATEGORIES = {
|
|
76 |
"https://huggingface.co/spaces/ginigen/Seedance-Free",
|
77 |
"https://huggingface.co/spaces/VIDraft/SOMA-AGI",
|
78 |
"https://huggingface.co/spaces/aiqtech/Heatmap-Leaderboard",
|
|
|
|
|
79 |
"https://huggingface.co/spaces/VIDraft/DNA-CASINO",
|
80 |
"https://huggingface.co/spaces/aiqtech/SOMA-Oriental",
|
81 |
"https://huggingface.co/spaces/fantaxy/YTB-TEST",
|
@@ -450,7 +458,6 @@ body{margin:0;font-family:Nunito,sans-serif;background:#f6f8fb;}
|
|
450 |
</header>
|
451 |
<div class="tabs" id="tabs"></div>
|
452 |
<div id="content"></div>
|
453 |
-
|
454 |
<script>
|
455 |
// Basic configuration
|
456 |
const cats = {{cats|tojson}};
|
@@ -458,7 +465,6 @@ const tabs = document.getElementById('tabs');
|
|
458 |
const content = document.getElementById('content');
|
459 |
let active = "";
|
460 |
let currentPage = 1;
|
461 |
-
|
462 |
// Simple utility functions
|
463 |
function makeRequest(url, method, data, callback) {
|
464 |
const xhr = new XMLHttpRequest();
|
@@ -474,13 +480,11 @@ function makeRequest(url, method, data, callback) {
|
|
474 |
xhr.send();
|
475 |
}
|
476 |
}
|
477 |
-
|
478 |
function updateTabs() {
|
479 |
Array.from(tabs.children).forEach(b => {
|
480 |
b.classList.toggle('active', b.dataset.c === active);
|
481 |
});
|
482 |
}
|
483 |
-
|
484 |
// Tab handlers
|
485 |
function loadCategory(cat, page) {
|
486 |
if(cat === active && currentPage === page) return;
|
@@ -525,7 +529,6 @@ function loadCategory(cat, page) {
|
|
525 |
content.innerHTML = html;
|
526 |
});
|
527 |
}
|
528 |
-
|
529 |
// Create tabs
|
530 |
// Special tabs first (Popular, BEST, NEW)
|
531 |
['Popular', 'BEST', 'NEW'].forEach(specialCat => {
|
@@ -536,7 +539,6 @@ function loadCategory(cat, page) {
|
|
536 |
b.onclick = function() { loadCategory(specialCat, 1); };
|
537 |
tabs.appendChild(b);
|
538 |
});
|
539 |
-
|
540 |
// Regular category tabs
|
541 |
cats.forEach(c => {
|
542 |
if (!['Popular', 'BEST', 'NEW'].includes(c)) {
|
@@ -548,7 +550,6 @@ cats.forEach(c => {
|
|
548 |
tabs.appendChild(b);
|
549 |
}
|
550 |
});
|
551 |
-
|
552 |
// Start with Popular tab
|
553 |
loadCategory('Popular', 1);
|
554 |
</script>
|
|
|
15 |
# ββββββββββββββββββββββββββ 2. CURATED CATEGORIES ββββββββββββββββββββββββββ
|
16 |
CATEGORIES = {
|
17 |
"Popular": [
|
18 |
+
"https://huggingface.co/spaces/openfree/OpenAI-gpt-oss",
|
19 |
+
"https://openfree-AI-Calcurator.static.hf.space",
|
20 |
+
"https://huggingface.co/spaces/openfree/AGI-WebNovel-Gallery",
|
21 |
+
"https://huggingface.co/spaces/Heartsync/Wan-2.2-ADULT",
|
22 |
+
"https://huggingface.co/spaces/ginigen/Wan-2.2-Enhanced",
|
23 |
"https://huggingface.co/spaces/openfree/AGI-Screenplay",
|
24 |
"https://huggingface.co/spaces/openfree/AGI-WebNovel",
|
25 |
"https://huggingface.co/spaces/openfree/AGI-NOVEL",
|
26 |
"https://huggingface.co/spaces/fantaxy/AGI-LEADERBOARD",
|
27 |
+
"https://cutechicken-3d-airforce-simulator.static.hf.space",
|
28 |
+
"https://huggingface.co/spaces/Heartsync/FREE-NSFW-HUB",
|
29 |
"https://huggingface.co/spaces/ginipick/Private-AI",
|
30 |
"https://huggingface.co/spaces/fantaxy/ofai-flx-logo",
|
31 |
"https://huggingface.co/spaces/aiqtech/FLUX-Ghibli-Studio-LoRA",
|
|
|
57 |
"https://huggingface.co/spaces/openfree/MagicFace-V3",
|
58 |
"https://huggingface.co/spaces/Heartsync/adult",
|
59 |
"https://huggingface.co/spaces/Heartsync/wan2-1-fast-security",
|
|
|
60 |
"https://huggingface.co/spaces/seawolf2357/img2vid",
|
61 |
"https://huggingface.co/spaces/openfree/image-to-vector",
|
62 |
"https://huggingface.co/spaces/openfree/DreamO-video",
|
63 |
"https://huggingface.co/spaces/VIDraft/FramePack_rotate_landscape",
|
64 |
"https://huggingface.co/spaces/fantaxy/Sound-AI-SFX",
|
65 |
"https://huggingface.co/spaces/ginigen/VoiceClone-TTS",
|
66 |
+
|
67 |
"https://huggingface.co/spaces/Heartsync/NSFW-image",
|
68 |
"https://huggingface.co/spaces/Heartsync/NSFW-detection",
|
69 |
"https://huggingface.co/spaces/Heartsync/VEO3-RealTime",
|
|
|
74 |
|
75 |
],
|
76 |
"BEST": [
|
77 |
+
"https://vidraft-ai.static.hf.space",
|
78 |
"https://huggingface.co/spaces/MaziyarPanahi/FACTS-Leaderboard",
|
79 |
"https://huggingface.co/spaces/ginigen/Flux-Kontext-Style",
|
80 |
"https://huggingface.co/spaces/openfree/Cycle-Navigator",
|
|
|
82 |
"https://huggingface.co/spaces/ginigen/Seedance-Free",
|
83 |
"https://huggingface.co/spaces/VIDraft/SOMA-AGI",
|
84 |
"https://huggingface.co/spaces/aiqtech/Heatmap-Leaderboard",
|
85 |
+
"https://huggingface.co/spaces/Heartsync/PornHUB",
|
86 |
+
"https://huggingface.co/spaces/Heartsync/Hentai-Adult",
|
87 |
"https://huggingface.co/spaces/VIDraft/DNA-CASINO",
|
88 |
"https://huggingface.co/spaces/aiqtech/SOMA-Oriental",
|
89 |
"https://huggingface.co/spaces/fantaxy/YTB-TEST",
|
|
|
458 |
</header>
|
459 |
<div class="tabs" id="tabs"></div>
|
460 |
<div id="content"></div>
|
|
|
461 |
<script>
|
462 |
// Basic configuration
|
463 |
const cats = {{cats|tojson}};
|
|
|
465 |
const content = document.getElementById('content');
|
466 |
let active = "";
|
467 |
let currentPage = 1;
|
|
|
468 |
// Simple utility functions
|
469 |
function makeRequest(url, method, data, callback) {
|
470 |
const xhr = new XMLHttpRequest();
|
|
|
480 |
xhr.send();
|
481 |
}
|
482 |
}
|
|
|
483 |
function updateTabs() {
|
484 |
Array.from(tabs.children).forEach(b => {
|
485 |
b.classList.toggle('active', b.dataset.c === active);
|
486 |
});
|
487 |
}
|
|
|
488 |
// Tab handlers
|
489 |
function loadCategory(cat, page) {
|
490 |
if(cat === active && currentPage === page) return;
|
|
|
529 |
content.innerHTML = html;
|
530 |
});
|
531 |
}
|
|
|
532 |
// Create tabs
|
533 |
// Special tabs first (Popular, BEST, NEW)
|
534 |
['Popular', 'BEST', 'NEW'].forEach(specialCat => {
|
|
|
539 |
b.onclick = function() { loadCategory(specialCat, 1); };
|
540 |
tabs.appendChild(b);
|
541 |
});
|
|
|
542 |
// Regular category tabs
|
543 |
cats.forEach(c => {
|
544 |
if (!['Popular', 'BEST', 'NEW'].includes(c)) {
|
|
|
550 |
tabs.appendChild(b);
|
551 |
}
|
552 |
});
|
|
|
553 |
// Start with Popular tab
|
554 |
loadCategory('Popular', 1);
|
555 |
</script>
|