আউটলাইন ক্লায়েন্ট সংস্করণ 1.9.0 অনুসারে, অ্যাক্সেস কীগুলি "প্রিফিক্স" বিকল্পকে সমর্থন করে। "উপসর্গ" হল শ্যাডোসকস সংযোগের লবণের প্রথম বাইট হিসাবে ব্যবহৃত বাইটের একটি তালিকা। এটি সংযোগটিকে একটি প্রোটোকলের মতো দেখাতে পারে যা নেটওয়ার্কে অনুমোদিত, ফায়ারওয়ালগুলিকে ফাঁকি দেয় যা তারা চিনতে পারে না এমন প্রোটোকলগুলিকে প্রত্যাখ্যান করে৷
আমি কখন এই চেষ্টা করা উচিত?
আপনি যদি সন্দেহ করেন যে আপনার আউটলাইন স্থাপনার ব্যবহারকারীদের এখনও অবরুদ্ধ করা হচ্ছে, আপনি কয়েকটি ভিন্ন উপসর্গ ব্যবহার করার কথা বিবেচনা করতে পারেন।
নির্দেশনা
উপসর্গটি 16 বাইটের বেশি হওয়া উচিত নয়। দীর্ঘ উপসর্গ লবণ সংঘর্ষের কারণ হতে পারে, যা এনক্রিপশন নিরাপত্তার সাথে আপস করতে পারে এবং সংযোগ সনাক্ত করতে পারে। আপনি যে অবরোধের মুখোমুখি হচ্ছেন তা বাইপাস করতে আপনি যত ছোট উপসর্গ ব্যবহার করতে পারেন তা ব্যবহার করুন।
আপনি যে পোর্টটি ব্যবহার করেন সেটি আপনার প্রিফিক্সের ভান করা প্রোটোকলের সাথে মেলে। IANA একটি পরিবহন প্রোটোকল পোর্ট নম্বর রেজিস্ট্রি রাখে যা প্রোটোকল এবং পোর্ট নম্বর ম্যাপ করে।
কার্যকর TCP উপসর্গের কিছু উদাহরণ যা সাধারণ প্রোটোকলের মতো দেখায়:
প্রস্তাবিত পোর্ট | YAML-এনকোডেড | ইউআরএল-এনকোড করা | |
---|---|---|---|
HTTP অনুরোধ | 80 (http) | "POST " | POST%20 |
HTTP প্রতিক্রিয়া | 80 (http) | "HTTP/1.1 " | HTTP%2F1.1%20 |
DNS-ওভার-TCP অনুরোধ | 53 (dns) | "\u0005\u00DC\u005F\u00E0\u0001\u0020" | %05%C3%9C_%C3%A0%01%20 |
TLS ক্লায়েন্টহ্যালো | 443 (https), 463 (smtps), 563 (nntps), 636 (ldaps), 989 (ftps-data), 990 (ftps), 993 (imaps), 995 (pop3s), 5223 (Apple APN), 5228 (Play Store) (4turns), 53 | "\u0016\u0003\u0001\u0000\u00a8\u0001\u0001" | %16%03%01%00%C2%A8%01%01 |
TLS অ্যাপ্লিকেশন ডেটা | 443 (https), 463 (smtps), 563 (nntps), 636 (ldaps), 989 (ftps-data), 990 (ftps), 993 (imaps), 995 (pop3s), 5223 (Apple APN), 5228 (Play Store) (4turns), 53 | "\u0013\u0003\u0003\u003F" | %13%03%03%3F |
TLS সার্ভারহ্যালো | 443 (https), 463 (smtps), 563 (nntps), 636 (ldaps), 989 (ftps-data), 990 (ftps), 993 (imaps), 995 (pop3s), 5223 (Apple APN), 5228 (Play Store) (4turns), 53 | "\u0016\u0003\u0003\u0040\u0000\u0002" | %16%03%03%40%00%02 |
এসএসএইচ | 22 (ssh), 830 (netconf-ssh), 4334 (netconf-ch-ssh), 5162 (snmpssh-ট্র্যাপ) | "SSH-2.0\r\n" | SSH-2.0%0D%0A |
কার্যকর UDP উপসর্গের কিছু উদাহরণ যা সাধারণ প্রোটোকলের মতো দেখায়:
প্রস্তাবিত পোর্ট | YAML-এনকোডেড | |
---|---|---|
DNS অনুরোধ | 53 (dns) | "\u006b\u007b\u0001\u0020" (দ্রষ্টব্য: প্রথম দুটি বাইট এলোমেলো করুন) |
DNS প্রতিক্রিয়া | 53 (dns) | "\u006b\u007b\u0081\u00a0\u0000\u0001" (দ্রষ্টব্য: প্রথম দুটি বাইট এলোমেলো করুন) |
QUIC ক্লায়েন্ট প্রাথমিক | 443 (https) | "\u00cd\u0000\u0000\u0000\u0001" |
ডায়নামিক অ্যাক্সেস কী
ডায়নামিক অ্যাক্সেস কী ( ssconf://
) এর সাথে উপসর্গ বৈশিষ্ট্যটি ব্যবহার করতে, YAML অবজেক্টে একটি "প্রিফিক্স" কী যোগ করুন, একটি YAML-এনকোডেড মান সহ আপনার উপসর্গটি প্রতিনিধিত্ব করে_ (উপরের টেবিলে উদাহরণগুলি দেখুন)_। আপনি U+0
থেকে U+FF
পরিসরে অ-মুদ্রণযোগ্য ইউনিকোড কোডপয়েন্টগুলিকে উপস্থাপন করতে এস্কেপ কোড (যেমন \u00FF) ব্যবহার করতে পারেন। যেমন:
transport:
$type: tcpudp
tcp:
<<: &shared
$type: shadowsocks
endpoint: 147.182.248.224:20478
secret: cqXYJ2BtMyNHneQHjpIXyg
cipher: chacha20-ietf-poly1305
prefix: "\u0013\u0003\u0003\u003F"
udp:
<<: *shared
prefix: "\u006b\u007b\u0001\u0020"
স্ট্যাটিক অ্যাক্সেস কী
স্ট্যাটিক অ্যাক্সেস কী (ss://) এর সাথে উপসর্গ ব্যবহার করতে, এটি বিতরণ করার আগে আপনাকে আপনার বিদ্যমান কী সংশোধন করতে হবে। আপনার কাছে যদি আউটলাইন ম্যানেজার দ্বারা তৈরি একটি স্ট্যাটিক অ্যাক্সেস কী থাকে, তাহলে আপনার উপসর্গের একটি URL-এনকোড করা সংস্করণ নিন (উপরের সারণীতে এর উদাহরণগুলি দেখুন) এবং এটিকে অ্যাক্সেস কী এর শেষে যুক্ত করুন:
ss://Z34nthataITHiTNIHTohithITHbVBqQ1o3bkk@127.0.0.1:33142/?outline=1&prefix=<your url-encoded prefix goes here>
URL বিন্যাসে উপসর্গ শুধুমাত্র TCP সংযোগের জন্য কাজ করে।
উন্নত ব্যবহারকারীদের জন্য, আপনি আপনার JSON-এনকোড করা উপসর্গটিকে একটি URL-এনকোডেড উপসর্গে রূপান্তর করতে আপনার ব্রাউজারের encodeURIComponent()
ফাংশন ব্যবহার করতে পারেন। এটি করার জন্য, আপনার ওয়েব ইন্সপেক্টর কনসোল খুলুন (*ডেভেলপার> জাভাস্ক্রিপ্ট ওয়েব কনসোল *ক্রোমে), এবং নিম্নলিখিতটি টাইপ করুন:
encodeURIComponent("<your json-encoded prefix goes here>")
এন্টার টিপুন। উত্পাদিত মানটি হবে *URL-এনকোডেড *সংস্করণ। যেমন:
encodeURIComponent("\u0016\u0003\u0001\u0000\u00a8\u0001\u0001")
'%16%03%01%00%C2%A8%01%01'