Spaces:
Configuration error
Configuration error
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Squadron Grit Search Engine Hub</title> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
| <link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&family=Rajdhani:wght@500;700&display=swap" rel="stylesheet"> | |
| <style> | |
| :root { | |
| --primary-military: #2a3a1f; | |
| --secondary-black: #121a0f; | |
| --accent-beige: #c2b280; | |
| --highlight-gold: #d4af37; | |
| --panel-dark: #1e2615; | |
| --tactical-red: #a52a2a; | |
| --text-light: #e0e0e0; | |
| } | |
| body { | |
| font-family: 'Rajdhani', sans-serif; | |
| margin: 0; | |
| padding: 0; | |
| background: linear-gradient(135deg, var(--secondary-black), var(--primary-military)); | |
| color: var(--text-light); | |
| min-height: 100vh; | |
| transition: all 0.3s ease; | |
| } | |
| /* Tactical Header */ | |
| .tactical-header { | |
| background: rgba(42, 58, 31, 0.9); | |
| padding: 15px 0; | |
| border-bottom: 2px solid var(--highlight-gold); | |
| position: relative; | |
| z-index: 100; | |
| } | |
| .header-container { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| max-width: 1200px; | |
| margin: 0 auto; | |
| padding: 0 20px; | |
| } | |
| .logo-container { | |
| display: flex; | |
| align-items: center; | |
| gap: 15px; | |
| } | |
| .logo-icon { | |
| width: 50px; | |
| height: 50px; | |
| background: radial-gradient(circle, var(--highlight-gold), var(--primary-military)); | |
| border-radius: 50%; | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| border: 2px solid var(--accent-beige); | |
| box-shadow: 0 0 15px rgba(212, 175, 55, 0.3); | |
| animation: pulse 2s infinite alternate; | |
| } | |
| @keyframes pulse { | |
| 0% { transform: scale(1); box-shadow: 0 0 15px rgba(212, 175, 55, 0.3); } | |
| 100% { transform: scale(1.05); box-shadow: 0 0 25px rgba(212, 175, 55, 0.5); } | |
| } | |
| .logo-text { | |
| font-family: 'Orbitron', sans-serif; | |
| font-size: 1.8rem; | |
| font-weight: 700; | |
| color: var(--highlight-gold); | |
| text-shadow: 0 0 10px rgba(212, 175, 55, 0.3); | |
| letter-spacing: 1px; | |
| } | |
| .logo-text span { | |
| color: var(--accent-beige); | |
| font-weight: 400; | |
| } | |
| .header-controls { | |
| display: flex; | |
| gap: 15px; | |
| align-items: center; | |
| } | |
| .tactical-btn { | |
| background: rgba(42, 58, 31, 0.7); | |
| color: var(--accent-beige); | |
| border: 1px solid var(--highlight-gold); | |
| border-radius: 4px; | |
| padding: 8px 15px; | |
| font-family: 'Rajdhani', sans-serif; | |
| font-weight: 700; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| } | |
| .tactical-btn:hover { | |
| background: var(--highlight-gold); | |
| color: var(--primary-military); | |
| transform: translateY(-2px); | |
| } | |
| /* Main Content */ | |
| .main-container { | |
| max-width: 1200px; | |
| margin: 30px auto; | |
| padding: 0 20px; | |
| display: grid; | |
| grid-template-columns: 300px 1fr; | |
| gap: 20px; | |
| } | |
| /* Engines Panel */ | |
| .engines-panel { | |
| background: var(--panel-dark); | |
| border-radius: 8px; | |
| border: 1px solid var(--highlight-gold); | |
| box-shadow: 0 5px 15px rgba(0,0,0,0.3); | |
| padding: 15px; | |
| height: fit-content; | |
| } | |
| .panel-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| padding-bottom: 15px; | |
| border-bottom: 1px solid rgba(194, 178, 128, 0.3); | |
| margin-bottom: 15px; | |
| } | |
| .panel-header h2 { | |
| margin: 0; | |
| font-family: 'Orbitron', sans-serif; | |
| font-size: 1.4rem; | |
| color: var(--highlight-gold); | |
| } | |
| .search-engine-input { | |
| width: 100%; | |
| padding: 10px 15px; | |
| background: rgba(30, 40, 20, 0.5); | |
| border: 1px solid var(--accent-beige); | |
| border-radius: 4px; | |
| color: var(--accent-beige); | |
| font-size: 0.9rem; | |
| margin-bottom: 15px; | |
| outline: none; | |
| transition: all 0.3s ease; | |
| } | |
| .search-engine-input:focus { | |
| border-color: var(--highlight-gold); | |
| box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2); | |
| } | |
| .engine-categories { | |
| display: flex; | |
| gap: 5px; | |
| margin-bottom: 15px; | |
| flex-wrap: wrap; | |
| } | |
| .category-btn { | |
| padding: 5px 12px; | |
| background: rgba(42, 58, 31, 0.5); | |
| border: 1px solid var(--accent-beige); | |
| border-radius: 4px; | |
| font-size: 0.8rem; | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| color: var(--accent-beige); | |
| } | |
| .category-btn.active { | |
| background: var(--highlight-gold); | |
| color: var(--primary-military); | |
| border-color: var(--highlight-gold); | |
| } | |
| .category-btn:hover { | |
| background: rgba(212, 175, 55, 0.3); | |
| } | |
| .engine-list { | |
| display: grid; | |
| grid-template-columns: 1fr; | |
| gap: 10px; | |
| max-height: 500px; | |
| overflow-y: auto; | |
| padding-right: 5px; | |
| } | |
| /* Custom scrollbar */ | |
| .engine-list::-webkit-scrollbar { | |
| width: 6px; | |
| } | |
| .engine-list::-webkit-scrollbar-track { | |
| background: rgba(30, 40, 20, 0.3); | |
| border-radius: 3px; | |
| } | |
| .engine-list::-webkit-scrollbar-thumb { | |
| background: var(--highlight-gold); | |
| border-radius: 3px; | |
| } | |
| .engine-item { | |
| padding: 12px 15px; | |
| border-radius: 4px; | |
| background: rgba(30, 40, 20, 0.3); | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| border: 1px solid rgba(194, 178, 128, 0.2); | |
| } | |
| .engine-item:hover { | |
| background: rgba(212, 175, 55, 0.1); | |
| border-color: var(--highlight-gold); | |
| } | |
| .engine-item.active { | |
| background: rgba(212, 175, 55, 0.2); | |
| border-left: 3px solid var(--highlight-gold); | |
| } | |
| .engine-icon { | |
| width: 20px; | |
| height: 20px; | |
| object-fit: contain; | |
| border-radius: 2px; | |
| } | |
| .engine-name { | |
| font-weight: 500; | |
| font-size: 0.95rem; | |
| color: var(--accent-beige); | |
| } | |
| /* Search Container */ | |
| .search-container { | |
| background: var(--panel-dark); | |
| border-radius: 8px; | |
| border: 1px solid var(--highlight-gold); | |
| box-shadow: 0 5px 15px rgba(0,0,0,0.3); | |
| padding: 25px; | |
| } | |
| .search-header { | |
| text-align: center; | |
| margin-bottom: 30px; | |
| position: relative; | |
| } | |
| .search-header h1 { | |
| font-family: 'Orbitron', sans-serif; | |
| font-size: 2.2rem; | |
| margin-bottom: 10px; | |
| color: var(--highlight-gold); | |
| text-shadow: 0 0 10px rgba(212, 175, 55, 0.2); | |
| } | |
| .search-header p { | |
| color: var(--accent-beige); | |
| margin-top: 0; | |
| font-size: 1.1rem; | |
| } | |
| .current-engine { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 8px; | |
| padding: 6px 15px; | |
| background: rgba(212, 175, 55, 0.1); | |
| border-radius: 20px; | |
| font-size: 0.9rem; | |
| margin-top: 15px; | |
| color: var(--highlight-gold); | |
| border: 1px solid rgba(212, 175, 55, 0.3); | |
| } | |
| .search-box { | |
| display: flex; | |
| gap: 15px; | |
| margin-bottom: 25px; | |
| } | |
| #searchInput { | |
| flex: 1; | |
| padding: 15px; | |
| background: rgba(30, 40, 20, 0.5); | |
| border: 2px solid var(--accent-beige); | |
| border-radius: 6px; | |
| font-size: 1rem; | |
| color: var(--accent-beige); | |
| transition: all 0.3s ease; | |
| } | |
| #searchInput:focus { | |
| border-color: var(--highlight-gold); | |
| box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2); | |
| outline: none; | |
| } | |
| #searchInput::placeholder { | |
| color: rgba(194, 178, 128, 0.6); | |
| } | |
| .search-button { | |
| padding: 0 25px; | |
| background: var(--highlight-gold); | |
| color: var(--primary-military); | |
| border: none; | |
| border-radius: 6px; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| font-weight: 700; | |
| font-family: 'Rajdhani', sans-serif; | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| font-size: 1rem; | |
| } | |
| .search-button:hover { | |
| background: #e5c04d; | |
| transform: translateY(-2px); | |
| box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3); | |
| } | |
| .search-button:active { | |
| transform: translateY(0); | |
| } | |
| /* Tactical Features */ | |
| .tactical-features { | |
| display: grid; | |
| grid-template-columns: repeat(2, 1fr); | |
| gap: 15px; | |
| margin-top: 30px; | |
| } | |
| .feature-card { | |
| background: rgba(30, 40, 20, 0.3); | |
| border-radius: 6px; | |
| padding: 20px; | |
| border: 1px solid rgba(194, 178, 128, 0.2); | |
| transition: all 0.3s ease; | |
| } | |
| .feature-card:hover { | |
| border-color: var(--highlight-gold); | |
| transform: translateY(-3px); | |
| box-shadow: 0 5px 15px rgba(0,0,0,0.2); | |
| } | |
| .feature-icon { | |
| font-size: 1.8rem; | |
| color: var(--highlight-gold); | |
| margin-bottom: 10px; | |
| } | |
| .feature-title { | |
| font-family: 'Orbitron', sans-serif; | |
| font-size: 1.1rem; | |
| color: var(--highlight-gold); | |
| margin-bottom: 10px; | |
| } | |
| .feature-desc { | |
| font-size: 0.9rem; | |
| color: var(--accent-beige); | |
| line-height: 1.5; | |
| } | |
| /* Tactical Loading */ | |
| .tactical-loading { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: rgba(20, 30, 15, 0.9); | |
| z-index: 9999; | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| align-items: center; | |
| display: none; | |
| } | |
| .loading-spinner { | |
| width: 80px; | |
| height: 80px; | |
| border: 8px solid rgba(194, 178, 128, 0.3); | |
| border-top: 8px solid var(--highlight-gold); | |
| border-radius: 50%; | |
| animation: spin 1.5s linear infinite; | |
| margin-bottom: 20px; | |
| } | |
| .loading-text { | |
| font-family: 'Orbitron', sans-serif; | |
| font-size: 1.5rem; | |
| color: var(--highlight-gold); | |
| text-shadow: 0 0 10px rgba(212, 175, 55, 0.5); | |
| margin-top: 20px; | |
| } | |
| .loading-percentage { | |
| font-family: 'Orbitron', sans-serif; | |
| font-size: 2rem; | |
| color: var(--accent-beige); | |
| margin-top: 10px; | |
| } | |
| @keyframes spin { | |
| 0% { transform: rotate(0deg); } | |
| 100% { transform: rotate(360deg); } | |
| } | |
| /* Responsive Design */ | |
| @media (max-width: 992px) { | |
| .main-container { | |
| grid-template-columns: 1fr; | |
| } | |
| .engines-panel { | |
| order: 2; | |
| } | |
| } | |
| @media (max-width: 768px) { | |
| .header-container { | |
| flex-direction: column; | |
| gap: 15px; | |
| } | |
| .search-box { | |
| flex-direction: column; | |
| } | |
| .search-button { | |
| width: 100%; | |
| justify-content: center; | |
| padding: 15px; | |
| } | |
| .tactical-features { | |
| grid-template-columns: 1fr; | |
| } | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <!-- Tactical Loading Overlay --> | |
| <div class="tactical-loading" id="loadingOverlay"> | |
| <div class="loading-spinner"></div> | |
| <div class="loading-text">ENGAGING SYSTEMS</div> | |
| <div class="loading-percentage" id="loadingPercentage">0%</div> | |
| </div> | |
| <!-- Tactical Header --> | |
| <header class="tactical-header"> | |
| <div class="header-container"> | |
| <div class="logo-container"> | |
| <div class="logo-icon"> | |
| <i class="fas fa-crosshairs" style="color: var(--accent-beige); font-size: 1.5rem;"></i> | |
| </div> | |
| <div class="logo-text">SQUADRON <span>GRIT</span></div> | |
| </div> | |
| <div class="header-controls"> | |
| <button class="tactical-btn" onclick="showLoading('SYSTEM DIAGNOSTICS')"> | |
| <i class="fas fa-cog"></i> Settings | |
| </button> | |
| <button class="tactical-btn" onclick="showLoading('USER PROFILE')"> | |
| <i class="fas fa-user"></i> Profile | |
| </button> | |
| </div> | |
| </div> | |
| </header> | |
| <!-- Main Content --> | |
| <div class="main-container"> | |
| <!-- Engines Panel --> | |
| <aside class="engines-panel"> | |
| <div class="panel-header"> | |
| <h2><i class="fas fa-search" style="margin-right: 10px;"></i> Search Engines</h2> | |
| </div> | |
| <input type="text" class="search-engine-input" placeholder="Search for engines..." id="engineSearch"> | |
| <div class="engine-categories" id="engineCategories"> | |
| <button class="category-btn active" data-category="all">All</button> | |
| <button class="category-btn" data-category="general">General</button> | |
| <button class="category-btn" data-category="privacy">Privacy</button> | |
| <button class="category-btn" data-category="academic">Academic</button> | |
| <button class="category-btn" data-category="multimedia">Multimedia</button> | |
| <button class="category-btn" data-category="regional">Regional</button> | |
| </div> | |
| <div class="engine-list" id="engineList"></div> | |
| </aside> | |
| <!-- Search Container --> | |
| <main class="search-container"> | |
| <div class="search-header"> | |
| <h1>Search Engine Hub</h1> | |
| <p>Deploy tactical searches across 100+ specialized engines</p> | |
| <div class="current-engine" id="currentEngine"> | |
| <i class="fas fa-check-circle"></i> Google | |
| </div> | |
| </div> | |
| <div class="search-box"> | |
| <input type="text" id="searchInput" placeholder="Enter mission parameters..."> | |
| <button class="search-button" onclick="activateSearch()"> | |
| <i class="fas fa-bullseye"></i> Execute Search | |
| </button> | |
| </div> | |
| <div class="tactical-features"> | |
| <div class="feature-card"> | |
| <div class="feature-icon"> | |
| <i class="fas fa-bolt"></i> | |
| </div> | |
| <h3 class="feature-title">Rapid Deployment</h3> | |
| <p class="feature-desc">Instant access to multiple search engines with single query execution across all platforms.</p> | |
| </div> | |
| <div class="feature-card"> | |
| <div class="feature-icon"> | |
| <i class="fas fa-shield-alt"></i> | |
| </div> | |
| <h3 class="feature-title">Tactical Privacy</h3> | |
| <p class="feature-desc">Built-in privacy protections and anonymous search options for covert operations.</p> | |
| </div> | |
| <div class="feature-card"> | |
| <div class="feature-icon"> | |
| <i class="fas fa-chess"></i> | |
| </div> | |
| <h3 class="feature-title">Strategic Analysis</h3> | |
| <p class="feature-desc">Cross-reference results from multiple sources for comprehensive intelligence.</p> | |
| </div> | |
| <div class="feature-card"> | |
| <div class="feature-icon"> | |
| <i class="fas fa-random"></i> | |
| </div> | |
| <h3 class="feature-title">Dynamic Rotation</h3> | |
| <p class="feature-desc">Automatically rotate search engines to avoid detection and rate limiting.</p> | |
| </div> | |
| </div> | |
| </main> | |
| </div> | |
| <script> | |
| // Complete Search Engines Data | |
| const searchEngines = [ | |
| { name: "All the Internet", url: "https://www.alltheinternet.com/search?q=", category: "general" }, | |
| { name: "AltaVista", url: "https://www.altavistasearchengine.com/search?q=", category: "general" }, | |
| { name: "Andi", url: "https://andisearch.com/?q=", category: "privacy" }, | |
| { name: "AOL Search", url: "https://search.aol.com/aol/search?q=", category: "general" }, | |
| { name: "Archive", url: "https://archive.org/search?query=", category: "academic" }, | |
| { name: "Ask", url: "https://www.ask.com/web?q=", category: "general" }, | |
| { name: "Baidu", url: "https://www.baidu.com/s?wd=", category: "regional" }, | |
| { name: "Biznar", url: "https://biznar.com/biznar/desktop/en/search.html?q=", category: "business" }, | |
| { name: "Brave", url: "https://search.brave.com/search?q=", category: "privacy" }, | |
| { name: "Carrot2", url: "https://search.carrot2.org/#/search/web/", category: "general" }, | |
| { name: "Choosito", url: "https://www.choosito.com/search?q=", category: "academic" }, | |
| { name: "Dogpile", url: "https://www.dogpile.com/serp?q=", category: "general" }, | |
| { name: "DuckDuckGo", url: "https://duckduckgo.com/?q=", category: "privacy" }, | |
| { name: "Easy Seek", url: "https://www.easyseek.com/search.php?q=", category: "general" }, | |
| { name: "Ecosia", url: "https://www.ecosia.org/search?q=", category: "general" }, | |
| { name: "eFind", url: "https://www.efind.com/search/?q=", category: "general" }, | |
| { name: "Ekoru", url: "https://www.ekoru.org/?q=", category: "general" }, | |
| { name: "Entireweb", url: "https://www.entireweb.com/search/?q=", category: "general" }, | |
| { name: "eTools", url: "https://www.etools.ch/search.do?q=", category: "general" }, | |
| { name: "Excite", url: "https://results.excite.com/serp?q=", category: "general" }, | |
| { name: "Find Software", url: "https://www.findsoftware.com/search/?q=", category: "tech" }, | |
| { name: "Fireball", url: "https://www.fireball.de/suche?q=", category: "regional" }, | |
| { name: "Freespoke", url: "https://www.freespoke.com/search?q=", category: "general" }, | |
| { name: "Ghostery", url: "https://ghosterysearch.com/search?q=", category: "privacy" }, | |
| { name: "Gibiru", url: "https://gibiru.com/results.html?q=", category: "privacy" }, | |
| { name: "Gigablast", url: "https://www.gigablast.com/search?q=", category: "general" }, | |
| { name: "Givero", url: "https://www.givero.com/search?q=", category: "general" }, | |
| { name: "GoGoPrivate", url: "https://www.gogoprivate.com/search?q=", category: "privacy" }, | |
| { name: "Goo", url: "https://search.goo.ne.jp/web.jsp?q=", category: "regional" }, | |
| { name: "Good", url: "https://www.good-search.org/search?q=", category: "general" }, | |
| { name: "Goodsearch", url: "https://www.goodsearch.com/search-web?q=", category: "general" }, | |
| { name: "Google", url: "https://www.google.com/search?q=", category: "general" }, | |
| { name: "iSeek", url: "https://www.iseek.com/#/search?q=", category: "academic" }, | |
| { name: "iZito", url: "https://www.izito.com/?q=", category: "general" }, | |
| { name: "Jeeves", url: "https://www.ask.com/web?q=", category: "general" }, | |
| { name: "Kiddle", url: "https://www.kiddle.co/s.php?q=", category: "kids" }, | |
| { name: "LibreX", url: "https://librex.beparanoid.de/search?q=", category: "privacy" }, | |
| { name: "Lilo", url: "https://search.lilo.org/results.php?q=", category: "general" }, | |
| { name: "Lukol", url: "https://www.lukol.com/search?q=", category: "privacy" }, | |
| { name: "Lycos", url: "https://search.lycos.com/web/?q=", category: "general" }, | |
| { name: "MetaCrawler", url: "https://www.metacrawler.com/serp?q=", category: "general" }, | |
| { name: "MetaGer", url: "https://metager.org/meta/meta.ger3?eingabe=", category: "privacy" }, | |
| { name: "Bing", url: "https://www.bing.com/search?q=", category: "general" }, | |
| { name: "Mojeek", url: "https://www.mojeek.com/search?q=", category: "privacy" }, | |
| { name: "Monster Crawler", url: "https://www.monstercrawler.com/search?q=", category: "general" }, | |
| { name: "MyAllSearch", url: "https://www.myallsearch.com/search?q=", category: "general" }, | |
| { name: "Naver", url: "https://search.naver.com/search.naver?query=", category: "regional" }, | |
| { name: "Neeva", url: "https://neeva.com/search?q=", category: "general" }, | |
| { name: "OpenMD", url: "https://openmd.com/search?q=", category: "medical" }, | |
| { name: "Openverse", url: "https://wordpress.org/openverse/search/?q=", category: "multimedia" }, | |
| { name: "Petal Search", url: "https://petalsearch.com/search?query=", category: "general" }, | |
| { name: "Police Buddy", url: "https://www.policebuddy.com/search?q=", category: "specialized" }, | |
| { name: "Popular Search Engines", url: "https://www.popularsearchengines.com/search?q=", category: "meta" }, | |
| { name: "Presearch", url: "https://presearch.com/search?q=", category: "privacy" }, | |
| { name: "Qmamu", url: "https://www.qmamu.com/search?q=", category: "general" }, | |
| { name: "Qwant", url: "https://www.qwant.com/?q=", category: "privacy" }, | |
| { name: "Result Hunter", url: "https://www.resulthunter.com/search?q=", category: "general" }, | |
| { name: "Right Dao", url: "https://www.rightdao.com/search?q=", category: "general" }, | |
| { name: "SearchBuddy", url: "https://www.searchbuddy.com/search?q=", category: "general" }, | |
| { name: "Search Encrypt", url: "https://www.searchencrypt.com/search?q=", category: "privacy" }, | |
| { name: "Search Geek", url: "https://www.searchgeek.com/search?q=", category: "general" }, | |
| { name: "Search Raven", url: "https://www.searchraven.com/search?q=", category: "general" }, | |
| { name: "Search Haven", url: "https://www.searchhaven.com/search?q=", category: "general" }, | |
| { name: "Search Here", url: "https://www.search-here.net/search?q=", category: "general" }, | |
| { name: "Search Thing", url: "https://www.searchthing.com/search?q=", category: "general" }, | |
| { name: "Search Tool", url: "https://www.searchtool.com/search?q=", category: "general" }, | |
| { name: "Searchalot", url: "https://www.searchalot.com/search?q=", category: "general" }, | |
| { name: "SearchCode", url: "https://searchcode.com/?q=", category: "tech" }, | |
| { name: "Startpage", url: "https://www.startpage.com/do/search?q=", category: "privacy" }, | |
| { name: "StartSiden", url: "https://www.startsiden.no/sok?q=", category: "regional" }, | |
| { name: "Swisscows", url: "https://swisscows.com/web?query=", category: "privacy" }, | |
| { name: "Torry", url: "https://www.torry.io/search?q=", category: "general" }, | |
| { name: "Wiki Buddy", url: "https://www.wikibuddy.com/search?q=", category: "reference" }, | |
| { name: "WolframAlpha", url: "https://www.wolframalpha.com/input/?i=", category: "academic" }, | |
| { name: "Yahoo", url: "https://search.yahoo.com/search?p=", category: "general" }, | |
| { name: "Yandex", url: "https://yandex.com/search/?text=", category: "regional" }, | |
| { name: "Yelliot", url: "https://www.yelliot.com/search?q=", category: "general" }, | |
| { name: "Yippy", url: "https://www.yippy.com/search?query=", category: "general" }, | |
| { name: "YouCare", url: "https://youcare.world/search?q=", category: "general" }, | |
| { name: "ZapMeta", url: "https://www.zapmeta.com/search?q=", category: "general" }, | |
| { name: "4Search", url: "https://www.4search.com/search?q=", category: "general" }, | |
| { name: "99 Search Engines", url: "https://www.99searchengines.com/search?q=", category: "meta" } | |
| ]; | |
| // Current active engine | |
| let activeEngine = searchEngines.find(engine => engine.name === "Google"); | |
| let currentCategory = "all"; | |
| // Initialize the engine list | |
| function initEngineList() { | |
| const list = document.getElementById('engineList'); | |
| list.innerHTML = ''; | |
| const filteredEngines = currentCategory === "all" | |
| ? searchEngines | |
| : searchEngines.filter(engine => engine.category === currentCategory); | |
| filteredEngines.forEach(engine => { | |
| const div = document.createElement('div'); | |
| div.className = `engine-item ${engine.name === activeEngine.name ? 'active' : ''}`; | |
| div.innerHTML = ` | |
| <img src="https://www.google.com/s2/favicons?domain=${engine.url.split('/')[2]}" class="engine-icon" alt="${engine.name}"> | |
| <span class="engine-name">${engine.name}</span> | |
| `; | |
| div.onclick = () => selectEngine(engine); | |
| list.appendChild(div); | |
| }); | |
| } | |
| // Select a search engine | |
| function selectEngine(engine) { | |
| showLoading(`ACTIVATING ${engine.name.toUpperCase()}`); | |
| setTimeout(() => { | |
| activeEngine = engine; | |
| updateActiveEngineDisplay(); | |
| initEngineList(); | |
| localStorage.setItem('lastUsedEngine', JSON.stringify(engine)); | |
| }, 1500); | |
| } | |
| // Update the current engine display | |
| function updateActiveEngineDisplay() { | |
| document.getElementById('currentEngine').innerHTML = ` | |
| <i class="fas fa-check-circle"></i> ${activeEngine.name} | |
| `; | |
| } | |
| // Handle search | |
| function activateSearch() { | |
| const query = document.getElementById('searchInput').value.trim(); | |
| if (!query) return; | |
| showLoading(`EXECUTING ${activeEngine.name.toUpperCase()} SEARCH`); | |
| setTimeout(() => { | |
| const searchUrl = `${activeEngine.url}${encodeURIComponent(query)}`; | |
| window.open(searchUrl, '_blank'); | |
| }, 1500); | |
| } | |
| // Filter engines by search | |
| document.getElementById('engineSearch').addEventListener('input', (e) => { | |
| const searchTerm = e.target.value.toLowerCase(); | |
| const items = document.querySelectorAll('.engine-item'); | |
| items.forEach(item => { | |
| const name = item.querySelector('.engine-name').textContent.toLowerCase(); | |
| item.style.display = name.includes(searchTerm) ? 'flex' : 'none'; | |
| }); | |
| }); | |
| // Filter by category | |
| document.querySelectorAll('.category-btn').forEach(btn => { | |
| btn.addEventListener('click', () => { | |
| showLoading('LOADING CATEGORY'); | |
| setTimeout(() => { | |
| document.querySelectorAll('.category-btn').forEach(b => b.classList.remove('active')); | |
| btn.classList.add('active'); | |
| currentCategory = btn.dataset.category; | |
| initEngineList(); | |
| }, 800); | |
| }); | |
| }); | |
| // Handle Enter key | |
| document.getElementById('searchInput').addEventListener('keypress', (e) => { | |
| if (e.key === 'Enter') activateSearch(); | |
| }); | |
| // Tactical Loading System | |
| function showLoading(operationName) { | |
| const overlay = document.getElementById('loadingOverlay'); | |
| const percentage = document.getElementById('loadingPercentage'); | |
| overlay.style.display = 'flex'; | |
| overlay.querySelector('.loading-text').textContent = operationName; | |
| let progress = 0; | |
| const interval = setInterval(() => { | |
| progress += Math.floor(Math.random() * 10) + 1; | |
| if (progress > 100) progress = 100; | |
| percentage.textContent = progress + '%'; | |
| if (progress === 100) { | |
| clearInterval(interval); | |
| setTimeout(() => { | |
| overlay.style.display = 'none'; | |
| }, 500); | |
| } | |
| }, 100); | |
| } | |
| // Initialize on load | |
| window.addEventListener('load', () => { | |
| // Load last used engine from localStorage | |
| const lastUsed = localStorage.getItem('lastUsedEngine'); | |
| if (lastUsed) { | |
| try { | |
| activeEngine = JSON.parse(lastUsed); | |
| } catch (e) { | |
| console.error("Error loading last used engine", e); | |
| } | |
| } | |
| initEngineList(); | |
| updateActiveEngineDisplay(); | |
| // Add animation to feature cards | |
| const cards = document.querySelectorAll('.feature-card'); | |
| cards.forEach((card, index) => { | |
| card.style.animationDelay = `${index * 0.1}s`; | |
| card.style.opacity = '0'; | |
| card.style.animation = 'fadeInUp 0.5s forwards'; | |
| }); | |
| }); | |
| // Add CSS animation | |
| const style = document.createElement('style'); | |
| style.textContent = ` | |
| @keyframes fadeInUp { | |
| from { opacity: 0; transform: translateY(20px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| `; | |
| document.head.appendChild(style); | |
| </script> | |
| </body> | |
| </html> |