عقدة 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
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 المعدّلة
- يستخدم هذا المثال أسماء مؤقتة لملفات
*-zapret.datوفئات:zapret. ستكون أسماء الملفات والفئات الفعلية مختلفة. - التوجيه المُكوَّن على الخادم (العقدة) يتحكم في حركة مرور جانب الخادم ولن يؤثر على اتصالات 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**.