.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "UAGEN 1" .TH UAGEN 1 2025-11-27 "perl v5.42.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" uagen \- تولیدکننده User\-Agent فایرفاکس برای Privoxy و مرورگرهای موزیلا .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBuagen\fR [\fB\-\-action\-file\fR \fIaction_file\fR] [\fB\-\-action\-injection\fR] [\fB\-\-browser\-release\-date\fR \fIbrowser_release_date\fR] [\fB\-\-browser\-revision\fR \fIbrowser_revision\fR] [\fB\-\-browser\-version\fR \fIbrowser_version\fR] [\fB\-\-clean\-prefs\-file\fR] [\fB\-\-help\fR] [\fB\-\-language\-overwrite\fR \fIlanguage(s)\fR] [\fB\-\-logfile\fR \fIlogfile\fR] [\fB\-\-loop\fR] [\fB\-\-no\-action\-file\fR] [\fB\-\-no\-logfile\fR] [\fB\-\-prefs\-file\fR \fIprefs_file\fR] [\fB\-\-randomize\-release\-date\fR] [\fB\-\-quiet\fR] [\fB\-\-sleeping\-time\fR \fIminutes\fR] [\fB\-\-silent\fR] [\fB\-\-version\fR] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" دستور \&\fBuagen\fR یک User\-Agent ساختگی برای Firefox تولید کرده و آن را به عنوان پارامتری برای اقدام (action) \fBhide\-user\-agent\fR در فایل action مربوط به Privoxy ذخیره می‌کند. سیستم‌عامل، معماری، پلتفرم، زبان و در صورت تمایل تاریخ ساخت (build date) به صورت تصادفی انتخاب می‌شوند. .PP زبان تولیدشده همچنین به عنوان پارامتری برای اقدام \fBhide\-accept\-language\fR استفاده می‌شود؛ قابلیتی که از نسخه 3.0.5 beta به بعد توسط Privoxy پشتیبانی می‌شود. .PP علاوه بر این، User\-Agent تولیدشده می‌تواند در فایل‌های prefs.js که توسط بسیاری از مرورگرهای بر پایه Mozilla استفاده می‌شوند، نوشته شود. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" \&\fB\-\-action\-file\fR \fIaction_file\fR فایل action مربوط به Privoxy برای نوشتن اقدام‌های تولیدشده در آن. مقدار پیش‌فرض /etc/privoxy/user\-agent.action است. .PP \&\fB\-\-action\-injection\fR فایل action را از ابتدا تولید نمی‌کند، بلکه فایل قبلی را خوانده و تنها مقادیر اقدام‌ها را جایگزین می‌نماید. برای حفظ الگوهای سفارشی URL کاربرد دارد. برای کارکرد صحیح، این فایل action باید از قبل وجود داشته باشد. \fBuagen\fR نه نحو فایل را بررسی می‌کند و نه به موجود بودن همه اقدام‌ها کاری دارد؛ ورودی نامعتبر منجر به خروجی نامعتبر خواهد شد (Garbage in, garbage out). .PP \&\fB\-\-browser\-release\-date\fR \fIbrowser_release_date\fR تاریخ مورد استفاده. قالب آن به صورت YYYYMMDD است. برخی بررسی‌های صحت‌سنجی اولیه انجام می‌شود، اما نباید به آن‌ها اتکا کنید. توجه داشته باشید که پروژه Mozilla از Firefox 4 به بعد «Gecko token» را تثبیت کرده است، بنابراین استفاده از مقداری غیر از پیش‌فرض تا حدی مشکوک خواهد بود. .PP \&\fB\-\-browser\-revision\fR \fIbrowser_revision\fR استفاده از بازبینی (revision) سفارشی. \fBuagen\fR بدون هیچ‌گونه بررسی صحت‌سنجی از آن استفاده خواهد کرد. .PP \&\fB\-\-browser\-version\fR \fIbrowser_version\fR استفاده از نسخه مرورگر سفارشی. \fBuagen\fR بدون هیچ‌گونه بررسی صحت‌سنجی از آن استفاده خواهد کرد. .PP \&\fB\-\-clean\-prefs\-file\fR فایل \fIprefs_file\fR خوانده شده و متغیرهای \fBgeneral.useragent.override\fR و \fBintl.accept_languages\fR از آن حذف می‌شوند. تنها در صورتی مؤثر است که \fIprefs_file\fR مشخص شده باشد و فقط زمانی کاربرد دارد که بخواهید مجدداً از پیش‌فرض‌های مرورگر استفاده کنید. .PP \&\fB\-\-help\fR نمایش فهرست گزینه‌های خط فرمان و خروج. .PP \&\fB\-\-language\-overwrite\fR \fIlanguage(s)\fR فهرستی از کدهای زبان جداشده با کاما برای بازنویسی مقادیر پیش‌فرض. \fBuagen\fR یکی از آن‌ها را برای User\-Agent تولیدشده انتخاب می‌کند؛ به صورت پیش‌فرض، زبان انتخاب‌شده با حروف کوچک به عنوان پارامتر اقدام \fBhide\-accept\-language\fR نیز استفاده می‌شود. .PP \&\fB\-\-logfile\fR \fIlogfile\fR فایل لاگ برای ذخیره پیام‌های خطا و User\-Agentهای تولیدشده. مقدار پیش‌فرض /var/log/uagen.log است. .PP \&\fB\-\-loop\fR پس از تولید فایل action خارج نمی‌شود؛ در عوض مدتی به حالت خواب می‌رود و سپس فایل جدیدی تولید می‌کند. زمانی که \fBcron\fR\|(8) را در اختیار ندارید مفید است. .PP \&\fB\-\-no\-logfile\fR هیچ موردی را در فایل لاگ ثبت نمی‌کند. .PP \&\fB\-\-no\-action\-file\fR فایل action را در دیسک نمی‌نویسد. .PP \&\fB\-\-no\-hide\-accept\-language\fR سازگاری با Privoxy 3.0.3 را حفظ کرده و خط اقدام \fBhide\-accept\-language\fR را تولید نمی‌کند. البته اکیداً توصیه می‌شود نسخه Privoxy خود را ارتقا دهید. .PP \&\fB\-\-prefs\-file\fR \fIprefs_file\fR از User\-Agent تولیدشده برای تنظیم متغیر \fBgeneral.useragent.override\fR در فایل ترجیحات موزیلا (\fIprefs_file\fR) استفاده می‌کند؛ متغیر \fBintl.accept_languages\fR نیز تنظیم خواهد شد. .PP فایل ترجیحات فایرفاکس معمولاً در مسیر ~/.mozilla/firefox/*.default/prefs.js قرار دارد. توجه داشته باشید که Firefox پس از اجرا شدن، فایل ترجیحات را مجدداً بازخوانی نمی‌کند. .PP \&\fB\-\-randomize\-release\-date\fR به صورت تصادفی تاریخی میان تاریخ انتشار پیکربندی‌شده و تاریخ فعلی انتخاب می‌کند. دقت داشته باشید که نسخه‌های Firefox بعد از 4.0 دیگر تاریخ ساخت را در سرآیند User\-Agent قرار نمی‌دهند، بنابراین اگر تاریخ را به صورت تصادفی تنظیم کنید، ساختگی بودن User\-Agent کاملاً آشکار خواهد شد. .PP \&\fB\-\-quiet\fR مقدار User\-Agent تولیدشده را در کنسول چاپ نمی‌کند. .PP \&\fB\-\-sleeping\-time\fR \fIminutes\fR مدت زمان توقف (بر حسب دقیقه). تنها در صورت استفاده به همراه گزینهٔ \fB\-\-loop\fR اثرگذار است. .PP \&\fB\-\-silent\fR مقدار User\-Agent تولیدشده را در کنسول چاپ نمی‌کند. .PP \&\fB\-\-version\fR نمایش نسخه برنامه و خروج. .PP استفاده از خط تیره دوم اختیاری است و تا زمانی که ابهامی وجود نداشته باشد، می‌توان گزینه‌ها را به صورت خلاصه‌شده به کار برد. .SH "پیکربندی PRIVOXY (PRIVOXY CONFIGURATION)" .IX Header "PRIVOXY CONFIGURATION" در فایل پیکربندی Privoxy خط زیر: .PP .Vb 1 \& actionsfile user\-agent.action .Ve .PP باید بعد از: .PP .Vb 1 \& actionfile default.action .Ve .PP و قبل از: .PP .Vb 1 \& actionfile user.action .Ve .PP اضافه شود. به این ترتیب کاربر همچنان می‌تواند از User\-Agentهای سفارشی در \fIuser.action\fR استفاده کند. مقدار \fIuser\-agent\fR باید نام فایل action تولیدشده باشد. .PP اگر از نسخه 3.0.6 یا قدیمی‌تر Privoxy استفاده می‌کنید، پسوند «.action» را به آن اضافه نکنید. .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" بدون تعیین هیچ گزینه‌ای، \fBuagen\fR یک فایل action شبیه به نمونه زیر ایجاد می‌کند: .PP .Vb 4 \& {+hide\-accept\-language{en\-ca} \e \& +hide\-user\-agent{Mozilla/5.0 (X11; U; OpenBSD i386; en\-CA; rv:1.8.0.4) Gecko/20060628 Firefox/1.5.0.4} \e \& } \& / .Ve .PP با اعمال گزینهٔ \-\-no\-accept\-language، فایل تولیدشده ممکن است شبیه این نمونه باشد: .PP .Vb 3 \& {+hide\-user\-agent{Mozilla/5.0 (X11; U; FreeBSD i386; de\-DE; rv:1.8.0.4) Gecko/20060720 Firefox/1.5.0.4} \e \& } \& / .Ve .SH "هشدارها (CAVEATS)" .IX Header "CAVEATS" از اقدام https\-inspection استفاده کنید تا اطمینان یابید Privoxy توانایی ویرایش سرآیندهای مرورگر را برای ترافیک رمزگذاری‌شده نیز داراست. .PP کاربران مرورگرهای بر پایه Mozilla می‌توانند از گزینهٔ \fB\-\-prefs\-file\fR برای تغییر User\-Agent مرورگر استفاده کنند. با این حال توجه داشته باشید که فایل ترجیحات فقط هنگام آغاز به کار مرورگر خوانده می‌شود؛ اگر مرورگر در حال اجرا باشد، تغییرات اعمال‌شده توسط \fBuagen\fR نادیده گرفته خواهند شد. .PP اگر مرورگر تمام کوکی‌ها را بپذیرد یا برای دسترسی و نگهداری از راه دور از طریق پلتفرم‌های پرخطر مانند Flash، JavaScript، Java یا موارد مشابه تنظیم شده باشد، پنهان‌سازی User\-Agent بی‌فایده خواهد بود. .SH "گزارش باگ‌ها (BUGS)" .IX Header "BUGS" برخی از پارامترها را نمی‌توان مستقیماً از طریق خط فرمان تنظیم کرد. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBprivoxy\fR\|(8) .SH "نویسندگان (AUTHORS)" .IX Header "AUTHOR" Fabian Keil .PP https://www.fabiankeil.de/sourcecode/uagen .PP https://www.fabiankeil.de/blog\-surrogat/2006/01/26/firefox\-user\-agent\-generator.html (آلمانی)