Snell — mihomo
Snell پروتکل پراکسی سبکوزنِ Surge است. mihomo هم یک خروجی Snell (برای اتصال به یک سرور Snell) و هم، بهتازگی، یک شنوندهٔ ورودی Snell (برای عملکردن بهعنوان یک سرور) را پیادهسازی میکند. هر دو سمت از لایهٔ مبهمسازی simple-obfs با حالتهای http یا tls پشتیبانی میکنند.
خروجی
ورودی زیر proxies: با type: snell. این BasicOption (فیلدهای مشترک خروجی) را در خود جای میدهد.
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
name | string | (required) | <string> | نام یکتای پراکسی. |
server | string | (required) | <host> | نام میزبان یا IP سرور بالادست. |
port | int | (required) | <port> | پورت سرور بالادست. |
psk | string | (required) | <string> | کلید پیشمشترک (گذرواژه). |
udp | bool | false | true | false | فعالسازی بازپخش UDP (در Snell نسخهٔ ۲ به بعد). |
version | int | (server default) | 1 | 2 | 3 | نسخهٔ پروتکل Snell. |
reuse | bool | false | true | false | استفادهٔ مجدد از اتصالات زیرین. |
obfs-opts | map[string]any | (disabled) | { mode, host } | گزینههای مبهمسازی، مثلاً `{ mode: http|tls, host: <host> }`. |
منبع: adapter/outbound/snell.go:26-36 · ثابتشده در v1.19.27 (5184081)
ورودی
ورودی زیر listeners: با type: snell. این BaseOption را در خود جای میدهد (listen، port).
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
psk | string | (required) | <string> | کلید پیشمشترک (گذرواژه). |
version | int | (server default) | 1 | 2 | 3 | نسخهٔ پروتکل Snell. |
udp | bool | false | true | false | فعالسازی بازپخش UDP (در Snell نسخهٔ ۲ به بعد). |
obfs-opts | SnellObfsOption | (disabled) | SnellObfsOption | گزینههای مبهمسازی. |
منبع: listener/inbound/snell.go:12-18 · ثابتشده در v1.19.27 (5184081)
obfs-opts
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
mode | string | (unset) | http | tls | حالت مبهمسازی. |
host | string | (unset) | <host> | هدر host مبهمسازی. |
منبع: listener/inbound/snell.go:24-27 · ثابتشده در v1.19.27 (5184081)
مثالها
خروجی — Snell ساده:
proxies:
- name: snell-srv
type: snell
server: example.com
port: 44046
psk: <pre-shared-key>
version: 3
udp: trueخروجی — Snell با مبهمسازی HTTP:
proxies:
- name: snell-obfs
type: snell
server: example.com
port: 44046
psk: <pre-shared-key>
version: 3
obfs-opts:
mode: http
host: bing.comورودی زیر listeners:
listeners:
- name: snell-in
type: snell
listen: 0.0.0.0
port: 44046
psk: <pre-shared-key>
version: 3
udp: true
obfs-opts:
mode: tls
host: bing.comنکات
pskراز مشترک است؛ خروجی و ورودی باید از همان مقدار استفاده کنند.- بازپخش UDP به Snell نسخهٔ ۲ یا جدیدتر نیاز دارد — فعالکردن
udpروی یک همتای نسخهٔ ۱ رد میشود. reuse(فقط خروجی) از اتصال زیرین مجدداً استفاده میکند. این برای Snell نسخهٔ ۲ بهطور ضمنی اعمال میشود؛ برای نسخهٔ ۴ از طریق این فیلد انتخابی است.obfs-opts.modeترابرد simple-obfs را انتخاب میکند:httpجریان را در یک درخواست HTTP جعلی میپیچد،tlsآن را در یک رکورد TLS جعلی میپیچد. مقدارhostهدر host مبهمسازی را تنظیم میکند. برای نبودِ مبهمسازی،obfs-optsرا تنظیمنشده بگذارید. هر دو سمت باید بر سر حالت و host توافق کنند.
نکات بینهستهای
- Snell مخصوص Surge است. نه Xray-core و نه sing-box از آن پشتیبانی میکنند — در هیچیک از این دو هسته خروجی یا ورودی معادلی وجود ندارد.
منبع: adapter/outbound/snell.go:26-36 · v1.19.27 (5184081)
