کلیدهای دسترسی پویا

‫Outline دو نوع کلید دسترسی ارائه می‌دهد: ثابت و پویا. در کدبندی کلیدهای ثابت همه اطلاعاتِ اتصال درون خود کد است، درحالی‌که در کدبندی کلیدهای پویا مکان اطلاعات اتصال به شما اجازه می‌دهد تا آن اطلاعات را در جایی دورتر ذخیره کنید و درصورت نیاز، آن را تغییر دهید. این یعنی می‌توانید پیکربندی سرور خود را به‌روز کنید، بدون اینکه مجبور باشید کلیدهای جدیدی تولید کنید و میان کاربرانتان توزیع کنید. این سند توضیح می‌دهد برای تعامل انعطاف‌پذیرتر و کارآمدتر با سرور Outline خودتان، چطور از کلیدهای دسترسی پویا استفاده کنید.

برای معین کردن اطلاعات دسترسی که توسط کلیدهای دسترسی پویای شما استفاده می‌شود، سه قالب وجود دارد:

کارخواه Outline نسخه ۱.۸.۱ به بالا.

می‌توانید مستقیماً از پیوند ss:// کنونی استفاده کنید. این روش وقتی ایده‌آل است که به تغییر دادن مرتب سرور، درگاه، یا روش رمزگذاری‌تان نیازی نداشته باشید ولی هنوز بخواهید برای به‌روز کردن نشانی سرور انعطاف‌پذیری داشته باشید.

نمونه:

ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpleGFtcGxl@outline-server.example.com:8388/?outline=1

استفاده از شیء JSON

کارخواه Outline نسخه ۱.۸.۰ به بالا.

این روش برای مدیریت کردن همه نمودهای اتصال کاربران Outline انعطاف‌پذیری بیشتری را ارائه می‌دهد. با این روش می‌توانید سرور، درگاه، گذرواژه، و روش رمزگذاری را به‌روز کنید.

نمونه:

{
  "server": "outline-server.example.com",
  "server_port": 8388,
  "password": "example",
  "method": "chacha20-ietf-poly1305"
}
  • سرور: دامنه یا نشانی IP مربوط به سرور وی‌پی‌ان.
  • ‫server_port: شماره درگاهی که سرور وی‌پی‌ان شما در آن اجرا می‌شود.
  • گذرواژه: گذرواژه‌ای که برای اتصال به وی‌پی‌ان لازم است.
  • روش: روش رمزگذاری استفاده‌شده توسط وی‌پی‌ان. به Shadowsocks که رمزهای AEAD را پشتیبانی می‌کند ارجاع دهید.

استفاده از شیء YAML

کارخواه Outline نسخه ۱.۱۵.۰ به بالا.

این روش شبیه روش JSON قبلی است اما با قدرت نفوذ قالب پیکربندی پیشرفته Outline، انعطاف‌پذیری بیشتری به آن اضافه شده است. با این روش می‌توانید سرور، درگاه، گذرواژه، روش رمزگذاری، و موارد بسیار بیشتری را به‌روز کنید.

نمونه:

transport:
  $type: tcpudp
  tcp:
    $type: shadowsocks
    endpoint: outline-server.example.com:8388
    cipher: chacha20-ietf-poly1305
    secret: example
  udp:
    $type: shadowsocks
    endpoint: outline-server.example.com:8388
    cipher: chacha20-ietf-poly1305
    secret: example
  • حمل‌ونقل: پروتکل‌های حمل‌ونقلی را که استفاده می‌شوند تعریف می‌کند (در این حالت، TCP و UDP).
  • ‫tcp/udp: پیکربندی را برای هر پروتکل مشخص می‌کند.
    • ‫$نوع: نوع پیکربندی را مشخص می‌کند، در اینجا Shadowsocks است.
    • نقطه پایانی: دامنه یا نشانی IP و درگاه مربوط به سرور وی‌پی‌ان شما است.
    • راز: گذرواژه‌ای که برای اتصال به وی‌پی‌ان لازم است.
    • رمز: روش رمزگذاری استفاده‌شده توسط وی‌پی‌ان. به Shadowsocks که رمزهای AEAD را پشتیبانی می‌کند ارجاع دهید.

پیکربندی کلید دسترسی را ببینید تا درباره راه‌هایی که می‌توانید دسترسی به سرور Outline خود را پیکربندی کنید، ازجمله حمل‌ونقل، نقطه‌های پایانی، شماره‌گیرها، و شنوندگان بسته اطلاعاتی کسب کنید.

استخراج اطلاعات دسترسی از «کلید ثابت»

اگر فعلاً کلید دسترسی ثابت دارید، می‌توانید اطلاعات آن را استخراج کنید تا کلید دسترسی پویایی برپایه JSON یا YAML بسازید. کلیدهای دسترسی ثابت از الگوی زیر پیروی می‌کنند:

SS-URI = "ss://" userinfo "@" hostname ":" port [ "/" ] [ "#" tag ]
userinfo = websafe-base64-encode-utf8(method  ":" password)
           method ":" password

نمونه:

ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpleGFtcGxl@outline-server.example.com:8388/?outline=1

انتخاب پلاتفرم میزبانی

اکنون که با چگونگی ساختن کلیدهای دسترسی پویا آشنا شدید، مهم است که پلاتفرم میزبانی مناسبی را برای پیکربندی کلید دسترسی‌تان انتخاب کنید. وقتی این تصمیم را می‌گیرید، به عواملی مثل قابل‌اعتماد بودن، امنیت، سادگی استفاده، و مقاومت دربرابر سانسور پلاتفرم توجه کنید. آیا این پلاتفرم اطلاعات کلید دسترسی شما را همواره و بدون زمان آکار ارائه می‌دهد؟ آیا معیارهای امنیتی مناسبی برای محافظت از پیکربندی شما ارائه می‌دهد؟ مدیریت اطلاعاتی کلیدهای دسترسی‌تان در این پلاتفرم چقدر آسان است؟ آیا این پلاتفرم در مناطقی با اینترنت سانسورشده دسترس‌پذیر است؟

برای موقعیت‌هایی که دسترسی به اطلاعات ممکن است محدودشده باشد، میزبانی در پلاتفرم‌های مقاوم به سانسور را درنظر بگیرید مثل Google Drive،‏ pad.riseup.net،‏ Amazon S3 (با دسترسی سبک مسیر)، Netlify، یا GitHub secret gists. نیازهای خاص به‌کاراندازی‌تان را ارزیابی کنید و پلاتفرمی را انتخاب کنید که با الزامات شما برای دسترس‌پذیری و امنیت تطابق داشته باشد.