MEEK-CLIENT(1)   MEEK-CLIENT(1)

meek-client - افزونه انتقال کلاینت برای meek

meek-client [OPTIONS]

دستور meek-client یک افزونه انتقال (transport plugin) برای تور (Tor) است که یک جریان داده را به صورت توالی‌ای از درخواست‌ها و پاسخ‌های HTTP کدگذاری می‌کند. این ابزار دارای گزینه url برای کنترل سرور مقصد درخواست‌ها و گزینه front برای استتار نام دامنه (domain fronting) است: نام دامنه در URL قبل از ارسال درخواست با دامنه صوری (front) جایگزین می‌شود، اما هدر Host درون درخواست HTTP همچنان به دامنه اصلی اشاره می‌کند. هدف این است که از طریق دامنه‌ای که مسدود نیست، ارتباط به سوی دامنه‌ای که مسدود شده هدایت شود.

پیکربندی meek-client معمولاً در یک فایل torrc انجام می‌شود.

گزینه‌های مربوط به هر پل (Bridge) با استفاده از آرگومان‌های SOCKS (جفت‌های کلید=مقدار در یک خط Bridge) پیکربندی می‌شوند. آرگومان‌های ممکن SOCKS عبارتند از:

url=URL (لازم است)

نشانی اینترنتی (URL) یک نمونه meek-server. بخش نام دامنه معمولاً با مقدار موجود در آرگومان front پنهان می‌شود.

front=DOMAIN

نام دامنه صوری (Front). در صورت ارائه، این نام دامنه جایگزین نام دامنهٔ url در درخواست DNS و فیلد TLS SNI خواهد شد. نام دامنهٔ واقعی URL همچنان در هدر Host درخواست‌های HTTP درج خواهد شد.

utls=CLIENTHELLOID

استفاده از کتابخانهٔ uTLS با اثر انگشت TLS مشخص‌شده برای استتار TLS. این آرگومان با گزینه خط فرمان --helper ناسازگار است. مقادیر ممکن برای CLIENTHELLOID عبارتند از:
•HelloRandomizedALPN
•HelloRandomizedNoALPN
•HelloFirefox_55
•HelloFirefox_56
•HelloFirefox_63
•HelloFirefox_65
•HelloFirefox_99
•HelloFirefox_102
•HelloFirefox_105
•HelloFirefox_Auto = HelloFirefox_105
•HelloChrome_58
•HelloChrome_62
•HelloChrome_70
•HelloChrome_72
•HelloChrome_83
•HelloChrome_87
•HelloChrome_96
•HelloChrome_100
•HelloChrome_102
•HelloChrome_Auto = HelloChrome_102
•HelloIOS_11_1
•HelloIOS_12_1
•HelloIOS_13
•HelloIOS_14
•HelloIOS_Auto = HelloIOS_14
•HelloEdge_85
•HelloEdge_Auto = HelloEdge_85
•HelloSafari_16_0
•HelloSafari_Auto = HelloSafari_16_0
•Hello360_7_5
•Hello360_Auto = Hello360_7_5
•HelloQQ_11_1
•HelloQQ_Auto = HelloQQ_11_1

به عنوان یک حالت خاص، مقادیر «none» و «HelloGolang» به عنوان نام‌های مستعار برای حذف آرگومان SOCKS به نام utls شناخته می‌شوند؛ یعنی استفاده از TLS بومی Go.

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

Bridge meek 0.0.2.0:1 url=https://forbidden.example front=allowed.example
ClientTransportPlugin meek exec ./meek-client

مشابه این پیکربندی با استفاده از گزینه‌های خط فرمان است:

Bridge meek 0.0.2.0:1
ClientTransportPlugin meek exec ./meek-client --url=https://forbidden.example --front=allowed.example

آرگومان‌های SOCKS نسبت به گزینه‌های خط فرمان ارجحیت دارند، چرا که به شما اجازه می‌دهند چندین خط Bridge با تنظیمات مختلف داشته باشید. اگر یک آرگومان SOCKS و یک گزینه خط فرمان هر دو برای یک تنظیم یکسان مشخص شوند، آرگومان SOCKS اولویت دارد.

گزینه عمومی --helper مانع از انجام هرگونه عملیات شبکه توسط خود meek-client می‌شود. در عوض، همه درخواست‌ها را از طریق یک افزونه مرورگر ارسال می‌کند که باید به طور جداگانه راه‌اندازی شود.

یک پروکسی سراسری (قابل اعمال بر روی تمامی خطوط Bridge) را می‌توان با گزینه‌های ویژه torrc پیکربندی کرد:

Socks4Proxy localhost:1080
Socks5Proxy localhost:1080
Socks5ProxyUsername username
Socks5ProxyPassword password
HTTPSProxy localhost:8080
HTTPSProxyAuthenticator username:password

یا به طور معادل، با استفاده از گزینه خط فرمان --proxy. گزینه خط فرمان اولویت دارد.

هنگامی که از گزینه --helper استفاده می‌شود، می‌توانید از پروکسی‌های نوع http، socks4a یا socks5 استفاده کنید، اما امکان استفاده از نام کاربری یا رمز عبور به همراه پروکسی وجود ندارد. بدون --helper، می‌توانید از پروکسی‌های نوع http، https یا socks5 استفاده کنید و می‌توانید در صورت تمایل، نام کاربری و رمز عبور نیز تعیین کنید.

--front=DOMAIN

نام دامنه صوری (Front). ترجیح داده می‌شود به جای استفاده از این گزینه خط فرمان، از آرگومان SOCKS به نام front در یک خط bridge استفاده شود.

--helper=ADDRESS

نشانی افزونه کمکی مرورگر HTTP. برای مثال، --helper=127.0.0.1:7000.

--proxy=URL

نشانی (URL) پروکسی بالادست. برای مثال، --proxy=http://localhost:8080، --proxy=socks4a://localhost:1080 یا --proxy=socks5://localhost:1080. همچنین می‌تواند با استفاده از گزینه‌های HTTPSProxy، Socks4Proxy یا Socks5Proxy در یک فایل torrc پیکربندی شود.

--log=FILENAME

نام فایلی که پیام‌های گزارش در آن نوشته می‌شوند (پیش‌فرض stderr).

--url=URL

نشانی اینترنتی (URL) برای برقراری ارتباط. استفاده از آرگومان SOCKS به نام url در یک خط bridge بر استفاده از این گزینه خط فرمان ارجحیت دارد.

--utls=CLIENTHELLOID

استفاده از uTLS با اثر انگشت TLS داده‌شده برای استتار TLS. این گزینه با --helper ناسازگار است. استفاده از آرگومان SOCKS به نام utls بر استفاده از این گزینه خط فرمان ارجحیت دارد.

-h, --help

نمایش پیام راهنما و خروج.

https://trac.torproject.org/projects/tor/wiki/doc/meek

لطفاً اشکالات را در https://trac.torproject.org/projects/tor گزارش دهید.

10/20/2022