منفردًا · 2026
pastehtml
أفلِت ملف HTML، واحصل على رابط عام على نطاق مستقل.

انشر صفحة بخطوة واحدة — أفلِت ملفًا، أو الصق شيفرة، أو أرسلها بـ curl، أو مرّرها لوكيل عبر MCP. ويُحوَّل الـ Markdown إلى صفحة مكتفية بذاتها عند الرفع. بلا حساب وبلا خطوة بناء.
كنت أُولّد باستمرار صفحات HTML بملف واحد — تقارير ونماذج وأدوات لمرة واحدة — ولا أجد أين أضعها. كل الخيارات أثقل من الشيء نفسه: مستودع ونشر لصفحة وُجدت لتُرى مرة.
pastehtml هو الخطوة الناقصة. كل مسار — منطقة الإفلات، أو اللصق، أو curl، أو نداء MCP من وكيل — ينتهي عند الدالة نفسها، ويعود برابط. ويُحوَّل الـ Markdown إلى HTML حقيقي عند الرفع، فتكون النسخة المخزّنة صفحةً وتتصرّف كل الواجهات تحتها بالطريقة ذاتها: النطاق المباشر، والعرض الخام، والمعاينة المعزولة، وETag.
مشكلات تستحق الحل
استضافة HTML عشوائي هي استضافة JavaScript عشوائي
كل نسخة صفحة كاملة تحوي شيفرات. ولو قُدّمت كل النسخ من نطاق واحد لأمكن لأيٍّ منها قراءة الكعكات والتخزين وDOM لكل النسخ الأخرى — فتتحول الخدمة إلى منصة استضافة لهجمات XSS.
تُقدَّم كل نسخة من نطاق خاص بها، فتتولى سياسة أصل المتصفح نفسها العزل بدل مُنقٍّ عليّ أن أظل متقدمًا عليه. تنقية HTML غير موثوق سباق خاسر؛ أما ألا تترك له ما يستحق السرقة فليس كذلك.
معاينات الروابط تحتاج وسومًا لكل صفحة
ينبغي أن يُعاين الرابط المشارَك بوصفه الصفحة التي يشير إليها. لكن الصفحة تخصّ المستخدم الذي لم يكتب وسوم Open Graph، وحقنها في شيفرته يعني إعادة كتابة مستنده.
تُكتشف زواحف الفهرسة عند الحافة وتُحوَّل إلى دالة منفصلة تُنتج وسوم OG لتلك النسخة، بينما يحصل الزائر البشري على المستند كما هو. لا تُعدَّل شيفرة المستخدم أبدًا — الزاحف وحده يتلقى استجابة مختلفة.
مسار نشر واحد وأربع نقاط دخول
منطقة الإفلات وصندوق اللصق ونداء REST وأداة MCP أربعة عملاء مختلفين. وتنفيذ النشر أربع مرات يضمن تباعدها، ويكون مسار الوكيل — وهو أكثر ما أردته — أقلّها اختبارًا.
الأربعة أغلفة رقيقة فوق دالة Convex واحدة. وما يعمل من المتصفح يعمل بالطريقة ذاتها من curl ومن وكيل، لأنه مسار الشيفرة نفسه.
ما الذي نتج عنه
- النشر من المتصفح أو الطرفية أو وكيل ذكاء اصطناعي عبر MCP.
- نطاق مستقل لكل نسخة، فلا تصل الصفحات إلى بعضها.
- يتحوّل الـ Markdown إلى صفحة منسّقة مكتفية بذاتها عند الرفع.