'\" t .\" Title: tlsrpt-reportd .\" Author: Boris Lohner .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-09-01 .\" Manual: tlsrpt-reportd .\" Source: tlsrpt-reportd .\" Language: Persian .\" .TH "TLSRPT\-REPORTD" "1" "2026-09-01" "tlsrpt\-reportd" "tlsrpt\-reportd" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" tlsrpt\-reportd \- دیمنی برای ایجاد و تحویل گزارش‌های TLSRPT مطابق با RFC 8460 .SH "خلاصه دستور (SYNOPSIS)" .sp \fBtlsrpt\-reportd\fP [\fIگزینه\fP] .SH "توضیحات (DESCRIPTION)" .sp برنامه tlsrpt\-reportd مؤلفه نهایی در چارچوب کاری TLSRPT است. یک MTA (عامل انتقال ایمیل) تحویل موفقیت‌آمیز یا خطاهای رخ‌داده را از طریق libtlsrpt به یک tlsrpt\-collectd گزارش می‌دهد که وظیفه جمع‌آوری و پیش‌تجمیع داده‌ها را بر عهده دارد. ابزار tlsrpt\-fetcher مرتبط با یک tlsrpt\-collectd، داده‌های پیش‌تجمیع‌شده را به tlsrpt\-reportd منتقل می‌کند. برنامه tlsrpt\-reportd می‌تواند داده‌ها را از چندین tlsrpt\-fetcher دریافت کرده و داده‌های پیش‌تجمیع‌شده را در قالب گزارش‌های نهایی تجمیع کند. این گزارش‌ها با gzip فشرده شده و به مقاصدی ارسال می‌شوند که در رکوردهای DNS مربوط به TLSRPT دامنه‌های دریافت‌کننده ایمیل از MTA مشخص شده‌اند. .sp یک نمودار جریان داده ساده که نحوه تعامل مؤلفه‌ها را نشان می‌دهد به شرح زیر است: .nf (MTA) v libtlsrt v tlsrpt\-collectd v (storage) v tlsrpt\-fetcher v tlsrpt\-reportd v (report destination) .fi .SH "گزینه‌ها (OPTIONS)" .SS "گزینه‌های ایجاد و پیکربندی گزارش (Report creation and configuration options)" .sp \fB\-\-contact_info\fP=\fIaddr\fP .RS 4 استفاده از \fIaddr\fP به عنوان اطلاعات تماس در گزارش TLSRPT بر اساس RFC 8460. .RE .sp \fB\-\-organization_name\fP=\fIdescr\fP .RS 4 استفاده از \fIdescr\fP به عنوان نام سازمان ارسال‌کننده گزارش TLSRPT بر اساس RFC 8460. .RE .sp \fB\-\-sender_address\fP=\fIemail\fP .RS 4 استفاده از \fIemail\fP به عنوان نشانی «From:» هنگام ارسال گزارش‌ها از طریق ایمیل. .RE .sp \fB\-\-fetchers\fP=\fIlist\fP .RS 4 فهرستی از دستورات واکشی‌کننده (fetcher) جهت بازیابی داده‌ها. می‌توان چندین دستور واکشی‌کننده را با کاما جدا کرد. .RE .sp \fB\-\-dbname\fP=\fIpath\fP .RS 4 استفاده از پایگاه داده SQLite در مسیر \fIpath\fP. .RE .sp \fB\-\-compression_level\fP=\fIn\fP .RS 4 استفاده از سطح فشرده‌سازی \fIn\fP برای فشرده‌سازی گزارش‌های TLSRPT با الگوریتم gzip. .RE .sp \fB\-\-keep_days\fP=\fIn\fP .RS 4 نگهداری داده‌های قدیمی به مدت \fIn\fP روز پیش از حذف از پایگاه داده. .RE .SS "گزینه‌های تحویل گزارش (Report delivery options)" .sp \fB\-\-spread_out_delivery\fP=\fIsec\fP .RS 4 توزیع و پخش کردن زمان تحویل گزارش‌های TLSRPT در طول \fIsec\fP ثانیه. حداقل مقدار ۱ است و باعث می‌شود تمامی گزارش‌ها بلافاصله ارسال شوند. طبق بخش ۴.۱ از RFC 8460، این مقدار باید روی چند ساعت تنظیم شود. به عنوان مثال، برای پخش کردن زمان تحویل گزارش‌ها در طول چهار ساعت، مقدار spread_out_delivery را روی 14400 قرار دهید. .RE .sp \fB\-\-sendmail_script\fP=\fIpath\fP .RS 4 استفاده از اسکریپت \fIpath\fP جهت ارسال گزارش TLSRPT از طریق ایمیل. .RE .sp \fB\-\-sendmail_timeout\fP=\fIsec\fP .RS 4 تنظیم زمان انقضا (timeout) بر حسب \fIsec\fP ثانیه برای درخواست‌های ارسال ایمیل جهت تحویل گزارش‌ها. .RE .sp \fB\-\-http_script\fP=\fIpath\fP .RS 4 استفاده از اسکریپت \fIpath\fP جهت بارگذاری گزارش TLSRPT از طریق پروتکل HTTP(S). .RE .sp \fB\-\-http_timeout\fP=\fIsec\fP .RS 4 تنظیم زمان انقضا (timeout) بر حسب \fIsec\fP ثانیه برای درخواست‌های HTTP POST جهت تحویل گزارش‌ها. .RE .sp \fB\-\-max_retries_delivery\fP=\fIn\fP .RS 4 صرف‌نظر کردن پس از \fIn\fP بار تلاش ناموفق برای تحویل یک گزارش به مقصد خود. .RE .sp \fB\-\-min_wait_delivery\fP=\fIsec\fP .RS 4 حداقل زمان انتظار پیش از تلاش مجدد برای تحویل ناموفق گزارش. .RE .sp \fB\-\-max_wait_delivery\fP=\fIsec\fP .RS 4 حداکثر زمان انتظار پیش از تلاش مجدد برای تحویل ناموفق گزارش. .RE .sp \fB\-\-http_upload_map\fP=\fIpath\fP .RS 4 بارگذاری جدول نگاشت تبدیل برای مقاصد گزارش HTTPS از پرونده \fIpath\fP. نمی‌توان هم‌زمان با \fB\-\-debug_send_http_dest\fP استفاده کرد! .RE .sp \fB\-\-mail_destination_map\fP=\fIpath\fP .RS 4 بارگذاری جدول نگاشت تبدیل برای مقاصد گزارش SMTP از پرونده \fIpath\fP. نمی‌توان هم‌زمان با \fB\-\-debug_send_mail_dest\fP استفاده کرد! .RE .sp \fB\-\-tlsrpt_record_map\fP=\fIpath\fP .RS 4 بارگذاری جدول نگاشت تبدیل برای تمامی مقاصد گزارش بر اساس دامنه TLSRPT از پرونده \fIpath\fP. نمی‌توان هم‌زمان با \fB\-\-debug_send_file_dest\fP استفاده کرد! .RE .SS "گزینه‌های کنترل تعامل با یک یا چند tlsrpt\-collectd (Options controlling the interaction with one or more tlsrpt-collectd)" .sp \fB\-\-max_collectd_timediff\fP=\fIsec\fP .RS 4 ثبت یک هشدار در لاگ اگر ساعت اعلام‌شده collectd توسط واکشی‌کننده (fetcher) بیش از \fIsec\fP ثانیه با ساعت reportd اختلاف داشته باشد. برنامه reportd کار پرس‌وجو از واکشی‌کننده‌ها را \fIsec\fP ثانیه پس از تغییر روز به وقت UTC آغاز می‌کند؛ بنابراین اختلاف ساعت بیشتر از \fIsec\fP ثانیه نشان می‌دهد که collectd ممکن است هنوز برای ارائه داده‌های کامل روز قبل آماده نباشد. .RE .sp \fB\-\-max_collectd_timeout\fP=\fIsec\fP .RS 4 حداکثر \fIsec\fP ثانیه انتظار برای اتمام درخواست داده توسط fetcher از collectd مربوطه. .RE .sp \fB\-\-max_retries_domaindetails\fP=\fIn\fP .RS 4 صرف‌نظر کردن پس از \fIn\fP بار تلاش ناموفق در بازیابی جزئیات گزارش برای یک دامنه. .RE .sp \fB\-\-min_wait_domaindetails\fP=\fIsec\fP .RS 4 حداقل زمان انتظار پیش از تلاش مجدد پس از یک تلاش ناموفق برای دریافت جزئیات گزارش دامنه از یک tlsrpt\-collectd. .RE .sp \fB\-\-max_wait_domaindetails\fP=\fIsec\fP .RS 4 حداکثر زمان انتظار پیش از تلاش مجدد پس از یک تلاش ناموفق برای دریافت جزئیات گزارش دامنه از یک tlsrpt\-collectd. .RE .sp \fB\-\-max_retries_domainlist\fP=\fIn\fP .RS 4 صرف‌نظر کردن پس از \fIn\fP بار تلاش ناموفق برای دریافت فهرست دامنه‌ها از یک tlsrpt\-collectd. .RE .sp \fB\-\-min_wait_domainlist\fP=\fIsec\fP .RS 4 حداقل زمان انتظار پیش از تلاش مجدد پس از یک تلاش ناموفق برای دریافت فهرست دامنه‌ها از یک tlsrpt\-collectd. .RE .sp \fB\-\-max_wait_domainlist\fP=\fIsec\fP .RS 4 حداکثر زمان انتظار پیش از تلاش مجدد پس از یک تلاش ناموفق برای دریافت فهرست دامنه‌ها از یک tlsrpt\-collectd. .RE .sp \fB\-\-interval_main_loop\fP=\fIsec\fP .RS 4 بیدار کردن حلقه اصلی در حالت بیکار حتی در صورتی که پس از \fIsec\fP ثانیه عدم فعالیت، هیچ وظیفه‌ای وجود نداشته باشد. .RE .SS "گزینه‌های اشکال‌زدایی و توسعه (Debug and development options)" .sp \fB\-\-debug_db\fP=\fIn\fP .RS 4 کنترل اشکال‌زدایی پایگاه داده: مقدار 0 اشکال‌زدایی پایگاه داده را خاموش می‌کند، مقدار 1 ثبت عبارت‌های پایگاه داده را در لاگ فعال می‌سازد. .RE .sp \fB\-\-debug_send_file_dest\fP=\fIdir\fP .RS 4 ذخیره گزارش‌ها در دایرکتوری \fIdir\fP علاوه بر ارسال آن‌ها از طریق ایمیل یا درخواست‌های HTTP POST. نمی‌توان هم‌زمان با \fB\-\-tlsrpt_record_map\fP استفاده کرد! .RE .sp \fB\-\-debug_send_mail_dest\fP=\fIpath\fP .RS 4 بازنویسی مقصد ایمیل برای ارسال گزارش‌ها از طریق ایمیل. لطفاً توجه داشته باشید: با فعال بودن این گزینه، گزارش‌ها به مقصد درخواستی در رکورد DNS مربوط به TLSRPT ارسال نمی‌شوند، بلکه به این نشانی جایگزین فرستاده خواهند شد! این گزینه نباید در سیستم‌های عملیاتی (production) استفاده شود! نمی‌توان هم‌زمان با \fB\-\-mail_destination_map\fP استفاده کرد! .RE .sp \fB\-\-debug_send_http_dest\fP=\fIpath\fP .RS 4 بازنویسی مقصد HTTP POST برای ارسال گزارش‌ها از طریق درخواست‌های HTTP POST. لطفاً توجه داشته باشید: با فعال بودن این گزینه، گزارش‌ها به مقصد درخواستی در رکورد DNS مربوط به TLSRPT ارسال نمی‌شوند، بلکه به این نشانی اینترنتی جایگزین فرستاده خواهند شد! این گزینه نباید در سیستم‌های عملیاتی (production) استفاده شود! نمی‌توان هم‌زمان با \fB\-\-http_upload_map\fP استفاده کرد! .RE .SS "گزینه‌های عمومی (General options)" .sp \fB\-\-config_file\fP=\fIfilename\fP .RS 4 خواندن گزینه‌ها از بخش tlsrpt_reportd در پرونده پیکربندی با ساختار INI به نام \fIfilename\fP. متغیرهای محیطی بر تنظیمات پرونده پیکربندی اولویت دارند و گزینه‌های خط فرمان بر هر دو تقدم دارند. .RE .sp \fB\-\-help\fP .RS 4 چاپ پیام راهنما که تمامی گزینه‌ها را شرح می‌دهد. .RE .sp \fB\-\-pidfilename\fP=\fIpath\fP .RS 4 تعیین پرونده‌ای که شناسه فرآیند (PID) دیمن tlsrpt\-reportd را نگه می‌دارد. یک رشته خالی مانع ایجاد پرونده PID می‌شود. .RE .SS "گزینه‌های ثبت وقایع (Logging options)" .sp \fB\-\-logfilename\fP=\fIfilename\fP .RS 4 استفاده از \fIfilename\fP به عنوان پرونده ثبت لاگ. .RE .sp \fB\-\-log_level\fP=\fIlevel\fP .RS 4 تنظیم سطح گزارش‌گیری لاگ روی \fIlevel\fP؛ مقادیر مجاز: debug، info، warn، error. .RE .SH "محیط (ENVIRONMENT)" .sp تمامی گزینه‌های پیکربندی به جز \-\-help و \-\-config_file را می‌توان از طریق متغیرهای محیطی نیز تنظیم کرد. متغیر محیطی متناظر با هر گزینه پیکربندی، شامل پیشوند TLSRPT_REPORTD_ به همراه نام تنظیم پیکربندی با حروف بزرگ انگلیسی است. برای نمونه، گزینه \-\-log_level را می‌توان با استفاده از متغیر محیطی TLSRPT_REPORTD_LOG_LEVEL پیکربندی کرد. .SH "نگاشت مقصد (DESTINATION MAPPING)" .sp گزینه‌های \fB\-\-tlsrpt_record_map\fP، \fB\-\-http_upload_map\fP و \fB\-\-mail_destination_map\fP امکان نگاشت مقاصد گزارش استخراج‌شده از رکورد TLSRPT را بر اساس دامنه‌ای که گزارش برای آن ایجاد می‌شود فراهم می‌کنند. .sp تمام جداول نگاشت بر اساس قاعده «اولین تطابق برنده است» (first match wins) پردازش می‌شوند. پس از تطابق یک قانون، هیچ قانون دیگری بررسی و پردازش نخواهد شد. .sp گزینه \fB\-\-tlsrpt_record_map\fP در ابتدا برای تبدیل کل مجموعه مقاصد به کار می‌رود. گزینه‌های \fB\-\-http_upload_map\fP و \fB\-\-mail_destination_map\fP امکان اعمال تغییرات بیشتر روی مقاصد گزارشی که با طرحواره‌های «mailto:» یا «https:» مطابقت دارند را فراهم می‌سازند و این گزینه‌ها خود مقصد گزارش را برای اعمال قانون بررسی می‌کنند، نه دامنه‌ای که گزارش برای آن ساخته شده است. .sp هر خط از جدول نگاشت دارای ساختار زیر است: \fBmatch\fP \fBaction\fP [\fBparameters\fP] .sp بخش \fBmatch\fP به صورت «matchtype:pattern» است. انواع تطابق پشتیبانی‌شده عبارتند از: «domain:» و «regexp:». .sp پیشوند «domain:» را می‌توان حذف کرد؛ یعنی در صورت عدم تعیین نوع تطابق، شیوه تطابق «domain:» حالت پیش‌فرض است. یک تطابق «domain:» با بخش دامنه در یک نشانی «mailto:» در \fB\-\-mail_destination_map\fP و با بخش دامنه در یک نشانی «https:» در \fB\-\-http_upload_map\fP تطبیق داده می‌شود. تطابق «domain:» می‌تواند با یک نام دامنه کامل تطابق یابد یا اگر با یک «.» آغاز شود با تمامی زیردامنه‌ها تطبیق پیدا می‌کند. یک «.» منفرد با تمام نام‌های دامنه تطبیق دارد. علامت «.» در انتهای نام دامنه نادیده گرفته می‌شود. .sp نام دامنه «many.sub.domains.example.com» بدون نقطه در ابتدا، با «sub.domains.example.com» یا «sub.domains.example.com.» تطابق نمی‌یابد، اما با این عبارات تطابق دامنه مطابقت خواهد داشت: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} many.sub.domains.example.com. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} many.sub.domains.example.com .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \&.sub.domains.example.com. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \&.sub.domains.example.com .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \&.domains.example.com. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \&.domains.example.com .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \&.example.com. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \&.example.com .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \&.com. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \&.com .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \&. .RE .sp یک تطابق به سبک «regexp:» در \fB\-\-tlsrpt_record_map\fP با نام دامنه‌ای که گزارش برای آن ایجاد می‌شود تطبیق می‌یابد. یک تطابق به سبک «regexp:» در جداول نگاشت \fB\-\-http_upload_map\fP و \fB\-\-mail_destination_map\fP با کل رشته مقصد گزارش تطبیق داده می‌شود، نه فقط بخش دامنه استخراج‌شده. .sp بخش \fBaction\fP می‌تواند یکی از موارد «ACCEPT»، «DISCARD»، «APPEND»، «REPLACE» و «REGEXP» باشد. عملیات «ACCEPT» مقاصد گزارش را همان‌گونه که هستند می‌پذیرد. عملیات «DISCARD» مجموعه‌ای خالی از مقاصد گزارش برمی‌گرداند و هیچ گزارشی ارسال نخواهد شد. عملیات «APPEND» مقاصد گزارش اضافی ارائه می‌دهد. عملیات «REPLACE» مقاصد گزارش را با مقاصد دیگری جایگزین می‌کند. عملیات «REGEXP» هر مقصد گزارش تطابق‌یافته را بر اساس دو پارامتر خود تبدیل می‌کند: یک عبارت باقاعده (regexp) منطبق و یک جایگزین (substitution). .sp عملیات‌های «APPEND»، «REPLACE» و «REGEXP» می‌توانند طرحواره‌های نشانی (URI schemes) دیگری را معرفی کنند. علاوه بر طرحواره‌های «mailto:» و «https:» تعریف‌شده در RFC 8460، دیمن tlsrpt\-reportd طرحواره اضافی «directory:» را به عنوان دایرکتوری در سیستم فایل می‌شناسد که در آن گزارش‌ها برای بررسی و اشکال‌زدایی به صورت فایل ذخیره می‌شوند. .sp قوانین موجود در \fB\-\-mail_destination_map\fP می‌توانند نشانی‌های «https:» و «directory:» را نیز به عنوان مقصد گزارش معرفی کنند. قوانین موجود در \fB\-\-http_upload_map\fP نیز می‌توانند نشانی‌های «https:» و «directory:» را به عنوان مقصد گزارش معرفی کنند. هیچ پردازش دیگری روی این مقاصد انجام نمی‌شود؛ به این معنی که نشانی «https:» معرفی‌شده در \fB\-\-mail_destination_map\fP از تبدیل‌های \fB\-\-http_upload_map\fP عبور داده نمی‌شود و برعکس. .sp با این حال، نتایج حاصل از \fB\-\-tlsrpt_record_map\fP که ابتدا پردازش می‌شود، حتی در صورتی که \fB\-\-tlsrpt_record_map\fP مقاصد گزارش را تغییر داده باشد، از فیلتر تبدیل‌های \fB\-\-http_upload_map\fP و \fB\-\-mail_destination_map\fP عبور داده می‌شوند. .SH "مثال‌ها (EXAMPLES)" .sp دریافت داده از یک واکشی‌کننده محلی با پیکربندی استاندارد و از یک واکشی‌کننده محلی دیگر با فضای ذخیره‌سازی متفاوت: .sp \fBtlsrpt\-reportd \-\-fetchers "tlsrpt\-fetcher, tlsrpt\-fetcher \-\-storage sqlite:///tmp/test.sqlite"\fP .sp دریافت داده از یک واکشی‌کننده محلی و یک واکشی‌کننده از راه دور: .sp \fBtlsrpt\-reportd \-\-fetchers "tlsrpt\-fetcher, ssh user@remote tlsrpt\-fetcher"\fP .SH "وضعیت خروج (EXIT STATUS)" .sp \fB0\fP .RS 4 موفقیت‌آمیز. .RE .sp \fB1\fP .RS 4 شکست. .RE .SH "همچنین ببینید (SEE ALSO)" .sp man:tlsrpt\-collectd[1], man:tlsrpt\-fetcher[1] .SH "نویسنده (AUTHOR)" .sp Boris Lohner