Tor — sing-box
خروجی Tor در sing-box یک باینری Tor را بهعنوان یک فرآیند فرزند اجرا میکند و از طریق پورت SOCKS داخلی آن پراکسی میکند. گزینههای پروتکل در اینجا تنظیم میکنند که sing-box چگونه آن فرآیند را اجرا و هدایت میکند — Tor خودش باید جداگانه نصب شود.
خروجی
type: "tor":
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
executable_path | string | (PATH lookup) | <file path> | مسیر باینری Tor. وقتی تنظیم نشده باشد، sing-box PATH را برای `tor` جستجو میکند. |
extra_args | []string | [] | <arg> | آرگومانهای اضافی خط فرمان که هنگام اجرا به Tor منتقل میشوند. برای `--use-bridges`، `--ClientTransportPlugin` و غیره مفید است. |
data_directory | string | (temp dir) | <dir path> | دایرکتوری کاری Tor (توصیفگرهای کششده، اجماع، …). نگه داشتن آن بین راهاندازیها بوتاسترپ را سرعت میبخشد. |
torrc | map[string]string | {} | {<option>: <value>} | گزینههای درونخطی torrc که از طریق پروتکل کنترل Tor منتقل میشوند. کلیدهای استاندارد torrc مانند `ExcludeNodes`، `ExitNodes`، `StrictNodes` در اینجا کار میکنند. |
منبع: option/tor.go:3-9 · ثابتشده در v1.13.11 (553cfa1)
DialerOptions را برای سوکت زیرین درون خود جای میدهد — bind_interface، detour و غیره.
مثالها
حداقلی — اجازه دهید sing-box tor را روی PATH پیدا کند و از پیشفرضها استفاده کند:
json
{
"outbounds": [
{ "type": "tor", "tag": "tor" }
]
}باینری پینشده و دایرکتوری دادهٔ پایدار:
json
{
"outbounds": [
{
"type": "tor",
"tag": "tor-persistent",
"executable_path": "/usr/local/bin/tor",
"data_directory": "/var/lib/sing-box/tor",
"torrc": {
"ExitNodes": "{de},{nl}",
"StrictNodes": "1"
}
}
]
}با پلهای obfs4:
json
{
"outbounds": [
{
"type": "tor",
"tag": "tor-bridged",
"torrc": {
"UseBridges": "1",
"ClientTransportPlugin": "obfs4 exec /usr/bin/obfs4proxy",
"Bridge": "obfs4 1.2.3.4:443 ABCDEF... cert=... iat-mode=0"
}
}
]
}نکات
- باینری Tor در زمان اجرا الزامی است. sing-box آن را همراه ندارد. اکثر توزیعها
torرا بهعنوان یک پکیج عرضه میکنند؛ روی macOS از Homebrew استفاده کنید. data_directoryبهطور پیشفرض در زمان شروع یک دایرکتوری موقت تازه است. این کندترین راهاندازی ممکن است — هر اجرا اجماع را دوباره بوتاسترپ میکند. نگه داشتن این دایرکتوری چند ثانیه را در شروع ذخیره میکند.- کلیدهای
torrcاز طریق پروتکل کنترل Tor منتقل میشوند؛ مقدار باید دقیقاً همان رشتهای باشد که Tor انتظار دارد (بدون نقل قول خودکار). برای مقادیر چندخطی torrc، کلید را درextra_argsتکرار کنید. - این خروجی فیلد
networkندارد — خود Tor به UDP صحبت نمیکند، بنابراین خروجی بهطور تعریفی فقط TCP است.
نکات بینهستهای
- Xray-core خروجی Tor ندارد. راه حل این است که یک خروجی SOCKS را به پورت SOCKS سیستم Tor اشاره دهید. به Tor — Xray-core مراجعه کنید.
- mihomo خروجی Tor ندارد. به Tor — mihomo مراجعه کنید.
منبع: option/tor.go:3-9 · v1.13.11 (553cfa1)
