تونلها
TunnelConfig
تونل بالاترین سطح شیء در پیکربندی Outline است. نشان میدهد چطور باید ویپیان پیکربندی شود.
قالب: ExplicitTunnelConfig | LegacyShadowsocksConfig | LegacyShadowsocksURI
ExplicitTunnelConfig
قالب: ساختار
فیلدها:
-
transport
(TransportConfig): حملونقلی که برای تبادل بستهها با مقصدِ هدفیابیشده استفاده میشود -
error
(ساختار): اطلاعاتی که برای مراوده با کاربر استفاده میشود، درصورتیکه خطای سرویس (مثل منقضی شدن کلید، مصرف بیشازحد سهمیه) اتفاق بیفتد-
message
(رشته): پیام کاربرپسندی که برای نمایش داده شدن به کاربر است -
details
(رشته): پیامی برای نمایش داده شدن به کاربر وقتی جزئیات خطا را باز میکند. برای عیبیابی مفید است.
-
فیلدهای error
و transport
بهصورت متقابل انحصاریاند.
نمونه موفق:
transport:
$type: tcpudp
tcp:
... # Stream Dialer for TCP
udp:
... # Packet Listener for UDP
نمونه خطا:
error:
message: Quota exceeded
details: Used 100GB out of 100GB
حملونقلها
TransportConfig
مشخص میکند چطور بستهها باید با مقصد هدفیابیشده تبادل شوند.
قالب: میانا
انواع میاناهای پشتیبانیشده:
-
tcpudp
: TCPUDPConfig
TCPUDPConfig
TCPUDPConfig اجازه میدهد تا راهبردهای TCP و UDP بهطور جداگانه تنظیم شوند.
قالب: ساختار
فیلدها:
-
tcp
(DialerConfig): «شمارهگیر جاریسازی» برای استفاده برای اتصالات TCP. -
udp
(PacketListenerConfig): «شنونده بسته» برای استفاده با بستههای UDP.
نمونه ارسال TCP و UDP به نقطههای پایانی مختلف:
tcp:
$type: shadowsocks
endpoint: ss.example.com:80
<<: &cipher
cipher: chacha20-ietf-poly1305
secret: SECRET
prefix: "POST "
udp:
$type: shadowsocks
endpoint: ss.example.com:53
<<: *cipher
نقطههای پایانی
نقطههای پایانی اتصالات به نقطه پایانی ثابتی را تبیین میکنند. «شمارهگیرها» در اولویت هستند زیرا به بهینهسازیهای نقطه پایانی خاص اجازه میدهند. نقطههای پایانی «جاریسازی» و «بسته» وجود دارند.
EndpointConfig
قالب: رشته | میانا
نقطه پایانی رشته عبارت از نشانی «میزبان:درگاه» مربوط به نقطه پایانی انتخابی است. اتصال بااستفاده از «شمارهگیر» پیشفرض تبیین شد.
انواع میانای پشتیبانیشده برای نقاط پایانی جریانسازی و بسته:
-
dial
: DialEndpointConfig -
first-supported
: FirstSupportedConfig -
websocket
: WebsocketEndpointConfig -
shadowsocks
: ShadowsocksConfig
DialEndpointConfig
اتصالات را با شمارهگیری یک نشانی ثابت تبیین میکند. میتواند شمارهگیری را بگیرد که اجازه میدهد راهبردها نوشته شود.
قالب: ساختار
فیلدها:
-
address
(رشته): نشانی نقطه پایان برای شمارهگیری -
dialer
(DialerConfig): شمارهگیر برای استفاده در شمارهگیری نشانی
WebsocketEndpointConfig
تونلها ازطریق Websockets اتصالات را برای نقطه پایانی جاریسازی و بستهبندی میکنند.
برای جاریسازی اتصالات، هر نوشته به پیام Websockets تبدیل میشود. برای اتصالات بسته، هر بسته به پیام Websockets تبدیل میشود.
قالب: ساختار
فیلدها:
-
url
(رشته): نشانی وب برای نقطه پایانی Websockets. طرحواره بایدhttps
یاwss
برای Websockets ازطریق «امنیت لایه انتقال» باشد وhttp
یاws
برای متن ساده Websocket باشد. -
endpoint
(EndpointConfig): سرور وب نقطه پایانی به اتصال به. اگر وجود نداشته باشد، به نشانی مشخصشده در این نشانی وب متصل میشود.
شمارهگیرها
شمارهگیرها اتصالاتی را که به نشانی نقطه پایان داده شده است تبیین میکنند. شمارهگیرهای جاریسازی و بسته وجود دارد.
DialerConfig
قالب: تهی | میانا
شمارهگیر تهی (غایب) یعنی «شمارهگیر» پیشفرضی که از اتصالات مستقیم TCP برای «جریانسازی» و از اتصالات مستقیم UDP برای «بستهها» استفاده میکند.
انواع میانای پشتیبانیشده برای شمارهگیرهای جریانسازی و بسته:
-
first-supported
: FirstSupportedConfig -
shadowsocks
: ShadowsocksConfig
شنوندگان بسته
«شنونده بسته» اتصال بسته نامحدودی را تبیین میکند که میتواند برای ارسال بستهها به چندین مقصد استفاده شود.
PacketListenerConfig
قالب: تهی | میانا
«شنونده بسته» تهی (غایب) یعنی «شنونده بسته» پیشفرضی که «شنونده بسته UDP» است.
انواع میاناهای پشتیبانیشده:
-
first-supported
: FirstSupportedConfig -
shadowsocks
: ShadowsocksPacketListenerConfig
راهبردها
Shadowsocks
LegacyShadowsocksConfig
LegacyShadowsocksConfig معرف تونلی است که از Shadowsocks بهعنوان حملونقل استفاده میکند. و قالب قدیمی را برای سازگاری با نسخه قدیمی اجرا میکند.
قالب: ساختار
فیلدها:
-
server
(رشته): میزبانی است برای اتصال به -
server_port
(شماره): شماره درگاهی است برای اتصال به -
method
(رشته): رمز AEAD برای استفاده -
password
(رشته): برای تولید کلید رمزگذاری استفاده میشود -
prefix
(رشته): مبدل شدن پیشوند برای استفاده. در جاریسازی و اتصالهای بستهای پشتیبانی شده است.
نمونه:
server: example.com
server_port: 4321
method: chacha20-ietf-poly1305
password: SECRET
prefix: "POST "
LegacyShadowsocksURI
LegacyShadowsocksURI معرف تونلی است که از Shadowsocks بهعنوان حملونقل استفاده میکند. و قالب قدیمی نشانی وب را برای سازگاری با نسخه قدیمی اجرا میکند.
قالب: رشته
قالب نشانی وب قدیمی Shadowsocks و طرح نشانی وب SIP002 را ببینید. افزایهها را پشتیبانی نمیکنیم.
نمونه:
ss://chacha20-ietf-poly1305:SECRET@example.com:443?prefix=POST%20
ShadowsocksConfig
ShadowsocksConfig میتواند نماینده «شمارهگیرهای جاریسازی یا بسته» باشد و همچنین شنونده بستهای که از Shadowsocks استفاده میکند.
قالب: ساختار
فیلدها:
-
endpoint
(EndpointConfig): نقطه پایانی Shadowsocks به اتصال به -
cipher
(رشته): رمز AEAD برای استفاده -
secret
(رشته): برای تولید کلید رمزگذاری استفاده میشود -
prefix
(رشته، اختیاری): مبدل شدن پیشوند برای استفاده. در جاریسازی و اتصالهای بستهای پشتیبانی شده است.
نمونه:
endpoint: example.com:80
cipher: chacha20-ietf-poly1305
secret: SECRET
prefix: "POST "
تعریفهای متا
FirstSupportedConfig
از اولین پیکربندیای که این برنامه پشتیبانی میکند استفاده میکند. این کار راهی است برای ترکیب کردن پیکربندیهای جدید وقتی نسخه قدیمی دارد با پیکربندیهای قدیمی سازگار میشود.
قالب: ساختار
فیلدها:
-
options
(EndpointConfig[] | DialerConfig[] | PacketListenerConfig[]): فهرست گزینهها برای درنظر گرفتن
نمونه:
options:
- $type: websocket
url: wss://example.com/SECRET_PATH
- ss.example.com:4321
میانا
میاناها اجازه میدهند تا یکی از چندین اجراها انتخاب شوند. میانا برای مشخص کردن نوعی که پیکربندی ارائه میکند، از فیلد
$type
استفاده میکند.
نمونه:
$type: shadowsocks
endpoint: example.com:4321
cipher: chacha20-ietf-poly1305
secret: SECRET