Download index.html from eisssa107/Test: direct link, hf CLI and curl.
- Browser
- Download file 26 kB
-
https://huggingface.co/spaces/eisssa107/Test/resolve/main/index.html
- Command line
-
hf download hf://spaces/eisssa107/Test/index.html
-
curl -L -o index.html https://huggingface.co/spaces/eisssa107/Test/resolve/main/index.html
26 kB
| <html lang="ar" dir="rtl"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
| <title>نظام إدارة الحسابات - Vault System</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link href="https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&display=swap" rel="stylesheet" /> | |
| <style> | |
| * { | |
| font-family: 'Cairo', sans-serif; | |
| } | |
| body { | |
| background: #0A0A0F; | |
| min-height: 100vh; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .neon-glow { | |
| box-shadow: 0 0 40px rgba(0, 240, 255, 0.3), 0 0 80px rgba(176, 38, 255, 0.15); | |
| } | |
| .neon-border { | |
| border: 1px solid rgba(0, 240, 255, 0.3); | |
| } | |
| .glass { | |
| background: rgba(20, 20, 30, 0.8); | |
| backdrop-filter: blur(20px); | |
| } | |
| .btn-neon { | |
| background: linear-gradient(135deg, #00F0FF, #B026FF); | |
| transition: all 0.3s ease; | |
| } | |
| .btn-neon:hover { | |
| transform: scale(1.05); | |
| box-shadow: 0 0 40px rgba(0, 240, 255, 0.4); | |
| } | |
| .input-neon { | |
| background: rgba(20, 20, 30, 0.6); | |
| border: 1px solid rgba(0, 240, 255, 0.2); | |
| transition: all 0.3s ease; | |
| color: white; | |
| } | |
| .input-neon:focus { | |
| border-color: #00F0FF; | |
| box-shadow: 0 0 20px rgba(0, 240, 255, 0.2); | |
| outline: none; | |
| } | |
| .vault-card { | |
| background: rgba(20, 20, 30, 0.7); | |
| backdrop-filter: blur(20px); | |
| border: 1px solid rgba(0, 240, 255, 0.15); | |
| border-radius: 20px; | |
| transition: all 0.3s ease; | |
| } | |
| .vault-card:hover { | |
| border-color: rgba(0, 240, 255, 0.4); | |
| box-shadow: 0 0 30px rgba(0, 240, 255, 0.1); | |
| transform: translateY(-5px); | |
| } | |
| .service-tag { | |
| background: rgba(0, 240, 255, 0.1); | |
| border: 1px solid rgba(0, 240, 255, 0.2); | |
| border-radius: 10px; | |
| padding: 6px 14px; | |
| font-size: 12px; | |
| color: #00F0FF; | |
| display: inline-block; | |
| margin: 4px; | |
| } | |
| .service-tag:hover { | |
| background: rgba(0, 240, 255, 0.2); | |
| box-shadow: 0 0 20px rgba(0, 240, 255, 0.1); | |
| } | |
| .hidden-data { | |
| filter: blur(8px); | |
| user-select: none; | |
| transition: all 0.3s ease; | |
| } | |
| .hidden-data.revealed { | |
| filter: blur(0); | |
| user-select: text; | |
| } | |
| .reveal-btn { | |
| background: rgba(255, 45, 149, 0.2); | |
| border: 1px solid rgba(255, 45, 149, 0.3); | |
| color: #FF2D95; | |
| border-radius: 8px; | |
| padding: 4px 12px; | |
| font-size: 12px; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| } | |
| .reveal-btn:hover { | |
| background: rgba(255, 45, 149, 0.3); | |
| box-shadow: 0 0 20px rgba(255, 45, 149, 0.2); | |
| } | |
| .status-dot { | |
| width: 8px; | |
| height: 8px; | |
| border-radius: 50%; | |
| display: inline-block; | |
| margin-left: 6px; | |
| } | |
| .status-connected { | |
| background: #39FF14; | |
| box-shadow: 0 0 10px rgba(57, 255, 20, 0.5); | |
| } | |
| .status-disconnected { | |
| background: #FF2D95; | |
| box-shadow: 0 0 10px rgba(255, 45, 149, 0.5); | |
| } | |
| .status-pending { | |
| background: #FFE135; | |
| box-shadow: 0 0 10px rgba(255, 225, 53, 0.5); | |
| } | |
| .copy-btn { | |
| background: rgba(0, 240, 255, 0.1); | |
| border: none; | |
| color: #00F0FF; | |
| cursor: pointer; | |
| padding: 2px 8px; | |
| border-radius: 4px; | |
| font-size: 11px; | |
| transition: all 0.3s ease; | |
| } | |
| .copy-btn:hover { | |
| background: rgba(0, 240, 255, 0.2); | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div id="app" class="w-full max-w-7xl mx-auto p-4"> | |
| <!-- شاشة تسجيل الدخول --> | |
| <div id="loginScreen" class="min-h-screen flex items-center justify-center"> | |
| <div class="glass neon-border neon-glow rounded-3xl p-10 w-full max-w-md"> | |
| <div class="text-center mb-8"> | |
| <div class="text-5xl mb-4 animate-pulse">🔐</div> | |
| <h1 class="text-3xl font-bold text-white">نظام الخزنة الرقمية</h1> | |
| <p class="text-gray-400 mt-2 text-sm">أدخل كلمة المرور للوصول إلى بياناتك</p> | |
| </div> | |
| <div class="space-y-4"> | |
| <input type="password" id="masterPassword" | |
| class="input-neon w-full rounded-xl px-4 py-3 text-white text-center text-lg" | |
| placeholder="••••••••" /> | |
| <button onclick="unlockVault()" | |
| class="btn-neon w-full rounded-xl py-3 text-white font-bold text-lg transition-all"> | |
| 🚀 فتح الخزنة | |
| </button> | |
| </div> | |
| <div id="loginError" class="text-red-500 text-center mt-4 text-sm hidden"> | |
| ❌ كلمة المرور غير صحيحة! حاول مرة أخرى. | |
| </div> | |
| <div class="mt-6 text-center text-gray-500 text-xs border-t border-gray-700 pt-4"> | |
| <span class="text-neon-cyan">●</span> نظام آمن ومشفر | |
| </div> | |
| </div> | |
| </div> | |
| <!-- المحتوى الرئيسي (يظهر بعد تسجيل الدخول) --> | |
| <div id="mainContent" class="hidden"> | |
| <!-- الهيدر --> | |
| <div class="glass neon-border rounded-2xl p-4 mb-6 flex flex-wrap items-center justify-between"> | |
| <div class="flex items-center gap-3"> | |
| <span class="text-2xl">🗄️</span> | |
| <h1 class="text-xl font-bold text-white">الخزنة الرقمية</h1> | |
| <span class="text-neon-cyan text-sm bg-neon-cyan/10 px-3 py-1 rounded-full">مقفل 🔒</span> | |
| </div> | |
| <div class="flex items-center gap-4"> | |
| <span class="text-gray-400 text-sm" id="userInfo">مرحباً بك</span> | |
| <button onclick="logout()" class="text-neon-pink hover:text-pink-400 text-sm transition-colors"> | |
| 🚪 تسجيل خروج | |
| </button> | |
| </div> | |
| </div> | |
| <!-- شريط البحث والفلترة --> | |
| <div class="glass neon-border rounded-2xl p-4 mb-6 flex flex-wrap gap-3 items-center"> | |
| <input type="text" id="searchInput" onkeyup="filterEmails()" | |
| class="input-neon flex-1 min-w-[200px] rounded-xl px-4 py-2 text-white" | |
| placeholder="🔍 بحث عن إيميل أو موقع..." /> | |
| <button onclick="addNewEmail()" class="btn-neon rounded-xl px-6 py-2 text-white font-bold"> | |
| ➕ إضافة إيميل | |
| </button> | |
| </div> | |
| <!-- شبكة الإيميلات --> | |
| <div id="emailsGrid" class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6"> | |
| <!-- سيتم إضافة الإيميلات ديناميكياً --> | |
| </div> | |
| </div> | |
| </div> | |
| <script> | |
| // ============================================================ | |
| // 🔐 البيانات الأساسية (مشفرة داخل الكود) | |
| // ============================================================ | |
| const MASTER_PASSWORD = 'Eissa2026'; | |
| // قائمة الإيميلات والبيانات المرتبطة بها | |
| const emailData = [{ | |
| id: 1, | |
| email: 'eissaaly07@gmail.com', | |
| services: [ | |
| { name: 'Hangges', status: 'connected', link: 'https://hangges.com' }, | |
| { name: 'LinkedIn', status: 'connected', link: 'https://linkedin.com' }, | |
| { name: 'n8n', status: 'running', link: 'http://localhost:5678' }, | |
| { name: 'Docker', status: 'running', link: 'https://docker.com' }, | |
| { name: 'Grady', status: 'running', link: 'https://grady.com' }, | |
| { name: 'Supabase', status: 'connected', link: 'https://supabase.com', credentials: { | |
| apiKey: 'sb_pub_xxxxxxxxxxxxx', | |
| secretKey: 'sb_sec_xxxxxxxxxxxxx', | |
| dbName: 'subscription_db', | |
| dbPassword: 'Sup@base2026!', | |
| url: 'https://xxxxxxxx.supabase.co' | |
| } }, | |
| { name: 'GitHub', status: 'connected', link: 'https://github.com' }, | |
| { name: 'Hugging Face', status: 'connected', link: 'https://huggingface.co' }, | |
| { name: 'DeepSeek', status: 'connected', link: 'https://deepseek.com' }, | |
| { name: 'Gemini', status: 'connected', link: 'https://gemini.google.com' }, | |
| { name: 'Kemi', status: 'pending', link: 'https://kemi.com' } | |
| ] | |
| }, { | |
| id: 2, | |
| email: 'eissaaly0707@gmail.com', | |
| services: [ | |
| { name: 'GitHub', status: 'connected', link: 'https://github.com' }, | |
| { name: 'Docker', status: 'running', link: 'https://docker.com' }, | |
| { name: 'Supabase', status: 'connected', link: 'https://supabase.com', credentials: { | |
| apiKey: 'sb_pub_yyyyyyyyyyyyy', | |
| secretKey: 'sb_sec_yyyyyyyyyyyyy', | |
| dbName: 'analytics_db', | |
| dbPassword: 'Analytics@2026!', | |
| url: 'https://yyyyyyyy.supabase.co' | |
| } }, | |
| { name: 'Hugging Face', status: 'connected', link: 'https://huggingface.co' }, | |
| { name: 'n8n', status: 'running', link: 'http://localhost:5679' } | |
| ] | |
| }, { | |
| id: 3, | |
| email: 'eissaaly@protonmail.com', | |
| services: [ | |
| { name: 'ProtonMail', status: 'connected', link: 'https://protonmail.com' }, | |
| { name: 'DeepSeek', status: 'connected', link: 'https://deepseek.com' }, | |
| { name: 'Gemini', status: 'connected', link: 'https://gemini.google.com' }, | |
| { name: 'GitHub', status: 'connected', link: 'https://github.com' } | |
| ] | |
| }, { | |
| id: 4, | |
| email: 'eissaaly2@gmail.com', | |
| services: [ | |
| { name: 'Hangges', status: 'connected', link: 'https://hangges.com' }, | |
| { name: 'n8n', status: 'running', link: 'http://localhost:5680' }, | |
| { name: 'Docker', status: 'running', link: 'https://docker.com' }, | |
| { name: 'Supabase', status: 'connected', link: 'https://supabase.com', credentials: { | |
| apiKey: 'sb_pub_zzzzzzzzzzzzz', | |
| secretKey: 'sb_sec_zzzzzzzzzzzzz', | |
| dbName: 'production_db', | |
| dbPassword: 'Prod@2026!', | |
| url: 'https://zzzzzzzz.supabase.co' | |
| } } | |
| ] | |
| }, { | |
| id: 5, | |
| email: 'eissaaly07070@gmail.com', | |
| services: [ | |
| { name: 'GitHub', status: 'connected', link: 'https://github.com' }, | |
| { name: 'Hugging Face', status: 'connected', link: 'https://huggingface.co' }, | |
| { name: 'DeepSeek', status: 'connected', link: 'https://deepseek.com' }, | |
| { name: 'Kemi', status: 'pending', link: 'https://kemi.com' } | |
| ] | |
| }, { | |
| id: 6, | |
| email: 'eissaaly0007@gmail.com', | |
| services: [ | |
| { name: 'Docker', status: 'running', link: 'https://docker.com' }, | |
| { name: 'Grady', status: 'running', link: 'https://grady.com' }, | |
| { name: 'Supabase', status: 'connected', link: 'https://supabase.com', credentials: { | |
| apiKey: 'sb_pub_aaaaaaaaaaaaa', | |
| secretKey: 'sb_sec_aaaaaaaaaaaaa', | |
| dbName: 'test_db', | |
| dbPassword: 'Test@2026!', | |
| url: 'https://aaaaaaaa.supabase.co' | |
| } }, | |
| { name: 'Gemini', status: 'connected', link: 'https://gemini.google.com' } | |
| ] | |
| }]; | |
| // ============================================================ | |
| // 🎯 دوال التحكم | |
| // ============================================================ | |
| function unlockVault() { | |
| const password = document.getElementById('masterPassword').value; | |
| const errorEl = document.getElementById('loginError'); | |
| if (password === MASTER_PASSWORD) { | |
| document.getElementById('loginScreen').classList.add('hidden'); | |
| document.getElementById('mainContent').classList.remove('hidden'); | |
| renderEmails(); | |
| errorEl.classList.add('hidden'); | |
| } else { | |
| errorEl.classList.remove('hidden'); | |
| document.getElementById('masterPassword').value = ''; | |
| document.getElementById('masterPassword').focus(); | |
| } | |
| } | |
| function logout() { | |
| document.getElementById('loginScreen').classList.remove('hidden'); | |
| document.getElementById('mainContent').classList.add('hidden'); | |
| document.getElementById('masterPassword').value = ''; | |
| document.getElementById('loginError').classList.add('hidden'); | |
| } | |
| // ============================================================ | |
| // 📧 عرض الإيميلات | |
| // ============================================================ | |
| function renderEmails(filter = '') { | |
| const grid = document.getElementById('emailsGrid'); | |
| grid.innerHTML = ''; | |
| const filtered = emailData.filter(item => | |
| item.email.includes(filter.toLowerCase()) | |
| ); | |
| if (filtered.length === 0) { | |
| grid.innerHTML = ` | |
| <div class="col-span-full text-center py-20"> | |
| <div class="text-6xl mb-4">🔍</div> | |
| <h3 class="text-2xl text-gray-400">لا توجد نتائج</h3> | |
| <p class="text-gray-500">جرب بحث آخر</p> | |
| </div> | |
| `; | |
| return; | |
| } | |
| filtered.forEach(emailItem => { | |
| const card = document.createElement('div'); | |
| card.className = 'vault-card p-5'; | |
| card.id = `email-${emailItem.id}`; | |
| // رأس الإيميل | |
| let servicesHtml = ''; | |
| emailItem.services.forEach(service => { | |
| const statusClass = service.status === 'connected' ? 'status-connected' : | |
| service.status === 'running' ? 'status-pending' : | |
| 'status-disconnected'; | |
| const statusText = service.status === 'connected' ? 'متوصل' : | |
| service.status === 'running' ? 'مشغل' : | |
| 'قيد الانتظار'; | |
| let credentialsHtml = ''; | |
| if (service.credentials) { | |
| credentialsHtml = ` | |
| <div class="mt-3 space-y-2 text-sm bg-black/30 rounded-xl p-3"> | |
| ${Object.entries(service.credentials).map(([key, value]) => ` | |
| <div class="flex items-center justify-between gap-2 border-b border-gray-700/50 pb-1"> | |
| <span class="text-gray-400 text-xs">${key}:</span> | |
| <span class="text-neon-cyan text-xs hidden-data" data-value="${value}">${value}</span> | |
| <button onclick="toggleReveal(this)" class="reveal-btn text-[10px]">👁️ إظهار</button> | |
| <button onclick="copyText('${value}')" class="copy-btn text-[10px]">📋</button> | |
| </div> | |
| `).join('')} | |
| </div> | |
| `; | |
| } | |
| servicesHtml += ` | |
| <div class="bg-black/30 rounded-xl p-3 mb-2 hover:bg-black/50 transition-colors"> | |
| <div class="flex items-center justify-between flex-wrap gap-2"> | |
| <div class="flex items-center gap-2"> | |
| <span class="status-dot ${statusClass}"></span> | |
| <span class="text-white font-medium">${service.name}</span> | |
| <a href="${service.link}" target="_blank" class="text-neon-cyan text-xs hover:text-neon-pink transition-colors"> | |
| 🔗 | |
| </a> | |
| </div> | |
| <span class="text-xs text-gray-400">${statusText}</span> | |
| </div> | |
| ${credentialsHtml} | |
| </div> | |
| `; | |
| }); | |
| card.innerHTML = ` | |
| <div class="flex items-start justify-between mb-4"> | |
| <div> | |
| <h2 class="text-lg font-bold text-white flex items-center gap-2"> | |
| <span class="text-neon-cyan">📧</span> | |
| ${emailItem.email} | |
| </h2> | |
| <span class="text-xs text-gray-500">${emailItem.services.length} خدمة</span> | |
| </div> | |
| <div class="flex gap-2"> | |
| <button onclick="editEmail(${emailItem.id})" class="text-xs text-neon-cyan hover:text-neon-pink transition-colors">✏️</button> | |
| <button onclick="deleteEmail(${emailItem.id})" class="text-xs text-neon-pink hover:text-red-500 transition-colors">🗑️</button> | |
| </div> | |
| </div> | |
| <div class="space-y-1"> | |
| ${servicesHtml} | |
| </div> | |
| <div class="mt-3 pt-3 border-t border-gray-700/50 flex justify-between items-center"> | |
| <button onclick="addService(${emailItem.id})" class="text-xs text-neon-cyan hover:text-neon-pink transition-colors"> | |
| ➕ إضافة خدمة | |
| </button> | |
| <span class="text-[10px] text-gray-600">ID: ${emailItem.id}</span> | |
| </div> | |
| `; | |
| grid.appendChild(card); | |
| }); | |
| } | |
| // ============================================================ | |
| // 🔍 دوال البحث والفلترة | |
| // ============================================================ | |
| function filterEmails() { | |
| const search = document.getElementById('searchInput').value; | |
| renderEmails(search); | |
| } | |
| // ============================================================ | |
| // 👁️ إظهار/إخفاء البيانات الحساسة | |
| // ============================================================ | |
| function toggleReveal(btn) { | |
| const parent = btn.parentElement; | |
| const hiddenSpan = parent.querySelector('.hidden-data'); | |
| if (hiddenSpan) { | |
| hiddenSpan.classList.toggle('revealed'); | |
| btn.textContent = hiddenSpan.classList.contains('revealed') ? '🙈 إخفاء' : '👁️ إظهار'; | |
| } | |
| } | |
| // ============================================================ | |
| // 📋 نسخ النص | |
| // ============================================================ | |
| function copyText(text) { | |
| navigator.clipboard.writeText(text).then(() => { | |
| const toast = document.createElement('div'); | |
| toast.className = 'fixed bottom-4 right-4 glass neon-border text-neon-cyan px-4 py-2 rounded-xl text-sm z-50'; | |
| toast.textContent = '✅ تم النسخ!'; | |
| document.body.appendChild(toast); | |
| setTimeout(() => toast.remove(), 2000); | |
| }).catch(() => { | |
| // Fallback | |
| const textarea = document.createElement('textarea'); | |
| textarea.value = text; | |
| document.body.appendChild(textarea); | |
| textarea.select(); | |
| document.execCommand('copy'); | |
| textarea.remove(); | |
| const toast = document.createElement('div'); | |
| toast.className = 'fixed bottom-4 right-4 glass neon-border text-neon-cyan px-4 py-2 rounded-xl text-sm z-50'; | |
| toast.textContent = '✅ تم النسخ!'; | |
| document.body.appendChild(toast); | |
| setTimeout(() => toast.remove(), 2000); | |
| }); | |
| } | |
| // ============================================================ | |
| // ➕ دوال الإضافة والحذف والتعديل | |
| // ============================================================ | |
| function addNewEmail() { | |
| const newEmail = prompt('✏️ أدخل الإيميل الجديد:'); | |
| if (newEmail && newEmail.includes('@')) { | |
| emailData.push({ | |
| id: Date.now(), | |
| email: newEmail, | |
| services: [] | |
| }); | |
| renderEmails(document.getElementById('searchInput').value); | |
| showToast('✅ تم إضافة الإيميل بنجاح!'); | |
| } else if (newEmail) { | |
| alert('❌ من فضلك أدخل إيميل صحيح.'); | |
| } | |
| } | |
| function deleteEmail(id) { | |
| if (confirm('⚠️ هل أنت متأكد من حذف هذا الإيميل وجميع بياناته؟')) { | |
| const index = emailData.findIndex(e => e.id === id); | |
| if (index > -1) { | |
| emailData.splice(index, 1); | |
| renderEmails(document.getElementById('searchInput').value); | |
| showToast('🗑️ تم حذف الإيميل.'); | |
| } | |
| } | |
| } | |
| function editEmail(id) { | |
| const item = emailData.find(e => e.id === id); | |
| if (item) { | |
| const newEmail = prompt('✏️ تعديل الإيميل:', item.email); | |
| if (newEmail && newEmail.includes('@')) { | |
| item.email = newEmail; | |
| renderEmails(document.getElementById('searchInput').value); | |
| showToast('✅ تم تحديث الإيميل.'); | |
| } | |
| } | |
| } | |
| function addService(emailId) { | |
| const item = emailData.find(e => e.id === emailId); | |
| if (item) { | |
| const serviceName = prompt('✏️ اسم الخدمة:'); | |
| if (serviceName) { | |
| const status = prompt('📊 الحالة (connected/running/pending):', 'connected'); | |
| const link = prompt('🔗 رابط الخدمة:', 'https://'); | |
| item.services.push({ | |
| name: serviceName, | |
| status: status || 'pending', | |
| link: link || '#' | |
| }); | |
| renderEmails(document.getElementById('searchInput').value); | |
| showToast('✅ تم إضافة الخدمة!'); | |
| } | |
| } | |
| } | |
| // ============================================================ | |
| // 🍞 Toast notifications | |
| // ============================================================ | |
| function showToast(message) { | |
| const toast = document.createElement('div'); | |
| toast.className = 'fixed bottom-4 right-4 glass neon-border text-neon-cyan px-6 py-3 rounded-2xl text-sm z-50 shadow-neon-glow'; | |
| toast.textContent = message; | |
| document.body.appendChild(toast); | |
| setTimeout(() => { | |
| toast.style.opacity = '0'; | |
| toast.style.transition = 'all 0.5s ease'; | |
| setTimeout(() => toast.remove(), 500); | |
| }, 2500); | |
| } | |
| // ============================================================ | |
| // ⌨️ دعم Enter في حقل كلمة المرور | |
| // ============================================================ | |
| document.getElementById('masterPassword').addEventListener('keydown', function(e) { | |
| if (e.key === 'Enter') { | |
| unlockVault(); | |
| } | |
| }); | |
| // ============================================================ | |
| // 📦 تهيئة أولية | |
| // ============================================================ | |
| renderEmails(); | |
| console.log('✅ نظام الخزنة الرقمية جاهز!'); | |
| console.log('📧 عدد الإيميلات:', emailData.length); | |
| console.log('🔐 كلمة المرور: Eissa2026'); | |
| </script> | |
| </body> | |
| </html> |