PODBOAT(1)   PODBOAT(1)

podboat - یک مدیر بارگیری پادکست برای ترمینال‌های متنی

podboat [-C configfile] [-q queuefile] [-a] [-h]

برنامه Podboat یک مدیر پادکست برای ترمینال‌های متنی است. این برنامه به عنوان یک ابزار کمکی برای Newsboat عمل می‌کند که بارگیری‌های پادکست را درون یک فایل صف‌بندی می‌نماید. سپس این بارگیری‌های صف‌بندی‌شده می‌توانند توسط Podboat بارگیری شوند.

-h, --help

نمایش راهنما

-C configfile, --config-file=configfile

استفاده از یک فایل پیکربندی جایگزین

-q queuefile, --queue-file=queuefile

استفاده از یک فایل صف جایگزین

--lock-file=lockfile

استفاده از یک فایل قفل جایگزین

-a, --autodownload

شروع بارگیری خودکار تمامی فایل‌های درون صف هنگام راه‌اندازی

-l loglevel, --log-level=loglevel

تولید یک فایل گزارش با یک loglevel مشخص (مقادیر معتبر: ۱ تا ۶، به ترتیب برای خطای کاربر، بحرانی، خطا، هشدار، اطلاعاتی و اشکال‌زدایی). نام فایل می‌تواند با استفاده از گزینه --log-file مشخص شود. در صورت مشخص نشدن، نام فایلی به صورت podboat_<date-time>.log تولید می‌شود.

-d logfile, --log-file=logfile

استفاده از این logfile به عنوان خروجی هنگام ثبت پیام‌های اشکال‌زدایی. لطفاً توجه داشته باشید که این گزینه تنها زمانی کار می‌کند که سطح گزارش (loglevel) ارائه شده باشد.

پادکست یک فایل چندرسانه‌ای است که با استفاده از خوراک‌های اشتراک محتوا نظیر RSS از طریق اینترنت توزیع می‌شود تا بعداً در دستگاه‌های پخش قابل حمل یا رایانه‌ها بازپخش شود. برنامه Newsboat از بارگیری، ذخیره و پخش جریانی پادکست‌ها پشتیبانی می‌کند، هرچند برای بازپخش به یک پخش‌کننده رسانه خارجی نیاز است. این پشتیبانی در شیوه پیاده‌سازی، کمی با دیگر گردآورنده‌های پادکست یا «podcatcher»ها تفاوت دارد.

محتوای پادکست در خوراک‌های RSS از طریق برچسب‌های ویژه‌ای به نام «enclosures» منتقل می‌شود. برنامه Newsboat این محفظه‌ها را شناسایی کرده و اطلاعات مربوطه را برای هر مورد پادکستی که در یک خوراک RSS پیدا کند، ذخیره می‌نماید. از نسخه 2.0، این برنامه همچنین افزونه‌های Yahoo Media RSS را شناسایی کرده و مدیریت می‌کند.

رابط‌های برنامه‌نویسی راه دور (Remote APIs) همیشه این «enclosures» را فهرست نمی‌کنند، بنابراین ممکن است پادکست‌ها در Newsboat مفقود باشند. چنین رابط‌هایی در بخش مربوطه از مستندات ما مشخص شده‌اند. اگر توضیحی درج نشده است اما همچنان محفظه‌ها را در Newsboat مشاهده نمی‌کنید، لطفاً یک گزارش مشکل ارسال کنید تا آن را به طور کامل بررسی نماییم!

کاری که کاربر می‌تواند انجام دهد این است که نشانی اینترنتی (URL) بارگیری پادکست را به یک صف بارگیری اضافه کند. به عنوان راهکاری جایگزین، Newsboat می‌تواند طوری پیکربندی شود که این کار را به صورت خودکار انجام دهد. این صف در فایل queue در کنار فایل cache.db ذخیره می‌شود.

سپس کاربر می‌تواند از مدیر بارگیری podboat برای بارگیری این فایل‌ها در دایرکتوری روی فایل‌سیستم محلی استفاده کند. برنامه Podboat همراه با بسته Newsboat ارائه می‌شود و از لحاظ ظاهر و رفتار بسیار شبیه به Newsboat است. این برنامه همچنین از همان فایل پیکربندی مشترک استفاده می‌کند.

پادکست‌هایی که بارگیری شده‌اند اما هنوز پخش نشده‌اند در صف باقی می‌مانند اما به عنوان بارگیری‌شده علامت‌گذاری می‌شوند. می‌توانید با پاکسازی آن‌ها از صف با استفاده از کلید Shift + P، آن‌ها را حذف کنید. پس از اینکه فایلی را پخش کردید و Podboat را بستید، از صف حذف خواهد شد. فایل بارگیری‌شده روی فایل‌سیستم باقی می‌ماند، مگر اینکه گزینه «delete-played-files» فعال شده باشد.

یک کاربرد متداول این است که Newsboat را برای قرار دادن خودکار نشانی‌های URL بارگیری پادکست‌های تازه‌یافت‌شده در صف پیکربندی کنید. سپس، کاربر خوراک‌های RSS پادکست را در Newsboat بازبارگذاری کرده و پس از آن، از Podboat برای مشاهده صف جاری استفاده می‌کند، و یا فایل‌های خاصی را به صورت انتخابی بارگیری کرده یا با فشردن کلید A در محیط Podboat، همه آن‌ها را به صورت خودکار با هم بارگیری می‌نماید.

delete-played-files (پارامترها: [yes/no]؛ مقدار پیش‌فرض: no)

اگر روی yes تنظیم شود، Podboat فایل‌ها را هنگامی که مدخل متناظر آن‌ها در صف حذف می‌شود، پاک خواهد کرد (این شامل مدخل‌های «finished» و «deleted» نیز می‌شود). (مثال: delete-played-files yes)

download-path (پارامترها: <path>؛ مقدار پیش‌فرض: ~/)

دایرکتوری مقصدی را مشخص می‌کند که Podboat فایل‌ها را در آن بارگیری می‌نماید. به صورت اختیاری، می‌توان از متغیرهای جایگزین برای قرار دادن بارگیری‌ها در یک ساختار دایرکتوری استفاده کرد. برای جزئیات مربوط به قالب‌های در دسترس، بخش FORMAT STRINGS از راهنمای Newsboat را ببینید. این تنظیم در زمان صف‌بندی اعمال می‌شود؛ تغییر آن تاثیری بر مسیر بارگیری پادکست‌هایی که پیش‌تر به صف اضافه شده‌اند نخواهد داشت. (مثال: download-path "~/Downloads/%h/%n")

download-filename-format (پارامترها: <string>؛ مقدار پیش‌فرض: "%?u?%u&%Y-%b-%d-%H%M%S.unknown?")

مشخص می‌کند که Podboat چگونه فایل‌های بارگیری‌شده را نام‌گذاری کند (همچنین download-path را ببینید). برای جزئیات در مورد قالب‌های موجود، بخش FORMAT STRINGS در راهنمای Newsboat را ببینید. (مثال: download-filename-format "%F-%t.%e")

max-downloads (پارامترها: <number>؛ مقدار پیش‌فرض: 1)

حداکثر تعداد بارگیری‌های موازی را هنگامی که بارگیری خودکار فعال است مشخص می‌کند. (مثال: max-downloads 3)

player (پارامترها: <player command>؛ مقدار پیش‌فرض: "")

پخش‌کننده‌ای را مشخص می‌کند که برای بازپخش فایل‌های بارگیری‌شده استفاده خواهد شد. (مثال: player "mp3blaster")

podlist-format (پارامترها: <format>؛ مقدار پیش‌فرض: "%4i [%6dMB/%6tMB] [%5p %%] [%12K] %-20S %u → %F")

این متغیر قالب مدخل‌ها را در فهرست بارگیری Podboat تعیین می‌کند. برای اطلاعات بیشتر درباره رشته‌های قالب‌بندی، بخش FORMAT STRINGS را در مستندات ببینید. (مثال: podlist-format "%i %u %-20S %F")

برنامه Newsboat شامل یک سیستم قدرتمند رشته‌های قالب‌بندی است تا امکان پیکربندی قالب جنبه‌های مختلف برنامه، مانند قالب مدخل‌ها در فهرست خوراک‌ها یا در فهرست مقالات را برای کاربر فراهم کند.

رشته‌های قالب‌بندی شبیه مواردی هستند که در تابع printf در زبان برنامه‌نویسی C یافت می‌شوند. یک توالی قالب‌بندی با نویسه % آغاز می‌شود و به دنبال آن مشخص‌کننده اختیاری تراز قرار می‌گیرد: اعداد مثبت نشان می‌دهند که متن درج‌شده برای توالی باید از سمت چپ به اندازه عرض کلی مشخص‌شده توسط عدد فاصله‌گذاری (pad) شود، در حالی که اعداد منفی فاصله‌گذاری از سمت راست را تعیین می‌کنند. پس از تعیین فاصله‌گذاری، شناسه اصلی توالی می‌آید که معمولاً یک حرف منفرد است. %=[width][identifier] توالی را در مرکز قرار می‌دهد، که اگر w=0 باشد کل عرض پنجره استفاده می‌شود.

علاوه بر این، Newsboat توالی‌های قدرتمندتر دیگری نیز فراهم می‌کند، مانند %>[char] که مشخص می‌کند متنِ سمت راستِ توالی در صفحه راست‌چین خواهد شد، و نویسه‌های بین متن سمت چپ و متن سمت راست با [char] پر می‌شوند. قالب قدرتمند دیگر، توالی شرطی %?[char]?[format 1]&[format 2]? است: اگر متنِ شناسه توالی [char] شامل هرگونه نویسه غیرفاصله‌ای باشد، آنگاه [format 1] ارزیابی و درج می‌شود، در غیر این صورت [format 2] ارزیابی و درج خواهد شد. بخش & و [format 2] اختیاری هستند، یعنی اگر متن شناسه خالی باشد، یک رشته خالی درج خواهد شد.

جدول‌های زیر نشان می‌دهند که چه شناسه‌های توالی برای کدام قالب در دسترس هستند:

جدول ۱. شناسه‌های موجود برای feedlist-format

شناسه معنا و کاربرد
d توضیحات خوراک
i نمایه خوراک
l پیوند خوراک
L نشانی RSS خوراک
n فیلد نشانگر «خوانده‌نشده» (unread)
S وضعیت بارگیری
t عنوان خوراک
T اولین برچسب یک خوراک در فایل URLs
u فیلد «خوانده‌نشده/مجموع»
U فیلد «خوانده‌نشده»
c فیلد «مجموع»

هنگامی که عملیات reload-all در حال اجرا است، وضعیت بارگیری نشان‌دهنده وضعیت بارگیری یک خوراک است که می‌تواند «در انتظار بارگیری» (مشخص‌شده با «_»)، «در حال بارگیری» (مشخص‌شده با «.»)، بارگیری موفقیت‌آمیز (مشخص‌شده با « ») و «خطای بارگیری» (مشخص‌شده با «x») باشد.

جدول ۲. شناسه‌های موجود برای articlelist-format

شناسه معنا و کاربرد
a نویسنده مقاله
D تاریخ انتشار. این مورد می‌تواند با datetime-format بیشتر سفارشی‌سازی شود.
f دو نویسه: ۱) «N» اگر مقاله خوانده‌نشده باشد، «D» اگر مقاله حذف شده باشد، در غیر این صورت یک فاصله؛ ۲) «!» اگر مقاله نشان‌گذاری شده باشد، در غیر این صورت یک فاصله.
n فیلد «خوانده‌نشده»
d فیلد «حذف‌شده»
F نشان‌های مقاله
i نمایه مقاله
t عنوان مقاله
T اگر فهرست مقالات، مقالاتی از خوراک‌های مختلف را نمایش دهد، این شناسه حاوی عنوان خوراکی است که مقاله به آن تعلق دارد.
L طول مقاله
e نشانی URL محفظه (enclosure) مقاله

جدول ۳. شناسه‌های موجود برای selecttag-format

شناسه معنا و کاربرد
i نمایه سطر در فهرست
T برچسبی که این سطر با آن متناظر است
f تعداد خوراک‌های خوانده‌نشده تحت این برچسب
n تعداد مقالات خوانده‌نشده در خوراک‌های نشان‌گذاری‌شده با این برچسب
u تعداد خوراک‌های نشان‌گذاری‌شده با این برچسب

جدول ۴. شناسه‌های موجود برای notify-format

شناسه معنا و کاربرد
n تعداد مقالات خوانده‌نشده
f تعداد خوراک‌های خوانده‌نشده
d تعداد مقالات خوانده‌نشده جدید (یعنی مواردی که در آخرین بازبارگذاری اضافه شده‌اند)
D تعداد خوراک‌های خوانده‌نشده جدید (یعنی مواردی که در آخرین بازبارگذاری اضافه شده‌اند)

جدول ۵. شناسه‌های موجود برای podlist-format

شناسه معنا و کاربرد
i نمایه بارگیری
d اندازه فعلی بارگیری‌شده به مگابایت، با دقت یک رقم اعشار
t اندازه کل بارگیری به مگابایت، با دقت یک رقم اعشار
p درصد بارگیری‌شده، با دقت یک رقم اعشار
k سرعت بارگیری با دقت دو رقم اعشار، همیشه به کیلوبایت بر ثانیه (شامل عبارت «KB/s» نمی‌شود)
K سرعت بارگیری با دقت دو رقم اعشار، خوانا برای انسان (تغییر خودکار بین KB/s، MB/s و GB/s)
S وضعیت بارگیری، یکی از موارد زیر را نمایش می‌دهد: «queued»، «downloading»، «ready»، «canceled»، «deleted»، «missing»، «played»، «finished» یا «failed»
u نشانی اینترنتی (URL) بارگیری
F نام فایل مطلق بارگیری از دایرکتوری ریشه (مانند ~/downloads/podcast.mp3 → /home/name/downloads/podcast.mp3)
b نام پایه (basename) بارگیری (مانند /home/name/downloads/podcast.mp3 → podcast.mp3)

جدول ۶. شناسه‌های موجود برای download-path و download-filename-format

شناسه معنا و کاربرد
u بخش نام فایل از URL بارگیری. ممکن است خالی باشد. ممکن است شامل یک رشته پرس‌وجو (query string) https://en.wikipedia.org/wiki/Query_string باشد
n نام خوراک پادکست
N نام خوراک پادکست. حاوی نام اصلی خوراک است، حتی زمانی که از طریق یک خوراک پرس‌وجو انتخاب شده باشد
h نام میزبان (hostname) خوراک پادکست
t عنوان قسمت پادکست
e پسوند فایل قسمت پادکست
F تاریخ انتشار قسمت پادکست با قالب yyyy-mm-dd
m ماهی که قسمت پادکست در آن منتشر شده است
b نام اختصاری ماهی که قسمت پادکست در آن منتشر شده است
d روزی که قسمت پادکست در آن منتشر شده است
H ساعتی که قسمت پادکست در آن منتشر شده است
M دقیقه‌ای که قسمت پادکست در آن منتشر شده است
S ثانیه‌ای که قسمت پادکست در آن منتشر شده است
y سال انتشار قسمت پادکست در قالب yy
Y سال انتشار قسمت پادکست در قالب yyyy

مثال‌ها:

feedlist-format     "%4i %n %11u %t"
articlelist-format  "%4i %f %D   %?T?|%-17T|  ?%t"
notify-format       "%d new articles (%n unread articles, %f unread feeds)"
podlist-format      "%4i [%-5p %%] %-12S %F"

به صورت پیش‌فرض، Newsboat تمام فایل‌ها را به روش سنتی یونیکس ذخیره می‌کند، یعنی در یک پوشه پنهان («dotdir») واقع در ~/.newsboat. با این حال، از روش مدرن مشخصات دایرکتوری پایه XDG https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html, نیز پشتیبانی می‌کند که فایل‌ها را بین مکان‌های زیر تقسیم می‌نماید:

1.$XDG_CONFIG_HOME/newsboat/ (مقدار پیش‌فرض XDG_CONFIG_HOME برابر با ~/.config است)
2.$XDG_DATA_HOME/newsboat/ (مقدار پیش‌فرض XDG_DATA_HOME برابر با ~/.local/share است)

اگر دایرکتوری newsboat در زیر XDG_CONFIG_HOME وجود داشته باشد، آنگاه Newsboat از دایرکتوری‌های XDG استفاده خواهد کرد (و در صورت نیاز دایرکتوری داده را ایجاد می‌کند). در غیر این صورت، Newsboat به طور پیش‌فرض از ~/.newsboat استفاده می‌نماید.

اگر در حال حاضر از ~/.newsboat/ استفاده می‌کنید اما مایل هستید به دایرکتوری‌های XDG مهاجرت نمایید، باید فایل‌ها را به شرح زیر منتقل کنید:

config, urls

به $XDG_CONFIG_HOME/newsboat/

cache.db, history.search, history.cmdline, queue

به $XDG_DATA_HOME/newsboat/

برنامه‌های Newsboat و Podboat همچنین «فایل‌های قفل» (lock files) ایجاد می‌کنند. این فایل‌ها از اجرای هم‌زمان دو نمونه از یک برنامه و در نتیجه از آسیب دیدن داده‌های شما جلوگیری می‌کنند. Newsboat و Podboat این فایل‌ها را هنگام خروج از برنامه حذف می‌نمایند، بنابراین نیازی به کپی کردن آن‌ها در جای دیگری نیست — فقط در صورتی که اسکریپت‌هایی می‌نویسید که با cache.db یا queue کار می‌کنند، از وجود آن‌ها مطلع باشید. به صورت پیش‌فرض، فایل‌های قفل در مسیرهای زیر قرار دارند:

dotdir XDG
Newsboat ~/.newsboat/cache.db.lock $XDG_DATA_HOME/newsboat/cache.db.lock
Podboat ~/.newsboat/pb-lock.pid $XDG_DATA_HOME/newsboat/.lock

برنامه Newsboat فایل قفل را در کنار فایل حافظه موقت قرار می‌دهد، بنابراین اگر تنظیم cache-file را مشخص کنید یا آرگومان خط فرمان —cache-file را پاس دهید، مسیر فایل قفل نیز تغییر خواهد کرد. فایل قفل Podboat را می‌توان با استفاده از آرگومان خط فرمان —lock-file در جای دیگری قرار داد.

dotfiles

~/.newsboat/config

~/.newsboat/queue

XDG

$XDG_CONFIG_HOME/newsboat/config

$XDG_DATA_HOME/newsboat/queue

نکته: اگر متغیر محیطی XDG_CONFIG_HOME تنظیم نشده باشد، Podboat طوری رفتار می‌کند که گویی روی ~/.config تنظیم شده است. به طور مشابه، XDG_DATA_HOME به صورت پیش‌فرض ~/.local/share است.

BROWSER

به Newsboat می‌گوید در صورتی که تنظیم browser در فایل پیکربندی وجود نداشته باشد، از چه مرورگری استفاده کند. اگر این متغیر وجود نداشته باشد، مقدار پیش‌فرض lynx(1) استفاده خواهد شد.

CURL_CA_BUNDLE

به Newsboat می‌گوید از فایل گواهی مشخص‌شده برای اعتبارسنجی طرف مقابل (peer) استفاده کند. فایل ممکن است حاوی چندین گواهی باشد. گواهی(ها) باید در قالب PEM باشند.

این گزینه زمانی مفید است که libcurl شما بدون اطلاعات گواهی مفید کامپایل شده باشد و شما نتوانید کتابخانه را خودتان کامپایل مجدد کنید.

EDITOR

به Newsboat می‌گوید هنگام ویرایش فایل urls از طریق عملیات edit-urls در صورتی که متغیر محیطی VISUAL تنظیم نشده باشد، از چه ویرایشگر جایگزینی استفاده کند. اگر این متغیر نیز وجود نداشته باشد، مقدار پیش‌فرض vi(1) استفاده خواهد شد.

NO_PROXY

به Newsboat می‌گوید تنظیم proxy را برای برخی سایت‌ها نادیده بگیرد.

این متغیر حاوی فهرستی از نام‌های میزبان، نام‌های دامنه و نشانی‌های IP است که با کاما از هم جدا شده‌اند.

نام‌های دامنه با زیردامنه‌ها تطبیق داده می‌شوند؛ یعنی «example.com» با «foo.example.com» نیز مطابقت دارد. نام‌های دامنه‌ای که با یک نقطه شروع می‌شوند فقط با زیردامنه‌ها مطابقت دارند؛ برای مثال «.example.com» با «bar.example.com» مطابقت دارد اما با خود «example.com» مطابقت ندارد.

آدرس‌های IPv6 بدون کروشه نوشته می‌شوند و به عنوان رشته تطبیق داده می‌شوند. بنابراین «::1» با «::0:1» مطابقت ندارد، حتی اگر این‌ها همان آدرس یکسان باشند.

PAGER

به Newsboat می‌گوید در صورتی که تنظیم pager در فایل پیکربندی به طور صریح روی یک رشته خالی تنظیم شده باشد، از چه صفحه‌بندی استفاده کند.

TMPDIR

به Newsboat می‌گوید از دایرکتوری مشخص‌شده برای ذخیره فایل‌های موقت استفاده کند. اگر این متغیر وجود نداشته باشد، مقدار پیش‌فرض /tmp استفاده خواهد شد.

VISUAL

به Newsboat می‌گوید هنگام ویرایش فایل urls از طریق عملیات edit-urls از چه ویرایشگری استفاده کند. اگر این متغیر وجود نداشته باشد، متغیر محیطی EDITOR استفاده خواهد شد.

XDG_CONFIG_HOME

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

XDG_DATA_HOME

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

newsboat(1)

Alexander Batischev

2026-06-21