تثبيت وتسجيل عقدة خصوصية لامركزية من AeroNyx
ثبّت عقدة AeroNyx وسجّلها وتحقق منها وحدّثها عبر نقطة التشغيل الرسمية ورمز Nodeboard لمرة واحدة، وفعّل الترحيل الأعمى كخيار مستقل عند الجاهزية.
هذا هو مسار الإنتاج المدعوم للعقدة الجديدة. يستخدم نقطة التشغيل الوحيدة داخل المستودع، ويربط هوية العقدة برمز مؤقت من Nodeboard، ويثبت خدمة systemd، ثم يتحقق من مستوى البيانات المحلي وheartbeat الخلفي والاكتشاف الموقّع والمجموعة العامة قبل إعلان النجاح. حالة active للعملية وحدها لا تثبت انضمام العقدة إلى شبكة خصوصية AeroNyx.
وحدة تشغيل العقد: app.aeronyx.network
المصدر المفتوح: github.com/AeroNyxNetwork/AeroNyx
قبل البدء
استخدم مضيف Linux مخصصاً بعنوان عام ثابت. تحقق من جدار السحابة والمضيف وشبكة المزود، ولا تعرض management API مباشرة للإنترنت العام.
| المورد | توصية الإنتاج |
|---|---|
| النظام | إصدار Ubuntu أو Debian مدعوم حالياً |
| المعالج | نواتان على الأقل، وأكثر للبناء أو pps المرتفع |
| الذاكرة | يوصى بـ4 GB؛ أقل من 2 GB يسبب تحذير preflight أو فشله |
| القرص | 20 GB فارغة على الأقل مع مساحة Cargo وrollback |
| الشبكة | 51820/UDP لمستوى الخصوصية و8422/TCP للاكتشاف الموقّع وpeer API |
| الإدارة | 8421/TCP محلياً أو ضمن شبكة موثوقة فقط مع تقييد SSH |
1. إنشاء رمز تسجيل لمرة واحدة
يسجل النظام هوية العقدة وقدراتها وعلاقتها بالمشغل، لا محتوى المستخدم. الرمز قصير العمر ولا يستهلك إلا مرة واحدة.
- سجّل الدخول إلى Nodeboard.
- افتح Registration Codes وأنشئ رمزاً قصير العمر لحساب المشغل المقصود.
- حدد اسم العقدة ورمز المنطقة ISO 3166-1 alpha-2.
- لا تضع الرمز في تذكرة أو لقطة أو shell history أو محادثة AI عامة.
2. الحصول على سكربت التشغيل الرسمي
aeronyx-node.sh ليس أمراً عاماً في Linux؛ بل يأتي من مستودع Rust الرسمي لـAeroNyx. على خادم جديد اجلب main وشغله من جذر المستودع.
sudo install -d -m 0755 /opt/aeronyx
sudo git clone --branch main --single-branch \
https://github.com/AeroNyxNetwork/AeroNyx.git \
/opt/aeronyx/AeroNyx
cd /opt/aeronyx/AeroNyx
git rev-parse HEAD
لا تنفذ clone فوق مجلد موجود. استخدم fast-forward فقط عندما يكون tracked worktree نظيفاً؛ ومع تغييرات محلية على عقدة إنتاج استخدم ترقية معزولة مثبتة على commit.
cd /opt/aeronyx/AeroNyx
git fetch origin main
git checkout main
git pull --ff-only origin main
./deploy/node/aeronyx-node.sh plan --repo-dir "$PWD" --branch main
3. مراجعة الخطة وتشغيل quickstart
استبدل اسم المثال والدولة بالقيم الفعلية. الخيار --public-vpn اشتراك صريح؛ بدونه تبقى العقدة مسجلة وقابلة للإدارة لكنها لا تدخل المجموعة العامة. يخفي الوضع التفاعلي الرمز ويعرض الخطة المحلولة ويطلب التأكيد.
cd /opt/aeronyx/AeroNyx
sudo ./deploy/node/aeronyx-node.sh quickstart \
--node-name "Berlin1" \
--region "DE" \
--public-vpn
يجب أن تمرر الأتمتة السر في سطر bounded stdin واحد، ولا تستخدم --yes إلا بعد اعتماد الخطة. يمنع pipe المجهول ظهور الرمز في argv للعمليات الفرعية.
read -r -s -p 'Nodeboard registration code: ' AERONYX_NODE_CODE; echo
printf '%s\n' "${AERONYX_NODE_CODE}" | \
sudo ./deploy/node/aeronyx-node.sh quickstart \
--registration-code-stdin \
--node-name "Berlin1" \
--region "DE" \
--public-vpn \
--yes
unset AERONYX_NODE_CODE
يشترك install وupgrade في deployment lock على المضيف. لا تستخدم --allow-dirty أو --skip-admission-check كاختصار عادي؛ فهما لصيانة طارئة أو استرداد معزول معتمد بوضوح.
4. إثبات قبول العقدة في الشبكة
تنتظر admission gate الافتراضية حتى 120 ثانية ولا تسجل completed إلا بعد جمع الأدلة المنطبقة. يمكن إعادة الفحص لاحقاً بهذه الأوامر للقراءة فقط.
cd /opt/aeronyx/AeroNyx
./deploy/node/aeronyx-node.sh status
./deploy/node/aeronyx-node.sh health --json
systemctl is-active aeronyx-server
- تعيد
/api/vpn/healthالقيمةokوتكون listener وTUN وforwarding وNAT وDNS وegress صالحة. - يثبت backend policy timestamp الحديث اكتمال جولة management heartbeat الموقّعة.
- يحتوي discovery status وsnapshot على descriptor موقّع تم التحقق منه وجولة gossip مكتملة.
- تظهر العقدة العامة بالـbackend UUID الدقيق و
visibility=publicوقدرة VPN وحالة online. - يتطابق الاسم والمنطقة والvisibility والسعة وheartbeat في Nodeboard مع العقدة.
لا يشترط ظهور العقدة الخاصة في المجموعة العامة، لكنها يجب أن تجتاز الصحة المحلية وheartbeat المسجل والاكتشاف الموقّع. يمكن زيادة الانتظار عند الإقلاع البطيء باستخدام --admission-timeout 240 من دون حذف الفحوص.
أدوار العقدة العامة والترحيل الأعمى الاختيارية
مخرج الخصوصية العام وChatRelay وOnionMiddle بلا مخرج ثلاثة أدوار مستقلة. لا تعلن الترحيل الأعمى إلا بعد قابلية وصول endpoint العام على 8422 ونجاح validation وإمكان restart بأمان.
cd /opt/aeronyx/AeroNyx
./deploy/node/aeronyx-node.sh chat-relay --enable-chat-relay --dry-run
sudo ./deploy/node/aeronyx-node.sh chat-relay --enable-chat-relay --restart
./deploy/node/aeronyx-node.sh onion-middle --enable-onion-middle --dry-run
sudo ./deploy/node/aeronyx-node.sh onion-middle --enable-onion-middle --restart
./deploy/node/aeronyx-node.sh relay-probe --two-hop --json
ينسخ helper ملف server.toml احتياطياً ويغير الحقل المقصود فقط ويتحقق منه، ويرفض restart مع active sessions. تحتاج العقدة الجديدة إلى reachability وpath-proof حديثين؛ إعداد capability لا يعني route eligibility فوراً. يتطلب two-hop probe ثلاث عقد مختلفة routeable، وإلا تكون نتيجة blocked صحيحة.
التشغيل اليومي والترقيات الآمنة
ابنِ المرشح وتحقق منه أولاً بلا restart، ثم رقّه ضمن نافذة صيانة معتمدة. لا تستخدم git pull يدوياً ثم تستبدل binary الإنتاج مباشرة.
cd /opt/aeronyx/AeroNyx
sudo ./deploy/node/aeronyx-node.sh upgrade \
--build-priority live \
--build-jobs auto \
--no-restart
sudo ./deploy/node/aeronyx-node.sh upgrade \
--build-priority live \
--build-jobs auto
يعيد المسار فحص active sessions بعد build وقبل promotion وقبل restart مباشرة؛ وإذا تعذر العداد يفشل مغلقاً. يتحقق من config وsystemd ويحفظ binary/units السابقة ويجري promotion ذرياً وrollback عند فشل الصحة. يحوي upgrade-status.json بيانات تشغيلية فقط.
عقد التثبيت بمساعدة الذكاء الاصطناعي
يمكن لـCodex أو Claude Code أو agent طرفي آخر التنفيذ، لكنه يجب أن يعمل كأداة تشغيل مقيدة لا أن يخمن لمجرد امتلاكه root.
- تأكيد repository الرسمي وbranch وcheckout وcommit الحالي.
- تشغيل
planوعرضه قبل أي تغيير. - تمرير رمز التسجيل عبر prompt مخفي أو bounded stdin فقط.
- حفظ الهوية والإعداد وعدم استبدال ملفات
/etc/aeronyxالدائمة. - فحص active sessions قبل restart والتوقف إن لم تتوفر قيمة موثوقة.
- التحقق من الصحة المحلية وbackend heartbeat والوصول العام والاكتشاف الموقّع وNodeboard.
- الإبلاغ الصريح عن warning وblocked وrollback وعدم اعتبار systemd active نجاحاً.
حدود الخصوصية
لا تعالج العقدة وNodeboard إلا الأدلة التشغيلية المجمعة اللازمة. يجب أن يبقى relay أعمى ولا تتحول telemetry إلى سجل مستخدم.
بيانات تشغيل مجمعة مسموحة
- CPU والذاكرة والقرص وfd وconntrack وpacket drops
- سعة IP pool وmax connections وpps وbps وعدد active sessions
- heartbeat والإصدار والقدرات وpeer quorum وحالة relay proof
بيانات يحظر جمعها أو عرضها
- نشاط public IP للعميل أو الوجهات أو DNS أو النطاقات أو URL أو سجل التصفح
- plaintext للحزم أو الرسائل أو أطراف الدردشة أو social graph أو MemChain plaintext
- private keys أو registration code أو voucher secrets أو wallet traffic أو credential قابل للتعريف