تتوافق مفاتيح الوصول مع خيار "البادئة" (prefix) وذلك في الإصدار 1.9.0 من تطبيق "عميل Outline". و "البادئة" هي قائمة وحدات البايت المستخدَمة كأوّل وحدات بايت للقيمة العشوائية في اتصال Shadowsocks TCP. وهي تجعل الاتصال يبدو كبروتوكول مسموح به في الشبكة، ما يسمح بالتحايل على جدران الحماية التي ترفض البروتوكولات غير المعروفة.
متى يمكن تجربة هذا؟
إذا كنت تشكّ أنّ مستخدمي خادم Outline المنشور لا يزالون محظورين، يمكنك تجربة استخدام بادئات مختلفة.
التعليمات
يجب ألّا تزيد البادئة عن 16 بايت. وقد تُسبّب البادئات الطويلة تضارُبًا في القيم العشوائية ما يمكن أن يهدد سلامة التشفير ويتسبّب في إمكانية رصد الاتصالات. لذا يُنصح باستخدام أقصر بادئة ممكنة لتفادي احتمالية الحظر.
يجب أن يتوافق المنفذ الذي تستخدمه مع البروتوكول الذي تتظاهر به البادئة. لدى هيئة أرقام الإنترنت المخصّصة (IANA) قاعدة بيانات أرقام منافذ بروتوكولات النقل، وهي قاعدة تربط بين البروتوكولات وأرقام المنافذ.
إليك بعض الأمثلة على بادئات فعّالة تبدو مثل البروتوكولات الشائعة:
المنفذ المُقتَرح | بترميز JSON | بترميز عنوان URL | |
---|---|---|---|
طلب HTTP | 80 (HTTP) | "POST " |
POST%20 |
استجابة HTTP | 80 (HTTP) | "HTTP/1.1 " |
HTTP%2F1.1%20 |
طلب نظام أسماء النطاقات عبر TCP | 53 (نظام أسماء النطاقات) | "\u0005\u00DC\u005F\u00E0\u0001\u0020" |
%05%C3%9C_%C3%A0%01%20 |
TLS ClientHello | 443 (بروتوكول HTTPS)، 463 (بروتوكول نقل البريد البسيط SMTP)، 563 (بروتوكول نقل المقالات الإخبارية NNTP)، 636 (بروتوكول LDAP)، 989 (بروتوكول نقل الملفات والبيانات)، 990 (بروتوكول نقل الملفات)، 993 (بروتوكول IMAP)، 995 (بروتوكول POP3)، 5223 (بروتوكول Apple APN)، 5228 (بروتوكول متجر Play)، 5349 (بروتوكول TURNS) | "\u0016\u0003\u0001\u0000\u00a8\u0001\u0001" |
%16%03%01%00%C2%A8%01%01 |
بيانات تطبيق بروتوكول أمان طبقة النقل (TLS) | 443 (بروتوكول HTTPS)، 463 (بروتوكول نقل البريد البسيط SMTP)، 563 (بروتوكول نقل المقالات الإخبارية NNTP)، 636 (بروتوكول LDAP)، 989 (بروتوكول نقل الملفات والبيانات)، 990 (بروتوكول نقل الملفات)، 993 (بروتوكول IMAP)، 995 (بروتوكول POP3)، 5223 (بروتوكول Apple APN)، 5228 (بروتوكول متجر Play)، 5349 (بروتوكول TURNS) | "\u0013\u0003\u0003\u003F" |
%13%03%03%3F |
TLS ServerHello | 443 (بروتوكول HTTPS)، 463 (بروتوكول نقل البريد البسيط SMTP)، 563 (بروتوكول نقل المقالات الإخبارية NNTP)، 636 (بروتوكول LDAP)، 989 (بروتوكول نقل الملفات والبيانات)، 990 (بروتوكول نقل الملفات)، 993 (بروتوكول IMAP)، 995 (بروتوكول POP3)، 5223 (بروتوكول Apple APN)، 5228 (بروتوكول متجر Play)، 5349 (بروتوكول TURNS) | "\u0016\u0003\u0003\u0040\u0000\u0002" |
%16%03%03%40%00%02 |
بروتوكول النقل الآمن (SSH) | 22 (بروتوكول النقل الآمن SSH)، 830 (بروتوكول netconf-ssh)، 4334 (بروتوكول netconf-ch-ssh)، 5162 (بروتوكول snmpssh-trap) | "SSH-2.0\r\n" |
SSH-2.0%0D%0A |
مفاتيح الوصول الديناميكية
لاستخدام ميزة البادئة مع مفاتيح الوصول الديناميكية (ssconf://
)،
أضِف مفتاح "بادئة" (prefix) لعنصر JSON مع قيمة بترميز JSON
التي تمثل البادئة المطلوبة (اطّلِع على الأمثلة في الجدول أعلاه). ويمكنك
استخدام رموز إلغاء (مثل \u00FF) لتُمثل نقاط رموز يونيكود غير القابلة للطباعة في
النطاق من U+0
إلى U+FF
. على سبيل المثال:
{
"server": "example.com",
"server_port": 8388,
"password": "example",
"method": "chacha20-ietf-poly1305",
"prefix": "\u0005\u00DC\u005F\u00E0\u0001\u0020"
}
مفاتيح الوصول الثابتة
لاستخدام البادئات مع مفاتيح الوصول الثابتة (ss://)، ستحتاج إلى تعديل المفتاح الحالي قبل نشره. وإذا كنت قد أنشأت مفتاح وصول ثابت في السابق من خلال "مدير Outline"، ابحث عن بادئة بترميز عنوان URL (اطّلع على الأمثلة في الجدول أعلاه) وأضِفها على نهاية مفتاح الوصول كالتالي:
ss://Z34nthataITHiTNIHTohithITHbVBqQ1o3bkk@127.0.0.1:33142/?outline=1&prefix=<your url-encoded prefix goes here>
للمستخدمين المتقدّمين، يمكن استخدام وظيفة encodeURIComponent()
للمتصفح
لتحويل البادئة بترميز JSON إلى بادئة بترميز عنوان URL. ولتنفيذ هذا الإجراء،
افتح وحدة تحكُّم أداة فحص الويب
(*"المطوّر" > "وحدة تحكّم أداة فحص الويب لـ JavaScript" *على متصفّح Chrome)، ثم اكتب ما يلي:
encodeURIComponent("<your json-encoded prefix goes here>")
اضغط على مفتاح Enter. ستكون القيمة الناتجة هي النسخة *بترميز عنوان URL*. على سبيل المثال:
encodeURIComponent("\u0016\u0003\u0001\u0000\u00a8\u0001\u0001")
'%16%03%01%00%C2%A8%01%01'