في الموقع

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

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

أنشئ شبكة HopToDesk الخاصة بك على خادم Linux أو Windows بنظام 64 بت.

أسرع طريقة: في لوحة التحكم، افتح الإعدادات، ثم Network Settings، ثم Set up a private network. تحصل على رابط تشغيل AWS جاهز أو أمر Docker، ويبلّغ الخادم الجديد لوحة التحكم بنفسه. فتح لوحة التحكم

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

دليل الإعداد

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

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

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

كيف يعمل

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

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

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

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

هل تحتاج إلى لوحة التحكم على خوادمك الخاصة أيضًا؟ تحدث إلينا

قبل أن تبدأ

  • خادم Linux بنظام 64 بت مع systemd، مثل Ubuntu أو Debian، أو خادم 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.
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo sh hsinstall.sh

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

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

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

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

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

  1. بدّل مفتاح OS في أعلى هذه الصفحة إلى Windows وانقر على Download. ستحصل على ملف واحد باسم hopsignal.exe.
  2. أنشئ مجلدًا مثل C:\hopsignal وانقل hopsignal.exe إليه.
  3. في المجلد نفسه، أنشئ ملفًا نصيًا فارغًا باسم fedlist.txt.
  4. افتح موجه الأوامر كمسؤول وشغّل الخادم.
cd C:\hopsignal
for /f %i in ('powershell -NoProfile -Command "[guid]::NewGuid().ToString('N')"') do @(setx /M FEDPWD %i >nul & set FEDPWD=%i)
hopsignal.exe --ADDR 0.0.0.0:80 --FEDLIST fedlist.txt --FEDADDR 127.0.0.1:82 --LOGFILE hs.log

يحفظ السطر الثاني كلمة مرور اتحاد عشوائية كإعداد نظام في Windows، فلا تظهر أبدًا في سطر أوامر الخادم.

اسمح بالمنفذ في جدار حماية 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 --FEDLIST C:\hopsignal\fedlist.txt --FEDADDR 127.0.0.1:82 --LOGFILE C:\hopsignal\hs.log"
schtasks /Run /TN HopSignal

الخطوة 1 مع Docker: تشغيل خادم الإشارة في حاوية

تشغّل الصورة hoptodesk/hopsignal خادم الإشارة نفسه على مضيفات Intel وAMD وARM. شغّلها بالحدود الموصى بها:

docker run -d --name hopsignal --restart unless-stopped -p 80:80 \
  -e HS_MAX_MESSAGE_KB=64 -e HS_QUEUE_LIMIT=256 -e HS_MAX_CONNS=20000 \
  -e HS_CONNS_PER_IP=100 -e HS_LOOKUPS_PER_IP=20 \
  -e HS_IDLE_TIMEOUT=300 -e HS_UPGRADE_TIMEOUT=10 \
  hoptodesk/hopsignal

كل قيمة HS_ تفعّل حدًا واحدًا: حجم الرسالة بالكيلوبايت، والرسائل المنتظرة لكل اتصال، والاتصالات المفتوحة، والاتصالات الجديدة وعمليات البحث لكل عنوان في الثانية، وثواني الخمول، وثواني المصافحة. إذا أهملت قيمة يبقى ذلك الحد معطلًا.

لربط الحاوية بحساب لوحة التحكم تلقائيًا، استخدم أمر Docker من Set up a private network في لوحة التحكم. يضيف HS_SETUP_TOKEN وHS_DASHBOARD_URL، ويبلّغ الخادم عن عنوانه مرة واحدة عند أول تشغيل.

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

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

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

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

netstat -an | find ":80 "

مع Docker، تحقق من الحاوية وسجلها:

docker ps --filter name=hopsignal
docker logs hopsignal

من أي حاسوب، اختبر منفذ 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. تحتوي قائمة 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/.config/hoptodesk. يستخدم التطبيق هذه النسخة في شاشة تسجيل الدخول، قبل أن يسجّل أي مستخدم دخوله.

الخيار 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 (Default).

على Android وiOS، افتح الإعدادات وأوقف Use HopToDesk Network في قسم الشبكة، ثم أدخل عنوان URL لملفك. يمكن للهواتف المُدارة عبر EMM أن تتلقى العنوان نفسه من خلال الإعداد المُدار custom_api_url.

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

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

خادم جديد: في لوحة التحكم، افتح الإعدادات، ثم Network Settings، ثم Set up a private network. اختر In my AWS account أو On my own server. يبلّغ الخادم عن عنوانه عند بدء التشغيل، ويحصل كل جهاز مرتبط على الإعدادات. لا شيء لكتابته.

خادم تشغّله بالفعل: أدخل إعداداته يدويًا.

  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 الخاصة به:

curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo 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. في إعدادات worker، أضف ربط Durable Object باسم group للفئة SessionGroup.
  5. عنوان Cloudflare Worker جاهز الآن. استخدمه كقيمة "rendezvousssl". api.json واجهة برمجة مخصصة

HopToDesk على AWS

  1. اشترك في HopToDesk Private Network في AWS Marketplace. القائمة مجانية، وتفرض AWS رسومًا على الخادم فقط. AWS Marketplace
  2. هل سجّلت الدخول إلى لوحة التحكم؟ افتح الإعدادات، ثم Network Settings، ثم Set up a private network واختر In my AWS account. رابط التشغيل يحتوي على الإعدادات جاهزة، ويبلّغ الخادم لوحة التحكم بنفسه، ويمكنك تخطي الخطوات التالية.
  3. اختر Launch with CloudFormation. نموذج واحد ينشئ الخادم وعنوانه الثابت وقواعد جدار الحماية الخاصة به في المنطقة التي تختارها.
  4. عند اكتمال الـ stack، افتح تبويب Outputs. يعرض ملف api.json الخاص بتطبيقاتك.
  5. احفظ ملف api.json هذا على كل جهاز كمبيوتر، أو أرسله إلى جميع الأجهزة من إعدادات الشبكة في لوحة التحكم. api.json

ملاحظة: يستخدم هذا العامل Durable Objects. تعتمد تكلفتها على خطة Cloudflare لديك وعلى الاستخدام. أسعار Durable Objects

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

هل تخطط لنشر باستضافة ذاتية؟ اطلب عرض سعر