Server data from the Official MCP Registry
Free browser-based Quran video maker: vertical reels with 47 reciters and 8 translation languages.
About
Free browser-based Quran video maker: vertical reels with 47 reciters and 8 translation languages.
Remote endpoints: streamable-http: https://quran-reels-tau.vercel.app/api/mcp
Security Report
Valid MCP server (1 strong, 0 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.
6 tools verified · Open access · No issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Found in Source Code
Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.
How to Connect
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"app-vercel-quran-reels-tau-quran-reels-mcp": {
"url": "https://quran-reels-tau.vercel.app/api/mcp"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
قرآن ريلز — Quran Reels ⭐

المستودع: https://github.com/Ansygroup/quran-reels (عام · main) · النشر: Vercel · الدفع المستقبلي: scripts/gh_push.sh
صانع فيديو قرآن مجاني وفوري — نسخة مطوّرة بالكامل من quranreels.tech تعمل داخل المتصفح بدون خوادم معالجة وبدون قوائم انتظار وبدون حدود يومية.
🔗 الفكرة في سطر واحد: اختر الآيات ← شاهد المعاينة الحية ← اضغط «إنشاء» ← حمّل ملف MP4 عمودي 1080×1920 خلال ثوانٍ.
🌐 منشور الآن: https://quran-reels-tau.vercel.app
✨ المزايا (مقارنة بالأصل)
| الأصل | هذه النسخة | |
|---|---|---|
| الإنشاء | طابور خادم 1–3 دقائق + 10 فيديوهات/يوم + 30 ثانية تبريد | فوري داخل المتصفح بلا حدود وبدون تسجيل |
| المعاينة | غير متوفرة | معاينة حية أثناء التصميم (تشغيل/تقديم/تنقل بين الآيات) |
| الخصوصية | رفع للخادم | الصوت والصور لا تغادر جهازك (رفع خلفية محلي) |
| الأدوات | 24 أداة | 32 أداة تعمل دون إنترنت حيث أمكن |
| التصدير | MP4 من الخادم | MediaRecorder داخل المتصفح: MP4/WebM حسب دعم المتصفح، مع تقدير الأبعاد 9:16 / 1:1 / 16:9 |
🎬 الصانع
- 47 قارئًا (كل ayah mp3 من everyayah عبر
/proxyموحّد المصدر — مطلوب لالتقاط الصوت في التصدير) - 114 سورة + نطاق آيات يدوي أو «رسائل سريعة» (الصبر، السكينة، الرزق، التوبة… 324 مرجعًا متحققًا)
- ترجمة داخل الفيديو بـ8 لغات (إنجليزية، فرنسية، تركية، إندونيسية، أردية، إسبانية، إيطالية) + عربي مبسّط
- 14 خلفية (10 صور مولّدة + 4 تدرّجات) + رفع صورة من جهازك (محلي فقط)
- أنماط بطاقة (card/glow/banner) × 4 ألوان ذهبي/زمردي/فضي/وردي، عدّ حجم الخط، علامة مائية، إهداء «صدقة جارية» بثلاثة أنماط، إيقاف الحركة، شارة عنوان السورة، شريط تقدّم، ترجمة قابلة للإخفاء
- معاينة حقيقية: صوت كل آية + رسم Canvas بنفس كود التصدير (لا مفاجآت)
- تصدير لحظي:
canvas.captureStream+MediaRecorderمع شريط تقدّم وإمكانية الإلغاء، ثم تحميل/مشاركة/فيديو فوري
🧰 الأدوات الـ32
مواقيت الصلاة (12 طريقة + تحديد موقع دقيق بتوقيت المنطقة) · القبلة (بوصلة + SVG + خريطة) · التاريخ الهجري/الميلادي · أذكار الصباح والمساء (حصن المسلم كامل — 132 فئة) · المسبحة · أسماء الله الحسنى · آية اليوم · آيات بالموضوع · حلقة التلاوة · خطة الختمة · الختمة الجماعية برابط قابل للمشاركة · مخارج الحروف · إذاعة القرآن (بث مباشر) · الأحاديث (النووية/القدسية مضمّنة + البخاري ومسلم وأبو داود والترمذي والنسائي وابن ماجه والموطأ بتحميل كسول) · تخريج الحديث · مصمّم البطاقات PNG · حاسبة الزكاة · المواريث (شاملة فرع واردث ووصية ووصية مطلقة) · أسماء المولودين (1017 اسمًا) · ألوان E · التقويم الإسلامي · عدّاد المناسبات · عدّاد الإفطار · تنبيهات الأذان (إشعارات + جرس) · أعمال اليوم · متتبع الصيام · قضاء الصلاة · حاسبة الكفارة · تعلم الصلاة · المساجد القريبة (OpenStreetMap) · الدعاء المختار
🏗️ البنية
quran-reels/
├── server.py # خادم محلي: ثابت + /proxy (قائمة بيضاء) + /api/ip + /api/app-config
├── vercel.json # إعدادات Vercel: outputDirectory=public + إعادة توجيه /proxy → /api/proxy + كاش
├── .vercelignore # ما لا يُرفع عند النشر
├── api/ # دوال Serverless (Node) — مرآة كاملة لـ server.py
│ ├── proxy.js # نفس عقد /proxy: 400/403/502 + كاش 6 ساعات + ACAO *
│ ├── ip.js # نفس عقد /api/ip مع نفس البديل الافتراضي (القاهرة)
│ └── app-config.js # إعدادات عامة (Supabase URL + المفتاح العام) من متغيرات البيئة
└── public/
├── index.html # الصفحة الكاملة (SEO + JSON-LD + FAQ)
├── css/style.css # نظام تصميم RTL (تاجوال/أميري/أميري قرآن)
├── js/
│ ├── data.js # القراء، الترجمات، الخلفيات، FAMOUS، الأدوات…
│ ├── core.js # أدوات + حساب المواقيت (PrayTimes) + القبلة + الهجري + الراوتر
│ ├── quran.js # تحميل المصحف + الاختيارات + فهرس البحث
│ ├── reel.js # رسم الفيديو (Canvas) + AyahPlayer + ReelRecorder
│ ├── creator.js # واجهة الصانع وتدفق التصدير
│ ├── tools.js # إطار الأدوات المساعدة
│ ├── tools-a/b/c.js # الأدوات الـ32
│ └── app.js # الإقلاع والصفحة الرئيسية
├── data/ # المصحف (2.1MB) + 7 ترجمات + أذكار + أسماء + أحاديث
├── fonts/ # Amiri / AmiriQuran / Scheherazade / Tajawal
└── img/backgrounds/ # 10 خلفيات مولّدة (بلا نصوص)
🚀 التشغيل
cd quran-reels
PORT=8787 python3 server.py
# ثم افتح http://localhost:8787
- لا توجد تبعيات (Python 3 مكتبة فقط + Node للفحص الاختياري).
/proxy?u=يقبل فقط: everyayah.com, api.alquran.cloud, cdn.jsdelivr.net, raw.githubusercontent.com, qurango.net, overpass-api.de, overpass.osm.ch, api.aladhan.com, nominatim.openstreetmap.org.PORTاختياري (افتراضي 8787) ويجب أن يُشغَّل على0.0.0.0ليعمل خلف وكيل المعاينة.
🌐 النشر على Vercel + Supabase
Vercel (الحساب متصل — المصادقة محفوظة داخل المشروع في .vcfg ولا تحتاج موافقة جديدة):
# مرة واحدة لكل بيئة عمل جديدة (إن لزم): npm i -g vercel أو استخدم npx
npx vercel -Q "$PWD/.vcfg" deploy --prod --yes --scope ansygroups-projects
- الإعدادات في
vercel.json: مجلد الخرج =public، و/proxyيُعاد توجيهه إلىapi/proxy، وصفحات بدون امتداد تفتح التطبيق، وكاش CDN يوم للملفات الثابتة و6 ساعات للـproxy، ورؤوسnosniff/Referrer-Policy. - متغيرات البيئة في المشروع (production + preview):
SUPABASE_URL·SUPABASE_ANON_KEY— تقرأهاapi/app-config.jsويستهلكها المتصفح.
- نطاق مخصص لاحقًا: أضِفه من لوحة Vercel ثم حدّث وسوم SEO إليه.
تحصينات مطبَّقة (2026-10-27):
api/proxy.js+ مرآتهserver.py: سقف حجم25MB · حدّ120 طلب/دقيقة/IP · دعمRange(تنقّل الصوت بـ206) · إعادة فحص مضيفي كل تحويل (حتى3) · كاش6س + كاش دافئ من الذاكرة./api/ip: يقرأ رؤوسx-vercel-ip-*من حافة Vercel أولًا (بلا اعتماد خارجي وبلا rate-limit) ثم ipapi.co ثم بديل القاهرة.- Supabase: صلاحيات أعمدة محدودة (
UPDATEعلىdone/planفقط) + قيود (طول الاسم≤24،done≤365، تنسيق معرّف) + العميل يكتب عبر PATCH ثم INSERT (لا upsert). البقيّة المقصودة: المفتاح العام يسمح بقراءة لوحة الختمة كاملة (بيانات تقدّم منخفضة الحساسية) — الحل الجذري عند الحاجة: Supabase Auth. - معرّفات خطط أقوى (16 محرفًا عشوائيًا عبر
crypto).
PWA / وضع دون إنترنت:
public/sw.js+manifest.json+img/icon.svg: يُخزّن الهيكل والبيانات الأساسية عند أول زيارة؛ التنقّل والأدوات تعمل دون إنترنت، و/proxy+/apiشبكة دائمًا (لا يُخزَّن صوت). الإصدار الحاليqr-v1— عند تغيير ملفات الهيكل ارفع الرقم فيsw.jsلتجديد الكاش.
Supabase — الختمة الجماعية المشتركة (متزامنة بين الأجهزة):
- مشروع
quran-reelsبجدولتيkhatma_plansوkhatma_progressمع RLS (تقدّم كل فرد في صف مستقل). - أداة «ختمة جماعية» تقرأ
/api/app-config؛ عند غيابها تعمل بدون سحابة بهدوء (تراجع صامت). - رابط المشاركة يحمل الخطة؛ التقدّم يُدفع عند «أنهيت اليوم» ويُسحب عند فتح الرابط على أي جهاز.
👤 الحساب + النشر التلقائي (الأتمتة) — الجديد
تجربة المستخدم (تعمل فورًا): زر «🔑 دخول» → رابط سحري للبريد أو «المتابعة بجوجل» → صفحة #/account فيها ربط المنصات بضغطة OAuth واحدة، جدول النشر، ومولّد البوستات، و«الأتمتة» اليومية. زر «🤖 جدولة للنشر» في نتيجة التصدير يرفع الفيديو إلى حسابك ويفتح نافذة الجدولة. الزائر يبقى حرًا — كل شيء (الإنشاء والأدوات) يعمل بلا تسجيل.
كيف تُفعِّل النشر الفعلي (إعدادات المطوّر — مرة واحدة لكل منصة):
| المنصة | متغيرات Vercel (Secrets) | أين تنشئ التطبيق | رابط إعادة التوجيه السجلّي |
|---|---|---|---|
| يوتيوب (ويُفعِّل جوجل الدخول لاحقًا) | GOOGLE_CLIENT_ID · GOOGLE_CLIENT_SECRET | Google Cloud Console → OAuth consent → Credentials | https://quran-reels-tau.vercel.app/api/oauth/callback |
| فيسبوك + إنستغرام | META_APP_ID · META_APP_SECRET | developers.facebook.com → My Apps | نفس الرابط أعلاه |
| تيك توك | TIKTOK_CLIENT_KEY · TIKTOK_CLIENT_SECRET | developers.tiktok.com | نفس الرابط |
| X | X_CLIENT_ID · X_CLIENT_SECRET | developer.x.com | نفس الرابط |
- رابط إعادة التوجيه واحد لكل المنصات:
/api/oauth/callback(المنصة تُرمَّز داخلstate). - دخول جوجل: إعداد Supabase Dashboard → Authentication → Providers → Google (نفس عميل جوجل تقريبًا؛ سجّل redirect:
https://<ref>.supabase.co/auth/v1/callback) — البريد السحري يعمل بلا أي إعداد (SMTP المدمج؛ حدّه الافتراضي 2 رسائل لكل نافذة وقت — يُرفع من الداشبورد أو عبر SMTP خاص عند الحاجة). - الأتمتة: Vercel Cron يوميًا
15 4 * * *UTC (≈06:15 القاهرة) ينشر المهام المستحقة عبرCRON_SECRET— خطة Vercel المجانية تكفي (فيديو تلقائي/يوم). النشر الفوري متاح دائمًا من زر «انشر الآن». - التخزين: فيديوهات الجدولة تُرفع إلى Supabase Storage bucket
reels(عام — لحاجة المنصات لجلب الرابط) بحدّ 50MB/ملف؛ حدّ الـ1GB المجاني يكفي مئات الريلز. - الأمان: التوكنات تُشفَّر AES-256-GCM بمفتاح
TOKEN_ENC_KEY(خادم فقط)، JWTs تُتحقق ES256 عبر JWKS، الجداول محمية RLS بملكية المستخدم، ولا تظهر أي توكنات في الاستجابات. .env.secretsفي جذر المشروع (مُستبعد من الرفع): نسخة محلية منTOKEN_ENC_KEYوCRON_SECRET— فقدانهما يعني إعادة ربط المنصات (لا ضرر).- حدّ Vercel: خطة Hobby تسمح بـ12 دالة/نشرة — المجموع الحالي 11. عند الإضافة ادمج المسارات (نمط
api/x.js+ استعلامات?op=كما هو هنا). - واقع المنصات (بصدق): رفع يوتيوب مباشر (كوتا ~6 فيديو/يوم افتراضيًا، تُرفع بطلب) · إنستغرام يتطلب حساب Business + مراجعة تطبيق Meta · تيك توك مراجعة تطبيق (وضع الاختبار ينشر للمنشئين فقط) · X قد يتطلب خطة API مدفوعة لرفع الفيديو. كل ذلك أطراف خارجية — الكود جاهز ويعمل فور منح الموافقة.
- الباقات (مجاني/برو/مدى الحياة) معروضة كواجهة — الدفع الإلكتروني خطوة قادمة عند طلبك.
✅ الاختبارات
- حزمة الاختبارات الدائمة داخل المشروع:
tests/run.js(Playwright) — تُشغَّل ضد الإنتاج أو الخادم المحلي:
cd tests
npm i playwright && npx playwright install chromium-headless-shell
npx playwright install-deps chromium-headless-shell # مكتبات النظام (مرة واحدة)
node run.js # محلي: 127.0.0.1:8787
BASE=https://quran-reels-tau.vercel.app node run.js # الإنتاج
SKIP_EXPORT=1 node run.js # بلا قسم التصدير (~أسرع)
node tools_smoke.js # دخان فتح الـ32 أداة (~5 ث)
node tools_interact.js # تفاعل فعلي لكل أداة (نقر·select·input·checkbox)
node correctness_test.js # صحة الحسابات مقابل Aladhan (30 فحصًا)
# الثلاثة الأخيرة تقبل BASE=… للإنتاج أيضًا
-
ما تغطيه: الإقلاع + وسوم SEO وJSON-LD وrobots/sitemap + معاينة وتصدير MP4 فعلي + فتح الـ32 أداة بلا أخطاء + تفاعلات عميقة (مسبحة/زكاة/ختمة فردية/ختمة جماعية مع حالة السحابة/مواقيت/قبلة/أذكار/أحاديث/إذاعة/اختبار مخارج) + قائمة الجوال.
-
Lighthouse (موبايل مُحاكى): أداء 91 · وصولية 100 · أفضل الممارسات 100 · SEO 100 (FCP 1.0s · LCP 1.5s · CLS 0.07 · صفر فشل)
-
مدقّق W3C (validator.nu): 0 أخطاء · 0 تحذير — تسلسل عناوين دلالي كامل (بما شامل عنوانَي
sr-onlyلقسم الأداة وv-tagآية اليوم) — وللصفحات الأربع الجديدة/ar/*: 0/0 لكل منها. -
طبقة فهرسة (جولة كمل#8): كانت كل روابط التطبيق
#/…غير قابلة للفهرسة و sitemap = رابط واحد، فبُنيت صفحات هبوط ثابتة بلا سكربتات معناها غنيّ وJSON-LD وFAQ داخلي مترابط:/ar/quran-video-maker/·/ar/islamic-tools/(شبكة الـ32 أداة) ·/ar/prayer-times/·/ar/qibla-direction/— sitemap الآن 11 مسارًا، وروابط داخلية من تذييل الرئيسية إليها، ورؤوس أمان/caching ممتدّة لـ/ar/(.*)، وLH للصفحة الأولى 98/100/100/100. -
توسعة المحتوى وGEO (كمل#10 — «الرقم واحد»): +6 صفحات على كلمات المنافسين الحقيقية (
quran-video-tiktok·quran-video-with-translation·short-quran-verses-video·adhkar·tasbeeh·zakat-calculator) — كلها W3C 0/0 ومولّدة عبرscripts/build_lp.jsالقابل لإعادة الاستخدام ·/llms.txtبحقائق للاقتباس من محركات الذكاء · robots.txt يسمح صراحةً بـ12+ وكيل ذكاء (GPTBot·PerplexityBot·ClaudeBot·Google-Extended…) · IndexNow أُعيد إيداعه بـ11 رابطًا HTTP 200 · تقرير المنافسين الكامل فيdocs/competitors.md(20 فاعلًا + مقارنة صريحة + أهداف قابلة للقياس). -
وسم التحقق من Google
google-site-verificationمنشور في الرئيسية (خطوة GSC: تحقق ← إرسال sitemap ← طلب فهرسة الـ12 مسارًا). -
خادم MCP (كمل#11 — «الذكاء يرشحك»):
POST /api/mcp— خادم Streamable HTTP بروتوكولي2025-06-18/2025-03-26بلا مفاتيح ولا جلسات (JSON-RPC · دفعات · CORS) و6 أدوات تجعل محركات الذكاء تنداء الموقع:quran_reel_maker_info·get_prayer_times(9 طرق + توقيت IANA آمن DST) ·get_qibla·get_hijri_date(أم القرى) ·get_verse(عثماني ≤10) ·create_reel(رابط/?s=…&from=…&to=…يفتح الصانع معبأًا) · اكتشاف/.well-known/mcp.json· وثائق/developers/mcp/(W3C 0/0) · مختبرtests/mcp_test.js28/28. -
السجلّ الرسمي MCP (كمل#24د — منشور ✓):
app.vercel.quran-reels-tau/quran-reels-mcp@1.0.0في registry.modelcontextprotocol.io (status=active) بمصادقة HTTP عبر/.well-known/mcp-registry-auth(Ed25519 — بلا حساب ولا متصفح)، والـremotesتشير إلىhttps://quran-reels-tau.vercel.app/api/mcp— يُستهلك منه GitHub MCP Registry وكل العملاء الراغبون في السجلّ الرسمي · إعادة النشر:mcp-publisher publish. -
الدفعة الكبرى (كمل#12 — «كلهم»): 58 صفحة جديدة عبر
scripts/build_k12.js= قسم إنجليزي/en/(6 صفحات مزدوجة اللغة معhreflangعلى 6 أزواج عربي↔إنجليزي) + فهرس القرّاء و47 صفحة قارئ (/ar/reciters/+/ar/reciter/<slug>/) بأزرار/?r=<folder>تفتح المولّد مُهيّأً بصوت القارئ (تعريب عميق فيapplyDeepLink/handlePending+ وسيط اختياري في أداة MCPcreate_reel) + صفحات الثقة (/about·/terms·/privacy·/contactبنموذج يعمل على RPC دفاعيsubmit_contactبجدول RLS بلا قراءة) · فواتير موحّدة بالروابط الثقة في كل الصفحات · Sitemap 12→70 · llms.txt محدّث · W3C 70 صفحة 0/0 · مختبرtests/pages12_test.js21/21 · IndexNow 70@200. -
المدونة والموسمية (كمل#13):
scripts/build_blog.js→ فهرس/blog/+ 8 مقالات على كلمات الأصل الحقيقية (٣٠ فكرة · هل توجد أداة مجانية؟ · جدول مقارنة مع quranreels.tech/tashghil/quranvideomaker ·7 أخطاء · الجدولة والأتمتة · خطة رمضان1448 أم القرى:1 رمضان≈8 فبراير2027 · محتوى الجمعة · أول فيديو في5 دقائق) — كل مقال بـArticle+BreadcrumbList+FAQPageJSON-LD و<time>وقراءة معلنة · رابط «مقالات» في فواتير الموقع كلّه (قوالب×3 + الجذر + الثابتة) · Sitemap 70→79 · llms.txt قسم المدونة · W3C 79×0/0 · مختبرtests/blog_test.js12/12 (يشمل فحص CJK وروابط داخلية حيّة ومسارات sitemap الدقيقة) · IndexNow 79@200. -
المراقبة + كلمة-بكلمة + الحزمة + المؤجَّل (كمل#14 — «كلهم»): أسلوب «كلمة-بكلمة» الرابع في صانع الريلز (
reel.js _drawWords: إبراز الكلمة الجارية بقرص ذهبي موزون بالحروف على زمن التلاوة الحقيقي — صوت مفكّك أو تقدير — مع مطابقة سطور_fitAyahحرفيًا، واختبار S3 في run.js) · مراقبة أسبوعية:npm run monitor(scripts/monitor_site.js+lib/monitor.js— كل مداخل sitemap بحالة 200 + robots/llms/علامة GSC/تذييل المدونة + diff منافسين بقوائم جديدة/محذوفة + استعلام Bing RSS للفهرسة وتقرير Markdown يومي فيdocs/monitor/) + Vercel Cron إثنين 06:30UTC (/api/cron/monitor) · بريد تأكيد التواصل:api/contact.jsيمرّ على RPC ثم يرسل تأكيدًا للمراسل ونسخة للمسؤول عبرlib/mailer.js(Resend، بلا مفتاح = no-op) مع مسار احتياطي مباشر في النموذج · عيب OAuth مُصحَّح:redirect_uriللمنصات الأربع كانت لمسارات غير موجودة → موحَّد على/api/oauth/callback· حزمة اقتباسات خارجيةdocs/backlinks.md(ورقة حقائق +8 أهداف بروابطهم +3 قوالب رسائل + خطة أسبوعية) · محاضر الإعداد:docs/{github,domain,oauth,payments,smtp}-setup.md+ مسودةsql/credits-draft.sql(غير مُطبَّقة) +scripts/rebase_url.jsلتبديل النطاق بأمر واحد بعد ضبط DNS · مختبر pages12 21→24. -
GSC وسم التحقق (كمل#15): الرمز
IHmoe5QFrC77PbZdh2O0MeZFLIKwg-saA50td32AcQoمثبَّت الآن في 79/79 صفحات — أُضيفت الناقصة الأربع (ar/quran-video-maker·ar/islamic-tools·ar/prayer-times·ar/qibla-direction) بنفس موضع القالب · المراقبة تفحص الآن مطابقة القيمة الدقيقة لا مجرد الوجود (lib/monitor EXPECTED_VERIF) · اختبار دائم في pages12 (GSC token exact on home) · الخطوة التالية: GSC → Verify → سجل Sitemap (79) → طلب الفهرسة · ملف التحققgoogleb789508316de731f.html(أسلوب رفع الملف — 53 بايت حرفيًا في الجذر) مع حارس في pages12 (24→25). -
صفحات المنصّات (كمل#17):
quran-video-instagram·quran-video-whatsapp— بنصّ الأصل الحرفي (عنوانهما ووصفهما مأخوذان من صفحتيهما المنشورتين في quranreels.tech) +quran-video-facebookبكلماتنا (الأصل لا يملك صفحة فيسبوك — تحقّقت من خريطته الـ90) — كل صفحة بـWebPage+FAQPageJSON-LD وروابط متقاطعة (تيك توك ↔ المنصّات) · إصلاح رابط ميّت:/ar/quran-reels-for-dawah/كان في صفحة الترجمة ولا وجود له ← استُبدل بستاتس واتساب · Sitemap 79→82 · llms.txt +3 · W3C 5 صفحات معدَّلة 0/0 · pages12 25→27 (يشمل جولة 82 رابطًا self-canonical) · IndexNow 200×3 · monitor 82/82. -
صفحات الموسم والفئات (كمل#18): 21 صفحة جديدة — سلسلة «كم باقي» (hub + رمضان2027/الفطر/الأضحى/عرفة/رجب/شعبان/الجمعة: تواريخ أم القرى بنصّ الأصل مع تدرّج «قد يختلف يومًا بالرؤية» + عدّاد حيّ
id="kbc"داخل كل صفحة، والجمعة يحسب نفسها أسبوعيًا في المتصفح) + التهنئة بالاسم (hub + عيدان + جمعة + رمضان — عناوين الأصل مع وصف مُكيَّف لإهدائنا أسفل الفيديو بدل «بطاقة الافتتاح» التي ليست عندنا) + 7 فئات أدوات (islamic-tools/{prayer-and-place,quran-discovery,quran-learning,dhikr,hadith-and-learning,calculators-and-tracking,family-and-life}بعناوين ووصفات الأصل وأدواتنا موزّعة) +/ar/quran-word-highlight/بكلماتنا (slug الأصل معطّل 404 فملكِلناه) · إشارات الميزة: سؤال FAQ الجذر الـ16 فيdata.js(يعيد بناء run.js) + صف في جدول مقارنة المدونة (مع تصريح صريح بأن للمنافس أيضًا «كلمة بكلمة») + llms · build_lp 9→30 · Sitemap 82→103 · pages12 27→29 (فحص الكلمة المفتاحية + فحص العدّاد) · run.js 87/0 · blog 12/12 · correctness30 · smoke32 · mcp28 · interact32 · W3C 23×0/0 (validator.nu) · Lighthouse 91/98 (الرئيسية/المصصّم — بلا انحدار عن خط الأساس مع تشتّت طبيعي 79–95، وأُضيفpreloadلـstyle.cssلتقليل render-blocking) · IndexNow 21@200/202 · monitor 103/103. -
استكمال خريطة الأصل + تجديد التصميم (كمل#19 «الكل»): 51 صفحة جديدة تُغلق كل الفجوات المتبقّية من sitemap الأصل (90 رابطًا — لم يبقَ منها إلا ما هو مغطّى بمسار آخر): 24 صفحة أدوات مفردة بنصوص الأصل (
qibla·hijri-date·islamic-calendar·ayat-bil-mawdoo·daily-ayah·quran-radio·quran-looper·quran-khatma·group-khatma(يُصلح رابطًا ميّتًا كان في كمل#18) ·hisn-almuslim·asma-allah-husna·hadith·hadith-checker·how-to-pray·mawarith·kaffara·qada·sawm·baby-names·nearby-mosques·minshawi-rare·makharij·tahfeez·quran-quizباختبار حقيقي8 أسئلة داخل الصفحة ·crypto-zakatبحاسبة يدوية + تنبيه علمي ·halal-product-checker— بكلماتنا لأن «الباركود والصورة» ليسا عندنا) + 13 صفحة صانع متخصّصة (no-watermark·no-music·free-maker·quran-video-ramadan·quran-reels-ai·quran-translation-video·quran-tafsir-video(صفحة حدود صريحة) ·khushoo·sadaqa-jariya·quran-word-highlight-video+yasser-dossary/mishary-rashid(=alafasy)/best-quran-recitersبصفحات قرّاء حقيقية47) +adhkar/{sabah,masaa,nawm}+guides/quran-reels-guide-2026+compare/quran-video-makers(بدون ادّعاء «7» — جدولنا المُتحقَّق فقط) + نسختاur/وid/(lang/dir صحيحة) + جذرية:/faq/و**/content-sources/** (شفافية المصادر) و**/developers/+docs/en+integrations/n8n** (MCP/JSON-RPC حقيقي بلا مفتاح) مع redirect/privacy-policy→/privacy(308) · أوصاف الميزات الغائبة عُدِّلت بصدق (بوصلة بلا توهّج أخضر · بلا «مشي» · بلا عمر هجري · بلا صورة حديث · بلا مجسّم3D…) · بناء القالب:base/lang/dirاختيارية (30→81 صفحة مولّدة) · Sitemap 103→154 · pages12 29→30 (+فحص ur/id lang+GSC) · تجديد تصميم عابر عبرstyle.css+ قالبي lp/blog (hero بتدرّج ذهبي · hover/borders · focus-visible · selection · reduced-motion) مع إصلاح CLS ناتج عنtext-wrap:balance(LH: المصصّم89→97 بعد الإزالة) · W3C 90×0/0 · run 87/0 · blog12 · correctness30 · smoke32 · mcp28 · interact32 · LH الرئيسية88–91 (خط الأساس91) · IndexNow 51@200×3 · monitor 154/154. -
محرّك المقالات + 100 مقال + صور AI + تعميق الباك (كمل#20 «engine100 · ai · deepen»): محرّك
scripts/build_posts.jsيقرأposts/library{,_b}.js(بنوك محتوى 8 عناقيد: video13 · reciters12 · prayer13 · hifz13 · azkar13 · seasons12 · family12 · publishing12) +posts/index{,_b}.js(مواصفات100 مقال فريد: slug/عنوان ب sufix «| قرآن ريلز»/وصف/كلمات مفتاحية/مقدمة/3 نقاط/تطبيق/FAQ×2-3/روابط داخلية≥2) → 100 مقال على/articles/<slug>/+ hub/articles/: Article+BreadcrumbList+FAQPage JSON-LD · crumb «الرئيسية ← المكتبة» ·<time>عربي · دقائق القراءة (كلمات/180) · ترابط مركّب (2 من بنك العنقود + «اقرأ أيضًا» +3 بطاقات ذات صلة + أداة العنقود + cluster links) · 8 صور AI رائدة للعناقيد فيpublic/img/articles/<slug>.jpg(hero+og تلقائيًا، والباقي og-cover) · الفوترات كلها أضافت «المكتبة» (قالب lp + قالب blog +64 صفحة ثابتة + محرّك المقالات نفسه) · Sitemap 154→255 · llms.txt +قسم «مكتبة المقالات» · مختبر pages12 154→255 · محلي كامل أخضر: run 87/0 · blog 12/12 · correctness 30 · smoke 32 · interact 32 · api 0 · mcp 28 · الحجم مُنسَب عمدًا: «مليون مقال» مستحيل فيزيائيًّا ويعرّض الموقع لـ scaled-content-abuse (ask_user: engine100) — المحرّك جاهز لتمديد مئات المقالات القادمة ببنوك العناقيد نفسها. -
GitHub (كمل#16): المستودع العام https://github.com/Ansygroup/quran-reels مرفوع بـ18 التزامًا ومتحقق من التطاقب (sha محلي = بعيد) · فرع
masterأُعيد تسميتهmain· التوكن في.vcfg/gh_token(600، متجاهل للـgit، لا يُطبع أبدًا) +.vcfg/gh_repo·scripts/gh_push.shيعيد إضافة origin ويدفع بأمر واحد (مقاوم لمسح.git/config) · توثيق الحالة فيdocs/github-setup.md. -
Lighthouse على مسارات الأدوات:
#/tools= 95/100/100/100 ·#/tool/prayer= 94/100/100/100 — صفر فشل في كل المسارات. -
سلسلة E2E REST دائمة
tests/e2e_rest.py: 13/13 على البناء النهائي (منح·JWKS·OAuth 401/302·تخزين رفع+عام·RLS ختمة·جدولة·نشر 502 بلا ربط·أتمتة·قائمة ربط). -
دخان الأدوات الـ32
tests/tools_smoke.js: يفتح كل أداة ويتحقق الرندر + غياب أخطاء الصفحة + عدم التجاوز الأفقي — 32/32 في ~5 ثوانٍ على المحلي والإنتاج. -
عطل تجميد مُصلَّح (كشفه الدخان):
hijriPartsكان يُنشئIntl.DateTimeFormatلكل استدعاء، فحلقةhijriToGreg(×900 داخل أداة الرزنامة) كانت تُجمّد الخيط الرئيسي لعشرات الثواني (أداةcalendarعالقة) — الآن المُنسّق واحد مخزّن فيcore.js. -
اختبار الصحة
tests/correctness_test.js— 30/30 محليًا وإنتاجًا: مرجع خارجي مباشر (Aladhan) لحسابات اليوم: الهجري ↔gToH+ roundtrip · قبلة القاهرة/لندن/جاكرتا/نيويورك ±1° · مواقيت أم القرى (القاهرة) ↔method=4بفارق 0–2 دقيقة · الزكاة عبر DOM (٢٫٥٪ + نصاب ٨٥غ + حكمان) · أدوات نصية (toAr·fmtTime·normAr). -
عطل هجري صامت مُصلَّح (كشفه اختبار الصحة): إعادة التسمية في جولة كمل#6 تركت
raw: fmt.format(date)—ReferenceErrorيبتلعهcatch، فكانت كل التواريخ الهجري تعرض افتراضيًا «١ محرم ١٤٤٨ هـ» والاختبارات تمرّ لأنها تفحص الرندر فقط — الآن_HIJRI_FMTفي المسار الصحيح. -
عطل DST مُصلَّح: ثابت
tzفي جدول المدن كان يُخطئ ساعة كاملة أثناء التوقيت الصيفي (القاهرةtz:2مقابلAfrica/Cairo= +3 اليوم) — الآن لكل مدينة منطقة IANA (z) تُشتق إزاحتها لليوم الحالي عبرtzFromNameعند كل قراءة (مسارات: محفوظ/جهاز/IP/اختيار المدينة). -
تفاعل الأدوات
tests/tools_interact.js— 32/32 محليًا وإنتاجًا: يتمرّس حتى ٤ حركات فعلية لكل أداة (نقر زر/رابط · تغيير select · إدخال آمن · تبديل checkbox) مع حارس تجميد ومنظّف حالة (Escape/hash/صوت) — الأدوات العرضية الخالصة (iftar/calendar/countdown) مُوثّقة كعرضية في الكود. -
ملاحظة نطاق: إعدادات المشروع تحوي
quran-reels.ansygroup.comكـalias (يظهر في أمر النشر) لكن DNS لا يحلّه بعد — النطاق المرجعيquran-reels-tau.vercel.appسليم. -
أداء الإقلاع:
deferلـ12 سكربت، تنفيذات الأدوات الثلاثة تُجلب عند أول فتح أداة (مقتناة في SHELL للأوفلاين)، خلفية الصفحة الرئيسية webp، كاش سنة للخطوط/الخلفيات/JS/CSS عبر?v=3. -
النتائج الأخيرة (بناء كمل#7): chromium PROD 86/0 · LOCAL 81/0 · api 15/15 · الصحة 30/30 · تفاعل 32/32 · دخان 32/32 · LH 91/100/100/100 (firefox/webkit: 85/80 و85/80 على بناء
0d21c5cمعSKIP_EXPORT=1: MediaRecorder مفقود/معطّل في headless لهما — قيد بيئة موثّق) · api_test يشمل: الأوفلاين عبر Service Worker، صف سحابة إنتاجي، قسم S9 للحساب/الأتمتة/عقود API — رفض الزائر401، حارس زر جوجل: المزوّد غير المُفعّل يعطي تنبيهًا بدل صفحة خطأ، رابط «النشر التلقائي» في القائمة، وFAQ = 15 مطابقة للـJSON-LD. -
PWA كامل للتثبيت: أيقونات
icon-192.png/icon-512.png(+maskable) ومُشار إليها بـ?v=2لكسر كاش CDN، وإصدار SW =qr-v3. -
رؤوس أمنية لكل
/api/*:nosniff+ Referrer-Policy +Permissions-Policy(geo/self — كاميرا/ميكروفون ممنوعان). -
محلل رموز الجلسة
QRAuth.parseAuthHash: يتحمل#access_token=و#/…#access_token=المزدوج و?access_token=(مُختبَر بثلاثة أشكال). -
مسار الرابط السحري: الإرسال مقبول للنطاقات الحقيقية (دُرّب بـ429 بعد قبوله)؛ صفحة التحقق
token_hashتتطلب رمزًا واردًا من البريد فعلًا (جُرّبت بصلاحيات القاعدة ورُفضت بـotp_expiredكما هو متوقع) — إعدادsite_urlصار على الإنتاج. -
مستودع git محلي (80 ملفًا،
.gitignoreيحمي.env*/.vcfg/.vercel) — أول commit شامل كل شيء. -
أداء معاينة الشبكات: صورة
og-coverأعيد ضغطها 2167KB→95KB (1200×630 JPEG) ومُحدَّثة في og/twitter + JSON-LD مع?v=2— ومُتحقَّد أن كل مسارات SW (21) تعيد 200 وسجلات الإنتاج خالية من الأخطاء. -
زر تثبيت التطبيق PWA: يظهر بحدوث
beforeinstallpromptويخفي بـappinstalled(فحصان جديدان في S9). -
CSP صارم على HTML:
script-src 'self'(لا سكربتات داخلية/معالجاتonclick— أُعيد توجيه زر الإنشاء إلى JS)، connect/media pin للمصادر الحقيقية (Supabase/everyayah/overpass/jsdelivr/qurango)،frame-ancestors 'none'+X-Frame-Options: DENY+ Referrer-Policy — والاثنان والثمانون فحصًا تمرّ دون أي انتهاك. -
تكامل iOS:
apple-touch-iconمن PNG-192 +theme-colorموجود. -
sql/schema.sql: نسخة مخطط كاملة (5 جداول + RLS + 14 سياسة + 6 فهارس، من الكتالوج الحي) للاستعادة — بلا أي سر. -
حارس توافق: رسالة عربية واضحة إن غاب MediaRecorder بدل خطأ تقني.
-
تدقيق أداء: SHELL = 2.8MB فقط (الترجمات الـ12MB عند الطلب)، brotli مُفعّل، 21 مسار SW كلها 200.
-
اختبار متصفح مضاعف:
PW_BROWSER=firefox node run.js(chromium افتراضي) — Firefox أخضر 85/80 بـSKIP_EXPORT=1لأنMediaRecorderيعلّق في Firefox headless (سُجّل بملء قيد بيئة في run.js؛ تصدير MP4 مُختبَر على chromium).لربطه بـGitHub لاحقًا (بمُشتركك أنت — لا تُلصق التوكن هنا أبدًا):
gh auth login # أو استخدم PAT عبر GH_TOKEN gh repo create quran-reels --private --source=. --push # أو يدويًا: # git remote add origin https://github.com/<user>/quran-reels.git # git push -u origin main -
فحص عقود الوحدات
api_test.js: 15/15 (ACAO · كاش · Range206 · 405 · rate-limit429 · X-Cache HIT · ip · app-config). -
جدولة Vercel مؤكَّدة:
vercel crons ls→/api/cron/publish·15 4 * * *(يوميًا). -
E2E كامل بحساب حقيقي (يدوي، خارج المجموعة): منح جلسة → رفع فيزيو للتخزين (200 + رابط عام) → إدراج مهمة بـRLS → جدولة عبر API → نشر بلا ربط ⇒
failedبرسالة عربية مُدارة → أتمتة upsert → واجهة بحساب مسجّل 8/8 (بطاقة المستخدم، قوائم، نافذة الجدولة، توليد البوست، خروج ينظّف الجلسة) — وكل البيانات نُظّفت بعدها (0 صف). -
ملاحظة بيئة العمل: كل رد من المستخدم ينظّف
node_modulesوذاكرة المتصفح — أعدnpm i playwright && npx playwright install chromium-headless-shell(+install-depsإن لزم) قبل أي تشغيل جديد. -
التحقق من بيانات الملفات: فحص مطابقة الـ44 ملفًا بين النشرة المحلية والإنتاج (HEAD 200 للكل)، وعقد دوال Vercel بـ13 فحص (
api_test.jsسابقًا)، وإثبات مزامنة السحابة بجهازين على الإنتاج.
📝 ملاحظات
-
التصدير يلتقط الصوت الحي من مشغّل WebAudio (
MediaStreamDestination) — يجب مرور الصوت عبر نفس الأصل (/proxy) لتجاوز قيود CORS. -
الموقع منشور على
quran-reels-tau.vercel.app(كل وسوم SEO وrobots/sitemap عليه). عند ربط نطاق مخصّص لاحقًا: بدّل النطاق فيindex.html(canonical/og/JSON-LD) وrobots.txt/sitemap.xmlثم أعد النشر. -
الاختبارات:
tests/run.js(التشغيلان أعلاه خضراء: PROD 65/0 · LOCAL 64/0) — حزمة دائمة داخل المشروع بدل الملفات المؤقتة السابقة. -
ملاحظات بيئة العمل: مجلدات التبعيات (
node_modules، ذاكرة المتصفح، CLI) تُنظَّف مع كل رسالة — أعد تثبيتها بالأوامر أعلاه عند الحاجة؛ ملفات المشروع والبيانات تبقى كما هي. -
200 مقالًا + مكتبة إنجليزية + GEO + فيديوهات حقيقية (كمل#21 «كلهم»): (أ) التوسعة 100→200:
posts/library_c.jsأضاف 24 قسمًا (بنوك المحتوى6→9 لكل العناقيد الثمانية) ·posts/index_c.js+posts/index_d.js= 100 مواصفة جديدة (video · reciters · prayer · hifz · azkar · seasons · family · publishing = 25 لكل عننقود) مع فحص CJK وروابط ميتة أغلق9 عيوب كتابة · (ب) المكتبة الإنجليزية:posts/en.js15 مقالًا إنجليزيًا أصليًا (مواضيع متصلة بأقراها العربية) +scripts/build_posts_en.js→/en/articles/<slug>/+ hub/en/articles/(Article+Breadcrumb+FAQ LD · hreflang متقابل ar↔en + x-default · صور hero مشتركة عند توفّرها) · فوترات الصفحاتlang=enأُعيدت إلى/en/articles/· (ج) GEO: Article LD حصل على timeRequired + keywords + isPartOf · الرئيسية +WebSite + Organization LD (4 كتل JSON-LD صالحة) · llms.txt: 200 دليلًا (25×8) + قسم المكتبة الإنجليزية + بند حقائق جديد (خريطة 371) · (د) فيديوهات MP4 حقيقية:scripts/export_videos.jsيقود الموقع نفسه عبر Playwright (/?s=&from=&to=&r=→#btnCreate→ انتظار#btnDownload→ تنزيل) → 8 مقاطع عمودية 1080×1920 بلا علامة مائية (3.6–16.7MB) فيdeliverables/videos/+ README ببيانات يوتيوب جاهزة (عنوان ووصف ووسوم لكل مقطع · روابط لمقالاته · قواعد الرفع Shorts) · Sitemap 255→371 (+116 بلا تكرار) · pages12 ينتظر 371 · محلي: 371/371 كلها 200 + canonical متطابق · correctness 30 · blog 12 · smoke 32 · interact 32 · api 0 · W3C 372 ملفًا → أخطاء0 (إصلاح تدرّج عناوين/faq/) · خادم8787 أُعيد تشغيله من جذر المستودع (كان يعمل دون مسارات API محليًا). -
400 مقالًا + 40 إنجليزيًا + فيديوهات40 + APK (كمل#22 «كلهم» + «APK للجوال»): (أ) المكتبة200→400:
posts/library_d.js(+24 بنك محتوى) +posts/index_e/f/g/h.js(52+52+52+44 = 200 مواصفة جديدة) → 8 عناقيد × 50 =400 فريدة، إغلاق29 رابطًا ميتًا عبر خرائط href عالمية (DEAD=0)،build_posts.js→ 400 مقالًا + hub، خريطة الموقع 371→571 · (ب) فيديوهات40/40: مكتبةvideo_recipes_c.js(32 وصفة) + إصلاحات انتظار Playwright (60–150s، صيغة3 معاملات لـ waitForFunction) → 40 ملف MP4 عمودية1080×1920 =494MB + README 40 صفًا ببيانات يوتيوب · (ج) الإنجليزية15→40:posts/en_b.js(+25 دليلًا كاملًا) + معالجة 22 وقوع{t}حرفية فيbuild_posts_en.js(تطبيع قبل العرض HTML+JSON-LD) + hub يعرض400 · 40 زوجًا ar↔en hreflang متبادلًا · صفحة/en/tools/الجديدة زوجًا لـ/ar/islamic-tools/(x-default→/) · تذييل k12 EN يوصّل الأدوات · خريطة الموقع 571→597 (+26) · pages12 ينتظر 597 · llms: 400 عربي +40 EN +597 رابطًا · W3C محليًا0 أخطاء على42 ملف EN · (د) backlinksdocs/backlinks.md: أقسام §12–15 (حزمة روابط400 · أصول النشر والفيديو · خريطة مجتمعات8 عناقيد · قياس اقتباس GEO وتتبّع) + ورقة الحقائق §0 محدّثة للأرقام الحقيقية · (هـ) APK للجوال: Bubblewrap TWA →deliverables/app/quran-reels.apk(1.07MB) +quran-reels.aab— حزمةapp.quranreels.twa· minSdk24 · التسمية «قرآن ريلز — صانع ريلز قرآني» · يفتح الموقع الحيّ · شهادة التوقيع مطابقة للـkeystore المحفوظ فيdeliverables/app/build/android.keystore(كلمة السر داخل.vcfg/apk_keystore_pw— لا تُشارك) · إعادة البناء:scripts/make_apk.py. -
500 مقالًا + 100 إنجليزي + فيديوهات80 + ختمة جماعية مُتحقَّق منها (كمل#23 «كلهم»): (أ) المكتبة400→500:
posts/index_i.js(+58) +posts/index_j.js(+42) = 100 مواصفة جديدة (video15 · reciters16 · prayer14 · azkar13 · hifz11 · seasons10 · family10 · publishing11) → 500 فريدة، روابط ميتة0، contract0 ·build_posts.js→ 500 مقالًا + hub · (ب) الإنجليزية40→100:posts/en_c.js+en_d.js= 60 دليلًا جديدًا (slug==arTwin) → بناء 100 مقال EN + 100 زوج ar↔en hreflang ·{t}صفر · (ج) فيديوهات40→80:scripts/video_recipes_d.js(+40 وصفة) + ربطBATCH=d→ 80 MP4 (785MB) + README 80 صفًا (تشخيص مسار65:1 الممتد160ث استُبدل بمطلع التغابن47ث) · (د) المزايا (تحقّق لا بناء): auth Google+magic link موجودان ومربوطان (QRAuth+#/account+ login overlay)، الروابط السحرية حيّة إنتاجيًا، ختمة جماعية Supabase تعمل ببيانات حقيقية (khatma_plans/progress + RLS مُختبَرة200)، وGoogle provider بانتظار تفعيلهم في لوحة Supabase (الواجهة تُظهر تنبيهًا صريحًا عند التعطّل) · (هـ) تجهيز النشر:deliverables/youtube/(upload-pack CSV+JSON لـ80 + CHECKLIST) +deliverables/app/store/(PLAY-LISTING + 6 لقطات1080×1920) · أرقام: sitemap 597→757 · pages12 757 · llms 500/100/757 · backlinks §0 محدّث · W3C محليًا 0 أخطاء/160 · monitor 757/757 بحالة200 · IndexNow160@200 · محلي: run0/0 · correctness30 · blog12 · smoke32 · interact32 · api0 · إنتاج: run0/0 · pages12 30/30@757 · mcp28 · correctness30 · blog12 · smoke32 · interact32 · api0 · LH 89/98 (a11y94/100 · bp100 · seo100). -
10,000 مقال + 136 بوابة + IndexNow9,636 (كمل#24 «التسع آلاف»): (أ) التوليد: 8 ملفات
posts/gen_data_*.js(video185 · reciters178 · prayer154 · hifz162 · azkar170 · seasons132 · family170 · publishing221 = 1,362 موضوعًا في136 مجموعة) بفحصscripts/scan_content.jsv3 (CJK/سيليري/يوناني/لاتيني موسّع + نطاق مكمّل + فحص بعد كل كتابة أغلق عيوب «ƪ/ Frauen/过去» وملتصقات الأرقام20) +scripts/gen_engine.jsالمحرك المتدرّج: صيغ × مواضيع × صفات مؤهّلة (سياق12×جمهور5 · قائمة سماح خاصة بالنشر) مع بوابات تشابه: تفرّد slugs وعناوين وأوصاف عالميًّا · تنقية فتحات العميقة بتطابق الكلمات · منع صفات غير منطقية → 9,500 مقالة بالضبط (1,000 عميق + 8,500 منهجية) +500 قديمة = 10,000 · (ب) البناء:build_posts.jsمُرقّى (تحميل القديم+الجديد · قسم ثالث للعميق · بطاقة SVG مضمّنة بديل الهيرو بلا ملفات إضافية · CSS خارجي خفّض279→200MB · ح1 بلا لاحقة · فترينة المجموعة في breadcrumb+LD+روابط) → 10,000 صفحة + hub رئيسي (8×17 شرائح) +136 بوابة محور · vnu 0 أخطاء على عيّنات الأنواع الستة · (ج) الفهرسة:build_sitemap.js→ sitemap 757→10,393 بالضبط (kept257+articles10,000+hubs136 · EN101 محفوظة) · pages12 → سحب10,393 بحوض16 عيّنة + عدّاد10393 · llms.txt محدّث + llms-full.txt جديد (2.39MB · 10,136 بندًا وصفيًّا) · (د) النشر: حدّ CLI (100MB/15k ملف) يمنع الرفع المباشر → استُخدم ربط Git موجود (push → نشر تلقائي) → deploy quran-reels-npyd2cnjk جاهز · IndexNow 9,636 (9,500+136) @200 · (هـ) الصور هجين: SVG مضمّن للجميع + عاملgen_ai_images.js(pollinations · حدّ مجاني صورة/45ث → بوابة47ث · عميق أولًا · 500 مخطط) يعمل في الخلفية ويُعاد البناء بعد اكتماله · (و) روابط:docs/backlinks.md§16–18 (حزمة10k · حملة1,000 عميق بمصفوفة8 عناقيد · قياس وصيانة) + §0 محدّثة (10,000/10,393/136) · (ز) الأرقام: محلي run0/0 · correctness30 · blog12 · smoke32 · interact32 · api0 · إنتاج: run0/0 · pages12 30/30@10,393 · mcp28 · correctness30 · blog12 · smoke32 · interact32 · api0 · sitemap10,393 · pool16 كلها200+canonical. -
تتمة كمل#24 (2026-10-29 «الحاوية الجديدة + كاشف البطاقات»): (أ) الاستعادة: الحاوية أُعيد تجهيزها (.git → a54a4b9 · ~2,969 مجلد مقالة و-out/*.json ضاعت بحدّ لقطة10,000 ملف) → جلب من GitHub و«reset --hard fc69b086» أعاد 10,137 مجلد + 9 ملفات خرج + 13 صورة سليمة · سجلّ العامل صار في
~/ai_images.log(يدوم عبر الرسائل) · JRE21+vnu.jar نُقلا إلى/home/user/tools/· chromium deps ثُبّتت (sudo apt) · هوية git أُعيد ضبطها · (ب) كاشف بطاقات pollinations: حدّ «صورة/45ث» يُعيد بطاقة JPEG صفراء («Free limit reached») بحالة 400/402 — رُفضت 13 بطاقة تسلّلت كنجاح (فحص md5 مزدوج + حظر التكرارات + تصاعد نوم46→300ث + قراءة retry-after) · الصور الحقيقية14 (8 قديمة +5 أمس +1 بعدها) والباقي يُستكمل دفعةً عبر الرسائل · (ج) a11y: من90-93 إلى100: تسطير روابط.crumbو.foot-bottom(فحص link-in-text-block) → LH إنتاج: articles100/100/100/100 · عميق100/100/100/100 · بوابة97/100/100/100 · الرئيسية a11y100 (perf72-95 تذبذب قياس — المولّر98 كما كان) · (د) فحوص إضافية: vnu23 عيّنة=0 أخطاء (JRE21 دائم) · pages12 بعد الاستعادة30/30 · مراقبة10,393/10,393 سابقًا · IndexNow9,636@200.
Reviews
No reviews yet
Be the first to review this server!
More Cloud & DevOps MCP Servers
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Lharries · Communication
Read, search, and send WhatsApp messages through your AI assistant
FinAgent
Freeby mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
Memory
Freeby Modelcontextprotocol · Productivity
Knowledge graph-based persistent memory across sessions
