Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
algo — قم بإعداد شبكة VPN شخصية في السحابة | Kitploit
أدوات/GitHubGitHub/trailofbits/algo
أدوات التشفير/فك التشفيرالبرمجة النصية والأتمتةأمن الشبكاتأمن السحابةالخصوصية
GitHubtrailofbits/algo

algo

قم بإعداد شبكة VPN شخصية في السحابة

عرض المستودع
30.4k2.4k49منذ 15 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

Algo VPN

Twitter

Algo VPN عبارة عن مجموعة من نصوص Ansible البرمجية التي تبسّط إعداد شبكة VPN شخصية عبر WireGuard وIPsec. يستخدم الإعدادات الافتراضية الأكثر أمانًا المتاحة ويعمل مع مزودي الخدمات السحابية الشائعين.

لمزيد من المعلومات، اطّلع على إعلان الإصدار.

الميزات

  • يدعم فقط IKEv2 بتشفير قوي (AES-GCM وSHA2 وP-256) لأنظمة iOS وmacOS وLinux
  • يدعم WireGuard لكل ما سبق، بالإضافة إلى Android وWindows 11
  • يُنشئ ملفات .conf وأكواد QR لعملاء WireGuard على iOS وmacOS وAndroid وWindows
  • يُنشئ ملفات تعريف Apple لتكوين أجهزة iOS وmacOS تلقائيًا لاستخدام IPsec - دون الحاجة إلى برنامج عميل
  • يتضمن نصوصًا مساعدة لإضافة المستخدمين وإزالتهم وإدارتهم
  • يحجب الإعلانات عبر محلل DNS محلي (اختياري)
  • ينشئ مستخدمي SSH بصلاحيات محدودة لتوجيه حركة المرور عبر نفق (اختياري)
  • يركز على الخصوصية مع تسجيل أدنى للأنشطة، وتدوير تلقائي للسجلات، وتحسينات خصوصية قابلة للتكوين
  • مبني على Ubuntu 22.04 LTS مع تحديثات أمنية تلقائية
  • يُثبَّت على DigitalOcean أو Amazon Lightsail أو Amazon EC2 أو Vultr أو Microsoft Azure أو Google Compute Engine أو Scaleway أو OpenStack أو CloudStack أو Hetzner Cloud أو Linode أو خادم Ubuntu الخاص بك (للمستخدمين المتقدمين)

ميزات مضادة

  • لا يدعم حزم التشفير القديمة أو البروتوكولات مثل L2TP أو IKEv1 أو RSA
  • لا يُثبّت Tor أو OpenVPN أو خوادم أخرى عالية المخاطر
  • لا يعتمد على أمان TLS
  • لا يدّعي توفير إخفاء الهوية أو تجنّب الرقابة
  • لا يدّعي حمايتك من FSB أو MSS أو DGSE أو FSM

نشر خادم Algo

أسهل طريقة لتشغيل خادم Algo هي تشغيله على نظامك المحلي أو من Google Cloud Shell، والسماح له بإعداد جهاز افتراضي جديد في السحابة نيابةً عنك.

  1. أنشئ حسابًا لدى مزود استضافة سحابية. يدعم Algo DigitalOcean (الأسهل استخدامًا)، وAmazon Lightsail، وAmazon EC2، وVultr، وMicrosoft Azure، وGoogle Compute Engine، وScaleway، وDreamCompute، وLinode، وغيرها من خدمات الاستضافة السحابية المبنية على OpenStack، والاستضافة السحابية المبنية على CloudStack، أو Hetzner Cloud.

  2. احصل على نسخة من Algo. سيتم تشغيل نصوص Algo من نظامك المحلي. هناك طريقتان للحصول على نسخة:

    • نزّل ملف ZIP. فك ضغط الملف لإنشاء مجلد باسم algo-master يحتوي على نصوص Algo البرمجية.

    • استخدم git clone لإنشاء مجلد باسم algo يحتوي على نصوص Algo البرمجية:

      root@kitploit:~
      git clone https://github.com/trailofbits/algo.git
      
  3. اضبط خيارات التكوين. افتح config.cfg في محرر النصوص المفضل لديك. حدد المستخدمين الذين تريد إنشاءهم في قائمة users. أنشئ مستخدمًا فريدًا لكل جهاز تنوي توصيله بشبكة VPN الخاصة بك. يجب عليك أيضًا مراجعة الخيارات الأخرى قبل النشر، لأن تغيير رأيك فيها لاحقًا .

وهكذا انتهيت! يمكنك الآن إعداد العملاء للاتصال بشبكة VPN الخاصة بك. تابع إلى إعداد عملاء VPN أدناه.

root@kitploit:~
    "#                          Congratulations!                            #"
    "#                     Your Algo server is running.                     #"
    "#    Config files and certificates are in the ./configs/ directory.    #"
    "#              Go to https://whoer.net/ after connecting               #"
    "#        and ensure that all your traffic passes through the VPN.      #"
    "#                     Local DNS resolver 172.16.0.1                    #"
    "#        The p12 and SSH keys password for new users is XXXXXXXX       #"
    "#        The CA key password is XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       #"
    "#      Shell access: ssh -F configs/<server_ip>/ssh_config <hostname>  #"

إعداد عملاء VPN

تُوضع الشهادات وملفات التكوين التي سيحتاجها المستخدمون في مجلد configs. تأكد من تأمين هذه الملفات لأن كثيرًا منها يحتوي على مفاتيح خاصة. تُحفظ جميع الملفات ضمن مجلد فرعي باسم عنوان IP الخاص بخادم Algo VPN الجديد.

مهم لمستخدمي IPsec: إذا كنت تريد إضافة المستخدمين أو حذفهم لاحقًا، يجب تحديد yes عند ظهور السؤال Do you want to retain the keys (PKI)? أثناء نشر الخادم. يحافظ هذا على سلطة الشهادات (CA) اللازمة لإدارة المستخدمين.

Apple

يُستخدم WireGuard لتوفير خدمات VPN على أجهزة Apple. يُنشئ Algo ملف تكوين WireGuard باسم wireguard/<username>.conf ورمز QR باسم wireguard/<username>.png لكل مستخدم محدّد في config.cfg.

على iOS، ثبّت تطبيق WireGuard من App Store. ثم استخدم تطبيق WireGuard لمسح رمز QR أو أرسل ملف التكوين إلى الجهاز عبر AirDrop.

على macOS، ثبّت تطبيق WireGuard من Mac App Store. سيظهر WireGuard في شريط القوائم بمجرد تشغيل التطبيق. انقر على أيقونة WireGuard، واختر Import tunnel(s) from file...، ثم حدد ملف تكوين WireGuard المناسب.

على iOS أو macOS، يمكنك تفعيل "Connect on Demand" و/أو استبعاد شبكات Wi-Fi موثوقة معينة (مثل شبكة منزلك أو عملك) عن طريق تعديل تكوين النفق في تطبيق WireGuard. (لا يمكن لـ Algo فعل ذلك تلقائيًا نيابةً عنك.)

إذا كنت تفضّل استخدام VPN المدمج IPsec على أجهزة Apple، أو تحتاج إلى تفعيل "Connect on Demand" أو استبعاد شبكات Wi-Fi تلقائيًا، فراجع دليل إعداد عميل Apple لـ IPsec للحصول على تعليمات تكوين مفصلة.

Android

يُستخدم WireGuard لتوفير خدمات VPN على Android. ثبّت عميل WireGuard. استورد ملف wireguard/<name>.conf المطابق إلى جهازك، ثم أنشئ اتصالًا جديدًا باستخدامه. راجع دليل إعداد Android للحصول على تعليمات التثبيت والتكوين التفصيلية.

Windows

يُستخدم WireGuard لتوفير خدمات VPN على Windows. يُنشئ Algo ملف تكوين WireGuard باسم wireguard/<username>.conf لكل مستخدم محدّد في config.cfg.

ثبّت عميل WireGuard. استورد ملف wireguard/<username>.conf المُنشأ إلى جهازك، ثم أنشئ اتصالًا جديدًا باستخدامه. راجع تعليمات إعداد Windows للحصول على شرح أكثر تفصيلًا واستكشاف الأخطاء وإصلاحها.

Linux

يمكن لعملاء Linux استخدام WireGuard أو IPsec:

WireGuard: يعمل WireGuard بشكل رائع مع عملاء Linux. راجع دليل إعداد WireGuard على Linux للحصول على تعليمات خطوة بخطوة لتكوين WireGuard على Ubuntu والتوزيعات الأخرى.

IPsec: لعملاء strongSwan لـ IPsec (بما في ذلك OpenWrt وUbuntu Server والتوزيعات الأخرى)، راجع دليل إعداد IPsec على Linux للحصول على تعليمات تكوين مفصلة.

OpenWrt

بالنسبة لموجّهات OpenWrt التي تستخدم WireGuard، راجع دليل إعداد OpenWrt لـ WireGuard للحصول على تعليمات تكوين خاصة بالموجّه.

أجهزة أخرى

بالنسبة للأجهزة غير المشمولة أعلاه أو للتكوين اليدوي، ستحتاج إلى شهادات وملفات تكوين محددة. تعتمد الملفات التي تحتاجها على منصة جهازك وبروتوكول VPN (WireGuard أو IPsec).

  • ipsec/manual/cacert.pem: شهادة CA
  • ipsec/manual/.p12: شهادة المستخدم والمفتاح الخاص (بتنسيق PKCS#12)
  • ipsec/manual/.conf: إعداد عميل strongSwan
  • ipsec/manual/.secrets: إعداد عميل strongSwan
  • ipsec/apple/.mobileconfig: ملف تعريف Apple
  • wireguard/.conf: ملف تكوين WireGuard
  • wireguard/.png: رمز QR لتكوين WireGuard

إعداد نفق SSH

إذا فعّلت دور نفق SSH الاختياري، سيتم إنشاء حسابات مستخدمين محليين لكل مستخدم في config.cfg، وستكون ملفات SSH authorized_key الخاصة بهم في مجلد configs (user.pem). لا تمتلك حسابات مستخدمي SSH وصولًا إلى الصدفة، ولا يمكنها المصادقة بكلمة مرور، ولديها خيارات نفق محدودة فقط (مثل اشتراط ssh -N). يضمن ذلك حصول مستخدمي SSH على أقل صلاحيات مطلوبة لإعداد نفق دون القدرة على تنفيذ أي إجراءات أخرى على خادم Algo.

استخدم مثال الأمر أدناه لبدء نفق SSH عن طريق استبدال <user> و<ip> بقيمك الخاصة. بمجرد إعداد النفق، يمكنك تكوين متصفح أو تطبيق آخر لاستخدام 127.0.0.1:1080 كخادم وكيل SOCKS لتوجيه حركة المرور عبر خادم Algo:

root@kitploit:~
ssh -D 127.0.0.1:1080 -f -q -C -N <user>@algo -i configs/<ip>/ssh-tunnel/<user>.pem -F configs/<ip>/ssh_config

الدخول إلى خادم Algo عبر SSH

تم تكوين خادم Algo الخاص بك للوصول عبر SSH بالمفاتيح فقط لأغراض إدارية. افتح تطبيق الطرفية، ونفّذ cd إلى مجلد algo-master حيث نزّلت Algo في الأصل، ثم استخدم الأمر المعروض في رسالة النجاح:

root@kitploit:~
ssh -F configs/<ip>/ssh_config <hostname>

حيث <ip> هو عنوان IP الخاص بخادم Algo. إذا وجدت نفسك تسجّل الدخول إلى الخادم بانتظام، فسيكون من المفيد تحميل مفتاح SSH الخاص بـ Algo تلقائيًا. أضف المقتطف التالي إلى نهاية ~/.bash_profile لإضافته إلى بيئة الصدفة بشكل دائم:

root@kitploit:~
ssh-add ~/.ssh/algo > /dev/null 2>&1

بدلاً من ذلك، يمكنك اختيار تضمين التكوين المُنشأ لأي خوادم Algo تم إنشاؤها في إعداد SSH الخاص بك. عدّل الملف ~/.ssh/config لإضافة هذا التوجيه في الأعلى:

root@kitploit:~
Include <algodirectory>/configs/*/ssh_config

حيث <algodirectory> هو المجلد الذي استنسخت فيه Algo.

إضافة المستخدمين أو إزالتهم

يجعل Algo إضافة المستخدمين أو إزالتهم من خادم VPN الخاص بك أمرًا سهلاً بعد النشر الأولي.

لمستخدمي IPsec: يجب أن تكون قد حددت yes عند ظهور السؤال Do you want to retain the keys (PKI)? أثناء النشر الأولي للخادم. يحافظ هذا على سلطة الشهادات اللازمة لإدارة المستخدمين. يجب عليك أيضًا حفظ كلمتَي مرور p12 ومفتاح CA المعروضتين أثناء النشر، لأنهما تُعرضان مرة واحدة فقط.

لإضافة المستخدمين أو إزالتهم، عدّل أولاً قائمة users في ملف config.cfg. أضف أسماء مستخدمين جديدة أو أزل الموجودة حسب الحاجة. ثم انتقل إلى مجلد algo في الطرفية وشغّل:

macOS/Linux:

root@kitploit:~
./algo update-users

Windows:

root@kitploit:~
.\algo.ps1 update-users

بعد اكتمال العملية، سيتم إنشاء ملفات تكوين جديدة في مجلد configs لأي مستخدمين جدد. سيتم تحديث خادم Algo VPN ليحتوي فقط على المستخدمين المدرجين في ملف config.cfg. لن يتمكن المستخدمون الذين تمت إزالتهم من الاتصال بعد الآن، وسيحصل المستخدمون الجدد على شهادات وملفات تكوين جديدة جاهزة للاستخدام.

الخصوصية والتسجيل

يتّبع Algo نهجًا عمليًا تجاه الخصوصية. افتراضيًا، نقلل من التسجيل مع الاحتفاظ بمعلومات كافية للأمان واستكشاف الأخطاء وإصلاحها.

ما يتم تسجيله افتراضيًا:

  • أحداث أمان النظام (محاولات SSH الفاشلة، حظر جدار الحماية، تحديثات النظام)
  • رسائل النواة وتشخيصات الإقلاع (بدرجة تفصيل مخفّضة)
  • حالة عميل WireGuard (تظهر عبر sudo wg - تعرض آخر نقطة نهاية ووقت المصافحة)
  • حالة الخدمة الأساسية (بدء/إيقاف/أخطاء الخدمة)
  • تُدار جميع السجلات تلقائيًا وتُحذف بعد 7 أيام

تتحكم إعدادان رئيسيان في الخصوصية ضمن config.cfg:

  • strongswan_log_level: -1 - يتحكم في تسجيل اتصالات StrongSwan (-1 = معطّل، 2 = تصحيح)
  • privacy_enhancements_enabled: true - المفتاح الرئيسي لتدوير السجلات ومسح السجل وتصفية السجلات والتنظيف

لتفعيل التصحيح الكامل عند استكشاف الأخطاء وإصلاحها، اضبط كلاً من strongswan_log_level: 2 وprivacy_enhancements_enabled: false. سيؤدي ذلك إلى التقاط سجلات اتصال مفصلة وتعطيل جميع ميزات الخصوصية. تذكر التراجع عن هذه التغييرات بعد الانتهاء من التصحيح.

بعد النشر، تحقق من إعدادات الخصوصية الخاصة بك:

root@kitploit:~
ssh -F configs/<server_ip>/ssh_config <hostname>
sudo /usr/local/bin/privacy-monitor.sh

الخصوصية المثالية مستحيلة مع أي حل VPN. يرى مزود الخدمة السحابية الخاص بك بيانات وصفية لحركة مرور الشبكة ويسجلها بغض النظر عن تكوين خادمك. وبالطبع، يعرف مزود خدمة الإنترنت (ISP) أنك تتصل بخادم VPN، حتى لو لم يستطع رؤية ما تفعله عبره.

للحصول على أعلى مستوى من الخصوصية، تعامل مع خوادم Algo الخاصة بك على أنها قابلة للاستبدال. أنشئ مثيلًا جديدًا عندما تحتاجه، واستخدمه لغرضك المحدد، ثم دمّره بالكامل. يمكن أن تكون الطبيعة المؤقتة للبنية التحتية السحابية ميزة خصوصية إذا استخدمتها عن قصد.

وثائق إضافية

  • الأسئلة الشائعة
  • استكشاف الأخطاء وإصلاحها
  • كيف يستخدم Algo جدران الحماية

تعليمات الإعداد لمزودي الخدمات السحابية المحددين

  • تكوين Amazon EC2
  • تكوين Azure
  • تكوين DigitalOcean
  • تكوين Google Cloud Platform
  • تكوين Vultr
  • تكوين CloudStack
  • تكوين Hetzner Cloud

التثبيت والنشر من المنصات الشائعة

  • النشر من macOS
  • النشر من Windows
  • النشر من Google Cloud Shell
  • النشر من حاوية Docker

إعداد عملاء VPN للاتصال بالخادم

  • إعداد عملاء Windows
  • إعداد عملاء Android
  • إعداد عملاء Linux باستخدام Ansible
  • إعداد عملاء Ubuntu لاستخدام WireGuard
  • إعداد عملاء Linux لاستخدام IPsec
  • إعداد أجهزة Apple لاستخدام IPsec
  • إعداد أجهزة Mac التي تعمل بنظام macOS 10.13 أو الأقدم لاستخدام WireGuard

النشر المتقدم

  • النشر على خادم Ubuntu الخاص بك، وإعداد Road Warrior (المستخدمين المتنقلين)
  • النشر من Ansible دون تفاعل
  • النشر على خادم سحابي وقت إنشائه باستخدام نص برمجي للصدفة أو cloud-init
  • النشر إلى مزود خدمات سحابية غير مدعوم

إذا قرأت جميع الوثائق وكان لديك المزيد من الأسئلة، أنشئ نقاشًا جديدًا.

آراء وتأييدات

ظللت أشتكي طويلاً من الحالة المزرية لخدمات VPN، وقد حان الوقت على الأرجح لإلقاء محاضرة مناسبة حول هذا الموضوع. الخلاصة: استخدموا Algo.

-- Kenn White

قبل اختيار مزود أو تطبيق VPN، تأكد من إجراء بعض البحث https://research.csiro.au/ng/wp-content/uploads/sites/106/2016/08/paper-1.pdf ... – أو فكّر في Algo

-- The Register

Algo سهل وآمن حقًا.

-- the grugq

جرّبت Algo VPN، وهي مجموعة نصوص برمجية تتيح لك إعداد VPN في السحابة في وقت قصير جدًا، حتى لو لم تكن تعرف الكثير عن التطوير. ويجب أن أقول إنني أعجبت كثيرًا بنهج Trail of Bits.

-- Romain Dillet لصالح TechCrunch

إذا كنت غير مرتاح لدفع المال لمزود VPN عشوائي ومجهول الهوية، فهذا هو الحل الأفضل.

-- Thorin Klosowski لصالح Lifehacker

المساهمة

راجع دليل التطوير الخاص بنا للحصول على معلومات حول:

  • إعداد بيئة التطوير الخاصة بك
  • استخدام خطافات prek لضمان جودة الكود
  • تشغيل الاختبارات وأدوات الفحص (linters)
  • المساهمة بالكود عبر طلبات السحب (pull requests)

دعم Algo VPN

PayPal Patreon

جميع التبرعات تدعم استمرار التطوير. شكرًا!

  • نقبل التبرعات عبر PayPal وPatreon.
  • استخدم رمز الإحالة الخاص بنا عند التسجيل في Digital Ocean للحصول على رصيد بقيمة 10 دولارات.
  • نقبل أيضًا ونقدّر المساهمات بكود جديد وإصلاحات للأخطاء عبر طلبات السحب على Github.

Algo مرخّص وموزَّع بموجب AGPLv3. إذا كنت ترغب في توزيع تعديل أو خدمة مغلقة المصدر مبنية على Algo، فيُرجى التفكير في شراء استثناء. كما هو الحال مع الطرق المذكورة أعلاه، سيساعد ذلك في دعم استمرار التطوير.

تنزيل الأداة
قد يتطلب نشر خادم جديد كليًا
  • ابدأ النشر. عُد إلى الطرفية. داخل مجلد Algo، شغّل النص البرمجي المناسب لمنصتك:

    macOS/Linux:

    root@kitploit:~
    ./algo
    

    Windows:

    root@kitploit:~
    .\algo.ps1
    

    في المرة الأولى التي تشغّل فيها النص البرمجي، سيُثبّت تلقائيًا بيئة Python المطلوبة (Python 3.11+). وفي المرات اللاحقة، يبدأ العمل فورًا على جميع المنصات (macOS وLinux وWindows عبر WSL). يستخدم نص Windows PowerShell برنامج WSL تلقائيًا عند الحاجة، لأن Ansible يتطلب بيئة شبيهة بيونكس. تتوفر العديد من الميزات الاختيارية، ولا يُشترط أي منها للحصول على خادم VPN كامل الوظائف. هذه الميزات الاختيارية موصوفة في وثائق النشر.