.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. .TH WEBSOCAT "1" "July 2026" "websocat 1.14.1" "User Commands" .SH "نام (NAME)" websocat \- ابزار خط فرمان وب‌سوکت، مشابه netcat و curl و socat برای پروتکل ws:// .SH "توضیحات (DESCRIPTION)" websocat 1.14.1 Vitaly "_Vi" Shukela ابزار خط فرمان برای وب‌سوکت‌ها، مشابه netcat/curl/socat برای ws://. .SS "نحوه استفاده (USAGE):" .TP websocat ws://URL | wss://URL (کلاینت ساده) .TP websocat \fB\-s\fR port (سرور ساده) .TP websocat [FLAGS] [OPTIONS] (حالت پیشرفته) .SS "فلگ‌ها (FLAGS):" .IP (برخی فلگ‌ها مخفی هستند، \fB\-\-help\fR=\fI\,long\/\fR را ببینید) .HP \fB\-e\fR, \fB\-\-set\-environment\fR .IP تنظیم متغیرهای محیطی WEBSOCAT_* هنگام اجرای مشخصه‌های exec:/cmd:/sh\-c: در حال حاضر این متغیرها WEBSOCAT_URI و WEBSOCAT_CLIENT برای نشانی URI درخواست و نشانی کلاینت (در صورت اتصال TCP) هستند. مراقب باگ شل‌شاک (ShellShock) یا مشکلات امنیتی مشابه باشید. .TP \fB\-E\fR, \fB\-\-exit\-on\-eof\fR بستن یک جهت انتقال داده در صورت رسیدن جهت دیگر به EOF .HP \fB\-\-jsonrpc\fR .IP قالب‌بندی پیام‌های تایپ‌شده به عنوان فراخوانی‌های متد JSON RPC 2.0. کلمه اول به عنوان نام متد و بقیه به عنوان پارامترها در نظر گرفته می‌شوند (در صورت امکان به صورت خودکار درون [] قرار می‌گیرند). .TP \fB\-0\fR, \fB\-\-null\-terminated\fR استفاده از \e0 به جای \en برای حالت سطری (linemode) .IP گزینه \fB\-\-no\-fixups\fR برای مشاهده مواردی که به صورت خودکار درج می‌شوند و خواندن راهنمای کامل سازوکار درونی Websocat. .TP \fB\-1\fR, \fB\-\-one\-message\fR ارسال و/یا دریافت فقط یک پیام. همراه با \fB\-\-no\-close\fR و/یا \fB\-u\fR/\-U استفاده شود. .TP \fB\-\-oneshot\fR سرویس‌دهی فقط برای یک بار. با \fB\-1\fR (\fB\-\-one\-message\fR) اشتباه گرفته نشود .HP \fB\-\-print\-ping\-rtts\fR .IP چاپ زمان رفت و برگشت (RTT) اندازه‌گیری‌شده در stderr پس از دریافت هر پیام پونگ (pong) وب‌سوکت. .TP \fB\-q\fR بی‌صدا کردن تمام پیام‌های تشخیصی به جز خطاهای زمان راه‌اندازی .TP \fB\-s\fR, \fB\-\-server\-mode\fR حالت سرور ساده: تعیین پورت TCP یا addr:port به عنوان تک‌آرگومان .HP \fB\-S\fR, \fB\-\-strict\fR .IP حالت سطری/پیامی سخت‌گیرانه: انداختن پیام‌های بیش از حد طولانی به جای تقسیم آن‌ها، انداختن خطوط ناقص. .TP \fB\-k\fR, \fB\-\-insecure\fR پذیرش گواهی‌ها و نام‌های میزبان نامعتبر هنگام اتصال به TLS .TP \fB\-u\fR, \fB\-\-unidirectional\fR جلوگیری از کپی داده‌ها در یک جهت .HP \fB\-U\fR, \fB\-\-unidirectional\-reverse\fR .IP جلوگیری از کپی داده‌ها در جهت معکوس (یا در هر دو جهت در صورت ترکیب با \fB\-u\fR) .TP \fB\-v\fR افزایش سطح گزارش‌دهی جزئیات به info یا بیشتر .TP \fB\-b\fR, \fB\-\-binary\fR ارسال پیام به وب‌سوکت به عنوان پیام‌های باینری .TP \fB\-n\fR, \fB\-\-no\-close\fR عدم ارسال پیام Close به وب‌سوکت هنگام رسیدن به EOF .TP \fB\-t\fR, \fB\-\-text\fR ارسال پیام به وب‌سوکت به عنوان پیام‌های متنی .HP \fB\-\-base64\fR .IP کدگذاری پیام‌های باینری دریافتی وب‌سوکت در یک خط Base64. اگر `\-\-binary\-prefix` (به `\-\-help=full` مراجعه کنید) تنظیم شده باشد، پیام‌های ارسالی وب‌سوکت که با این پیشوند آغاز شوند پیش از ارسال از base64 رمزگشایی می‌شوند. .SS "گزینه‌ها (OPTIONS):" .IP (برخی گزینه‌ها مخفی هستند، \fB\-\-help\fR=\fI\,long\/\fR را ببینید) .HP \fB\-\-socks5\fR .IP استفاده از address:port مشخص‌شده به عنوان پروکسی SOCKS5. مثال: \fB\-\-socks5\fR 127.0.0.1:9050 .HP \fB\-\-basic\-auth\fR .IP افزودن هدر درخواست HTTP با عنوان `Authorization: Basic` با این پارامتر کدگذاری‌شده به صورت base64. همچنین از طریق متغیر محیطی `WEBSOCAT_BASIC_AUTH` در دسترس است .HP \fB\-\-basic\-auth\-file\fR .IP افزودن هدر درخواست HTTP با عنوان `Authorization: Basic` از محتوای کدگذاری‌شده به صورت base64 فایل مشخص‌شده .TP \fB\-B\fR, \fB\-\-buffer\-size\fR حداکثر اندازه پیام، به بایت [پیش‌فرض: 65536] .HP \fB\-\-close\-reason\fR .IP بستن اتصال همراه با پیام دلیل. این گزینه تنها در صورتی اثرگذار است که گزینه \fB\-\-close\-status\-code\fR نیز مشخص شده باشد. .TP \fB\-\-close\-status\-code\fR بستن اتصال همراه با کد وضعیت. .HP \fB\-H\fR, \fB\-\-header\fR ... .IP افزودن هدر سفارشی HTTP به درخواست کلاینت وب‌سوکت. نام هدر و مقدار آن را با یک دو نقطه و به صورت اختیاری با یک فاصله جدا کنید. می‌تواند چند بار استفاده شود. توجه داشته باشید که یک \fB\-H\fR منفرد ممکن است چندین آرگومان بعدی را ببلعد و منجر به خطاهای گیج‌کننده شود. هدرها را در انتها یا با علامت مساوی مانند \fB\-H=\fR'X: y' مشخص کنید. .HP \fB\-\-server\-header\fR ... .IP افزودن هدر سفارشی HTTP به پاسخ ارتقای (upgrade) وب‌سوکت. نام هدر و مقدار آن را با یک دو نقطه و به صورت اختیاری با یک فاصله جدا کنید. می‌تواند چند بار استفاده شود. توجه داشته باشید که یک \fB\-H\fR منفرد ممکن است چندین آرگومان بعدی را ببلعد و منجر به خطاهای گیج‌کننده شود. .HP \fB\-\-header\-to\-env\fR ... .IP هدایت هدر درخواست ورودی مشخص‌شده به متغیر محیطی H_* برای مشخصه‌های مشابه `exec:`. .HP \fB\-h\fR, \fB\-\-help\fR .IP مشاهده راهنما. مقدار \fB\-\-help\fR=\fI\,short\/\fR فهرست گزینه‌ها و انواع آدرس‌های ساده است مقدار \fB\-\-help\fR=\fI\,long\/\fR تمام گزینه‌ها و انواع را فهرست می‌کند (نشانگرهای [A] را ببینید) مقدار \fB\-\-help\fR=\fI\,doc\/\fR توضیحات طولانی‌تر و مثال‌ها را نیز نمایش می‌دهد. .HP \fB\-\-max\-messages\fR .IP حداکثر تعداد پیام‌ها برای کپی در یک جهت. .HP \fB\-\-max\-messages\-rev\fR .IP حداکثر تعداد پیام‌ها برای کپی در جهت دیگر. .HP \fB\-\-conncap\fR .IP حداکثر تعداد اتصالات هم‌زمان برای حالت شنود (listening) .TP \fB\-\-origin\fR افزودن هدر HTTP با عنوان Origin به درخواست کلاینت وب‌سوکت .HP \fB\-\-pkcs12\-der\fR .IP آرشیو Pkcs12 مورد نیاز برای پذیرش اتصالات SSL، گواهی و کلید. دستوری برای تولید خروجی آن: openssl pkcs12 \fB\-export\fR \fB\-out\fR output.pkcs12 \fB\-inkey\fR key.pem \fB\-in\fR cert.pem همراه با گزینه \fB\-s\fR (\fB\-\-server\-mode\fR) یا با روکش‌های TLS تعیین‌شده به صورت دستی استفاده شود. برای اطلاعات بیشتر moreexamples.md را ببینید. .HP \fB\-\-pkcs12\-passwd\fR .IP رمز عبور برای آرشیو pkcs12 مربوط به \fB\-\-pkcs12\-der\fR. در سیستم‌عامل Mac الزامی است. .HP \fB\-p\fR, \fB\-\-preamble\fR ... .IP افزودن رشته مشخص‌شده به ابتدای داده‌های کپی‌شده. می‌تواند چند بار مشخص شود. .HP \fB\-P\fR, \fB\-\-preamble\-reverse\fR ... .IP افزودن رشته مشخص‌شده به ابتدای داده‌های کپی‌شده (جهت معکوس). می‌تواند چند بار مشخص شود. .HP \fB\-\-restrict\-uri\fR .IP هنگام میزبانی وب‌سوکت، فقط URI مشخص‌شده را بپذیرد، مانند `/ws` این کار سایر URIها را برای کارهایی مثل ارائه فایل‌های استاتیک یا پروکسی آزاد می‌گذارد. .HP \fB\-F\fR, \fB\-\-static\-file\fR ... .IP ارائه یک فایل استاتیک مشخص برای اتصالات غیر وب‌سوکت. ساختار آرگومان: :: مثال آرگومان: \fI\,/index\/\fP.html:text/html:index.html پوشه‌ها به دلایل امنیتی پشتیبانی نمی‌شوند و نخواهند شد. می‌تواند چند بار مشخص شود. توصیه می‌شود در انتها یا با علامت مساوی مانند `\-F=...` مشخص شوند، در غیر این صورت ممکن است این گزینه آرگومان‌های موضعی را ببلعد .HP \fB\-\-ua\fR .IP تنظیم هدر درخواست `User\-Agent` به این مقدار. مشابه تنظیم آن با `\-H`. .HP \fB\-\-protocol\fR .IP مشخص کردن این هدر Sec\-WebSocket\-Protocol: هنگام اتصال .HP \fB\-\-server\-protocol\fR .IP اجبار استفاده از این هدر Sec\-WebSocket\-Protocol: هنگام پذیرش اتصال .TP \fB\-\-websocket\-version\fR جایگزینی مقدار Sec\-WebSocket\-Version .TP \fB\-\-ping\-interval\fR ارسال پینگ‌های وب‌سوکت در فواصل زمانی این تعداد ثانیه .HP \fB\-\-ping\-timeout\fR .IP قطع اتصال وب‌سوکت در صورت عدم دریافت پیام Pong پس از این تعداد ثانیه .SS "آرگومان‌ها (ARGS):" .TP در حالت ساده، URL وب‌سوکت برای اتصال است. در حالت پیشرفته، آدرس نخست (انواع زیادی از آدرس‌ها وجود دارد) برای استفاده است. برای اطلاعات درباره انواع آدرس‌ها \fB\-\-help\fR=\fI\,types\/\fR را ببینید. اگر این آدرسی برای شنود باشد، تلاش می‌کند چندین اتصال را مدیریت کند. .TP در حالت پیشرفته، آدرس دوم برای اتصال است. اگر این آدرسی برای شنود باشد، تنها یک اتصال را خواهد پذیرفت. .SS "مثال‌های پایه (Basic examples):" .IP کلاینت خط فرمان وب‌سوکت: .IP websocat ws://ws.vi\-server.org/mirror .IP سرور وب‌سوکت: .IP websocat \fB\-s\fR 8080 .IP پروکسی وب‌سوکت به TCP: .IP websocat \fB\-\-binary\fR ws\-l:127.0.0.1:8080 tcp:127.0.0.1:5678 .SS "فهرست بخشی از انواع آدرس‌ها (Partial list of address types):" .TP ws:// کلاینت وب‌سوکت ناامن (ws://). آرگومان شامل میزبان و URL است. .TP wss:// کلاینت وب‌سوکت امن (wss://). آرگومان شامل میزبان و URL است. .TP ws\-listen: سرور وب‌سوکت. آرگومان شامل میزبان و پورت برای شنود است. .TP wss\-listen: شنود برای اتصالات وب‌سوکت امن روی یک پورت TCP .TP tcp: اتصال به میزبان و پورت TCP مشخص‌شده. آرگومان یک آدرس سوکت است. .TP tcp\-listen: شنود پورت TCP روی آدرس مشخص‌شده. .TP ssl\-listen: شنود اتصالات SSL روی یک پورت TCP .TP sh\-c: اجرای خط فرمان مشخص‌شده با استفاده از `sh \fB\-c\fR` (حتی در ویندوز) .TP cmd: اجرای خط فرمان مشخص‌شده با استفاده از `sh \fB\-c\fR` یا `cmd /C` (بسته به پلتفرم) .TP readfile: خواندن همگام یک فایل. آرگومان مسیر فایل است. .TP writefile: کوتاه کردن و نوشتن همگام در یک فایل. .TP appendfile: افزودن همگام به انتهای یک فایل. .TP udp: ارسال و دریافت بسته‌ها به سوکت UDP مشخص‌شده از یک پورت تصادفی UDP .TP udp\-listen: متصل کردن یک سوکت UDP به host:port مشخص و دریافت بسته .TP \- خواندن ورودی از کنسول و چاپ در کنسول. حتی در یونیکس از پیاده‌سازی مبتنی بر ریسه (thread) استفاده می‌کند مگر اینکه با گزینه خط فرمان `\-\-async\-stdio` درخواست شده باشد. .TP mirror: کپی کردن ساده خروجی به ورودی. نیازی به آرگومان ندارد. .TP literalreply: پاسخ با یک رشته مشخص به ازای هر بسته ورودی. .TP literal: چاپ یک رشته و نادیده گرفتن ورودی. .TP random: تولید بایت‌های تصادفی هنگام خواندن و دور ریختن بایت‌های نوشته‌شده. .SS "فهرست بخشی از روکش‌ها (Partial list of overlays):" .TP broadcast: استفاده مجدد از این اتصال برای پاسخ به چند کلاینت و ارسال پاسخ‌ها به تمام کلاینت‌ها. .TP autoreconnect: برقراری مجدد اتصال زیرین در صورت بروز هرگونه خطا یا EOF .TP foreachmsg: اجرای یک دستور به ازای هر پیام دریافتی. .TP log: ثبت گزارش (لاگ) از هر بافر هنگام عبور از کانکتور زیرین. .PP برای مشاهده انواع آدرس بیشتر از گزینه \fB\-\-help\fR=\fI\,long\/\fR استفاده کنید. برای مشاهده مثال‌های کوتاه و نام‌های \fB\-\-dump\-spec\fR برای اکثر انواع آدرس‌ها و روکش‌ها از گزینه \fB\-\-help\fR=\fI\,doc\/\fR استفاده کنید