العودة إلى التحديثات
New releaseSep 1, 2026

TrustTunnel v1.1.0

بروتوكول VPN مفتوح المصدر يقوم بتوجيه حركة المرور TCP و UDP و ICMP عبر HTTPS، متجاوزًا DPI والتقييد. يتميز بتقسيم النفق، وكيل SOCKS5، DNS مخصص، وعملاء عبر المنصات المختلفة.

مشاركة

TrustTunnel

العملاء · متجر التطبيقات · متجر بلاي


جدول المحتويات


مقدمة

TrustTunnel هو بروتوكول VPN حديث مفتوح المصدر تم تطويره أصلاً بواسطة AdGuard VPN وهو الآن متاح لأي شخص لاستخدامه ومراجعته.

إنه يوفر اتصالات VPN سريعة وآمنة وموثوقة دون التنازلات المعتادة. حسب التصميم، لا يمكن تمييز حركة مرور TrustTunnel عن حركة مرور HTTPS العادية، مما يسمح لها بتجاوز التقييد والتفتيش العميق للحزم مع الحفاظ على حماية قوية للخصوصية.

يتضمن مشروع TrustTunnel النقطة الطرفية للـ VPN (هذا المستودع)، المكتبة وواجهة سطر الأوامر للعميل، وتطبيق الواجهة الرسومية.

ميزات الخادم

  • بروتوكول VPN: تنفذ المكتبة بروتوكول VPN متوافقًا مع HTTP/1.1 وHTTP/2 وQUIC. من خلال محاكاة حركة مرور الشبكة العادية، يصبح من المستحيل اكتشافه وحظره.

  • نفق مرور مرن: يمكن لـ TrustTunnel إنشاء نفق لحركة مرور TCP وUDP وICMP من وإلى العميل.

  • توافق المنصات: الخادم متوافق مع Linux وmacOS. العميل متاح لأنظمة Android وApple وWindows وLinux.


ميزات العميل

  • نفق المرور: المكتبة قادرة على إنشاء نفق لحركة مرور TCP وUDP وICMP من العميل إلى النقطة الطرفية والعودة.

  • دعم عبر المنصات: تدعم منصات Linux وmacOS وWindows، مما يوفر تجربة متسقة عبر أنظمة تشغيل مختلفة.

  • نفق على مستوى النظام ووكيل SOCKS5: يمكن إعداده كنفق على مستوى النظام، باستخدام واجهة شبكة افتراضية، بالإضافة إلى وكيل SOCKS5.

  • النفق المقسم: تدعم المكتبة النفق المقسم، مما يسمح للمستخدمين باستبعاد الاتصالات إلى نطاقات أو مضيفين معينة من التوجيه عبر نقطة VPN الطرفية، أو العكس، توجيه الاتصالات فقط إلى نطاقات أو مضيفين معينة عبر النقطة الطرفية بناءً على قائمة استبعاد.

  • مغير DNS مخصص: يمكن للمستخدمين تحديد مغير DNS مخصص، والذي يُستخدم لاستعلامات DNS الموجهة عبر نقطة VPN الطرفية.


بداية سريعة

إعداد النقطة الطرفية

تثبيت النقطة الطرفية

يتوفر نص تثبيت يمكن تشغيله بالأمر التالي:

curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh -s -

سوف يقوم نص التثبيت بتنزيل الحزمة المُجمّعة مسبقًا من أحدث إصدار على GitHub للهندسة المعمارية المناسبة للنظام وفك ضغطها إلى /opt/trusttunnel. يمكن تجاوز دليل الإخراج بتحديد العلم -o DIR في نهاية الأمر أعلاه.

إذا كنت تريد تثبيت إصدار معين (بدلاً من الأحدث)، استخدم -V <version>:

curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh -s - -V <version>

[!NOTE] الحزم المُجمّعة مسبقًا متاحة للهياكل linux-x86_64 و linux-aarch64 و macos-universal (Intel و Apple Silicon).

تحديث النقطة الطرفية

يقوم نص التثبيت دائمًا بتثبيت أحدث إصدار متاح. لذا، لتحديث التثبيت، قم بتشغيل أمر التثبيت مرة أخرى:

curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh -s -

يؤدي هذا إلى إعادة تشغيل المثبت واستبدال الملفات الثنائية في دليل التثبيت (/opt/trusttunnel افتراضيًا، أو الدليل الذي حددته باستخدام -o DIR).

[!NOTE] لا تنسَ إيقاف النقطة الطرفية قبل التحديث:

sudo systemctl stop trusttunnel

لتشغيل النقطة الطرفية مرة أخرى بعد التحديث:

sudo systemctl start trusttunnel

معالج تكوين النقطة الطرفية

يُرجى الرجوع إلى CONFIGURATION.md للحصول على توثيق أكثر تفصيلاً حول كيفية تكوين النقطة الطرفية.

يحتوي دليل التثبيت على الملف الثنائي setup_wizard الذي يساعد في إنشاء ملفات التكوين المطلوبة لتشغيل النقطة الطرفية:

cd /opt/trusttunnel/
./setup_wizard -h

يدعم معالج الإعداد الوضع التفاعلي، لذا يمكنك تشغيله وسيطلب البيانات المطلوبة لتكوين النقطة الطرفية.

cd /opt/trusttunnel/
sudo ./setup_wizard

[!NOTE] sudo مطلوب لإدارة شهادات TLS بشكل صحيح.

سيطلب المعالج الحقول التالية، بعضها له قيم افتراضية يمكنك استخدامها بأمان:

  • العنوان الذي سيتم الاستماع عليه - حدد العنوان الذي ستستمع عليه النقطة الطرفية. استخدم 0.0.0.0:443 للنشر الأصلي (HTTPS على جميع الواجهات). إذا كنت تستخدم Docker مع تعيين المنفذ 443:8443، فاضبطه على 0.0.0.0:8443.

  • مسار ملف بيانات الاعتماد - المسار حيث سيتم تخزين بيانات اعتماد المستخدم للترخيص.

  • اسم المستخدم - اسم المستخدم الذي سيستخدمه المستخدم للترخيص.

  • كلمة المرور - كلمة مرور المستخدم.

  • هل تريد إضافة مستخدم آخر؟ - اختر yes إذا كنت تريد إضافة المزيد من المستخدمين، أو no لمتابعة عملية التكوين.

  • مسار ملف القواعد - المسار لتخزين قواعد التصفية.

  • قواعد تصفية الاتصال - يمكنك إضافة قواعد ستستخدمها النقطة الطرفية للسماح أو منع اتصالات المستخدم بناءً على:

    • عنوان IP الخاص بالعميل
    • بادئة TLS العشوائية
    • عشوائية TLS مع قناع

    اضغط n للسماح بجميع الاتصالات.

  • مسار ملف لتخزين إعدادات المكتبة - المسار لتخزين ملف تكوين النقطة الطرفية الرئيسي.

  • اختيار الشهادة - اختر كيفية الحصول على شهادة TLS:

    • إصدار شهادة Let's Encrypt (يتطلب نطاقًا عامًا) - يدعم معالج الإعداد ACME المدمج ويمكنه الحصول تلقائيًا على شهادة مجانية موثوقة من Let's Encrypt. ستحتاج إلى:
      • نطاق مسجل يشير إلى عنوان IP الخاص بالخادم
      • المنفذ 80 متاح من الإنترنت (لتحدي HTTP-01)، أو
      • القدرة على إضافة سجلات DNS TXT (لتحدي DNS-01)
    • إنشاء شهادة موقعة ذاتيًا - مناسبة للاختبار أو عند استخدام عميل CLI فقط. ملاحظة: عميل Flutter لا يدعم الشهادات الموقعة ذاتيًا حتى الآن.
    • توفير مسار لشهادة موجودة - استخدم ملفات الشهادات الخاصة بك التي تم الحصول عليها من مرجع مصدق آخر أو أداة مثل certbot.
  • مسار ملف لتخزين إعدادات مضيفات TLS - المسار لتخزين ملف إعدادات مضيفات TLS.

في هذه المرحلة، يتم إنشاء جميع ملفات التكوين المطلوبة وحفظها على القرص.

دورة حياة شهادة Let's Encrypt

يمكن لمعالج الإعداد الحصول على شهادة Let's Encrypt أثناء الإعداد الأولي، ولكنك مسؤول عن ضمان بقائها صالحة بمرور الوقت (التجديد وإعادة تحميل/إعادة تشغيل الخدمة).

إذا كنت تستخدم Certbot لإدارة الشهادات وتجديدها تلقائيًا، فاتبع الدليل في CERT_RENEWAL.md.

تشغيل النقطة الطرفية

تحتوي الحزمة المثبتة على قالب خدمة systemd، باسم trusttunnel.service.template.

يمكن استخدام هذا القالب لإعداد النقطة الطرفية كخدمة systemd:

[!NOTE] يفترض ملف القالب أن ملف TrustTunnel Endpoint الثنائي وجميع ملفات التكوين الخاصة به موجودة في /opt/trusttunnel ولها أسماء الملفات الافتراضية. قم بتعديل القالب إذا كنت قد استخدمت مسارات مختلفة.

cd /opt/trusttunnel/
cp trusttunnel.service.template /etc/systemd/system/trusttunnel.service
sudo systemctl daemon-reload
sudo systemctl enable --now trusttunnel

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

يمكن للملف الثنائي للنقطة الطرفية إنشاء تكوينات العميل بتنسيقين:

تنسيق الرابط العميق (الافتراضي)

قم بإنشاء URI مضغوط من النوع tt://? مناسب لأكواد QR وتطبيقات الهاتف المحمول:

# <client_name> - اسم العميل الذي سيتم تضمين بيانات اعتماده في التكوين
# <address> - `ip`، `ip:port`، `domain`، أو `domain:port` الذي سيستخدمه العميل للاتصال
#           إذا تم تحديد `ip` أو `domain` فقط، فسيتم استخدام المنفذ من حقل `listen_address`
cd /opt/trusttunnel/
./trusttunnel_endpoint vpn.toml hosts.toml -c <client_name> -a <address>

# أو حدد التنسيق صراحة:
./trusttunnel_endpoint vpn.toml hosts.toml -c <client_name> -a <address> --format deeplink

يخرج هذا URI رابط عميق tt://? يمكن:

يمكنك أيضًا تقديم خيارات إضافية:

  • --name <display_name>: تعيين اسم عرض مخصص للخادم في تطبيق العميل.
  • --dns-upstream <dns_upstream>: تحديد مغير DNS للعميل. يمكن أن يكون عنوان IP أو URI DNS آمن (على سبيل المثال، tls://1.1.1.1، https://dns.google/dns-query). يمكن استخدام هذا العلم عدة مرات لتوفير قائمة بمغيرات DNS.

مثال مع اسم مخصص ومغيرات DNS:

./trusttunnel_endpoint vpn.toml hosts.toml -c <client_name> -a <address> \
    --name "My Secure VPN" \
    --dns-upstream 1.1.1.1 --dns-upstream tls://8.8.8.8

عند استخدام --generate-client-random-prefix، تقوم النقطة الطرفية أيضًا بإلحاق قاعدة السماح بالقيمة المُنشأة بملف rules.toml المشار إليه من vpn.toml.

ملاحظة: إذا كانت شهادتك موقعة من قبل مرجع مصدق موثوق (مثل Let's Encrypt)، فسيتم حذفها تلقائيًا من الرابط العميق للحفاظ على صغره. يتم تضمين الشهادات الموقعة ذاتيًا تلقائيًا.

تنسيق TOML (لعميل CLI)

قم بإنشاء ملف تكوين TOML تقليدي:

cd /opt/trusttunnel/
./trusttunnel_endpoint vpn.toml hosts.toml -c <client_name> -a <public_ip> --format toml

يخرج هذا ملف تكوين TOML مناسب لعميل CLI.

يحتوي كلا التنسيقين على جميع المعلومات اللازمة للاتصال بالنقطة الطرفية. راجع توثيق عميل TrustTunnel Flutter للحصول على إرشادات الإعداد.

تهانينا! لقد انتهيت من إعداد النقطة الطرفية!

إعداد العميل

تتوفر عملاء متعددون للاتصال بالنقطة الطرفية — راجع قسم العملاء للحصول على القائمة الكاملة. تغطي الإرشادات أدناه إعداد عميل CLI الرسمي.

تثبيت العميل

Linux / macOS

يتوفر نص تثبيت:

curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnelClient/refs/heads/master/scripts/install.sh | sh -s -

سوف يقوم نص التثبيت بتنزيل الحزمة المُجمّعة مسبقًا من أحدث إصدار على GitHub للهندسة المعمارية المناسبة للنظام وفك ضغطها إلى /opt/trusttunnel_client. يمكن تجاوز دليل الإخراج بتحديد العلم -o DIR في نهاية الأمر أعلاه.

[!NOTE] يدعم نص التثبيت هياكل x86_64، aarch64، armv7، mips و mipsel لأنظمة linux و arm64 و x86_64 لأنظمة macos.

Windows

قم بتنزيل أحدث أرشيف إصدار من صفحة إصدارات TrustTunnel Client.

استخرج الأرشيف إلى دليل من اختيارك، على سبيل المثال C:\TrustTunnel\.

إعداد الموجه

لنشر الموجه، يُرجى الرجوع إلى أدلة تثبيت العميل الخاصة بالموجه.

تحديث العميل

Linux / macOS

يقوم نص التثبيت دائمًا بتثبيت أحدث إصدار متاح. لذا، لتحديث التثبيت، قم بتشغيل أمر التثبيت مرة أخرى:

curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnelClient/refs/heads/master/scripts/install.sh | sh -s -

يؤدي هذا إلى إعادة تشغيل المثبت واستبدال الملفات الثنائية في دليل التثبيت (/opt/trusttunnel_client افتراضيًا، أو الدليل الذي حددته باستخدام -o DIR).

[!NOTE] لا تنسَ إيقاف العميل قبل التحديث (على سبيل المثال، عن طريق إيقاف العملية الجارية).

Windows

قم بتنزيل أحدث إصدار من صفحة الإصدارات واستبدل الملفات في دليل التثبيت الخاص بك.

معالج تكوين العميل

يحتوي دليل التثبيت على الملف الثنائي setup_wizard الذي يساعد في إنشاء ملفات التكوين المطلوبة لتشغيل العميل.

Linux / macOS
cd /opt/trusttunnel_client/
./setup_wizard -h

لتكوين العميل لاستخدام التكوين الذي تم إنشاؤه بواسطة النقطة الطرفية، قم بتشغيل الأمر التالي:

./setup_wizard --mode non-interactive \
     --endpoint_config <endpoint_config> \
     --settings trusttunnel_client.toml
Windows
setup_wizard.exe --mode non-interactive ^
    --endpoint_config <endpoint_config> ^
    --settings trusttunnel_client.toml

في كلتا الحالتين، <endpoint_config> هو المسار لملف التكوين الذي تم إنشاؤه بواسطة النقطة الطرفية.

سيحتوي trusttunnel_client.toml على جميع التكوينات المطلوبة للعميل.

[!TIP] يحتوي التكوين المُنشأ على إعدادات أساسية للاتصال بالنقطة الطرفية. للحصول على ميزات متقدمة، قم بتحرير trusttunnel_client.toml مباشرة. يمكنك تكوين:

  • وضع VPN: توجيه كل حركة المرور (general) أو وجهات محددة فقط (selective)
  • مفتاح القتل: حظر حركة المرور عند قطع اتصال VPN
  • مغيرات DNS: محللات DNS مخصصة (يدعم DoH، DoT، DoQ)
  • الاستثناءات: النطاقات/عناوين IP التي سيتم تجاوزها أو توجيهها عبر VPN
  • نوع المستمع: جهاز TUN أو وكيل SOCKS5

راجع README عميل TrustTunnel CLI لجميع الخيارات المتاحة.

[!NOTE] بعد تحرير التكوين، أعد تشغيل العميل لتصبح التغييرات سارية المفعول.

تشغيل العميل

Linux / macOS
cd /opt/trusttunnel_client/
sudo ./trusttunnel_client -c trusttunnel_client.toml

sudo مطلوب لإعداد المسارات وواجهة tun.

Windows

افتح نافذة طرفية كمسؤول وقم بتشغيل:

trusttunnel_client.exe -c trusttunnel_client.toml

صلاحيات المسؤول مطلوبة لإعداد المسارات وواجهة TUN.

العملاء

رسمي

CLI

عميل TrustTunnel — Linux، macOS، Windows

GUI

عميل TrustTunnel Flutter — iOS، Android (macOS، Windows — قريبًا). متاح على متجر التطبيقات* و متجر بلاي.

[!NOTE] * في بعض البلدان، تطبيق iOS غير متاح في متجر التطبيقات. قد تحتاج إلى Apple ID من بلد آخر لتنزيله. تعلم كيفية تغيير بلد متجر التطبيقات.

مجتمع

[!NOTE] عملاء المجتمع يتم تطويرهم وصيانتهم بشكل مستقل. لا يتم دعمهم رسميًا من قبل فريق TrustTunnel.

GUI

Trusty - عميل GUI عبر المنصات مبني باستخدام Flutter (Windows مستقر، macOS تجريبي). يتضمن سجلات في الوقت الفعلي، ونشر خادم SSH بنقرة واحدة، واكتشاف تلقائي لمجموعات النطاقات للنفق المقسم.

TrustTunnel-GUI-Client — عميل GUI لنظام Windows، تم تنفيذه كغلاف Python لـ عميل TrustTunnel

Surge — (تجاري) صندوق أدوات شبكة لـ macOS و iOS مع دعم تجريبي لـ TrustTunnel

FireTunnel - عميل عبر المنصات مكتوب بلغة QT يستخدم عميل TrustTunnel معدلًا

انظر أيضًا

الخريطة الزمنية

بينما يدعم VPN الخاص بنا حاليًا إنشاء نفق لحركة مرور TCP/UDP/ICMP، نخطط لإضافة دعم الاتصالات من نظير إلى نظير بين العملاء.

ترقبوا هذه الميزة في الإصدارات القادمة.

الترخيص

هذا المشروع مرخص بموجب ترخيص Apache 2.0. انظر LICENSE للحصول على التفاصيل.

الفئات