أخبار التقنية

كيفية تثبيت Nostr Relay في نظام Linux


Nostr هو بروتوكول مبتكر يقوم بإنشاء منصة وسائط اجتماعية لامركزية تتميز بخفة الوزن والمرونة. ولتنفيذ هذا العمل، تعتمد شبكة Nostr على مرحلات العقدة البسيطة لنقل الرسائل المشفرة إلى المستلمين المقصودين. نحن هنا نرشدك خلال عملية إنشاء عقدة Nostr Relay باستخدام Nostream على Ubuntu. نعرض لك أيضًا كيفية الاتصال بالعقدة الجديدة الخاصة بك على كل من عملاء Gossip وAmethyst.

لماذا استخدام Nostream؟

Nostream هو مرحل nostr، مكتوب بلغة Typescript. الميزة الرئيسية لاستخدام nostream هي أنه يمنحك التحكم في بيانات الوسائط الاجتماعية الخاصة بك. كما هو الحال مع Pleroma، فإن استضافة عقدة Nostr Relay الخاصة بك تعني أنك تمتلك النظام الأساسي والبيانات الخاصة بك أثناء بثها عبر الشبكة.

بالإضافة إلى ذلك، يدعم Nostream التثبيت الكامل لـ Dockerized. وهذا يعني أنه يمكنك نشره بسهولة على أي مكدس خادم موجود.

تثبيت Nostream

الحصول على Docker وDocker Compose

افتراض: تفترض هذه المقالة أن لديك خادم VPS مزودًا بذاكرة وصول عشوائي (RAM) تبلغ سعتها 8 جيجابايت على الأقل بالإضافة إلى اسم مجال به سجل A وPTR يشير إلى عنوان IP الخاص بخادمك. ويفترض أيضًا أن لديك بالفعل حساب Nostr مع زوج مفاتيح يعمل.

للبدء، قم بإحضار مفتاح التوقيع لمستودع الحزم الثنائية لمشروع Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

قم بإنشاء ملف مستودع جديد لـ Docker داخل “/etc/apt/sources.list.d”:

sudo nano /etc/apt/sources.list.d/docker.list

الصق كتلة التعليمات البرمجية التالية داخل ملف المستودع الجديد الخاص بك واحفظه:

deb (arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg) https://download.docker.com/linux/ubuntu jammy stable

قم بتحديث وترقية نظام Ubuntu الخاص بك عن طريق تشغيل الأمر التالي:

sudo apt update && sudo apt upgrade

قم بتثبيت ثنائي Docker مع المكون الإضافي Docker Compose وتبعياته:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git nodejs npm

وأخيرًا، أضف مستخدمك الحالي إلى مجموعة نظام Docker:

sudo usermod -aG docker ramces

الحصول على وتثبيت nostream

قم بإحضار مستودع git لـ nostream وانتقل إلى مجلد المستودع:

git clone https://github.com/Cameri/nostream.git && cd ./nostream

قم بتشغيل البرنامج النصي nostream bootstrap لإنشاء البرنامج الخفي لخادم nostream ونشره كحاوية Docker على نظامك:

انتظر حتى تطبع حاوية nostream Docker شعار “nostream”، ثم اضغط على كنترول + ج.

افتح ملف التكوين لمثيل nostream الخاص بك باستخدام محرر النصوص المفضل لديك:

nano ./.nostr/settings.yaml

استبدل قيمة Relay_url: و اسم: متغير باسم المجال الخاص بمثيلك.

محطة تسلط الضوء على عنوان nostream للمثيل.

استبدل قيمة بوبكي: المتغير بالمفتاح العام لحساب Nostr الأساسي الخاص بك.

محطة تسلط الضوء على مفتاح Nostr العام لمسؤول المثيل.

قم بتغيير عنوان البريد الإلكتروني الموجود على اتصال: متغير مع العامل الذي تستخدمه حاليًا.

محطة تسلط الضوء على عنوان البريد الإلكتروني لمسؤول المثيل.

افتح ملف “docker-compose.yml” الخاص بمثيلك:

nano ./docker-compose.yml

قم بالتمرير إلى فئة “البيئة:”، ثم استبدل قيمة متغير البيئة “SECRET:” بسلسلة عشوائية من الأحرف.

محطة تسلط الضوء على السر العشوائي الأساسي للمثيل.

ملحوظة: يمكنك تشغيل الأمر التالي لإنشاء سلسلة عشوائية من الأحرف: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 64 | head -n 1

وأخيرًا، أعد تشغيل مثيل nostream الخاص بك:

الوصول إلى Nostream علنا

لتتمكن من الوصول إلى nostream على اسم المجال الخاص بك، نحتاج إلى إنشاء وكيل Nginx العكسي لتوجيه حركة المرور إلى مثيل Docker.

قم بإنشاء ملف تكوين موقع جديد لمثيل nostream الخاص بك:

sudo nano /etc/nginx/sites-available/nostream

الصق كتلة التعليمات البرمجية التالية داخل ملف تكوين موقعك الجديد:

server {
 
        server_name nostr.myvpsserver.top;
 
        location / {
                proxy_pass http://127.0.0.1:8008;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $host;
        }
}

أنشئ رابطًا رمزيًا لملف تكوين موقعك الجديد داخل “/etc/nginx/sites-enabled/”:

sudo ln -s /etc/nginx/sites-available/nostream /etc/nginx/sites-enabled

اختبر إعدادات Nginx لديك:

إذا كان كل شيء على ما يرام، فقم بتطبيق إعداداتك الجديدة عن طريق إعادة تشغيل البرنامج الخفي لخادم Nginx:

sudo systemctl restart nginx

تأمين Nostream مع شهادة SSL

تأكد من تشغيل الحزمة الأساسية على VPS الخاص بك:

قم بتثبيت حزمة certbot snap من Electronic Frontier Foundation (EFF):

sudo snap install certbot --classic

قم بتسجيل تثبيت certbot الخاص بك على EFF عن طريق تشغيل الأمر التالي:

sudo certbot register --agree-tos -m you@your-email.invalid

اطلب شهادة SSL جديدة للوكيل العكسي nostream الخاص بك:

sudo certbot --nginx -d nostr.myvpsserver.top

اختبر ما إذا كان مرحل nostream الجديد يعمل عن طريق فتح متصفح الويب والانتقال إلى عنوان الويب الخاص به.

لقطة شاشة توضح تثبيت nostream بنجاح.

ربط nostream مع عميل Gossip Nostr

لربط مرحل nostream الجديد الخاص بك مع Gossip، انقر فوق فئة “Relays” في الشريط الجانبي الأيسر للبرنامج.

لقطة شاشة تسلط الضوء على

انقر على إضافة التتابع زر ضمن فئة “المرحلات”.

لقطة شاشة توضح محتويات الملف

سيؤدي هذا إلى ظهور مربع نص صغير يمكنك من خلاله كتابة عنوان مثيل nostream الخاص بك. قم بتوفير عنوان المرحل الجديد الخاص بك مع رأس بروتوكول WebSocket “wss://” الخاص به.

لقطة شاشة توضح عنوان مرحل nostream الجديد.

انقر فوق “التحقق”، متبوعًا بـ “التكوين” لإعداد المرحل الجديد.

ستقوم Gossip بعد ذلك بتحميل صفحة الإعدادات حيث يمكنك تحديد كيفية تصرف جهاز التتابع الجديد مع عميلك. لإرسال واستقبال الرسائل من المثيل الخاص بك، قم بتبديل مفتاحي “القراءة” و”الكتابة” في صفحة الإعدادات.

قم بتبديل مفاتيح “صندوق الوارد” و”صندوق الصادر” و”الإعلان” للتواصل مع المرحلات الأخرى.

لقطة شاشة توضح الميزات النشطة لمثيل nostream الحالي.

اختبر ما إذا كان المرحل الخاص بك يعمل بشكل صحيح عن طريق إرسال ملاحظة Nostr جديدة.

لقطة شاشة تعرض نموذجًا لملاحظة Nostr في Gossip.

ربط nostream مع عميل Amethyst Nostr

بصرف النظر عن Gossip، يمكنك أيضًا ربط مثيل nostream الجديد الخاص بك مع عملاء Nostr الآخرين مثل Amethyst. للقيام بذلك، انقر فوق رمز المستخدم الخاص بك في الزاوية اليسرى العليا من التطبيق.

لقطة شاشة تسلط الضوء على قائمة المستخدم في Amethyst.

انقر فوق خيار “Relays” في الشريط الجانبي المنبثق.

لقطة شاشة تسلط الضوء على

حدد مربع النص “إضافة مرحل”، ثم اكتب عنوان المرحل الجديد الخاص بك بدون رأس البروتوكول الخاص به.

لقطة شاشة تسلط الضوء على موجه الترحيل.

انقر فوق “إضافة” لتطبيق مثيل nostream الجديد على عميلك.

اختبر ما إذا كان المثيل الجديد الخاص بك ينقل الرسائل بشكل صحيح عن طريق إرسال نموذج لملاحظة Nostr.

لقطة شاشة تعرض مثالاً على مذكرة Nostr في الجمشت.

تعد استضافة Nostr Relay إحدى الطرق لاستعادة السيطرة على حياتك الرقمية. وبصرف النظر عن منصة الوسائط الاجتماعية الخاصة بك، يمكنك أيضًا خدمة منصة مكتبية سحابية باستخدام ownCloud بالإضافة إلى استضافة موقع استضافة الفيديو الخاص بك من خلال Peertube.

حقوق الصورة: بولينا شمولوسكا عبر Unsplash. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.

رمسيس الأحمر

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

اشترك في نشرتنا الإخبارية!

يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك


اكتشاف المزيد من إشراق العالم

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى