Hide.me CLI هو عميل VPN للاستخدام مع Eventure Ltd. Hide.Me VPN Service استنادًا إلى بروتوكول WireGuard. تتضمن ميزات العميل:
تودو:
يمكنك استنساخ هذا المستودع وتشغيله:
go build -o hide.me
بدلاً من ذلك ، قم بتنزيل أحدث تصميم من قسم الإصدارات.
تحتوي الإصدارات الشجرة والإصدارات الثنائية على تركيب بسيط وإلغاء تثبيت البرامج النصية. يتم تثبيت Hide.me Cli في /ايمت /hide.me دليل. بصرف النظر عن نسخ ملفات Hide.me إلى /opt/hide.me ، لا يتم إجراء تعديلات على النظام.
عند اكتشاف التوزيع المستند إلى SystemD ، يرتبط التثبيت ملف وحدة القالب يمكن استخدامه لتوصيل التوصيلات.
يمكنك إنشاء الحزمة باستخدام PKGBUILD المتوفرة في العبوة/Archlinux/(يتطلب git clone --recurse-submodules ) أو من https://aur.archlinux.org/packages/hide-client/
للبناء:
makepkg && sudo pacman -U hide-client-0.9.1-1-any.pkg.tar.zst
لاحظ أن حزمة ArchLinux تغير المواقع الافتراضية للملفات المثبتة إلى /usr/bin/hide.me لـ binary ، /etc/hide.me/accessToken.txt for the Accesstoken ، /usr/share/hide.me/CA.pem للشهادة و /usr/lib/systemd/system/hide.me@service لوحدة النظام.
يعد Wireguard أحد أكثر حلول أنفاق VPN آمنة وأبسط في هذه الصناعة. من السهل الإعداد والاستخدام طالما أنه لا يلزم تبادل مفاتيح حارس العمومي على وسيط غير آمن (مثل الإنترنت). أي نوع من تبادل المفاتيح العمومي على نطاق الأسلاك خارج نطاق مواصفات حرس الأسلاك.
عادة ما يتم التعامل مع المهمة المعقدة لتبادل المفاتيح العامة والتفاوض المفتاح السري على وسيط غير آمن ، من قبل:
Hide.me تنفيذ Wireguard تعزيز HTTPS (TLS) لتبادل:
تتطلب المصادقة لجميع العمليات استخدام وصول الوصول. إن Access-token هو مجرد نقطة ثنائية ترتبط بشكل تشفير بحساب Hide.me.
يتم إنشاء اتصال بخادم Hide.me VPN في هذه الخطوات:
على النقيض من العديد من الحلول الأخرى ، لا تستخدم Hide.me CLI أي نوع من تقنية جدار الحماية Linux (Iptables أو NFTABLES أو EBPF). بدلاً من الاعتماد على أطر تصفية IP Linux'es ، يقوم Hide.me Cli بتوجيه حركة المرور بشكل انتقائي عن طريق إعداد جدول توجيه خاص ومجموعة من قواعد قاعدة بيانات سياسة التوجيه. تسقط طرق الثقب السوداء في جدول التوجيه المذكور أعلاه جميع حركة المرور ما لم تفي أحد الشروط التالية:
يجعل هذا النمط من العملية من الممكن للمستخدمين إنشاء سياسات جدار الحماية الخاصة بهم والتي لن يتدخل بها Hide.me Cli.
يمكن طباعة تعليمات الاستخدام عن طريق تشغيل Hide.me CLI دون أي معلمات.
Usage:
./hide.me [options...] <command> [host]
...
Hide.me CLI واجهة المستخدم بسيطة للغاية. هناك ثلاثة أوامر متوفرة فقط:
command:
token - request an Access-Token (required for connect)
connect - connect to a vpn server
conf - generate a configuration file to be used with the -c option
categories - fetch and dump filtering category list
service - run in remotely controlled service mode
من أجل الاتصال بخادم VPN ، يجب طلب إمكانية الوصول من خادم VPN. يتم إصدار طلب الوصول إلى أمر الرمز المميز . يمكن استخدام وصول الوصول الصادر عن أي خادم ، لأغراض المصادقة ، مع أي خادم Hide.me VPN آخر. عندما يصدر الخادم ، يجب تخزين الرمز المميز في ملف. اسم الملف الافتراضي لـ Access-token هو "AccessToken.txt".
بمجرد أن يكون الوصول إلى الموصول في مكانه ، يمكن استخدامه لطلبات الاتصال . يتم تحديث رموز الوصول التي لا معنى لها تلقائيًا.
لا يجب بالضرورة التذرع بالضرورة مع مجموعة من معلمات سطر الأوامر. بدلاً من ذلك ، يمكن استخدام ملف تكوين YAML المنسق لتحديد جميع الخيارات. لإنشاء ملف التكوين هذا ، يمكن استخدام الأمر Conf .
لأغراض تصفية DNS (SmartGuard) ، يمكن الحصول على قائمة بفئات التصفية بأمر الفئات
Hide.me cli يمكن تشغيل في وضع الخدمة . عند بدء تشغيله في وضع الخدمة ، يعرض Hide.me Cli واجهة راحة للتحكم. وحدة التحكم هي المسؤولة عن تكوين الاتصالات أو تنشيط تبديل القتل أو أي عملية أخرى. عنوان واجهة الراحة عنوان الاستماع قابل للتكوين من خلال -caddr خيار.
لاحظ أن هناك بعض الخيارات القابلة للتكوين فقط من خلال ملف التكوين. مثل هذه الخيارات هي:
host:
fqdn, short name or an IP address of a hide.me server
Required when the configuration file does not contain it
يمكن تحديد اسم مضيف نقطة نهاية Hide.me Rest كاسم مجال مؤهل بالكامل (nl.hide.me) أو الاسم القصير (NL) أو عنوان IP. ليس هناك ما يضمن أن نقطة نهاية الباقي سوف تتطابق مع نقطة نهاية السلك.
-4 Use IPv4 tunneling only
الحد من جميع عمليات بروتوكول IP إلى IPv4. على الرغم من أن الخادم سيوفر عنوان IPv4 و IPv6 فقط عناوين IPv4 ، يتم تثبيت قواعد IPv4 وطرق IPv4. حماية التسرب/القتل يعمل على حركة مرور IPv4 فقط. لا يزال تدفق حركة المرور IPv6 غير مضمون.
تحذير : هذا الخيار يخدع الأمان ويجب استخدامه فقط عندما يكون من الآمن القيام بذلك ، على سبيل المثال عندما يكون جهاز العميل لديه تعطيل مكدس IPv6. من فضلك ، لا تستخدمه خلاف ذلك لأن تسريبات IPv6 قد تحدث.
-6 Use IPv6 tunneling only
الحد من جميع عمليات بروتوكول IP إلى IPv6. على الرغم من أن الخادم سيوفر عنوان IPv4 و IPv6 فقط عناوين IPv6 ، يتم تثبيت قواعد IPv6 وطرق IPv6. حماية التسرب/القتل تعمل على حركة المرور IPv6 فقط. لا يزال تدفق حركة المرور IPv4 غير مضمون.
تحذير : هذا الخيار يخدع الأمان ويجب عدم استخدامه ما لم يرغب العميل في نفق حركة مرور IPv6 فقط.
-b filename
resolv.conf backup filename (default "")
Hide.me Cli يحتفظ بنسخة احتياطية من /etc/resolv.conf في الذاكرة. بالإضافة إلى هذا النسخ الاحتياطي Hide.me ، قد يقوم CLI بإجراء نسخ احتياطي /etc/resolv.conf إلى ملف محدده هذا الخيار.
-c filename
Configuration filename
استخدم ملف التكوين المسمى "Filename".
-ca string
CA certificate bundle (default "CA.pem")
خلال مفاوضات TLS ، يجب التحقق من شهادة خادم VPN. هذا الخيار يجعل من الممكن تحديد ملف حزمة شهادة CA البديل.
-caddr address
Control interface listen address (default "@hide.me")
اضبط عنوان واجهة التحكم في وضع الخدمة. Hide.me Cli ، بشكل افتراضي ، يستمع على مقبس Unix التجريدي Hide.me
-ccert certificate
Control interface certificate file
اضبط شهادة التحكم في وضع الخدمة X509 بتنسيق PEM
-ckey key
Control interface key file
اضبط مفتاح التحكم في وضع الخدمة في تنسيق PEM
-d DNS servers
comma separated list of DNS servers used for client requests (default "209.250.251.37:53,217.182.206.81:53")
افتراضيًا ، يستخدم Hide.me CLI خوادم DNS Hide.me لحل أسماء خادم VPN عند طلب رمز أو أثناء طلبات الاتصال. قد يتم تخصيص مجموعة خوادم DNS المستخدمة لهذه الأغراض مع هذا الخيار.
-dpd duration
DPD timeout (default 1m0s)
من أجل اكتشاف ما إذا كان الاتصال قد توقف ، عادةً ما يكون بسبب مشكلات التواصل ، يقوم Hide.me CLI بفحص حالة الاتصال بشكل دوري. يمكن تغيير فترة الفحص بهذا الخيار ، ولكن لا يمكن أن تكون أعلى من دقيقة واحدة.
-i interface
network interface name (default "vpn")
استخدم هذا الخيار لتحديد اسم واجهة الشبكات لإنشاء أو استخدام.
-l port
listen port
حدد منفذ الاستماع لحركة مرور الأسلاك المشفرة.
-m mark
firewall mark for wireguard traffic (default 0 - no packet marks)
قم بتعيين جدار الحماية بمناسبة وحدة kernel wireguard ستحدد حزمها.
-p port
remote port (default 432)
قد يتم تغيير منفذ نقطة نهاية الراحة عن بُعد بهذا الخيار.
-pf
enable dynamic port-forwarding technologies (uPnP and NAT-PMP)
يتم تعطيل المنفذ الديناميكي بشكل افتراضي. استخدم هذا الخيار لتشغيله لمحاولة اتصال معينة. بدلاً من ذلك ، قد يتم تمكين المنفذ عن طريق إضافة لاحقة PF إلى اسم المستخدم عند طلب رمز رمزي. مثل هذه الرموز تنشط المنفذ في كل محاولة اتصال ، ويجب ألا تستخدم هذا الخيار عند استخدامها.
-r table
routing table to use (default 55555)
قم بتعيين جدول التوجيه لاستخدامه في آلية حماية حركة المرور العامة وتسرب.
-R priority
RPDB rule priority (default 10)
حدد أولوية قواعد RPDB المثبتة. يستفيد Hide.Me CLI من توجيه السياسة عن طريق تثبيت قاعدة RPDB (واحدة لكل بروتوكول IP) من أجل دفع حركة المرور إلى جدول التوجيه المختار وضمان حماية تسرب IP.
-s networks
comma separated list of networks (CIDRs) for which to bypass the VPN
قائمة بالشبكات المنقسمة التي يتم تنفيذها ، أي الشبكات التي لا ينبغي أن يتم نقل حركة المرور عليها على VPN.
-t string
access token filename (default "accessToken.txt")
اسم الملف الذي يحتوي على وصول.
-u username
hide.me username
تعيين hide.me اسم المستخدم.
Hide.me CLI يدعم التصفية المستندة إلى DNS (SmartGuard). تصفية DNS للخيارات التالية:
-forceDns
force tunneled DNS handling on hide.me servers
قم بتنشيط إعادة توجيه DNS على خادم Hide.me VPN بحيث يتم التعامل مع كل طلب UDP أو TCP DNS بواسطة خادم Hide.me VPN
-whitelist dns names
comma separated list of allowed dns names
اللواحق DNS التي ستجاوز أي محرك تصفية (تم قبول البطاقات البرية)
-blacklist dns names
comma separated list of filtered dns names
أسماء DNS التي سيتم تصفيتها
-noAds
filter ads
ينشط تصفية الإعلانات القائمة على SmartGuard
-noCategories categories
comma separated list of filtered content categories
ينشط تصفية SmartGuard ذي الحبيبات الدقيقة. جلب قائمة الفئات مع أمر الفئات
-noIllegal kind
filter illegal kind (content, warez, spyware, copyright)
ينشط تصفية المستوى الخشن للمحتوى غير القانوني ، والمستودع ، وبرامج التجسس والمواد المحمية بحقوق الطبع والنشر
-noMalicious
filter malicious destinations
ينشط تصفية المضيفين الخبيثين أو مواقع الويب أو المجالات
-noMalware
filter malware
ينشط مرشح البرامج الضارة. يجب ترشيح أي موقع يستضيف أو توزيع البرامج الضارة
-noRisk level
filter content according to risk level (possible, medium, high)
ينشط مرشح المخاطر
-noTrackers
filter trackers
ينشط مرشح تتبع
-pg age
apply a parental guidance style age filter (12, 18)
ينشط مرشح نمط توجيه الوالدين وفقا للحد العمري المعطى. سيتم ترشيح محتوى غير مناسب
-safeSearch
force safe search with search engines
يفرض وضع Safesearch مع محركات البحث المدعومة (Google ، Bing)
Hide.me يمكن استخدام CLI مستقلة أو كخدمة نظام. يتيح لك استخدام Hide.me CLI كخدمة SystemD الاستفادة من دقة تبعية النظام والمراقبة وميزات التصلب المختلفة.
يربط برنامج البرنامج النصي التثبيت ملف وحدة القالب [email protected] لك أو يمكنك ربط ملف وحدة القالب يدويًا عن طريق التشغيل:
SystemCtl Link Hide.me@service
لإدارة الاتصالات ، يمكن استخدام الأوامر التالية:
| عملية | يأمر |
|---|---|
| إنشاء اتصال | SystemCtl تمكين Hide.me@server |
| بدء اتصال | SystemCtl ابدأ Hide.me@server |
| توقف عن الاتصال | Systemctl توقف Hide.me@server |
| إزالة الاتصال | Systemctl تعطيل Hide.me@server |
الخادم هو اسم الخادم أو اسم المجموعة أو عنوان IP.
يمكن وضع خيارات خط الأوامر الإضافي إلى الأمر hide.me connect الذي يتم تشغيله بواسطة خدمة SystemD في OPTIONS= متغير التكوين في /opt/hide.me/config .
تعتبر بدء تشغيل الخدمة ناجحًا عندما يتم إنشاء اتصال بـ Hide.Me Server بالكامل.
Hide.me Cli هو الخيار الأفضل لأجهزة الكمبيوتر المكتبية ، ولكن قد يكون غير مناسب لأجهزة التوجيه أو الأجهزة المضمنة. لتلك الأجهزة الصغيرة قمنا بتطوير مجموعة من البرامج النصية الرماد (في البرامج النصية/ الدليل):
في رأس كل نص ، ستجد أمثلة استخدام.
وظائف تلك البرامج النصية أساسية ، أي أنها ستجعلك متصلاً/منفصلين ، لكنهم لن يراقبوا اتصالك. قد تكون مجموعة الميزات المحدودة هذه كافية لاستخدام Hide.me مع أجهزة التوجيه التي لها تقنيات مراقبة خاصة بها.
تم التحقق من كل برنامج نصي على أجهزة التوجيه المستندة إلى OpenWrt مع أحدث البرامج الثابتة المستقرة (19.07.7) ودعم WireGuard. المتطلبات الأساسية ، التي يجب أن تكون مثبتة OPKG ، هي:
إذا كنت ترغب في المساهمة في هذا المشروع ، فيرجى قراءة دليل المساهمة.