شبكة عُقدة

التقنيات والأدوات
// لغة البرمجة

Go (Golang) - الإصدار 1.22+

شبكة عُقدة مكتوبة بالكامل بلغة Go، تم اختيارها لدعمها الممتاز للمعالجة المتوازية، مكتبتها القياسية القوية، وإمكانياتها عبر المنصات.

// التشفير

خوارزميات التشفير

الخوارزمية الغرض حجم المفتاح المكتبة
ChaCha20-Poly1305 تشفير من طرف إلى طرف لجميع حركة المرور 256-bit golang.org/x/crypto
Ed25519 التوقيعات الرقمية وهوية العقدة 256-bit crypto/ed25519 (Go stdlib)
X25519 تبادل المفاتيح (مفاتيح عابرة) 256-bit golang.org/x/crypto
BLAKE2b التجزئة لاشتقاق العناوين 256-bit golang.org/x/crypto/blake2b
// الاعتمادات الأساسية

الشبكة والتوجيه

الباكيج الغرض الإصدار
github.com/Arceliar/ironwood تنفيذ بروتوكول التوجيه الأساسي v0.0.0-20241213013129
github.com/Arceliar/phony نموذج Actor للمعالجة المتوازية v0.0.0-20220903101357
golang.org/x/net شبكات IPv6، أدوات IP v0.32.0
github.com/vishvananda/netlink إدارة واجهات الشبكة في Linux v1.3.0
github.com/wlynxg/anet طبقة تجريد الشبكة v0.0.5

بروتوكولات النقل

الباكيج البروتوكول الإصدار
github.com/quic-go/quic-go دعم بروتوكول QUIC v0.48.2
github.com/coder/websocket دعم WebSocket (WS/WSS) v1.8.12
net (Go stdlib) اتصالات TCP/TLS مدمج

واجهات الشبكة الافتراضية

الباكيج المنصة الإصدار
golang.zx2c4.com/wireguard واجهة TUN عبر المنصات v0.0.0-20231211153847
golang.zx2c4.com/wintun واجهة TUN لـ Windows v0.0.0-20230126152724
golang.zx2c4.com/wireguard/windows أدوات خاصة بـ Windows v0.5.3

الأدوات والمساعدات

الباكيج الغرض الإصدار
github.com/gologme/log تسجيل منظم v1.3.0
github.com/hjson/hjson-go/v4 تحليل ملفات الإعداد (HJSON) v4.4.0
github.com/cheggaaa/pb/v3 أشرطة التقدم v3.1.5
github.com/olekukonko/tablewriter تنسيق الجداول لـ CLI v0.0.5
github.com/hashicorp/go-syslog تكامل Syslog v1.0.0
github.com/kardianos/minwinsvc إدارة خدمات Windows v1.0.2
suah.dev/protect تعزيز الأمان (OpenBSD pledge) v1.2.4

هياكل البيانات

الباكيج الغرض الإصدار
github.com/bits-and-blooms/bloom/v3 مرشحات Bloom للتوجيه v3.7.0
github.com/bits-and-blooms/bitset عمليات مجموعة البتات v1.13.0
// متطلبات النظام

المنصات المدعومة

المنصة البنية الحد الأدنى للإصدار
Linux x86_64, ARM64 النواة 3.x+
Windows x86_64, ARM64 Windows 7+
macOS Intel, Apple Silicon macOS 10.12+
FreeBSD x86_64, ARM64 FreeBSD 12+ (تجريبي)
// أدوات البناء
// مواصفات البروتوكول
المكون المواصفة
إصدار البروتوكول 0.5 (متوافق مع Yggdrasil v0.5)
نطاق عناوين IPv6 0200::/7
التشفير ChaCha20-Poly1305 (وضع AEAD)
التوقيع Ed25519 (256-bit)
تبادل المفاتيح X25519 (عابر)
التوجيه DHT (Distance Vector) + Spanning Tree
النقل TCP, TLS, QUIC, WebSocket (WS/WSS)
MTU حتى 65535 بايت
// الترخيص

شبكة عُقدة منشورة تحت ترخيص LGPLv3.

جميع الاعتمادات تحافظ على تراخيصها الخاصة. معظمها مفتوح المصدر ومتوافق مع LGPLv3.

// الكود المصدري

الكود المصدري الكامل ومعلومات الاعتمادات: