إرسال ملف إلى شخص ما عبر الشبكات باستخدام واجهة Relayium الطرفية (CLI)
آخر تحديث: 2026-08-07
أحيانًا لا يكون الجهاز الآخر جهازك ولا يمكنك الدخول إليه عبر SSH — ملف لزميل في مكتب آخر، أو نسخة بناء لعميل، أو أرشيف لصديق في الطرف الآخر من البلاد. يقوم relayium send وreceive بنقله بينكما عبر الشبكات، بالاعتماد فقط على رمز اقتران قصير تُصدره واجهة CLI لديك عند الإرسال.
الجلسة مُشفَّرة من الطرف إلى الطرف. يعرّف لقاء قصير على خادم Relayium الطرفين ببعضهما، وكلما أصدر الخادم مُرحِّل TURN للرمز مرّت بايتات الملف بعد ذلك عبر هذا المُرحِّل نصًا مُشفَّرًا لا يستطيع قراءته، واحتُسبت ضمن حصة حركة البيانات الشهرية للحساب الذي أنشأ الرمز.
قبل أن تبدأ
كل ما يلي هو relayium CLI، فثبّته أولًا إن لم تكن قد فعلت. على macOS وLinux، يُسقط أمر واحد ملفًا ثنائيًا مُسبق البناء في PATH الخاص بك:
curl -fsSL https://relayium.com/install.sh | sh
- تفضّل اختيار الملف بنفسك، أو تعمل على Windows؟ احصل على ملف ثنائي من صفحة الإصدارات — يسرد relayium.com/cli كل خيارات التثبيت (أو go build ./cmd/relayium إن كان لديك Go).
- يؤكّد relayium --version أنه مثبَّت. تخطَّ هذا وستطبع الأوامر أدناه ‘command not found’ لا غير.
أرسِل أولًا، ثم مرِّر الرمز الذي يُطبَع لك
ما تحتاج إليه
- واجهة CLI على جهاز الإرسال. يطبع relayium version سطر إصدار، وإذا ردَّت الصَدفة بـ «command not found» فهي لم تُثبَّت بعد. ويمكن للطرف الآخر استخدام CLI أيضًا، أو إدخال الرمز في تطبيق Relayium أو صفحة الويب.
- مُرسِل مُسجَّل الدخول. يطبع relayium whoami بريد الحساب، وإصدار رمز اقتران يستلزم relayium login أولًا. أما جهاز الاستقبال فلا يسجّل الدخول إطلاقًا.
- أن تكونا متصلين في الوقت نفسه. عمر الرمز خمس دقائق، فاتفقا على اللحظة قبل إصداره.
- وسيلة لنقل ستة أرقام خارج القناة — مكالمة، أو نافذة محادثة، أو الغرفة التي تجلسان فيها معًا.
سجِّل الدخول مرة واحدة عبر relayium login، ثم اكتفِ بالإرسال. تُصدر واجهة CLI رمز اقتران وتطبعه مع الأمر الذي سينفّذه الطرف الآخر بالضبط، ثم تنتظر. مرِّر هذا الرمز خارج القناة — قُله في مكالمة، أو ألقِه في محادثة:
على جهاز الإرسال، سجّل الدخول مرة واحدة. تخطَّ هذه الخطوة إذا كان relayium whoami يطبع بريد حسابك بالفعل.
relayium loginمن المجلد الذي يوجد فيه الملف، ابدأ الإرسال. تُصدر واجهة CLI الرمز، وتطبع الأمر الخاص بالطرف الآخر، ثم تنتظر.
relayium send ./release.zipاقرأ الأرقام الستة المطبوعة على الطرف الآخر خارج القناة. تتوقف عن العمل بعد خمس دقائق من إصدارها.
على جهاز الاستقبال، وداخل المجلد الذي يجب أن تصل إليه الملفات، شغّل الأمر الذي ظهر للمُرسِل. أضِف مجلدًا بعده لإنزالها في مكان آخر.
relayium receive 483920relayium receive 483920 ./downloadsاترك الطرفيتين مفتوحتين حتى تعود صَدَفة الاستقبال إلى مِحَثِّها. هذه جلسة حية واحدة، وإغلاق أي طرف يوقف النقل.
كيف يبدو التشغيل الناجح
يطبع المُرسِل كتلة التسليم أولًا وينتظر، ثم يطبع رمز التحقق والمسار الذي حصل عليه. تعرض الطرفيتان رمز التحقق نفسه، وتنتهيان كلتاهما بالرمز 0.
# على جهاز الإرسال
Code: 483920 (valid 5 minutes)
On the other machine: relayium receive 483920
not installed there? curl -fsSL https://relayium.com/install.sh | sh
waiting for the receiver…
verification code (SAS): 271044 — not the pairing code; compare it on both ends to rule out a substituted endpoint
path: direct- الرمز مكوَّن من 6 أرقام عشرية — أي رقم من 0 إلى 9، بما في ذلك الأصفار في المقدمة — وينتهي مفعوله بعد 5 دقائق من إصداره.
- الرمز مجرد سر مشترك للقاء؛ لا يُرسَل إلى أحد سوى نقطة التعارف، وهو يُعرِّف الطرفين ببعضهما فقط.
- لا يلزم أن يكون الطرف الآخر واجهة CLI: يمكن لـ relayium receive أو relayium pair أو تطبيق Relayium أو صفحة الويب الانضمام إلى الرمز. هل الشخص غير متصل الآن؟ استخدم relayium up للحصول على رابط تنزيل.
التحقق برمز SAS
عندما يتصل الطرفان، تطبع كلتا الطرفيتين رمز SAS (سلسلة المصادقة القصيرة) المكوَّن من 6 أرقام نفسه، والمُشتَق من بصمات شهادات TLS المثبّتة. قارنهما خارج القناة — اقرأ الرمز بصوت عالٍ في المكالمة — لتأكيد أن البصمات لم تُستبدل وأن خدمة الالتقاء لم تنتحل شخصية أي طرف. يصادق SAS على الطرفين؛ ولا يثبت كل قفزة في مسار الشبكة.
لأقوى حماية، أضِف --verify: عندئذٍ ينتظر النقل حتى تؤكد أن الرمزين متطابقان قبل أن يتحرك بايت واحد.
relayium send --verify ./release.zipمُرحِّل أم من نظير إلى نظير — وعلى ماذا يُحتسب
يخبرك سطر path بالطريق الذي سلكته البايتات: relay، أو direct / lan للاتصال من نظير إلى نظير. وفي الحالتين يكون الملف مُشفَّرًا من الطرف إلى الطرف، ولا توجد رسوم لكل عملية نقل — فالبايتات المُرحَّلة تُحتسب استخدامًا ضمن حصة حركة البيانات الشهرية للحساب الذي أنشأ الرمز.
تمرّر جلسات رمز الاقتران في Relayium CLI (send / receive وtext وpair) كل بايت عبر مُرحِّل TURN مُشفَّر كلما أصدر الخادم مُرحِّلًا للرمز — حتى لو كان بإمكان الطرفين الاتصال مباشرةً — وتُحتسب هذه البايتات المُرحَّلة ضمن حصة حركة البيانات الشهرية للحساب الذي أنشأ الرمز؛ ولا يحمل المُرحِّل إلا نصًا مُشفَّرًا لا يستطيع قراءته. ولا يتصل الطرفان مباشرةً من نظير إلى نظير (P2P) إلا عندما لا يُصدَر أي مُرحِّل (لم يُهيَّأ مُرحِّل، أو نفدت تلك الحصة)، وعندها تفشل الجلسة إذا لم يوجد مسار مباشر بينهما.
إن تعذّر اتصال النقل، فالحلول الموثوقة هي رابط مخزّن تنشئه بأمر relayium up، أو relayium serve مع push / sync بين خادمين يمكن الوصول إليهما تديرهما — وهذا المسار مباشر ولا يُحتسب.
- صدر مُرحِّل ← يمر كل بايت عبر المُرحِّل المُشفَّر ويُحتسب ضمن حصة حركة البيانات الشهرية للحساب الذي أنشأ الرمز.
- لم يصدر مُرحِّل ← يتصل الطرفان من نظير إلى نظير إن وُجد مسار مباشر، وإلا فشلت الجلسة.
حين لا ينجح الأمر
أربعة أعطال تفسّر تقريبًا كل محاولة فاشلة. لكل واحد منها سطر تقرؤه أو أمر تشغّله يحسم الأمر، فلن تضطر أبدًا إلى تخمين أي الطرفين هو السبب.
العَرَض، الفحص، الإصلاح
- لا يبدأ المُرسِل أصلًا ويطبع «minting a pairing code needs an account».
relayium whoami # not logged in (run `relayium login`)لا توجد بيانات اعتماد محفوظة على هذا الجهاز. شغّل relayium login ووافِق في المتصفح، فيطبع whoami بعدها بريد الحساب ويمضي الإرسال. لم يُصدَر أي رمز بعد، فلم يُهدَر شيء.
- يُدخِل المُستقبِل الرمز فترفضه نقطة التعارف.
# على جهاز الإرسال — تذكر كتلة التسليم مدة الصلاحية بالضبط relayium send ./release.zip Code: 483920 (valid 5 minutes)انتهى مفعول الرمز. اضغط Ctrl-C على جهاز الإرسال، وشغّل relayium send ./release.zip من جديد، ثم مرِّر الأرقام الستة الجديدة خلال الدقائق الخمس التي تذكرها كتلة التسليم الجديدة.
- تطبع الطرفيتان رمزَي تحقق مختلفين.
relayium send --verify ./release.zipتوقّف ولا تُرسِل الملف. اختلاف الرمزين يعني أن بصمات الشهادات المثبّتة على الطرفين غير متطابقة، أي أن الطرف المقابل ليس الجهاز الذي تظنه. أعِد التشغيل مع --verify، فيتوقف النقل عند هذه المقارنة بانتظار تأكيدك، وتحقّق مع الشخص الآخر من الجهاز الذي يعمل عليه.
- «no direct connection to the peer (both ends behind strict NAT?)».
relayium send ./release.zip # no direct connection to the peer (both ends behind strict NAT?): …يستخدم أحد الطرفين إصدارًا أقدم من relayium اقترانه مباشر فقط، ولم يستطع أي منهما الوصول إلى الآخر. حدّث الطرفين: فالإصدار الحالي من relayium يمر عبر المُرحِّل المُشفَّر كلما أصدر الخادم مُرحِّلًا للرمز. وإلا فانقل أحد الطرفين إلى شبكة ذات عنوان يمكن الوصول إليه — خادم، أو نقطة اتصال من الهاتف — أو ارفع الملف بـ relayium up ومرِّر رابط التنزيل بدلًا من ذلك.
الأسئلة الشائعة
من أين يأتي رمز الاقتران؟
Relayium هو من يُصدره. شغِّل relayium send ./release.zip (بعد relayium login) فتطبع واجهة CLI رمزًا من 6 أرقام صالحًا لخمس دقائق، مع الأمر الذي سينفّذه الطرف الآخر بالضبط. لا يمكنك اختياره بنفسك — فالخادم لا يقبل إلا الرموز التي أصدرها هو.
هل يُرفَع الملف إلى أي مكان؟
لا يُخزَّن. يتدفق الملف بينكما، مُشفَّرًا من الطرف إلى الطرف. تعرّف مصافحة تعارف صغيرة على خادم Relayium الطرفين ببعضهما، وكلما أصدر الخادم مُرحِّل TURN للرمز مرّت بايتات الملف عبره نصًا مُشفَّرًا لا يستطيع قراءته — تُحتسب ضمن حصة حركة البيانات الشهرية للحساب الذي أنشأ الرمز، ولا يُحتفظ بها أبدًا.
ماذا لو تعذَّر علينا الاتصال؟
كلما أصدر الخادم مُرحِّلًا للرمز مرّت الجلسة عبره، فلا يوقفها NAT الصارم. وحين لا يُصدَر مُرحِّل — لم يُهيَّأ مُرحِّل، أو نفدت حصة الحساب الذي أنشأ الرمز — يحتاج الطرفان إلى مسار مباشر، ويفشل النقل من دونه. عندها استخدم رابطًا مخزّنًا من relayium up، أو relayium serve مع push / sync بين خادمين يمكن الوصول إليهما تديرهما.
كيف أعرف أنه فعلًا الشخص الصحيح على الطرف الآخر؟
تطبع كلتا الطرفيتين رمز SAS متطابقًا من 6 أرقام مُشتَقًا من بصمات شهادات TLS المثبّتة. قارنهما خارج القناة؛ يؤكد التطابق أن البصمات لم تُستبدل وأن خدمة الالتقاء لم تنتحل شخصية أي طرف. يصادق الرمز على الطرفين، لا على كل قفزة في مسار الشبكة. أضِف --verify لتشترط ذلك التأكيد قبل أن يتحرك أي بايت.
أرسِل ملفك التالي إلى شخص على شبكة أخرى — مُشفَّرًا من الطرف إلى الطرف، دون رسوم لكل عملية نقل.
احصل على CLI