إنتقل إلى المحتوى الرئيسي

عقدة Remnawave

عقدة Remnawave هي حاوية خفيفة الوزن تتضمن Xray-core.

ملاحظة

لا تتضمن لوحة Remnawave Xray-core، لذا يتعين عليك تثبيت عقدة Remnawave على خادم منفصل لاستخدام جميع ميزات Remnawave.

تثبيت Docker

قم بتثبيت Docker إذا لم يكن مثبتاً بعد.

sudo curl -fsSL https://get.docker.com | sh

الخطوة 1 — إنشاء مجلد المشروع

إنشاء مجلد المشروع
mkdir /opt/remnanode && cd /opt/remnanode

الخطوة 2 - إضافة العقدة

انتقل إلى Nodes -> Management وانقر على زر + لإضافة عقدة جديدة.

أكمل النموذج.

انتبه إلى حقل Node Port. سيتم استخدامه بواسطة عقدة Remnawave للاستماع لطلبات API الداخلية من لوحة Remnawave. لن يُستخدم بأي طريقة أخرى.

انقر على زر Copy docker-compose.yml لنسخ التكوين إلى الحافظة.

إنشاء عقدة

الخطوة 3 — إنشاء ملف docker-compose.yml

إنشاء ملف docker-compose.yml
cd /opt/remnanode && nano docker-compose.yml

الصق التكوين من الحافظة واحفظ.

الخطوة 4 — تشغيل الحاويات

قم بتشغيل الحاويات بتنفيذ الأمر التالي:

تشغيل الحاويات
docker compose up -d && docker compose logs -f -t

الخطوة 5 - الإنهاء

في بطاقة إنشاء العقدة، انقر على Next، واختر Config Profile المطلوب ثم انقر على زر Create.

ملاحظة مهمة

يرجى تذكر إغلاق NODE_PORT في جدار الحماية للعقدة فقط لـ IP اللوحة.

الاستخدام المتقدم

تحميل ملفات geosite و geoip المعدّلة

ملاحظة مهمة
  1. يستخدم هذا المثال أسماء مؤقتة لملفات *-zapret.dat وفئات :zapret. ستكون أسماء الملفات والفئات الفعلية مختلفة.
  2. التوجيه المُكوَّن على الخادم (العقدة) يتحكم في حركة مرور جانب الخادم ولن يؤثر على اتصالات DIRECT للعميل. لإدارة توجيه حركة مرور العميل، قم بتكوين التوجيه على جانب العميل.

يمكنك إضافة ملفات geosite و geoip إضافية عن طريق ربطها بالدليل /usr/local/share/xray/ داخل الحاوية.

حذر

لا تقم بربط المجلد بأكمله، سيؤدي ذلك إلى استبدال ملفات geosite و geoip الافتراضية لـ Xray. بدلاً من ذلك، قم بربط كل ملف على حدة.

أضف ما يلي إلى ملف docker-compose.yml:

services:
remnanode:
container_name: remnanode
hostname: remnanode
image: remnawave/node:latest
restart: always
network_mode: host
environment:
- NODE_PORT=2222
- SECRET_KEY="supersecretkey"
volumes:
- './geo-zapret.dat:/usr/local/share/xray/geo-zapret.dat'
- './ip-zapret.dat:/usr/local/share/xray/ip-zapret.dat'

الاستخدام في إعداد Xray:

  "routing": {
"rules": [
// قواعد أخرى
{
"type": "field",
"domain": [ // استدعاء ملف geosite
"ext:geo-zapret.dat:zapret"
],
"inboundTag": [ // اختياري
"VLESS_TCP_REALITY"
],
"outboundTag": "NOT_RU_OUTBOUND"
},
{
"type": "field",
"ip": [ // استدعاء ملف geoip
"ext:ip-zapret.dat:zapret"
],
"inboundTag": [ // اختياري
"VLESS_TCP_REALITY"
],
"outboundTag": "NOT_RU_OUTBOUND"
}
// قواعد أخرى
]
}

سجلات العقدة

يمكنك الوصول إلى سجلات العقدة عن طريق ربطها بنظام الملفات المضيف.

حذر

يجب إعداد تدوير السجلات، وإلا ستملأ السجلات القرص!

أضف ما يلي إلى ملف docker-compose.yml:

services:
remnanode:
container_name: remnanode
hostname: remnanode
image: remnawave/node:latest
restart: always
network_mode: host
environment:
- NODE_PORT=2222
- SECRET_KEY="supersecretkey"
volumes:
- '/var/log/remnanode:/var/log/remnanode'

الاستخدام في إعداد Xray:

  "log": {
"error": "/var/log/remnanode/error.log",
"access": "/var/log/remnanode/access.log",
"loglevel": "warning"
}

على الخادم المضيف للعقدة، أنشئ المجلد /var/log/remnanode بتشغيل:

mkdir -p /var/log/remnanode

ثبّت logrotate (إذا لم يكن مثبتاً بالفعل):

sudo apt update && sudo apt install logrotate

أنشئ ملف تكوين logrotate:

nano /etc/logrotate.d/remnanode

الصق تكوين logrotate التالي لـ RemnaNode:

/var/log/remnanode/*.log {
size 50M
rotate 5
compress
missingok
notifempty
copytruncate
}

شغّل logrotate لاختبار التكوين:

logrotate -vf /etc/logrotate.d/remnanode

شهادة SSL لـ XRay للعقدة

خطر

هذه الخطوة ضرورية إذا قمت بتطبيق نقل TLS، مثلاً 'VLESS-Vision-TLS'. بالنسبة لنقل Reality، هذا غير مطلوب.

إذا كنت تستخدم شهادات لإعداد Xray، فيجب عليك ربطها بالحاوية.

معلومات

قم بربط المجلد باستخدام Docker volumes، وارجع إلى المسار الداخلي في إعدادك. داخل الحاوية، يوجد دليل مخصص (فارغ) للشهادات: /var/lib/remnawave/configs/xray/ssl/

أضف ما يلي إلى ملف docker-compose.yml:

remnawave:
image: remnawave/backend:latest
container_name: 'remnawave'
hostname: remnawave
restart: always
ports:
- '127.0.0.1:3000:3000'
env_file:
- .env
networks:
- remnawave-network
volumes:
- '/opt/remnawave/nginx:/var/lib/remnawave/configs/xray/ssl'
depends_on:
remnawave-db:
condition: service_healthy
remnawave-redis:
condition: service_healthy
معلومات

عندما تدفع اللوحة التكوين إلى العقدة، ستقرأ تلقائياً الملفات المربوطة وترسل الشهادات إلى العقدة.

الاستخدام في إعداد Xray:

  "certificates": [
{
"keyFile": "/var/lib/remnawave/configs/xray/ssl/privkey.key",
"certificateFile": "/var/lib/remnawave/configs/xray/ssl/fullchain.pem"
// حقول أخرى
}
]
حذر

انتبه إلى الامتدادات .key و**.pem**.