تخطي إلى المحتوى

أداة مشاركة النصوص - مستودع لصق مجاني لمقتطفات الكود

شارك النصوص ومقتطفات الكود فوريًا باستخدام أداة اللصق المجانية. تتميز بتمييز الصياغة، وانتهاء مخصص، وروابط فريدة. لا يتطلب تسجيل دخول!

أداة مشاركة النص

0 حرف
حاسبة التحميل...
📚

التوثيق

أداة مشاركة النصوص (مخزن اللصق)

أداة مشاركة النصوص، تُسمّى غالبًا حاوية لصق، هي صفحة ويب لنشر كتلة من النص أو التعليمات البرمجية والحصول على رابط يعرض ذلك النص لأي شخص يفتحه. تعمل أداة حاوية اللصق هذه بالكامل في المتصفح، ولا تحتاج إلى حساب، ويمكنها إضافة تمييز اختياري للصياغة ووقت انتهاء صلاحية للرابط.

كيفية عمل أداة مشاركة النصوص

تخزّن معظم خدمات حاويات اللصق النص على خادم، وتعيد رابطًا قصيرًا يشير إلى صف في قاعدة بيانات. تعمل هذه الأداة بطريقة مختلفة؛ فلا خادم لها ولا قاعدة بيانات. وبدلًا من ذلك، تضع اللصقة كاملة داخل الرابط نفسه.

عند نقر أحدهم على «إنشاء رابط»، تنفّذ الأداة أربعة أمور:

  1. تنشئ كائنًا صغيرًا يحتوي على النص واللغة المختارة ووقت انتهاء الصلاحية، أو لا شيء في حالة «أبدًا».
  2. تحوّل ذلك الكائن إلى سطر من نص JSON.
  3. تحوّل JSON إلى بايتات باستخدام ترميز UTF-8 الذي يستخدمه الويب في كل مكان.
  4. ترمّز تلك البايتات بصيغة base64url، وهي مخطط يحوّل البايتات الاعتباطية إلى أحرف وأرقام و- و_، بحيث تكون النتيجة آمنة داخل عنوان URL.

يوضع النص المُرمّز بعد #p= في نهاية عنوان URL للصفحة. ويُسمّى كل ما يأتي بعد # الجزءَ المجزّأ. لا يرسل المتصفح هذا الجزء إلى خادم عند تحميل الصفحة، لذلك لا يُنقل محتوى اللصقة إلى أي مكان. وتتم قراءة الرابط بالعكس بالطريقة نفسها: فك ترميز نص base64url، وتحويل البايتات مجددًا إلى سلسلة JSON باستخدام UTF-8، ثم تحليل JSON لاستعادة النص واللغة ووقت انتهاء الصلاحية.

بما أن الجزء المجزّأ يحمل اللصقة كاملة، يعمل رابط المشاركة على أي جهاز أو متصفح، وليس فقط على الجهاز الذي أنشأه. ولا حاجة إلى البحث عن أي شيء. يكفي فتح الرابط لعرض المحتوى، مثلما أن فتح ملف مُنزّل لا يتطلب سؤال خادم عن محتويات الملف.

تحتفظ الأداة أيضًا بنسخة محلية من كل لصقة في مساحة تخزين المتصفح بوصفها مسودة مساعدة. تساعد هذه النسخة المتصفح نفسه فقط في العثور مجددًا على لصقاته السابقة؛ ولا دور لها في فتح رابط المشاركة، كما أن مسحها لا يعطّل أي رابط مشاركة، لأن الرابط لم يعتمد عليها قط.

تمييز بناء الجملة

يلوّن تمييز الصياغة أجزاء التعليمات البرمجية، مثل الكلمات المفتاحية والسلاسل النصية والتعليقات، لتسهيل قراءة البنية. تدعم الأداة عشرة خيارات:

  • نص عادي (من دون تمييز)
  • JavaScript
  • TypeScript
  • Python
  • Java
  • HTML
  • CSS
  • JSON
  • SQL
  • Bash

تُخزَّن اللغة المختارة داخل الحمولة المُرمّزة، لذلك يُطبَّق التمييز تلقائيًا عند فتح الرابط، من دون أن يختار المشاهد أي شيء.

معادلة انتهاء الصلاحية

يحدّد خيار انتهاء الصلاحية طابعًا زمنيًا مطلقًا، مقاسًا بالمللي ثانية منذ 1 يناير 1970، وهي نقطة مرجعية شائعة في الحوسبة تُسمّى حقبة يونكس. وتضيف الأداة مدة زمنية ثابتة إلى لحظة إنشاء الرابط:

الخيارالمدة المضافة
أبدًالا يُخزَّن أي طابع زمني
1 ساعة60 × 60 × 1,000 مللي ثانية
1 يوم24 × 60 × 60 × 1,000 مللي ثانية
1 أسبوع7 × 24 × 60 × 60 × 1,000 مللي ثانية
1 شهر30 × 24 × 60 × 60 × 1,000 مللي ثانية (30 يومًا ثابتًا، وليس شهرًا تقويميًا)

على سبيل المثال، إذا أُنشئ رابط عندما تعرض الساعة 1,700,000,000,000 مللي ثانية، واختار المنشئ «1 أسبوع»، فإن وقت انتهاء الصلاحية المخزّن هو:

1,700,000,000,000 + (7 × 24 × 60 × 60 × 1,000) = 1,700,604,800,000 مللي ثانية

عند فتح المشاهد للرابط، تقارن الأداة الطابع الزمني المخزّن بالوقت الحالي. وإذا كان الوقت المخزّن قد مضى، تعرض الأداة رسالة «انتهت صلاحية هذا المحتوى» بدلًا من النص. وبما أن الطابع الزمني لانتهاء الصلاحية ينتقل داخل الرابط مع النص، فإن هذا الفحص يعمل بالطريقة نفسها على أي جهاز.

مثال تطبيقي: كيف تتحول اللصقة إلى رابط

لِنفترض أن أحدهم يشارك النص العادي Hello, world! من دون انتهاء صلاحية. تنشئ الأداة كائن JSON هذا، مستخدمةً أسماء حقول قصيرة للحفاظ على إيجاز الرابط:

1{"t":"Hello, world!","l":"plaintext","e":null}
2

ترمّز ذلك JSON إلى بايتات UTF-8، ثم إلى base64url، فتنتج:

1eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2

رابط المشاركة الكامل هو عنوان الصفحة مضافًا إليه ذلك الرمز بعد #p=:

1https://whiz.tools/en/development/paste-bin-tool#p=eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2

يحصل كل من يفتح ذلك الرابط على متصفح يفك ترميز الرمز، ويقرأ Hello, world! مجددًا بوصفه نصًا عاديًا، ثم يعرضه. ولم يُطلب أي شيء من خادم قط.

كيفية مشاركة النص أو التعليمات البرمجية

  1. اكتب النص أو الصقه في مربع النص. يتحدّث عدد الأحرف أثناء كتابة النص.
  2. اختر لغة اختياريًا من قائمة تمييز الصياغة.
  3. اختر اختياريًا المدة التي ينبغي أن يظل فيها الرابط صالحًا.
  4. انقر على «إنشاء رابط».
  5. انسخ الرابط المُنشأ باستخدام زر «نسخ الرابط» وأرسله بالطريقة المفضلة.

كيفية عرض النص المُشارك

  1. افتح رابط المشاركة.
  2. يظهر النص فورًا، مع التمييز إذا كانت لغة ما قد اختيرت.
  3. استخدم «نسخ النص» لنسخ المحتوى إلى الحافظة.
  4. استخدم «إنشاء جديد» لبدء لصقة جديدة.

لا يمكن تعديل اللصقة بعد إنشاء الرابط. ويتطلب تغيير النص إنشاء لصقة جديدة ومشاركة الرابط الجديد.

الاستخدامات الشائعة

  • المطوّرون الذين يشاركون مقتطفًا من التعليمات البرمجية للمراجعة أو للمساعدة في تصحيح الأخطاء.
  • المعلّمون الذين يشاركون تعليمات برمجية ابتدائية أو تعليمات.
  • أي شخص ينقل كتلة من النص، مثل قائمة أو مجموعة ملاحظات، بين جهازين يملكهما.

بالنسبة إلى النص الذي يحتاج إلى أن يظل قابلًا للتحرير من قِبل عدة أشخاص في الوقت نفسه، تكون أداة المستندات المشتركة أنسب. أما التعليمات البرمجية التي تحتاج إلى سجل دائم، فيلائمها نظام للتحكم في الإصدارات مثل Git.

الحدود والخصوصية

بما أن اللصقة كاملةً موجودة داخل الرابط، فإن حد الحجم العملي هو طول عنوان URL نفسه، وليس حصة التخزين. تستطيع المتصفحات التعامل مع عناوين URL الطويلة، لكن كثيرًا من برامج البريد الإلكتروني وتطبيقات الدردشة والأنظمة الأقدم تختصر العناوين الطويلة جدًا أو ترفضها، لذلك قد لا تنتقل اللصقات الضخمة جدًا جيدًا عبر كل قناة. أما اللصقات القصيرة والمتوسطة فلا تتأثر.

لا يُرسل الجزء المجزّأ إلى خادم قط، لذلك لا تعرف الأداة نفسها ما الذي لُصق. ويمكن لأي شخص يملك الرابط الدقيق فتحه، لذا ينبغي التعامل مع الرابط بالطريقة نفسها التي يُتعامل بها مع النص الذي يحتويه: لا تشارك كلمات المرور أو البيانات الحساسة الأخرى بهذه الطريقة، ولا تنشر الرابط في مكان عام إذا كان ينبغي أن يظل المحتوى خاصًا.

الأسئلة الشائعة

أين يُخزَّن النص المُشارك فعليًا؟ لا يُخزَّن في أي مكان منفصل عن الرابط. فالنص واللغة المختارة ووقت انتهاء الصلاحية كلها مُرمّزة مباشرةً في الجزء المجزّأ من الرابط، أي الجزء الذي يأتي بعد #. والرابط نفسه هو النسخة الوحيدة.

هل يعمل الرابط على جهاز أو متصفح مختلف؟ نعم. بما أن المحتوى ينتقل داخل الرابط، يستطيع أي جهاز يفتحه فك ترميز المحتوى وعرضه. ولا يلزم حساب أو المتصفح الأصلي.

ماذا يحدث إذا مسحت بيانات المتصفح؟ لا يحدث شيء لروابط المشاركة الموجودة. فهي لا تعتمد على أي شيء مخزّن في المتصفح، بل على الرابط نفسه فقط. ولا يؤدي مسح بيانات المتصفح إلا إلى إزالة النسخة المحلية المساعدة التي يحتفظ بها المتصفح للّصقات التي أُنشئت على ذلك الجهاز.

هل يمكنني تعديل اللصقة بعد إنشاء الرابط؟ لا. يجب إنشاء رابط جديد لأي تغيير، لأن المحتوى يُضمَّن في الرابط وقت إنشائه.

ماذا يحدث عند انتهاء صلاحية اللصقة؟ يؤدي فتح رابط منتهي الصلاحية إلى عرض رسالة تفيد بانتهاء صلاحية المحتوى، بدلًا من النص الأصلي. ويظل الرابط نفسه موجودًا؛ لكنه يتوقف عن عرض المحتوى بمجرد تجاوز طابع انتهاء الصلاحية المخزّن.

هل يوجد حد للحجم؟ لا يوجد حد تخزين ثابت، لكن قد ترفض بعض برامج البريد الإلكتروني وتطبيقات المراسلة عناوين URL الطويلة جدًا أو تقطعها، لذلك تناسب اللصقات الكبيرة جدًا أداة مخصصة لمشاركة الملفات بدرجة أكبر.

المراجع

  1. "UTF-8." مستندات MDN على الويب، Mozilla، https://developer.mozilla.org/en-US/docs/Glossary/UTF-8
  2. "Base64." مستندات MDN على الويب، Mozilla، https://developer.mozilla.org/en-US/docs/Glossary/Base64
  3. "URL." مستندات MDN على الويب، Mozilla، https://developer.mozilla.org/en-US/docs/Web/API/URL
  4. "Syntax highlighting." ويكيبيديا، مؤسسة ويكيميديا، https://en.wikipedia.org/wiki/Syntax_highlighting
  5. "Unix time." ويكيبيديا، مؤسسة ويكيميديا، https://en.wikipedia.org/wiki/Unix_time