إنتقل إلى المحتوى الرئيسي

إعدادات Shadowsocks-over-WebSocket

الإصدار 1.15.0 من تطبيق "عميل Outline" والإصدارات الأحدث

يقدِّم هذا الدليل التوجيهي جولة تفصيلية لتوضيح كيفية تطبيق إعدادات Shadowsocks-over-WebSocket، وهي تقنية فعّالة لتفادي الرقابة في البيئات التي يتم فيها حظر اتصالات Shadowsocks. ومن خلال تغليف زيارات بروتوكولات Shadowsocks ببروتوكولات WebSocket، يمكنك إخفاء هذه الزيارات كأنّها زيارات عادية لمواقع ويب ، ما يعزِّز المرونة وتسهيل الاستخدام.

الخطوة 1: ضبط خادم Outline وتشغيله

عليك إنشاء ملف config.yaml جديد بالإعدادات التالية:

web:
servers:
- id: server1
listen: 127.0.0.1:<WEB_SERVER_PORT>

services:
- listeners:
- type: websocket-stream
web_server: server1
path: /<TCP_PATH>
- type: websocket-packet
web_server: server1
path: /<UDP_PATH>
keys:
- id: 1
cipher: chacha20-ietf-poly1305
secret: <SHADOWSOCKS_SECRET>

يجب تنزيل وتشغيل outline-ss-server الأحدث باستخدام الإعدادات التي تم إنشاؤها:

outline-ss-server -config=config.yaml

الخطوة 2: السماح بالوصول إلى خادم الويب

لجعل خادم ويب WebSocket متاحًا للجميع، يجب السماح بالوصول إليه على الإنترنت وضبط بروتوكول أمان طبقة النقل (TLS). ولديك عدة خيارات لتنفيذ هذا الإجراء، منها استخدام خادم ويب محلي مثل Caddy أو nginx أو Apache مع التأكّد من توفُّر شهادة بروتوكول TLS سارية، أو استخدام خدمة اتصال نفَقي مثل Cloudflare Tunnel أو ngrok.

مثال على استخدام خدمة TryCloudflare

في هذا المثال، سنستخدم خدمة TryCloudflare في إنشاء اتصال نفَقي سريع. ويوفِّر هذا طريقة سهلة وآمنة للسماح بالوصول إلى خادم الويب المحلي بدون فتح منافذ على الشبكة للاتصالات الواردة.

  1. يجب تنزيل وتثبيت cloudflared.

  2. عليك إنشاء اتصال نفَقي يشير إلى منفذ خادم الويب المحلي:

cloudflared tunnel --url http://127.0.0.1:<WEB_SERVER_PORT>

سيقدّم Cloudflare نطاقًا فرعيًا (مثل: acids-iceland-davidson-lb.trycloudflare.com) للوصول إلى نقطة نهاية بروتوكول WebSocket والتعامل تلقائيًا مع بروتوكول TLS. يُرجى الاحتفاظ بهذا النطاق الفرعي؛ لأنّك ستحتاجه بعد ذلك.

الخطوة 3: إنشاء مفتاح وصول ديناميكي

عليك إنشاء ملف YAML يتضمّن مفتاح وصول يمكن استخدامه في تطبيق "عميل Outline" للمستخدمين باستخدام تنسيق إعدادات مفاتيح الوصول، ثمّ تضمين نقاط نهاية WebSocket التي تم ضبطها سابقًا في جهة الخادم:

transport:
$type: tcpudp

tcp:
$type: shadowsocks

endpoint:
$type: websocket
url: wss://<DOMAIN>/<TCP_PATH>
cipher: chacha20-ietf-poly1305
secret: <SHADOWSOCKS_SECRET>

udp:
$type: shadowsocks

endpoint:
$type: websocket
url: wss://<DOMAIN>/<UDP_PATH>
cipher: chacha20-ietf-poly1305
secret: <SHADOWSOCKS_SECRET>

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

الخطوة 4: الربط بتطبيق "عميل Outline"

يجب استخدام أحد تطبيقات عميل Outline الرسمية (الإصدار 1.15.0 والإصدارات الأحدث) ثم إضافة مفتاح الوصول الديناميكي المُنشأ حديثًا ليعمل كإدخال للخادم. عليك النقر على ربط لبدء الاتصال النفَقي بخادمك باستخدام الإعداد Shadowsocks-over-Websocket.

يمكنك استخدام أداة مثل IPInfo للتأكّد من أنّه يتم حاليًا تصفُّح الإنترنت من خلال خادم Outline الخاص بك.