في الموقع

استضف شبكة HopToDesk الخاصة بك في موقعك أو في السحابة.

أنشئ شبكتك الخاصة

أنشئ شبكة HopToDesk الخاصة بك. متوافقة مع Ubuntu 18 - 24 وWindows.

نظام التشغيل:
Linux
LinuxWindows
يتيح هذا الإعداد للأجهزة على شبكتك المحلية الاتصال مباشرة، مع استخدام خوادم المرحّل الافتراضية من HopToDesk للاتصالات الخارجية.
اضبط خادم TURN الخاص بك للتحكم الكامل في اتصالات المرحّل. جميع الحقول مطلوبة.

دليل الإعداد

الاستضافة الذاتية لـ HopToDesk

دليل الإعداد خطوة بخطوة

ما الذي يفعله المثبّت، وكيف تتحقق منه، وكيف توصل أجهزتك بشبكتك الخاصة.

كيف يعمل

يستخدم HopToDesk نوعين من الخوادم. يساعد خادم الإشارة الأجهزة على العثور على بعضها وإنشاء جلسة. ولا ينقل مرحّل TURN حركة الجلسة إلا عندما يتعذر الاتصال المباشر بين الجهازين.

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

يقوم المثبّت في هذه الصفحة بإعداد خادم الإشارة. تمر حركة المرحّل افتراضيًا عبر مرحّل HopToDesk، أو عبر خادم TURN الخاص بك إذا وفّرت واحدًا.

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

قبل أن تبدأ

  • خادم يعمل بنظام Ubuntu من 18.04 إلى 24.04، أو خادم Windows.
  • صلاحية root أو sudo على ذلك الخادم.
  • عنوان IP أو اسم مضيف يمكن لجميع أجهزتك الوصول إليه. لشبكة لا تغادر شبكتك المحلية أبدًا، يكفي عنوان خاص.
  • منفذ TCP 80 مفتوح في جدار حماية الخادم لأجهزتك.
  • إذا أردت مرحّلك الخاص: المضيف والمنفذ واسم المستخدم وكلمة المرور لخادم TURN الخاص بك.

الخطوة 1: تثبيت خادم الإشارة على Linux

  1. سجّل الدخول إلى الخادم بصفتك root، أو كمستخدم يملك صلاحيات sudo.
  2. في أعلى هذه الصفحة، اختر LAN + Default Relay أو Custom TURN Server. يتغير أمر التثبيت حسب اختيارك.
  3. انقر على Copy، والصق الأمر في الطرفية واضغط Enter.
  4. انتظر حتى ينتهي البرنامج النصي. على خادم جديد، قد يستغرق تثبيت الحزم بضع دقائق.
  5. في النهاية يطبع البرنامج النصي HopSignal Setup Complete، يليه عنوان خادمك وكتلة إعدادات شبكة جاهزة للاستخدام. احتفظ بهذا الناتج، فستحتاجه في الخطوة 3.
cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sh hsinstall.sh

مع خادم TURN الخاص بك، أضف قيمه الأربع إلى نهاية الأمر بهذا الترتيب: المضيف، المنفذ، اسم المستخدم، كلمة المرور.

sh hsinstall.sh turn.example.com 443 myuser mypassword

ما الذي يفعله البرنامج النصي

  • يثبّت أدوات البناء ومكتبات OpenSSL اللازمة باستخدام apt.
  • ينزّل الملف الثنائي لخادم الإشارة إلى المجلد /home/hopsignal.
  • ينشئ خدمة systemd باسم hopsignal ويشغّلها عند كل إقلاع.
  • يضيف مراقبًا في cron يعيد تشغيل الخدمة إذا توقفت عن الاستجابة، ويدوّر ملف السجل عندما يتجاوز 100 ميغابايت.
  • يفتح منفذ TCP 80 في ufw عندما يكون ufw نشطًا.

الخطوة 1 على Windows: تشغيل خادم الإشارة

  1. بدّل مفتاح OS في أعلى هذه الصفحة إلى Windows وانقر على Download. ستحصل على ملف واحد باسم hopsignal.exe.
  2. أنشئ مجلدًا مثل C:\hopsignal وانقل hopsignal.exe إليه.
  3. في المجلد نفسه، أنشئ ملفًا نصيًا فارغًا باسم fedlist.txt.
  4. يتوقع إصدار Windows أيضًا شهادة TLS ومفتاحها الخاص بتنسيق PEM. أي زوج يعمل، بما في ذلك الموقّع ذاتيًا. احفظهما باسم cert.pem و key.pem في المجلد نفسه.
  5. افتح موجه الأوامر كمسؤول وشغّل الخادم.
cd C:\hopsignal
hopsignal.exe --ADDR 0.0.0.0:80 --WSS_ADDR 0.0.0.0:443 --CERT cert.pem --KEY key.pem --FEDLIST fedlist.txt --FEDADDR 127.0.0.1:82 --FEDPWD 123456789 --LOGFILE hs.log

إذا كان لديك OpenSSL، فهذا الأمر ينشئ زوج شهادة موقّعة ذاتيًا:

openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650 -subj "/CN=hopsignal"

اسمح بالمنفذ في جدار حماية Windows:

netsh advfirewall firewall add rule name="HopSignal" dir=in action=allow protocol=TCP localport=80

لإبقاء الخادم يعمل بعد إعادة التشغيل، سجّله كمهمة مجدولة تبدأ عند الإقلاع تحت حساب SYSTEM:

schtasks /Create /TN HopSignal /SC ONSTART /RU SYSTEM /TR "C:\hopsignal\hopsignal.exe --ADDR 0.0.0.0:80 --WSS_ADDR 0.0.0.0:443 --CERT C:\hopsignal\cert.pem --KEY C:\hopsignal\key.pem --FEDLIST C:\hopsignal\fedlist.txt --FEDADDR 127.0.0.1:82 --FEDPWD 123456789 --LOGFILE C:\hopsignal\hs.log"
schtasks /Run /TN HopSignal

الخطوة 2: التحقق من أن الخادم يعمل

على Linux، تحقق من الخدمة والسجل:

sudo systemctl status hopsignal
tail /home/hopsignal/hs.log

على Windows، تأكد من أن المنفذ يستمع:

netstat -an | find ":80 "

من أي حاسوب، اختبر منفذ WebSocket. استبدل SERVER_IP بعنوان خادمك. الخادم السليم يرد بـ HTTP/1.1 101 Switching Protocols.

curl -i -N -m 5 -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Sec-WebSocket-Version: 13" -H "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" http://SERVER_IP:80/

الخطوة 3: توجيه أجهزتك إلى الخادم

يقرأ كل جهاز إعدادات شبكته من مستند JSON صغير. هذه هي الكتلة التي طبعها المثبّت في نهاية الخطوة 1. استبدل SERVER_IP بعنوان خادمك، واملأ كتلة TURN إذا كنت تشغّل مرحّلك الخاص.

{
  "turnservers": [
    {
      "protocol": "turn",
      "host": "turn.hoptodesk.com",
      "port": "443",
      "username": "hoptodesk",
      "password": "hoptodesk1234"
    }
  ],
  "rendezvous": {
    "host": "SERVER_IP",
    "port": "80"
  },
  "winversion": "1.0.0",
  "macversion": "1.0.0",
  "linuxversion": "1.0.0",
  "none": "none"
}

كتلة rendezvous هي خادم الإشارة الخاص بك. استخدم المفتاح rendezvousssl بدلًا من rendezvous عندما يتم الوصول إلى الخادم عبر TLS، مثل Cloudflare Worker أو نشر على AWS. تحتوي قائمة turnservers على مرحّل واحد أو أكثر. اضبط البروتوكول على turn للاتصال العادي أو turn-tls لاتصال TLS. اترك مفاتيح الإصدار كما هي.

هناك ثلاث طرق لإيصال هذا المستند إلى أجهزتك. اختر ما يناسب إعدادك.

الخيار A: وضع ملف api.json على كل جهاز

احفظ المستند كملف باسم api.json في مجلد إعدادات HopToDesk، ثم أعد تشغيل HopToDesk. يقرأ التطبيق الملف عند بدء التشغيل ولا يتصل بعدها بواجهة HopToDesk API.

المنصةالمسار
Windows، جميع المستخدمين والخدمةC:\ProgramData\HopToDesk\config\api.json
Windows، المستخدم الحالي فقط%APPDATA%\HopToDesk\config\api.json
macOS~/Library/Preferences/com.hoptodesk.HopToDesk/api.json
Linux~/.config/hoptodesk/api.json

على Linux تعمل خدمة الخلفية بصفة root وتقرأ الملف تحت /root، بينما يقرأ التطبيق الذي تفتحه الملف في مجلدك الرئيسي. ضع نسخة في المكانين.

الخيار B: استضافة الملف على عنوان URL واختياره في التطبيق

  1. ارفع api.json إلى أي خادم ويب يمكن لأجهزتك الوصول إليه. يُنصح باستخدام HTTPS.
  2. في HopToDesk، انقر على أيقونة الترس لفتح الإعدادات.
  3. ضمن Network، انقر على Choose Network.
  4. اختر Custom Network Settings، والصق عنوان URL لملفك وأكّد.
  5. ينزّل HopToDesk الملف، ويتحقق من أنه يحتوي على إدخال rendezvous صالح وقائمة turnservers، ثم يعيد الاتصال عبر خادمك.

للعودة إلى الشبكة العامة، افتح Choose Network مرة أخرى واختر HopToDesk Network.

الخيار C: دفع الإعدادات من لوحة التحكم

إذا كانت أجهزتك مرتبطة بلوحة تحكم HopToDesk، فيمكنك ضبط الشبكة مرة واحدة للحساب كله. العميل المخصص المبني من لوحة التحكم يأتي بهذه الإعدادات مدمجة.

  1. سجّل الدخول إلى لوحة التحكم بصفتك مالكًا أو مسؤولًا وافتح الإعدادات.
  2. ضمن Network Settings، اختر Custom Network.
  3. أدخل مضيف خادم الإشارة ومنفذه و WS كبروتوكول. أضف خادم TURN إذا كنت تشغّل مرحّلك الخاص، أو اتركه فارغًا للإبقاء على مرحّل HopToDesk.
  4. انقر على Save Network Settings. يتلقى كل جهاز مرتبط الإعدادات الجديدة ويطبقها دون إعادة تثبيت.

تشغيل مرحّل TURN خاص بك (اختياري)

الجلسات التي لا تستطيع الاتصال مباشرة تمر افتراضيًا عبر مرحّل HopToDesk. لإبقاء كل الحركة على بنيتك التحتية الخاصة، شغّل خادم TURN. أي خادم TURN قياسي يعمل، و coturn خيار شائع على Linux.

  1. ثبّت coturn على خادم المرحّل.
sudo apt install coturn
  1. حرّر /etc/turnserver.conf واضبط القيم أدناه على الأقل. استبدل realm وبيانات الاعتماد وعنوان IP العام بقيمك الخاصة.
listening-port=443
fingerprint
lt-cred-mech
user=myuser:mypassword
realm=example.com
external-ip=PUBLIC_IP
  1. إذا كان /etc/default/coturn يحتوي على سطر TURNSERVER_ENABLED، فأزل التعليق عنه. ثم فعّل الخدمة وشغّلها.
sudo systemctl enable --now coturn
sudo systemctl restart coturn
  1. افتح منفذ الاستماع لكل من TCP و UDP، بالإضافة إلى نطاق مرحّل UDP من 49152 إلى 65535، في جدار حماية المرحّل.
  2. سلّم المرحّل إلى أجهزتك: شغّل المثبّت مرة أخرى مع قيم TURN الأربع، أو حرّر كتلة turnservers في إعدادات شبكتك. استخدم turn-tls كبروتوكول إذا كان مرحّلك ينهي TLS.

إدارة الخادم على Linux

sudo systemctl status hopsignal
sudo systemctl restart hopsignal
sudo systemctl stop hopsignal
tail -f /home/hopsignal/hs.log

لتحديث الخادم، أوقف الخدمة وشغّل أمر التثبيت مرة أخرى. سينزّل الملف الثنائي الحالي ويعيد كتابة الخدمة.

لإزالة الخادم مع خدمته وإدخالات cron الخاصة به:

cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sh hsinstall.sh remove

استكشاف الأخطاء وإصلاحها

  • يبقى المعرّف عند Generating، أو يستمر التطبيق في محاولة الاتصال بالشبكة: لا يستطيع الجهاز الوصول إلى خادم الإشارة. تحقق من أن الخدمة تعمل، وأن المنفذ 80 مفتوح، وأن العنوان في إعدادات شبكتك صحيح.
  • تتصل الأجهزة داخل الشبكة المحلية لكن ليس من الخارج: لا يمكن الوصول إلى المرحّل. مع المرحّل الافتراضي، تحتاج الأجهزة إلى وصول صادر إلى turn.hoptodesk.com على المنفذ 443. مع مرحّلك الخاص، تحقق من قواعد جدار الحماية وبيانات الاعتماد.
  • يتجاهل التطبيق api.json: تأكد من أن الملف JSON صالح دون فواصل زائدة في النهاية، وأنه في المجلد الصحيح، وأنك أعدت تشغيل HopToDesk. يحتوي سجل التطبيق على السطر Loaded local api.json عندما يُقرأ الملف.
  • المنفذ 82 هو منفذ الاتحاد لربط عدة خوادم إشارة خاصة بك. أبقِه مغلقًا أمام الإنترنت.
  • لا يخزّن خادم الإشارة أي بيانات جلسات. إذا بدا شيء ما عالقًا، فأعد تشغيل الخدمة. تعيد الأجهزة الاتصال من تلقاء نفسها خلال دقيقة تقريبًا.

استضافة لدى طرف خارجي

تفضّل منصة مُدارة؟ يمكنك نشر شبكة HopToDesk على Cloudflare أو AWS بدلاً من ذلك.

HopToDesk على Cloudflare

  1. سجّل الدخول إلى حساب Cloudflare وانتقل إلى نطاق المجال الذي تريد استخدامه.
  2. أنشئ عامل worker جديدًا باسم الملف index.js.
  3. انسخ كود worker إلى index.js، ثم احفظ ونشر العامل. كود worker
  4. عنوان Cloudflare Worker جاهز الآن. استخدمه كقيمة "rendezvousssl". api.json واجهة برمجة مخصصة

HopToDesk على AWS

  1. أنشئ حساب AWS إذا لم يكن لديك حساب بالفعل.
  2. اشترك في صفحة HopToDesk داخل AWS Marketplace. AWS Marketplace
  3. بعد أن توفّر Amazon الخدمة، اضبط الإعدادات إذا لزم الأمر ثم شغّل المثيل.
  4. أصبحت شبكة HopToDesk الآن منشورة على AWS. اضبط عنوان https الخاص بها كقيمة "rendezvousssl". api.json واجهة برمجة مخصصة

ملاحظة: يتطلب هذا العامل خطة Cloudflare مدفوعة تبدأ من 5 دولارات شهريًا، لأنه يعتمد على Durable Objects. أسعار Durable Objects

AWS Marketplace وشعار AWS Marketplace علامتان تجاريتان لشركة Amazon.com, Inc. أو الشركات التابعة لها.
Cloudflare وشعار Cloudflare وCloudflare Workers علامات تجارية و/أو علامات تجارية مسجلة لشركة Cloudflare, Inc. في الولايات المتحدة ومناطق قضائية أخرى.