ARIA2C(1) aria2 ARIA2C(1)

aria2c - ابزار فوقالعاده سریع دانلود فایل

aria2c [<گزینه‌ها>] [<نشانی>|<مگنت>|<فایل_تورنت>|<فایل_متالینک>] ...

برنامه aria2 ابزاری برای دانلود فایل‌ها است. پروتکل‌های پشتیبانی‌شده عبارتند از HTTP(S)، FTP، SFTP، BitTorrent و Metalink. ابزار aria2 می‌تواند یک فایل را از چندین منبع/پروتکل مختلف دانلود کرده و تلاش می‌کند از حداکثر پهنای باند دانلود شما بهره ببرد. این ابزار از دانلود هم‌زمان یک فایل از طریق HTTP(S)/FTP/SFTP و BitTorrent پشتیبانی می‌کند، در حالی که داده‌های دانلودشده از طریق HTTP(S)/FTP/SFTP در ازدحام (swarm) بیت‌تورنت آپلود می‌شوند. با استفاده از جمع‌های کنترلی (checksum) قطعات متالینک، aria2 به‌طور خودکار صحت قطعات داده را در حین دانلود فایل اعتبارسنجی می‌کند.

نکته:

بیشتر گزینه‌های مرتبط با FTP برای SFTP نیز قابل استفاده هستند. برخی از گزینه‌ها روی SFTP تأثیری ندارند (مانند --ftp-pasv)

پوشه ذخیره‌سازی فایل دانلودشده.
دانلود نشانی‌های (URI) فهرست‌شده در FILE. شما می‌توانید با قرار دادن چندین نشانی در یک خط و جدا کردن آن‌ها با نویسه TAB، چندین منبع را برای یک مورد واحد مشخص کنید. علاوه بر این، می‌توان گزینه‌ها را بعد از هر خط نشانی مشخص کرد. خطوط گزینه‌ها باید با یک یا چند نویسه فاصله خالی (SPACE یا TAB) آغاز شوند و در هر خط فقط باید یک گزینه قرار گیرد. فایل‌های ورودی می‌توانند از فشرده‌سازی gzip استفاده کنند. هنگامی که FILE به صورت - مشخص شود، aria2 ورودی را از stdin می‌خواند. برای جزئیات بیشتر زیربخش Input File را ببینید. همچنین گزینه --deferred-input را ببینید. همچنین گزینه --save-session را ببینید.
نام فایل لاگ (گزارش). اگر - مشخص شود، لاگ در stdout نوشته می‌شود. اگر رشته خالی ("") مشخص شود، یا این گزینه حذف گردد، هیچ گزارشی در دیسک نوشته نخواهد شد.
تنظیم حداکثر تعداد دانلودهای هم‌روند برای هر مورد در صف. همچنین گزینه --split را ببینید. پیش‌فرض: 5

نکته:

گزینه --max-concurrent-downloads تعداد مواردی را که به‌طور هم‌روند دانلود می‌شوند محدود می‌کند. گزینه‌های --split و --min-split-size بر تعداد اتصال‌ها درون هر مورد اثر می‌گذارند. تصور کنید فایل ورودی دارید (گزینه --input-file را ببینید) مانند این:
http://example.com/foo
http://example.com/bar

در اینجا ۲ مورد دانلود وجود دارد. اگر مقداری بزرگتر یا مساوی ۲ به --max-concurrent-downloads داده شود، aria2 می‌تواند این موارد را به‌صورت هم‌زمان دانلود کند. در هر مورد دانلود، می‌توانید تعداد اتصال‌ها را با استفاده از --split و/یا --min-split-size و غیره پیکربندی کنید.

بررسی صحت و یکپارچگی فایل با اعتبارسنجی هش قطعات یا هش کل فایل. این گزینه فقط در دانلودهای بیت‌تورنت، متالینک حاوی جمع‌های کنترلی (checksum)، یا دانلودهای HTTP(S)/FTP همراه با گزینه --checksum اثرگذار است. اگر هش‌های قطعات ارائه شده باشند، این گزینه می‌تواند بخش‌های آسیب‌دیده فایل را شناسایی کرده و آن‌ها را دوباره دانلود کند. اگر هش کل فایل ارائه شده باشد، بررسی هش تنها زمانی انجام می‌شود که فایل قبلاً دانلود شده باشد؛ این موضوع از طریق طول فایل تعیین می‌شود. اگر بررسی هش ناموفق باشد، فایل از ابتدا دوباره دانلود می‌شود. اگر هم هش قطعات و هم هش کل فایل ارائه شده باشند، تنها هش قطعات استفاده می‌شود. پیش‌فرض: false
ادامه دادن دانلود فایلی که بخشی از آن دانلود شده است. از این گزینه برای ازسرگیری دانلودی استفاده کنید که توسط یک مرورگر وب یا برنامه دیگری که فایل‌ها را به‌صورت ترتیبی از ابتدا دانلود می‌کند، آغاز شده است. در حال حاضر این گزینه فقط برای دانلودهای HTTP(S)/FTP کاربرد دارد.
پیام‌های راهنما با برچسب‌ها طبقه‌بندی شده‌اند. یک برچسب با # شروع می‌شود. به عنوان مثال، برای دریافت راهنمای گزینه‌های دارای برچسب #http عبارت --help=#http را وارد کنید. اگر کلمه‌ای بدون برچسب داده شود، راهنمای گزینه‌هایی که نامشان شامل آن کلمه است چاپ می‌شود. مقادیر موجود: #basic، #advanced، #http، #https، #ftp، #metalink، #bittorrent، #cookie، #hook، #file، #rpc، #checksum، #experimental، #deprecated، #help، #all پیش‌فرض: #basic

استفاده از سرور پروکسی برای همه پروتکل‌ها. برای بازنویسی پروکسی از پیش تعریف‌شده، از "" استفاده کنید. همچنین می‌توانید با استفاده از گزینه‌های --http-proxy، --https-proxy و --ftp-proxy این تنظیم را بازنویسی کرده و برای یک پروتکل خاص پروکسی مشخص کنید. این تنظیم بر همه دانلودها تأثیر می‌گذارد. قالب PROXY به‌صورت [http://][USER:PASSWORD@]HOST[:PORT] است. همچنین بخش ENVIRONMENT را ببینید.

نکته:

اگر نام کاربری و گذرواژه در نشانی پروکسی درج شده باشند و همچنین توسط گزینه‌های --{http,https,ftp,all}-proxy-{user,passwd} نیز مشخص شده باشند، مقادیری که دیرتر مشخص شوند بر گزینه‌های قبلی اولویت خواهند داشت. برای مثال، اگر در aria2.conf مقدار http-proxy-user=myname و http-proxy-passwd=mypass را تعیین کرده باشید و در خط فرمان --http-proxy="http://proxy" را مشخص کنید، آنگاه پروکسی HTTP با نشانی http://proxy و با نام کاربری myname و گذرواژه mypass اعمال خواهد شد.

مثالی دیگر: اگر در خط فرمان --http-proxy="http://user:pass@proxy" --http-proxy-user="myname" --http-proxy-passwd="mypass" را مشخص کرده باشید، آنگاه پروکسی HTTP با نشانی http://proxy و با نام کاربری myname و گذرواژه mypass اعمال خواهد شد.

یک مثال دیگر: اگر در خط فرمان --http-proxy-user="myname" --http-proxy-passwd="mypass" --http-proxy="http://user:pass@proxy" را مشخص کرده باشید، آنگاه پروکسی HTTP با نشانی http://proxy و با نام کاربری user و گذرواژه pass اعمال خواهد شد.

تنظیم گذرواژه برای گزینه --all-proxy.
تنظیم نام کاربری برای گزینه --all-proxy.
تنظیم جمع کنترلی (checksum). مقدار TYPE نوع هش است. انواع هش پشتیبانی‌شده در بخش Hash Algorithms خروجی aria2c -v فهرست شده‌اند. مقدار DIGEST خلاصه هگزادسیمال (hex digest) است. برای مثال، تنظیم خلاصه sha-1 به این صورت است: sha-1=0192ba11326fe2298c8cb4de616f4d4140213838 این گزینه فقط برای دانلودهای HTTP(S)/FTP اعمال می‌شود.
تنظیم مهلت زمان اتصال (connect timeout) به ثانیه برای برقراری ارتباط با سرور HTTP/FTP/پروکسی. پس از برقراری اتصال، این گزینه بی‌اثر شده و به‌جای آن گزینه --timeout استفاده می‌شود. پیش‌فرض: 60
اگر مقدار true داده شود، aria2 صرفاً در دسترس بودن فایل دوردست را بررسی می‌کند و داده‌ای را دانلود نمی‌کند. این گزینه بر دانلودهای HTTP/FTP اثر دارد. در صورت تعیین true، دانلودهای بیت‌تورنت لغو می‌شوند. پیش‌فرض: false
بستن اتصال در صورتی که سرعت دانلود کمتر یا مساوی با این مقدار (بایت بر ثانیه) باشد. مقدار 0 به این معنی است که aria2 محدودیت حداقل سرعت ندارد. می‌توانید پسوند K یا M را اضافه کنید (1K = 1024, 1M = 1024K). این گزینه بر دانلودهای بیت‌تورنت تأثیری ندارد. پیش‌فرض: 0
حداکثر تعداد اتصال‌ها به یک سرور برای هر دانلود. پیش‌فرض: 1
اگر aria2 بدون دریافت حتی یک بایت، وضعیت "file not found" را به تعداد NUM بار از سرورهای دوردست HTTP/FTP دریافت کند، دانلود را به اجبار ناموفق اعلام می‌کند. برای غیرفعال کردن این گزینه مقدار 0 را تعیین کنید. این گزینه تنها هنگام استفاده از سرورهای HTTP/FTP مؤثر است. تعداد تلاش‌های مجدد در شمارش --max-tries لحاظ می‌شود، بنابراین آن گزینه نیز باید پیکربندی شود.

پیش‌فرض: 0

تنظیم تعداد دفعات تلاش. مقدار 0 به معنای نامحدود است. همچنین گزینه --retry-wait را ببینید. پیش‌فرض: 5
ابزار aria2 محدوده کمتر از 2*SIZE بایت را تکه نمی‌کند. به عنوان مثال، دانلود یک فایل 20MiB را در نظر بگیرید. اگر مقدار SIZE برابر 10M باشد، aria2 می‌تواند فایل را به ۲ محدوده [0-10MiB) و [10MiB-20MiB) تقسیم کرده و با استفاده از ۲ منبع دانلود کند (البته در صورتی که --split >= 2 باشد). اگر مقدار SIZE برابر 15M باشد، چون 2*15M > 20MiB است، aria2 فایل را تقسیم نکرده و آن را با ۱ منبع دانلود می‌کند. می‌توانید پسوند K یا M را اضافه کنید (1K = 1024, 1M = 1024K). مقادیر ممکن: 1M -1024M پیش‌فرض: 20M
مشخص کردن مسیر فایل netrc. پیش‌فرض: $(HOME)/.netrc

نکته:

سطح دسترسی فایل netrc. باید 600 باشد. در غیر این صورت، این فایل نادیده گرفته خواهد شد.
غیرفعال کردن پشتیبانی از netrc. پشتیبانی از netrc به‌طور پیش‌فرض فعال است.

نکته:

فایل netrc تنها در زمان راه‌اندازی خوانده می‌شود اگر --no-netrc برابر false باشد. بنابراین اگر --no-netrc در زمان راه‌اندازی true باشد، در طول کل نشست هیچ netrc در دسترسی نخواهد بود. شما نمی‌توانید netrc را فعال کنید حتی اگر با استفاده از aria2.changeGlobalOption() مقدار --no-netrc=false را ارسال نمایید.
مشخص کردن فهرستی از نام‌های میزبان، دامنه‌ها و آدرس‌های شبکه با یا بدون ماسک زیرشبکه (subnet mask) جداشده با کاما، که نباید برای آن‌ها از پروکسی استفاده شود.

نکته:

برای آدرس‌های شبکه دارای ماسک زیرشبکه، هر دو نوع آدرس IPv4 و IPv6 پشتیبانی می‌شوند. پیاده‌سازی فعلی نام میزبان موجود در نشانی (URI) را برای مقایسه با آدرس‌های شبکه تعیین‌شده در --no-proxy تحلیل (resolve) نمی‌کند؛ بنابراین این ویژگی تنها در صورتی مؤثر است که نشانی شامل آدرس‌های IP عددی باشد.
نام فایل دانلودشده. این نام همیشه نسبت به پوشه داده‌شده در گزینه --dir در نظر گرفته می‌شود. هنگامی که از گزینه --force-sequential استفاده شود، این گزینه نادیده گرفته می‌شود.

نکته:

شما نمی‌توانید برای دانلودهای متالینک یا بیت‌تورنت نام فایل مشخص کنید. نام فایل مشخص‌شده در اینجا تنها زمانی استفاده می‌شود که نشانی‌های ارائه‌شده به aria2 مستقیماً در خط فرمان داده شده باشند، نه زمانی که از گزینه --input-file یا --force-sequential استفاده شود.

مثال:

$ aria2c -o myfile.zip "http://mirror1/file.zip" "http://mirror2/file.zip"
تنظیم متد مورداستفاده در درخواست پروکسی. مقدار METHOD می‌تواند get یا tunnel باشد. دانلودهای HTTPS صرف‌نظر از این گزینه همیشه از tunnel استفاده می‌کنند. پیش‌فرض: get
دریافت برچسب زمان (timestamp) فایل دوردست از سرور HTTP/FTP دوردست و اعمال آن روی فایل محلی در صورت در دسترس بودن. پیش‌فرض: false
استفاده مجدد از نشانی‌های استفاده‌شده قبلی در صورتی که هیچ نشانی استفاده‌نشده‌ای باقی نمانده باشد. پیش‌فرض: true
تنظیم ثانیه‌های انتظار میان تلاش‌های مجدد. هنگامی که SEC > 0 باشد، در صورتی که سرور HTTP پاسخ 503 برگرداند، aria2 دانلود را مجدداً تلاش خواهد کرد. پیش‌فرض: 0
مشخص کردن نام فایلی که نمایه کارایی (performance profile) سرورها در آن ذخیره می‌شود. می‌توانید داده‌های ذخیره‌شده را با استفاده از گزینه --server-stat-if بارگذاری کنید. برای قالب فایل، زیربخش Server Performance Profile در زیر را ببینید.
مشخص کردن نام فایل برای بارگذاری نمایه کارایی سرورها. داده‌های بارگذاری‌شده در برخی انتخاب‌کننده‌های نشانی مانند feedback استفاده خواهند شد. همچنین گزینه --uri-selector را ببینید. برای قالب فایل، زیربخش Server Performance Profile در زیر را ببینید.
مشخص کردن مهلت زمانی به ثانیه برای باطل کردن نمایه کارایی سرورها از زمان آخرین تماس با آن‌ها. پیش‌فرض: 86400 (۲۴ ساعت)
دانلود یک فایل با استفاده از N اتصال. اگر بیش از N نشانی داده شود، ابتدا N نشانی اول استفاده شده و نشانی‌های باقی‌مانده برای پشتیبان به کار می‌روند. اگر کمتر از N نشانی داده شود، آن نشانی‌ها بیش از یک بار استفاده می‌شوند تا در مجموع N اتصال به‌طور هم‌زمان برقرار شود. تعداد اتصال‌ها به یک میزبان واحد توسط گزینه --max-connection-per-server محدود می‌شود. همچنین گزینه --min-split-size را ببینید. پیش‌فرض: 5

نکته:

برخی فایل‌های متالینک تعداد سرورهای مجاز برای اتصال را تعیین می‌کنند. aria2 دقیقاً به آن‌ها احترام می‌گذارد. این بدان معناست که اگر متالینک ویژگی maxconnections را کمتر از N تعریف کرده باشد، آنگاه aria2 به‌جای N از این مقدار کمتر استفاده خواهد کرد.
مشخص کردن الگوریتم انتخاب قطعه در دانلودهای HTTP/FTP. یک قطعه (piece) بخشی با طول ثابت است که در دانلود چندتکه‌ای به‌صورت موازی دانلود می‌شود. پیش‌فرض: default.
انتخاب قطعه به گونه‌ای که تعداد اتصال‌های برقرارشده کاهش یابد. این یک رفتار پیش‌فرض منطقی است چرا که برقراری اتصال یک عملیات هزینه‌بر محسوب می‌شود.
انتخاب قطعه‌ای که به ابتدای فایل نزدیک‌تر است. این برای تماشای فیلم هم‌زمان با دانلود مفید است. گزینه --enable-http-pipelining ممکن است برای کاهش بار اضافی اتصال‌های مجدد سودمند باشد. توجه داشته باشید که aria2 گزینه --min-split-size را رعایت می‌کند، بنابراین لازم است مقدار معقولی برای گزینه --min-split-size تعیین شود.
انتخاب تصادفی یک قطعه. همانند inorder، گزینه --min-split-size نیز رعایت می‌شود.
هنگام شروع دانلود فایل، مانند inorder قطعه‌ای را انتخاب می‌کند که به ابتدای فایل نزدیک‌تر است، اما سپس فاصله بین قطعات را به‌صورت تصاعدی افزایش می‌دهد. این کار تعداد اتصالات برقرارشده را کاهش می‌دهد، در حالی که هم‌زمان بخش ابتدایی فایل را زودتر دانلود می‌کند. این حالت برای تماشای فیلم هنگام دانلود بسیار مفید است.
تنظیم مهلت زمانی (timeout) به ثانیه. پیش‌فرض: 60
مشخص کردن الگوریتم انتخاب نشانی (URI). مقادیر ممکن عبارتند از inorder، feedback و adaptive. اگر inorder داده شود، نشانی‌ها به همان ترتیبی که در فهرست ظاهر شده‌اند آزمایش می‌شوند. اگر feedback داده شود، aria2 از سرعت دانلود مشاهده‌شده در دانلودهای پیشین استفاده کرده و سریع‌ترین سرور را در فهرست نشانی‌ها انتخاب می‌کند. این کار همچنین آینه‌های (mirrors) از کار افتاده را رد می‌کند. سرعت دانلود مشاهده‌شده بخشی از نمایه کارایی سرورها است که در گزینه‌های --server-stat-of و --server-stat-if به آن اشاره شد. اگر adaptive داده شود، یکی از بهترین آینه‌ها را برای اتصال‌های اول و ذخیره انتخاب می‌کند. برای اتصال‌های تکمیلی، آینه‌هایی را برمی‌گرداند که هنوز آزمایش نشده‌اند، و اگر همه آن‌ها قبلاً آزمایش شده باشند، آینه‌هایی را برمی‌گرداند که باید مجدداً آزمایش شوند. در غیر این صورت، دیگر آینه‌ای انتخاب نمی‌کند. این حالت مانند feedback، از نمایه کارایی سرورها بهره می‌برد. پیش‌فرض: feedback

استفاده از مراجع صدور گواهی (CA) موجود در FILE برای اعتبارسنجی همتایان (peers). فایل گواهی باید در قالب PEM باشد و می‌تواند شامل چندین گواهی CA باشد. برای فعال‌سازی اعتبارسنجی از گزینه --check-certificate استفاده کنید.

نکته:

اگر برنامه را با OpenSSL یا نسخه‌های جدید GnuTLS که دارای تابع gnutls_certificate_set_x509_system_trust() هستند بسازید و کتابخانه به درستی برای یافتن مخزن گواهی‌های CA در سطح سیستم پیکربندی شده باشد، aria2 به‌طور خودکار آن گواهی‌ها را هنگام راه‌اندازی بارگذاری می‌کند.

نکته:

گزینه‌های WinTLS و AppleTLS از این گزینه پشتیبانی نمی‌کنند. در عوض باید گواهی را در مخزن مورد اعتماد سیستم‌عامل وارد (import) کنید.
استفاده از گواهی کلاینت موجود در FILE. گواهی باید در قالب PKCS12 (.p12, .pfx) یا PEM باشد.

فایل‌های PKCS12 باید حاوی گواهی، کلید و اختیاری زنجیره‌ای از گواهی‌های اضافی باشند. فقط فایل‌های PKCS12 با گذرواژه واردسازی (import) خالی قابل باز شدن هستند!

هنگام استفاده از PEM، باید کلید خصوصی را نیز از طریق --private-key مشخص کنید.

نکته:

در حال حاضر WinTLS از فایل‌های PEM پشتیبانی نمی‌کند. کاربران باید از فایل‌های PKCS12 استفاده کنند.

نکته:

کاربران AppleTLS باید از ابزار Keychain Access برای وارد کردن گواهی کلاینت استفاده کنند و اثر انگشت SHA-1 را از کادر گفتگوی اطلاعات مربوط به آن گواهی به دست آورند. برای شروع aria2c از --certificate=<SHA-1> استفاده کنید. به عنوان روش دیگر، فایل‌های PKCS12 نیز پشتیبانی می‌شوند؛ با این حال، فایل‌های PEM پشتیبانی نمی‌شوند.
اعتبارسنجی همتا با استفاده از گواهی‌های مشخص‌شده در گزینه --ca-certificate. پیش‌فرض: true
ارسال سربرگ درخواست Accept-Encoding: deflate, gzip و از حالت فشرده خارج کردن پاسخ در صورتی که سرور دوردست با Content-Encoding: gzip یا Content-Encoding: deflate پاسخ دهد. پیش‌فرض: false

نکته:

برخی سرورها برای فایل‌هایی که خودشان فایل فشرده gzipped هستند نیز با Content-Encoding: gzip پاسخ می‌دهند. ابزار aria2 به دلیل سربرگ پاسخ دریافتی، در هر صورت آن‌ها را از حالت فشرده خارج می‌کند.
ارسال سربرگ احراز هویت HTTP تنها زمانی که توسط سرور درخواست شده باشد. اگر روی false تنظیم شود، سربرگ احراز هویت همیشه به سرور ارسال می‌گردد. یک استثنا وجود دارد: اگر نام کاربری و گذرواژه در نشانی (URI) قرار داده شده باشند، صرف‌نظر از این گزینه سربرگ احراز هویت همیشه به سرور ارسال می‌شود. پیش‌فرض: false
ارسال سربرگ‌های Cache-Control: no-cache و Pragma: no-cache برای جلوگیری از محتوای کش‌شده. اگر مقدار false داده شود، این سربرگ‌ها ارسال نمی‌شوند و شما می‌توانید با استفاده از گزینه --header سربرگ Cache-Control را با دستورالعمل دلخواه خود اضافه کنید. پیش‌فرض: false
تنظیم نام کاربری HTTP. این بر تمامی نشانی‌ها اعمال می‌شود.
تنظیم گذرواژه HTTP. این بر تمامی نشانی‌ها اعمال می‌شود.
استفاده از یک سرور پروکسی برای HTTP. برای بازنویسی پروکسی تعریف‌شده قبلی، از "" استفاده کنید. همچنین گزینه --all-proxy را ببینید. این بر تمامی دانلودهای HTTP اثر می‌گذارد. قالب PROXY به‌صورت [http://][USER:PASSWORD@]HOST[:PORT] است.
تنظیم گذرواژه برای --http-proxy.
تنظیم نام کاربری برای --http-proxy.
استفاده از سرور پروکسی برای HTTPS. برای بازنویسی پروکسی تعریف‌شده قبلی، از "" استفاده کنید. همچنین گزینه --all-proxy را ببینید. این بر تمامی دانلودهای HTTPS اثر می‌گذارد. قالب PROXY به‌صورت [http://][USER:PASSWORD@]HOST[:PORT] است.
تنظیم گذرواژه برای --https-proxy.
تنظیم نام کاربری برای --https-proxy.
استفاده از کلید خصوصی موجود در FILE. کلید خصوصی باید رمزگشایی‌شده و در قالب PEM باشد. کلید رمزنگاری‌شده ممکن است رفتارهای تعریف‌نشده ایجاد کند. همچنین گزینه --certificate را ببینید.
تنظیم ارجاع‌دهنده HTTP (سربرگ Referer). این بر تمامی دانلودهای HTTP/HTTPS اعمال می‌شود. اگر * داده شود، خود نشانی دانلود نیز به عنوان ارجاع‌دهنده استفاده می‌شود. این ممکن است هنگام استفاده همراه با گزینه --parameterized-uri سودمند باشد.
فعال‌سازی اتصال پایدار (persistent connection) در HTTP/1.1. پیش‌فرض: true
فعال‌سازی خط‌لوله‌سازی (pipelining) در HTTP/1.1. پیش‌فرض: false

نکته:

معمولاً فعال‌سازی این گزینه بهبودی در عملکرد و کارایی ایجاد نمی‌کند.
افزودن HEADER به سربرگ درخواست HTTP. می‌توانید از این گزینه به‌طور مکرر برای تعیین بیش از یک سربرگ استفاده کنید:
$ aria2c --header="X-A: b78" --header="X-B: 9J1" "http://host/file"
بارگذاری کوکی‌ها از FILE با استفاده از قالب فایرفاکس ۳ (SQLite3)، کرومیوم/گوگل کروم (SQLite3) و قالب موزیلا/فایرفاکس(1.x/2.x)/نت‌اسکیپ.

نکته:

اگر aria2 بدون libsqlite3 ساخته شده باشد، از قالب کوکی‌های فایرفاکس ۳ و کرومیوم/گوگل کروم پشتیبانی نمی‌کند.
ذخیره کوکی‌ها در FILE با قالب موزیلا/فایرفاکس(1.x/2.x)/نت‌اسکیپ. اگر FILE از قبل وجود داشته باشد، بازنویسی می‌شود. کوکی‌های نشست (Session Cookies) نیز ذخیره می‌شوند و زمان انقضای آن‌ها 0 در نظر گرفته می‌شود. مقادیر ممکن: /path/to/file
استفاده از متد HEAD برای اولین درخواست به سرور HTTP. پیش‌فرض: false
تعیین غیرفعال کردن سربرگ Want-Digest هنگام ارسال درخواست‌ها. پیش‌فرض: false
تنظیم عامل کاربر (User Agent) برای دانلودهای HTTP(S). پیش‌فرض: aria2/$VERSION، مقدار $VERSION با نسخه بسته جایگزین می‌شود.

تنظیم نام کاربری FTP. این بر تمامی نشانی‌ها اعمال می‌شود. پیش‌فرض: anonymous
تنظیم گذرواژه FTP. این بر تمامی نشانی‌ها اعمال می‌شود. اگر نام کاربری در نشانی درج شده باشد اما گذرواژه نباشد، aria2 تلاش می‌کند گذرواژه را از طریق netrc. بیابد. اگر گذرواژه در netrc. یافت شود، از آن استفاده می‌کند. در غیر این صورت، از گذرواژه مشخص‌شده در این گزینه استفاده خواهد شد. پیش‌فرض: ARIA2USER@
استفاده از حالت غیرفعال (Passive) در FTP. اگر false داده شود، از حالت فعال (Active) استفاده خواهد شد. پیش‌فرض: true

نکته:

این گزینه برای انتقال‌های SFTP نادیده گرفته می‌شود.
استفاده از سرور پروکسی برای FTP. برای بازنویسی پروکسی تعریف‌شده قبلی، از "" استفاده کنید. همچنین گزینه --all-proxy را ببینید. این بر تمامی دانلودهای FTP اثر می‌گذارد. قالب PROXY به‌صورت [http://][USER:PASSWORD@]HOST[:PORT] است.
تنظیم گذرواژه برای گزینه --ftp-proxy.
تنظیم نام کاربری برای گزینه --ftp-proxy.
تنظیم نوع انتقال FTP. مقدار TYPE می‌تواند binary یا ascii باشد. پیش‌فرض: binary

نکته:

این گزینه برای انتقال‌های SFTP نادیده گرفته می‌شود.
استفاده مجدد از اتصال در FTP. پیش‌فرض: true
تنظیم جمع کنترلی (checksum) برای کلید عمومی میزبان SSH. مقدار TYPE نوع هش است. انواع هش پشتیبانی‌شده sha-1 یا md5 هستند. مقدار DIGEST خلاصه هگزادسیمال است. برای مثال: sha-1=b030503d4de4539dc7885e6f0f5e256704edf4c3. از این گزینه می‌توان برای اعتبارسنجی کلید عمومی سرور هنگام استفاده از SFTP استفاده کرد. اگر این گزینه تنظیم نشود (که حالت پیش‌فرض است)، هیچ اعتبارسنجی انجام نمی‌گیرد.
مشخص کردن فایل برای دانلود با استفاده از شناسه (اندیس) آن. می‌توانید شناسه فایل را با استفاده از گزینه --show-files بیابید. می‌توانید چندین شناسه را با استفاده از , مشخص کنید، مثلاً: 3,6. همچنین می‌توانید از - برای مشخص کردن یک بازه استفاده کنید: 1-5. می‌توان , و - را با یکدیگر به کار برد: 1-5,8,9. هنگامی که همراه با گزینه -M استفاده شود، شناسه ممکن است بسته به پرس‌وجو متغیر باشد (گزینه‌های --metalink-* را ببینید).

نکته:

در تورنت‌های چندفایلی، ممکن است فایل‌های مجاور مشخص‌شده با این گزینه نیز دانلود شوند. این یک ویژگی طراحی است و باگ محسوب نمی‌شود. یک قطعه منفرد ممکن است شامل چندین فایل یا بخشی از فایل‌ها باشد و aria2 قطعه دانلودشده را در فایل‌های مربوطه می‌نویسد.
چاپ فهرست فایل‌های موجود در فایل‌های ".torrent"، ".meta4" و ".metalink" و سپس خروج. در مورد فایل‌های ".torrent"، اطلاعات بیشتر (infohash، طول قطعه و غیره) نیز چاپ خواهد شد.

استثنا کردن دانلودهایی که صرفاً سید (seed) هستند هنگام شمارش دانلودهای فعال هم‌زمان (گزینه -j را ببینید). این بدان معناست که اگر -j3 داده شود و این گزینه فعال باشد و ۳ دانلود فعال باشند و یکی از آن‌ها وارد حالت سید شود، از شمارش دانلودهای فعال مستثنا می‌گردد (در نتیجه به ۲ تبدیل می‌شود) و دانلود بعدی که در صف منتظر است آغاز می‌شود. اما توجه داشته باشید که آیتم در حال سید همچنان در متد RPC به عنوان دانلود فعال شناخته می‌شود. پیش‌فرض: false
اجازه فراخوانی دستور هوک (hook) پس از بررسی هش (گزینه -V را ببینید) در دانلود بیت‌تورنت. به‌طور پیش‌فرض، زمانی که بررسی هش با موفقیت انجام شود، دستور ارائه‌شده توسط --on-bt-download-complete اجرا می‌شود. برای غیرفعال کردن این رفتار، مقدار false را به این گزینه بدهید. پیش‌فرض: true
فعال کردن کشف همتای محلی (Local Peer Discovery). اگر فلگ خصوصی (private) در یک تورنت تنظیم شده باشد، aria2 حتی در صورت مشخص شدن true از این ویژگی برای آن دانلود استفاده نمی‌کند. پیش‌فرض: false
فهرست جداشده با کاما از نشانی‌های (URI) اعلام ترکر بیت‌تورنت جهت حذف. می‌توانید از مقدار ویژه * استفاده کنید که با تمام نشانی‌ها مطابقت دارد و در نتیجه تمام نشانی‌های اعلام را حذف می‌کند. هنگام مشخص کردن * در خط فرمان شل، اسکیپ کردن یا قرار دادن آن در نقل‌قول را فراموش نکنید. همچنین گزینه --bt-tracker را ببینید.
مشخص کردن آدرس IP خارجی برای استفاده در دانلود بیت‌تورنت و DHT. این آدرس ممکن است به ترکر بیت‌تورنت ارسال شود. برای DHT، این گزینه باید تنظیم شود تا گزارش دهد گره محلی در حال دانلود یک تورنت مشخص است. این امر برای استفاده از DHT در یک شبکه خصوصی حیاتی است. اگرچه این تابع external نامیده شده است، اما می‌تواند هر نوع آدرس IP را بپذیرد.
رمزگذاری بار داده پیام‌های بیت‌تورنت با arc4 را الزامی می‌کند. این یک شکل خلاصه از --bt-require-crypto --bt-min-crypto-level=arc4 است. این گزینه مقدار تنظیم‌شده برای آن گزینه‌ها را تغییر نمی‌دهد. اگر true داده شود، دست‌تکانی سنتی بیت‌تورنت رد شده و تنها از دست‌تکانی مبهم‌سازی (Obfuscation) استفاده می‌شود و بار داده پیام‌ها همیشه رمزگذاری می‌گردد. پیش‌فرض: false
اگر true داده شود، پس از بررسی هش با استفاده از گزینه --check-integrity و کامل بودن فایل، به سید کردن فایل ادامه می‌دهد. اگر می‌خواهید فایل را بررسی کنید و تنها در صورت آسیب‌دیدگی یا ناقص بودن آن را دانلود نمایید، این گزینه را روی false تنظیم کنید. این گزینه تنها بر دانلود بیت‌تورنت تأثیر دارد. پیش‌فرض: true
قبل از دریافت متادیتای تورنت از DHT هنگام دانلود با لینک مگنت، ابتدا تلاش می‌کند فایل ذخیره‌شده توسط گزینه --bt-save-metadata را بخواند. اگر موفقیت‌آمیز باشد، از دانلود متادیتا از DHT صرف‌نظر می‌شود. پیش‌فرض: false
استفاده از رابط مشخص‌شده برای کشف همتای محلی (LPD). اگر این گزینه مشخص نشود، رابط پیش‌فرض انتخاب می‌شود. می‌توانید نام رابط و آدرس IP را مشخص کنید. مقادیر ممکن: interface, IP address
حداکثر تعداد فایل‌ها برای باز شدن در دانلود چندفایلی بیت‌تورنت/متالینک را به صورت سراسری مشخص می‌کند. پیش‌فرض: 100
حداکثر تعداد همتاها (peers) به ازای هر تورنت را تعیین می‌کند. مقدار 0 به معنای نامحدود است. همچنین گزینه --bt-request-peer-speed-limit را ببینید. پیش‌فرض: 55
تنها متادیتا را دانلود می‌کند. فایل(های) توصیف‌شده در متادیتا دانلود نخواهند شد. این گزینه تنها زمانی تأثیر دارد که از نشانی مگنت بیت‌تورنت استفاده شود. همچنین گزینه --bt-save-metadata را ببینید. پیش‌فرض: false
تنظیم حداقل سطح روش رمزگذاری. اگر چند روش رمزگذاری توسط یک همتا ارائه شود، aria2 پایین‌ترین موردی را انتخاب می‌کند که سطح داده‌شده را برآورده سازد. پیش‌فرض: plain
تلاش برای دانلود قطعات ابتدایی و انتهایی هر فایل در اولویت نخست. این امر برای پیش‌نمایش فایل‌ها کاربرد دارد. این آرگومان می‌تواند شامل ۲ کلمه کلیدی باشد: head و tail. برای استفاده هم‌زمان از هر دو، باید با کاما از هم جدا شوند. این کلمات کلیدی می‌توانند یک پارامتر SIZE دریافت کنند. برای مثال، اگر head=<SIZE> مشخص شود، قطعات موجود در بازه SIZE بایت نخست از هر فایل اولویت بالاتری دریافت می‌کنند. tail=<SIZE> به معنای بازه SIZE بایت پایانی هر فایل است. مقدار SIZE می‌تواند شامل K یا M باشد (1K = 1024, 1M = 1024K). اگر SIZE مشخص نشود، از مقدار پیش‌فرض SIZE=1M استفاده می‌شود.
هنگامی که دانلود در بیت‌تورنت تکمیل شد، فایل‌های انتخاب‌نشده را حذف می‌کند. جهت انتخاب فایل‌ها، از گزینه --select-file استفاده کنید. در صورت عدم استفاده از آن، فرض می‌شود که همه فایل‌ها انتخاب شده‌اند. لطفاً با احتیاط از این گزینه استفاده کنید زیرا این کار واقعاً فایل‌ها را از دیسک شما پاک می‌کند. پیش‌فرض: false
اگر true داده شود، aria2 اتصال با دست‌تکانی سنتی بیت‌تورنت (\19BitTorrent protocol) را نمی‌پذیرد و برقرار نمی‌کند. بنابراین aria2 همواره از دست‌تکانی مبهم‌سازی (Obfuscation) استفاده می‌کند. پیش‌فرض: false
چنانچه سرعت کلی دانلود تمام تورنت‌ها کمتر از SPEED باشد، aria2 موقتاً تعداد همتاها را برای تلاش در جهت دستیابی به سرعت بیشتر افزایش می‌دهد. پیکربندی این گزینه با سرعت دانلود دلخواهتان می‌تواند در برخی موارد سرعت دانلود شما را بالا ببرد. می‌توانید K یا M را اضافه کنید (1K = 1024, 1M = 1024K). پیش‌فرض: 50K
ذخیره متادیتا به عنوان پرونده ".torrent". این گزینه تنها زمانی اعمال می‌شود که از نشانی مگنت بیت‌تورنت استفاده شود. نام فایل، رشته هگز هش اطلاعات (info hash) به همراه پسوند ".torrent" است. دایرکتوری ذخیره‌سازی، همان دایرکتوری است که فایل دانلودشده در آن ذخیره می‌شود. اگر همان فایل از قبل وجود داشته باشد، متادیتا ذخیره نمی‌شود. همچنین گزینه --bt-metadata-only را ببینید. پیش‌فرض: false
سید کردن فایل‌های از پیش دانلودشده بدون تأیید هش قطعات. پیش‌فرض: false
توقف دانلود بیت‌تورنت در صورتی که سرعت دانلود برای SEC ثانیه متوالی برابر 0 باشد. اگر مقدار 0 داده شود، این ویژگی غیرفعال است. پیش‌فرض: 0
فهرست جداشده با کاما از نشانی‌های (URI) اعلام ترکر اضافی بیت‌تورنت. این نشانی‌ها تحت تأثیر گزینه --bt-exclude-tracker قرار نمی‌گیرند زیرا پس از حذف نشانی‌های گزینه --bt-exclude-tracker اضافه می‌شوند.
تنظیم زمان انقضای اتصال بر حسب ثانیه برای برقراری اتصال با ترکر. پس از برقراری اتصال، این گزینه بی‌تأثیر بوده و در عوض از گزینه --bt-tracker-timeout استفاده می‌شود. پیش‌فرض: 60
تنظیم بازه زمانی بر حسب ثانیه میان درخواست‌های ترکر. این تنظیم مقدار بازه را کاملاً بازنویسی می‌کند و aria2 صرفاً از همین مقدار استفاده نموده و حداقل بازه و مقدار بازه موجود در پاسخ ترکر را نادیده می‌گیرد. اگر روی 0 تنظیم شود، aria2 بازه زمانی را بر اساس پاسخ ترکر و پیشرفت دانلود تعیین می‌کند. پیش‌فرض: 0
تنظیم زمان انقضا بر حسب ثانیه. پیش‌فرض: 60
تنظیم میزبان و پورت به عنوان نقطه ورود به شبکه IPv4 DHT.
تنظیم میزبان و پورت به عنوان نقطه ورود به شبکه IPv6 DHT.
تغییر فایل جدول مسیریابی IPv4 DHT به PATH. پیش‌فرض: $HOME/.aria2/dht.dat در صورت وجود، در غیر این صورت $XDG_CACHE_HOME/aria2/dht.dat.
تغییر فایل جدول مسیریابی IPv6 DHT به PATH. پیش‌فرض: $HOME/.aria2/dht6.dat در صورت وجود، در غیر این صورت $XDG_CACHE_HOME/aria2/dht6.dat.
مشخص کردن آدرس جهت مقیدسازی سوکت برای IPv6 DHT. این آدرس باید یک آدرس یونیکست سراسری IPv6 متعلق به میزبان باشد.
تنظیم پورت شنود UDP مورد استفاده توسط DHT (IPv4، IPv6) و ترکر UDP. چند پورت را می‌توان با استفاده از , مشخص کرد، برای مثال: 6881,6885. همچنین می‌توانید از - برای تعیین یک بازه استفاده کنید: 6881-6999. , و - می‌توانند با یکدیگر استفاده شوند. پیش‌فرض: 6881-6999

نکته:

اطمینان حاصل کنید که پورت‌های مشخص‌شده برای ترافیک ورودی UDP باز هستند.
تنظیم زمان انقضا بر حسب ثانیه. پیش‌فرض: 10
فعال‌سازی قابلیت IPv4 DHT. این گزینه همچنین پشتیبانی از ترکر UDP را فعال می‌کند. اگر فلگ خصوصی در یک تورنت تنظیم شده باشد، aria2 حتی در صورت مشخص شدن true از DHT برای آن دانلود استفاده نمی‌کند. پیش‌فرض: true
فعال‌سازی قابلیت IPv6 DHT. اگر فلگ خصوصی در یک تورنت تنظیم شده باشد، aria2 حتی در صورت مشخص شدن true برای آن دانلود از DHT استفاده نمی‌کند. از گزینه --dht-listen-port برای مشخص کردن شماره پورت جهت شنود استفاده کنید. همچنین گزینه --dht-listen-addr6 را ببینید.
فعال‌سازی افزونه تبادل همتا (Peer Exchange یا PEX). اگر فلگ خصوصی در یک تورنت تنظیم شده باشد، این ویژگی برای آن دانلود غیرفعال خواهد بود حتی اگر true داده شود. پیش‌فرض: true
اگر true یا mem مشخص شود، هنگامی که فایلی با پسوند .torrent یا نوع محتوای application/x-bittorrent دانلود گردد، aria2 آن را به عنوان فایل تورنت پردازش کرده و فایل‌های نام‌برده در آن را دانلود می‌کند. اگر mem مشخص شود، فایل تورنت بر روی دیسک نوشته نشده و تنها در حافظه نگه‌داری می‌شود. اگر false مشخص شود، فایل .torrent بر روی دیسک دانلود می‌شود، اما به عنوان تورنت پردازش نشده و محتویات آن دانلود نخواهند شد. پیش‌فرض: true
تنظیم مسیر فایل برای فایل با index=INDEX. می‌توانید ایندکس فایل را با استفاده از گزینه --show-files پیدا کنید. PATH یک مسیر نسبی نسبت به مسیر مشخص‌شده در گزینه --dir است. می‌توانید از این گزینه چندین بار استفاده کنید. با استفاده از این گزینه، می‌توانید نام فایل‌های خروجی دانلودهای بیت‌تورنت را مشخص کنید.
تنظیم شماره پورت TCP برای دانلودهای بیت‌تورنت. چندین پورت را می‌توان با استفاده از , مشخص کرد، برای مثال: 6881,6885. همچنین می‌توانید از - برای تعیین یک محدوده استفاده کنید: 6881-6999. , و - می‌توانند همراه یکدیگر استفاده شوند: 6881-6889,6999. پیش‌فرض: 6881-6999

نکته:

اطمینان حاصل کنید که پورت‌های مشخص‌شده برای ترافیک ورودی TCP باز هستند.
تنظیم حداکثر سرعت آپلود کلی بر حسب بایت/ثانیه. مقدار 0 به معنای نامحدود است. می‌توانید K یا M را اضافه کنید (1K = 1024, 1M = 1024K). جهت محدود کردن سرعت آپلود به ازای هر تورنت، از گزینه --max-upload-limit استفاده کنید. پیش‌فرض: 0
تنظیم حداکثر سرعت آپلود به ازای هر تورنت بر حسب بایت/ثانیه. مقدار 0 به معنای نامحدود است. می‌توانید K یا M را اضافه کنید (1K = 1024, 1M = 1024K). جهت محدود کردن سرعت آپلود کلی، از گزینه --max-overall-upload-limit استفاده کنید. پیش‌فرض: 0
مشخص کردن پیشوند شناسه همتا (peer ID). شناسه همتا در بیت‌تورنت دارای طول ۲۰ بایت است. اگر بیش از ۲۰ بایت تعیین شود، تنها ۲۰ بایت نخست استفاده می‌شود. اگر کمتر از ۲۰ بایت مشخص شود، داده‌های بایتی تصادفی افزوده می‌شوند تا طول آن به ۲۰ بایت برسد.

پیش‌فرض: A2-$MAJOR-$MINOR-$PATCH-، که در آن $MAJOR، $MINOR و $PATCH به ترتیب با شماره نسخه‌های اصلی، فرعی و وصله جایگزین می‌شوند. برای مثال، نسخه 1.18.8 از aria2 دارای شناسه پیشوند A2-1-18-8- است.

مشخص کردن رشته مورد استفاده در حین دست‌تکانی توسعه‌یافته بیت‌تورنت برای نسخه کلاینت همتا.

پیش‌فرض: aria2/$MAJOR.$MINOR.$PATCH، که در آن $MAJOR، $MINOR و $PATCH به ترتیب با شماره نسخه‌های اصلی، فرعی و وصله جایگزین می‌شوند. برای مثال، نسخه 1.18.8 از aria2 دارای عامل همتای aria2/1.18.8 است.

مشخص کردن نسبت اشتراک‌گذاری. سید کردن تورنت‌های تکمیل‌شده تا زمانی که نسبت اشتراک‌گذاری به RATIO برسد. اکیداً توصیه می‌شود در اینجا مقداری برابر یا بیشتر از 1.0 مشخص کنید. اگر قصد دارید صرف‌نظر از نسبت اشتراک‌گذاری به سید کردن ادامه دهید، مقدار 0.0 را تعیین کنید. چنانچه گزینه --seed-time به همراه این گزینه مشخص شده باشد، فرایند سید کردن زمانی به پایان می‌رسد که حداقل یکی از شرایط برآورده شود. پیش‌فرض: 1.0
مشخص کردن زمان سید کردن بر حسب دقیقه (کسری). همچنین گزینه --seed-ratio را ببینید.

نکته:

تعیین --seed-time=0 عملیات سید کردن را پس از تکمیل دانلود غیرفعال می‌کند.
مسیر پرونده ".torrent". نیازی به استفاده الزامی از این گزینه نیست چرا که می‌توانید فایل‌های ".torrent" را بدون --torrent-file نیز مشخص نمایید.
اگر true یا mem مشخص شود، زمانی که فایلی با پسوند .meta4 یا .metalink یا با نوع محتوای application/metalink4+xml یا application/metalink+xml دانلود گردد، aria2 آن را به عنوان یک فایل متالینک پردازش کرده و فایل‌های ذکرشده در آن را دانلود می‌کند. اگر mem مشخص شود، فایل متالینک بر روی دیسک نوشته نشده و تنها در حافظه نگه‌داری می‌شود. اگر false مشخص شود، فایل .metalink بر روی دیسک دانلود می‌شود، اما به عنوان فایل متالینک پردازش نشده و محتویات آن دانلود نخواهد شد. پیش‌فرض: true
مشخص کردن نشانی پایه (URI پایه) برای حل نشانی‌های نسبی در عناصر metalink:url و metalink:metaurl درون یک فایل متالینک ذخیره‌شده بر روی دیسک محلی. اگر نشانی به یک دایرکتوری اشاره داشته باشد، نشانی باید با / پایان یابد.
مسیر فایل به فایل‌های ".meta4" و ".metalink". هنگام مشخص شدن -، ورودی را از stdin می‌خواند. نیازی به استفاده الزامی از این گزینه نیست زیرا می‌توانید فایل‌های ".metalink" را بدون --metalink-file نیز مشخص نمایید.
زبان فایل مورد نظر برای دانلود.
موقعیت مکانی سرور ترجیحی. فهرست جداشده با کاما از موقعیت‌ها پذیرفته می‌شود، برای مثال jp,us.
سیستم‌عامل فایل مورد نظر برای دانلود.
نسخه فایل مورد نظر برای دانلود.
مشخص کردن پروتکل ترجیحی. مقادیر مجاز عبارتند از http، https، ftp و none. برای غیرفعال کردن این ویژگی، مقدار none را مشخص نمایید. پیش‌فرض: none
اگر true داده شود و چند پروتکل برای یک آینه (mirror) در یک فایل متالینک موجود باشد، aria2 از یکی از آن‌ها استفاده می‌کند. از گزینه --metalink-preferred-protocol برای مشخص کردن ترجیح پروتکل استفاده نمایید. پیش‌فرض: true

فعال‌سازی سرور JSON-RPC/XML-RPC. اکیداً توصیه می‌شود که با استفاده از گزینه --rpc-secret یک توکن محرمانه برای احراز هویت تنظیم کنید. همچنین گزینه --rpc-listen-port را ببینید. پیش‌فرض: false
مکث دانلود پس از افزوده شدن. این گزینه تنها زمانی مؤثر است که مقدار --enable-rpc=true داده شده باشد. پیش‌فرض: false
مکث دانلودهای ایجادشده در نتیجه دانلود متادیتا. در aria2 ۳ نوع دانلود متادیتا وجود دارد: (۱) دانلود فایل .torrent، (۲) دانلود متادیتای تورنت با استفاده از لینک مگنت، (۳) دانلود فایل متالینک. این دانلودهای متادیتا، دانلودهایی را بر اساس متادیتای خود ایجاد خواهند کرد. این گزینه این دانلودهای متوالی را به حالت مکث درمی‌آورد. این گزینه تنها زمانی مؤثر است که مقدار --enable-rpc=true داده شده باشد. پیش‌فرض: false
افزودن فیلد سرایند (header) Access-Control-Allow-Origin با مقدار * به پاسخ RPC. پیش‌فرض: false
استفاده از گواهی موجود در FILE برای سرور RPC. این گواهی باید یا در قالب PKCS12 (.p12, .pfx) باشد یا در قالب PEM.

فایل‌های PKCS12 باید شامل گواهی، یک کلید و به صورت اختیاری زنجیره‌ای از گواهی‌های اضافی باشند. تنها فایل‌های PKCS12 دارای گذرواژه واردسازی (import password) خالی قابل باز شدن هستند!

هنگام استفاده از PEM، باید کلید خصوصی را نیز از طریق --rpc-private-key مشخص کنید. برای فعال‌سازی رمزگذاری از گزینه --rpc-secure استفاده کنید.

نکته:

در حال حاضر WinTLS از فایل‌های PEM پشتیبانی نمی‌کند. کاربران باید از فایل‌های PKCS12 استفاده نمایند.

نکته:

کاربران AppleTLS باید از ابزار KeyChain Access استفاده کرده تا ابتدا یک گواهی SSL-Server خودامضا (self-signed) تولید کنند (مثلاً با استفاده از ویژارد)، و اثرانگشت SHA-1 را از کادر گفتگوی اطلاعات مربوط به آن گواهی جدید دریافت نمایند. جهت آغاز به کار aria2c به همراه --rpc-secure از --rpc-certificate=<SHA-1> استفاده کنید. به عنوان جایگزین، فایل‌های PKCS12 نیز پشتیبانی می‌شوند. با این حال، فایل‌های PEM پشتیبانی نمی‌شوند.
شنود درخواست‌های ورودی JSON-RPC/XML-RPC بر روی تمامی رابط‌های شبکه. اگر مقدار false داده شود، تنها بر روی رابط لوپ‌بک محلی شنود می‌کند. پیش‌فرض: false
مشخص کردن شماره پورت برای شنود سرور JSON-RPC/XML-RPC. مقادیر ممکن: 1024 -65535 پیش‌فرض: 6800
تنظیم حداکثر اندازه درخواست JSON-RPC/XML-RPC. اگر aria2 تشخیص دهد که درخواست بیش از SIZE بایت است، اتصال را قطع می‌کند. پیش‌فرض: 2M
تنظیم گذرواژه JSON-RPC/XML-RPC.

هشدار:

گزینه --rpc-passwd در نسخه‌های آتی منسوخ خواهد شد. در اولین فرصت به گزینه --rpc-secret مهاجرت کنید.
استفاده از کلید خصوصی موجود در FILE برای سرور RPC. کلید خصوصی باید رمزگشایی شده و در قالب PEM باشد. از گزینه --rpc-secure برای فعال‌سازی رمزگذاری استفاده نمایید. همچنین گزینه --rpc-certificate را ببینید.
ذخیره متادیتای آپلودشده تورنت یا متالینک در دایرکتوری مشخص‌شده توسط گزینه --dir. نام فایل متشکل از رشته هگز هش SHA-1 متادیتا به همراه پسوند است. برای تورنت، پسوند '.torrent' است. برای متالینک، این پسوند '.meta4' است. اگر مقدار false به این گزینه داده شود، دانلودهای اضافه‌شده توسط aria2.addTorrent() یا aria2.addMetalink() توسط گزینه --save-session ذخیره نخواهند شد. پیش‌فرض: true
تنظیم توکن محرمانه احراز هویت RPC. بخش RPC authorization secret token را بخوانید تا بدانید مقدار این گزینه چگونه استفاده می‌شود.
انتقال داده‌های RPC توسط SSL/TLS رمزگذاری خواهد شد. کلاینت‌های RPC باید از طرح‌واره https جهت دسترسی به سرور استفاده کنند. برای کلاینت‌های WebSocket، از طرح‌واره wss استفاده نمایید. از گزینه‌های --rpc-certificate و --rpc-private-key برای مشخص کردن گواهی و کلید خصوصی سرور استفاده کنید.
تنظیم کاربر JSON-RPC/XML-RPC.

هشدار:

گزینه --rpc-user در نسخه‌های آتی منسوخ خواهد شد. در اولین فرصت به گزینه --rpc-secret مهاجرت کنید.

اگر فایل کنترلی متناظر وجود نداشته باشد، دانلود را از ابتدا آغاز می‌کند. همچنین گزینه --auto-file-renaming را مشاهده کنید. پیش‌فرض: false
در صورت تعیین false، چنانچه اندازه قطعه با آنچه در فایل کنترلی ثبت شده متفاوت باشد، aria2 دانلود را لغو می‌کند. در صورت تعیین true، می‌توانید ادامه دهید اما مقداری از پیشرفت دانلود از دست خواهد رفت. پیش‌فرض: false
همیشه دانلود را ادامه می‌دهد. اگر مقدار true داده شود، aria2 همواره تلاش می‌کند دانلود را ادامه دهد و در صورتی که ادامه دانلود ممکن نباشد، دانلود را لغو می‌کند. اگر مقدار false داده شود، هنگامی که همه نشانی‌های (URI) ارائه‌شده از ادامه دانلود پشتیبانی نکنند یا aria2 با N نشانی مواجه شود که از ادامه دانلود پشتیبانی نمی‌کنند (N مقداری است که با استفاده از گزینه --max-resume-failure-tries تعیین می‌شود)، aria2 فایل را از ابتدا دانلود می‌کند. گزینه --max-resume-failure-tries را ببینید. پیش‌فرض: true
فعال‌سازی DNS ناهمگام (Asynchronous DNS). پیش‌فرض: true
فهرستی از آدرس‌های کارساز DNS جداشده با کاما که در تحلیل‌گر DNS ناهمگام استفاده می‌شود. معمولاً تحلیل‌گر DNS ناهمگام آدرس‌های سرور DNS را از /etc/resolv.conf می‌خواند. هنگامی که از این گزینه استفاده شود، به جای موارد موجود در /etc/resolv.conf از سرورهای DNS مشخص‌شده در این گزینه استفاده می‌کند. می‌توانید هم آدرس IPv4 و هم IPv6 را مشخص کنید. این گزینه زمانی مفید است که سیستم فاقد /etc/resolv.conf باشد و کاربر نیز مجوز لازم برای ایجاد آن را نداشته باشد.
تغییر نام فایل در صورتی که فایلی با همان نام از پیش وجود داشته باشد. این گزینه فقط در دانلودهای HTTP(S)/FTP عمل می‌کند. نام جدید فایل دارای یک نقطه و یک عدد (۱..۹۹۹۹) خواهد بود که پس از نام و پیش از پسوند فایل (در صورت وجود) اضافه می‌شود. پیش‌فرض: true
ذخیره یک فایل کنترلی (*.aria2) در هر SEC ثانیه. اگر مقدار 0 داده شود، فایل کنترلی در حین دانلود ذخیره نمی‌شود. صرف‌نظر از این مقدار، aria2 هنگام توقف خود فایل کنترلی را ذخیره می‌کند. مقادیر مجاز بین 0 تا 600 است. پیش‌فرض: 60
دانلود فایل تنها زمانی که فایل محلی قدیمی‌تر از فایل سرور دوردست باشد. این قابلیت تنها در دانلودهای HTTP(S) کار می‌کند. اگر اندازه فایل در متالینک مشخص شده باشد کار نخواهد کرد. همچنین هدر Content-Disposition را نادیده می‌گیرد. در صورت وجود فایل کنترلی، این گزینه نادیده گرفته خواهد شد. این تابع از هدر If-Modified-Since برای دریافت مشروط فایل جدیدتر استفاده می‌کند. هنگام دریافت زمان تغییر فایل محلی، از نام فایل ارائه‌شده توسط کاربر (گزینه --out را ببینید) یا بخش نام فایل در نشانی (URI) در صورتی که --out مشخص نشده باشد، استفاده می‌شود. برای رونویسی فایل موجود، گزینه --allow-overwrite الزامی است. پیش‌فرض: false
تغییر مسیر فایل پیکربندی به PATH. پیش‌فرض: $HOME/.aria2/aria2.conf در صورت وجود، در غیر این صورت $XDG_CONFIG_HOME/aria2/aria2.conf.
تنظیم سطح گزارش وقایع (لاگ) برای نمایش در کنسول. LEVEL یکی از مقادیر debug، info، notice، warn یا error است. پیش‌فرض: notice
پردازش رشته نقل‌قول‌شده در هدر Content-Disposition با قالب UTF-8 به جای ISO-8859-1، برای نمونه پارامتر filename، اما نه نسخه گسترش‌یافته filename*. پیش‌فرض: false
اجرا به عنوان دیمن (پس‌زمینه). دایرکتوری کاری جاری به / تغییر می‌یابد و ورودی استاندارد، خروجی استاندارد و خطای استاندارد به /dev/null هدایت می‌شوند. پیش‌فرض: false
در صورت تعیین true، برنامه aria2 تمام نشانی‌ها (URI) و گزینه‌ها را در ابتدای اجرا از فایل مشخص‌شده با گزینه --input-file نمی‌خواند، بلکه بعداً در زمان نیاز آن‌ها را یکی‌یکی می‌خواند. اگر فایل ورودی شامل نشانی‌های متعددی برای دانلود باشد، این کار ممکن است مصرف حافظه را کاهش دهد. در صورت تعیین false، برنامه aria2 تمام نشانی‌ها و گزینه‌ها را در ابتدای راه‌اندازی می‌خواند. پیش‌فرض: false

هشدار:

در صورت استفاده هم‌زمان از گزینه --save-session، گزینه --deferred-input غیرفعال خواهد شد.
غیرفعال کردن IPv6. این گزینه زمانی مفید است که ناچار به استفاده از یک DNS معیوب هستید و می‌خواهید از پرس‌وجوی فوق‌العاده کند رکوردهای AAAA اجتناب کنید. پیش‌فرض: false
فعال‌سازی حافظه پنهان دیسک (Disk cache). اگر مقدار SIZE برابر با 0 باشد، حافظه پنهان دیسک غیرفعال می‌شود. این قابلیت داده‌های دانلودشده را در حافظه رم نگه‌داری می‌کند که حداکثر تا SIZE بایت افزایش می‌یابد. فضای حافظه پنهان برای هر نمونه از aria2 ایجاد شده و بین همه دانلودها به اشتراک گذاشته می‌شود. یکی از مزایای حافظه پنهان دیسک کاهش ورودی/خروجی (I/O) دیسک است زیرا داده‌ها در واحدهای بزرگ‌تر نوشته شده و بر اساس آفست فایل بازآرایی می‌شوند. چنانچه بررسی هش در میان باشد و داده‌ها در حافظه کش شده باشند، دیگر نیازی به خواندن مجدد آن‌ها از دیسک نداریم. مقدار SIZE می‌تواند شامل K یا M باشد (1K = 1024, 1M = 1024K). پیش‌فرض: 16M
این گزینه نحوه قالب‌بندی نتایج دانلود (Download Results) را تغییر می‌دهد. اگر مقدار OPT برابر با default باشد، شناسه GID، وضعیت، میانگین سرعت دانلود و مسیر/نشانی چاپ می‌شوند. اگر چندین فایل در میان باشد، مسیر/نشانی اولین فایل درخواست‌شده چاپ شده و باقی موارد حذف می‌شوند. اگر مقدار OPT برابر با full باشد، شناسه GID، وضعیت، میانگین سرعت دانلود، درصد پیشرفت و مسیر/نشانی چاپ می‌شوند. درصد پیشرفت و مسیر/نشانی برای هر فایل درخواست‌شده در یک سطر جداگانه نمایش می‌یابند. اگر OPT برابر با hide باشد، نتایج دانلود پنهان خواهد شد. پیش‌فرض: default
تنظیم مقدار DSCP در بسته‌های IP خروجی مربوط به ترافیک بیت‌تورنت برای کیفیت خدمات (QoS). این پارامتر فقط بیت‌های DSCP را در فیلد TOS بسته‌های IP تنظیم می‌کند، نه کل فیلد را. اگر مقادیر را از /usr/include/netinet/ip.h استخراج می‌کنید، آن‌ها را بر ۴ تقسیم کنید (در غیر این صورت مقادیر نادرست خواهند بود، مثلاً کلاس CS1 شما به CS4 تبدیل می‌شود). اگر مقادیر پرکاربرد را از RFC، مستندات سازندگان تجهیزات شبکه، ویکی‌پدیا یا هر منبع دیگری برمی‌دارید، از آن‌ها همان‌گونه که هستند استفاده نمایید.
تنظیم حد نرم (Soft Limit) برای توصیف‌کننده‌های باز فایل. این گزینه تنها در شرایط زیر تأثیرگذار خواهد بود:
سیستم از آن پشتیبانی کند (posix)
حد تعیین‌شده از حد سخت (Hard Limit) فراتر نرود.
حد مشخص‌شده از حد نرم فعلی بزرگ‌تر باشد.

این معادل تنظیم nofile از طریق ulimit است، با این تفاوت که هرگز حد را کاهش نمی‌دهد.

این گزینه فقط در سیستم‌هایی که از API تابع rlimit پشتیبانی می‌کنند در دسترس است.

فعال‌سازی خروجی رنگی در ترمینال. پیش‌فرض: true
نگاشت فایل‌ها در حافظه (mmap). در صورتی که فضای فایل از پیش تخصیص نیافته باشد، ممکن است این گزینه کار نکند. گزینه --file-allocation را مشاهده کنید.

پیش‌فرض: false

تعیین روش نظرسنجی رویدادها (Event Polling). مقادیر ممکن عبارتند از epoll، kqueue، port، poll و select. هر یک از روش‌های epoll، kqueue، port و poll در صورتی که سیستم از آن پشتیبانی کند در دسترس است. روش epoll در لینوکس‌های مدرن در دسترس است. kqueue در سیستم‌های گوناگون *BSD از جمله Mac OS X در دسترس است. port در Open Solaris در دسترس است. مقدار پیش‌فرض بسته به سیستم مورد استفاده شما ممکن است متغیر باشد.
تعیین روش تخصیص فضای فایل. روش none فضای فایل را از پیش تخصیص نمی‌دهد. prealloc فضای فایل را پیش از آغاز دانلود از پیش تخصیص می‌دهد. این کار بسته به اندازه فایل ممکن است مقداری زمان ببرد. اگر از سیستم‌فایل‌های جدیدتر مانند ext4 (با پشتیبانی از extents)، btrfs، xfs یا NTFS (فقط در بیلد MinGW) استفاده می‌کنید، falloc بهترین گزینه شماست. این روش فضای فایل‌های حجیم (چند گیگابایت) را تقریباً بی‌درنگ تخصیص می‌دهد. از falloc در سیستم‌فایل‌های قدیمی‌تر مانند ext3 و FAT32 استفاده نکنید چرا که تقریباً همانند prealloc زمان می‌برد و تا زمان اتمام تخصیص، برنامه aria2 را به‌طور کامل متوقف (بلاک) می‌کند. در صورتی که سیستم شما فاقد تابع posix_fallocate(3) باشد ممکن است falloc در دسترس نباشد. روش trunc از فراخوانی سیستمی ftruncate(2) یا معادل مخصوص پلتفرم آن برای بریدن یا گسترش طول فایل به اندازه مشخص استفاده می‌کند.

مقادیر ممکن: none، prealloc، trunc، falloc پیش‌فرض: prealloc

هشدار:

استفاده از trunc در ظاهر فضای دیسک را بسیار سریع تخصیص می‌دهد، اما آنچه در واقع انجام می‌دهد این است که فراداده طول فایل را در سیستم‌فایل تنظیم می‌کند و هیچ فضای واقعی روی دیسک تخصیص نمی‌دهد. این بدان معناست که به جلوگیری از تکه‌تکه شدن فایل‌ها کمکی نمی‌کند.

نکته:

در دانلودهای تورنت چندفایلی، فایل‌های مجاور بعدی فایل‌های مشخص‌شده نیز در صورتی که در همان قطعه (piece) مشترک باشند تخصیص داده می‌شوند.
ذخیره وضعیت دانلود با گزینه --save-session حتی اگر دانلود تکمیل یا حذف شده باشد. این گزینه در آن شرایط فایل کنترلی را نیز ذخیره می‌کند. این قابلیت ممکن است برای ذخیره اشتراک‌گذاری (Seeding) بیت‌تورنت که به عنوان وضعیت تکمیل‌شده شناخته می‌شود مفید باشد. پیش‌فرض: false
ذخیره وضعیت دانلود با گزینه --save-session حتی اگر فایل در سرور یافت نشده باشد. این گزینه در آن شرایط فایل کنترلی را نیز ذخیره می‌کند. پیش‌فرض: true
تنظیم دستی شناسه GID. برنامه aria2 هر دانلود را با شناسه‌ای به نام GID مشخص می‌کند. مقدار GID باید یک رشته هگزادسیمال ۱۶ کاراکتری باشد، بنابراین [0-9a-fA-F] مجاز بوده و صفرهای اول نباید حذف شوند. مقدار GID تماماً صفر رزرو شده است و نباید استفاده شود. مقدار GID باید یکتا باشد، در غیر این صورت خطا گزارش شده و دانلود اضافه نمی‌شود. این گزینه هنگام بازیابی نشست‌های ذخیره‌شده با گزینه --save-session مفید است. در صورت عدم استفاده از این گزینه، یک GID جدید توسط aria2 تولید می‌شود.
در صورت تعیین true، پس از بررسی هش با استفاده از گزینه --check-integrity، صرف‌نظر از اینکه دانلود تکمیل شده باشد یا خیر، دانلود لغو می‌شود. پیش‌فرض: false
چاپ اندازه‌ها و سرعت‌ها با قالبی خوانا برای انسان (مانند 1.2Ki, 3.4Mi) در خروجی کنسول. پیش‌فرض: true
اتصال سوکت‌ها به واسط شبکه (اینترفیس) داده‌شده. می‌توانید نام واسط، آدرس IP و نام میزبان را مشخص کنید. مقادیر ممکن: interface, IP address, host name

نکته:

اگر یک واسط دارای چندین آدرس است، اکیداً توصیه می‌شود که آدرس IP را به صراحت مشخص کنید. همچنین گزینه --disable-ipv6 را ببینید. در صورتی که سیستم شما فاقد تابع getifaddrs(3) باشد، این گزینه نام واسط را نمی‌پذیرد.
نگه‌داری نتایج دانلودهای ناتمام حتی اگر انجام این کار از حد --max-download-result فراتر رود. این گزینه زمانی مفید است که بخواهید تمام دانلودهای ناتمام در فایل نشست ذخیره شوند (گزینه --save-session را ببینید). لطفاً توجه داشته باشید که هیچ حد بالایی برای تعداد نتایج دانلودهای ناتمام نگه‌داری‌شده وجود ندارد. اگر این وضعیت مطلوب نیست، این گزینه را خاموش کنید. پیش‌فرض: true
تنظیم حداکثر تعداد نتایج دانلودی که در حافظه نگه‌داری می‌شوند. نتایج دانلود شامل دانلودهای تکمیل‌شده/خطادار/حذف‌شده هستند. نتایج دانلود در یک صف FIFO نگه‌داری می‌شوند و حداکثر می‌توانند NUM نتیجه دانلود را در خود ذخیره کنند. زمانی که صف پر باشد و نتیجه دانلود جدیدی ایجاد شود، قدیمی‌ترین نتیجه دانلود از ابتدای صف حذف شده و مورد جدید به انتهای آن افزوده می‌شود. تنظیم عددی بزرگ برای این گزینه ممکن است پس از هزاران دانلود به مصرف بالای حافظه منجر شود. مشخص کردن مقدار 0 به این معنی است که هیچ نتیجه دانلودی نگه‌داری نمی‌شود. توجه داشته باشید که دانلودهای ناتمام صرف‌نظر از مقدار این گزینه در حافظه حفظ می‌شوند. گزینه --keep-unfinished-download-result را ببینید. پیش‌فرض: 1000
تنظیم حداکثر اندازه فایل برای فعال‌سازی نگاشت حافظه mmap (گزینه --enable-mmap را ببینید). اندازه فایل با مجموع تمامی فایل‌های موجود در یک دانلود تعیین می‌شود. برای مثال، اگر یک دانلود شامل ۵ فایل باشد، اندازه فایل برابر با حجم کل آن فایل‌ها خواهد بود. اگر اندازه فایل اکیداً بزرگ‌تر از مقدار مشخص‌شده در این گزینه باشد، mmap غیرفعال خواهد شد. پیش‌فرض: 9223372036854775807
هنگام استفاده همراه با --always-resume=false، برنامه aria2 زمانی که N نشانی (URI) بدون پشتیبانی از ادامه دانلود را تشخیص دهد، دانلود فایل را از ابتدا آغاز می‌کند. اگر مقدار N برابر با 0 باشد، aria2 تنها زمانی فایل را از ابتدا دانلود می‌کند که تمامی نشانی‌های ارائه‌شده از ادامه دانلود پشتیبانی نکنند. گزینه --always-resume را ببینید. پیش‌فرض: 0
مشخص کردن حداقل نسخه SSL/TLS مجاز جهت فعال‌سازی. مقادیر ممکن: TLSv1.1, TLSv1.2, TLSv1.3 پیش‌فرض: TLSv1.2
فهرستی از واسط‌های شبکه جداشده با کاما جهت اتصال سوکت‌ها به آن‌ها. درخواست‌ها بین این واسط‌ها تقسیم می‌شوند تا تجمیع پیوند (Link aggregation) حاصل شود. می‌توانید نام واسط، آدرس IP و نام میزبان را مشخص کنید. اگر گزینه --interface استفاده شده باشد، این گزینه نادیده گرفته خواهد شد. مقادیر ممکن: interface, IP address, hostname
تنظیم سطح ثبت وقایع برای خروجی. مقدار LEVEL یکی از مقادیر debug، info، notice، warn یا error است. پیش‌فرض: debug
در بیت‌تورنت، دستوری که در --on-download-complete مشخص می‌شود پس از تکمیل دانلود و پایان سیدینگ (اشتراک‌گذاری) فراخوانی می‌گردد. از سوی دیگر، این گزینه دستوری را مشخص می‌کند که پس از تکمیل دانلود اما پیش از سیدینگ اجرا شود. برای جزئیات بیشتر درباره COMMAND بخش قلاب رویداد (Event Hook) را ببینید. مقادیر ممکن: /path/to/command
تنظیم دستوری که پس از تکمیل دانلود اجرا شود. برای جزئیات بیشتر درباره COMMAND بخش قلاب رویداد (Event Hook) را ببینید. همچنین گزینه --on-download-stop را مشاهده کنید. مقادیر ممکن: /path/to/command
تنظیم دستوری که پس از متوقف شدن دانلود به دلیل خطا اجرا شود. برای جزئیات بیشتر درباره COMMAND بخش قلاب رویداد (Event Hook) را ببینید. همچنین گزینه --on-download-stop را مشاهده کنید. مقادیر ممکن: /path/to/command
تنظیم دستوری که پس از متوقف شدن موقت (مکث) دانلود اجرا شود. برای جزئیات بیشتر درباره COMMAND بخش قلاب رویداد (Event Hook) را ببینید. مقادیر ممکن: /path/to/command
تنظیم دستوری که پس از شروع دانلود اجرا شود. برای جزئیات بیشتر درباره COMMAND بخش قلاب رویداد (Event Hook) را ببینید. مقادیر ممکن: /path/to/command
تنظیم دستوری که پس از توقف دانلود اجرا شود. می‌توانید با استفاده از گزینه‌های --on-download-complete و --on-download-error دستور قابل اجرا برای نتیجه دانلودی خاص را لغو (override) کنید. در صورت مشخص شدن آن‌ها، دستور تعیین‌شده در این گزینه اجرا نخواهد شد. برای جزئیات بیشتر درباره COMMAND بخش قلاب رویداد (Event Hook) را ببینید. مقادیر ممکن: /path/to/command
بهینه‌سازی تعداد دانلودهای هم‌زمان با توجه به پهنای باند در دسترس. برنامه aria2 از سرعت دانلود مشاهده‌شده در دانلودهای قبلی برای تطبیق تعداد دانلودهای موازی بر اساس رابطه N = A + B Log10(speed in Mbps) استفاده می‌کند. ضرایب A و B را می‌توان در آرگومان‌های این گزینه با جدا کردن A و B توسط دونقطه شخصی‌سازی کرد. مقادیر پیش‌فرض (A=5, B=25) معمولاً منجر به ۵ دانلود موازی در شبکه‌های 1Mbps و بیش از ۵۰ دانلود در شبکه‌های 100Mbps می‌شود. تعداد دانلودهای موازی همواره کمتر از حداکثر تعیین‌شده در پارامتر --max-concurrent-downloads باقی خواهد ماند. پیش‌فرض: false
تنظیم طول قطعه برای دانلودهای HTTP/FTP. این مرزی است که aria2 بر اساس آن یک فایل را تقسیم می‌کند. تمامی تقسیم‌ها در مضاربی از این طول رخ می‌دهند. این گزینه در دانلودهای بیت‌تورنت نادیده گرفته می‌شود. همچنین در صورتی که فایل متالینک حاوی هش قطعات باشد، نادیده گرفته خواهد شد. پیش‌فرض: 1M

نکته:

یک کاربرد محتمل برای گزینه --piece-length تغییر محدوده درخواست در یک درخواست پایپ‌لاین‌شده HTTP است. جهت فعال‌سازی پایپ‌لاین HTTP از گزینه --enable-http-pipelining استفاده کنید.
نمایش خروجی وضعیت در کنسول. پیش‌فرض: true
هدایت تمام خروجی‌های کنسول که در غیر این صورت در stdout چاپ می‌شدند به خطای استاندارد (stderr). پیش‌فرض: false
تنظیم فاصله زمانی به ثانیه برای چاپ خلاصه پیشرفت دانلود. تنظیم مقدار 0 مانع چاپ این خروجی می‌شود. پیش‌فرض: 60
دریافت ترتیبی نشانی‌های (URI) موجود در خط فرمان و دانلود هر نشانی در یک نشست جداگانه، همانند ابزارهای متداول دانلود خط فرمان. پیش‌فرض: false
تنظیم حداکثر سرعت کلی دانلود بر حسب بایت در ثانیه. مقدار 0 به معنای نامحدود است. می‌توانید K یا M را اضافه کنید (1K = 1024, 1M = 1024K). برای محدود کردن سرعت دانلود به ازای هر دانلود، از گزینه --max-download-limit استفاده کنید. پیش‌فرض: 0
تنظیم حداکثر سرعت دانلود به ازای هر دانلود بر حسب بایت در ثانیه. مقدار 0 به معنای نامحدود است. می‌توانید K یا M را اضافه کنید (1K = 1024, 1M = 1024K). برای محدود کردن سرعت کلی دانلود، از گزینه --max-overall-download-limit استفاده کنید. پیش‌فرض: 0
غیرفعال کردن بارگذاری فایل aria2.conf.
هیچ تخصیص فضایی برای فایل‌هایی که اندازه آن‌ها کوچک‌تر از SIZE باشد انجام نمی‌شود. می‌توانید K یا M را اضافه کنید (1K = 1024, 1M = 1024K). پیش‌فرض: 5M
فعال‌سازی پشتیبانی از نشانی‌های (URI) پارامتری. می‌توانید مجموعه‌ای از بخش‌ها را مشخص کنید: http://{sv1,sv2,sv3}/foo.iso. همچنین می‌توانید دنباله‌های عددی با شمارنده گام مشخص کنید: http://host/image[000-100:2].img. شمارنده گام می‌تواند حذف شود. اگر همه نشانی‌ها به یک فایل اشاره نکنند، همانند مثال دوم در بالا، گزینه -Z مورد نیاز است. پیش‌فرض: false
حالت بی‌صدا برای aria2 (بدون خروجی کنسول). پیش‌فرض: false
اعتبارسنجی تکه‌های داده با محاسبه جمع کنترلی (checksum) در حین دانلود فایل، در صورتی که جمع کنترلی تکه‌ها ارائه شده باشد. پیش‌فرض: true
حذف فایل کنترلی پیش از دانلود. در صورت استفاده همراه با --allow-overwrite=true، دانلود همواره از ابتدا آغاز می‌شود. این گزینه برای کاربرانی که پشت سرور پروکسی هستند و پروکسی امکان ادامه دانلود را غیرفعال کرده است مفید خواهد بود.
ذخیره دانلودهای خطادار/ناتمام در FILE در هنگام خروج. می‌توانید این فایل خروجی را هنگام راه‌اندازی مجدد با گزینه --input-file به aria2c ارسال کنید. اگر تمایل دارید خروجی فشرده‌سازی شود (gzip)، پسوند gz. را به انتهای نام فایل اضافه کنید. لطفاً توجه داشته باشید دانلودهایی که با متدهای RPC با نام‌های aria2.addTorrent() و aria2.addMetalink() اضافه شده‌اند و فراداده‌های آن‌ها نتوانسته به عنوان فایل ذخیره شود، ذخیره نخواهند شد. دانلودهای حذف‌شده با استفاده از aria2.remove() و aria2.forceRemove() نیز ذخیره نمی‌شوند. شناسه GID نیز به همراه gid ذخیره می‌شود، اما محدودیت‌هایی وجود دارد که در ادامه آمده است.

نکته:

به‌طور معمول، GID خود دانلود ذخیره می‌شود. اما برخی دانلودها از فراداده (مانند BitTorrent و Metalink) استفاده می‌کنند. در این حالت، برخی محدودیت‌ها وجود دارد.
نشانی مگنت (magnet URI)، و به دنبال آن دانلود تورنت
شناسه GID دانلود فراداده بیت‌تورنت ذخیره می‌شود.
نشانی به فایل تورنت، و به دنبال آن دانلود تورنت
شناسه GID دانلود فایل تورنت ذخیره می‌شود.
نشانی به فایل متالینک، و به دنبال آن دانلود فایل‌های شرح‌داده‌شده در فایل متالینک
شناسه GID دانلود فایل متالینک ذخیره می‌شود.
فایل تورنت محلی
شناسه GID دانلود تورنت ذخیره می‌شود.
فایل متالینک محلی
هیچ GID معناداری ذخیره نمی‌شود.
ذخیره دانلودهای خطادار/ناتمام در فایل مشخص‌شده توسط گزینه --save-session در هر SEC ثانیه. اگر مقدار 0 داده شود، فایل تنها زمانی که aria2 خارج شود ذخیره خواهد شد. پیش‌فرض: 0
تنظیم حداکثر بافر دریافت سوکت بر حسب بایت. مشخص کردن 0 این گزینه را غیرفعال می‌کند. این مقدار با استفاده از گزینه سوکت SO_RCVBUF همراه با فراخوانی تابع setsockopt() روی توصیف‌کننده فایل سوکت تنظیم می‌شود. پیش‌فرض: 0
توقف برنامه پس از سپری شدن SEC ثانیه. اگر مقدار 0 داده شود، این قابلیت غیرفعال است. پیش‌فرض: 0
توقف برنامه هنگامی که فرآیند PID در حال اجرا نباشد. این ویژگی زمانی مفید است که فرآیند aria2 از یک فرآیند والد ایجاد (fork) شده باشد. فرآیند والد می‌تواند aria2 را با شناسه pid خود منشعب کند و هنگامی که فرآیند والد به هر دلیلی خارج شود، aria2 می‌تواند آن را تشخیص داده و خود را خاموش کند.
کوتاه کردن خروجی وضعیت کنسول به منظور جا گرفتن در یک سطر. پیش‌فرض: true
چاپ شماره نسخه، کپی‌رایت و اطلاعات پیکربندی و خروج از برنامه.

گزینه‌هایی که آرگومان آن‌ها داخل براکت ([]) قرار دارد، یک آرگومان اختیاری می‌پذیرند. معمولاً حذف آرگومان معادل true ارزیابی می‌شود. اگر از فرم کوتاه این گزینه‌ها (مانند -V) استفاده کرده و آرگومانی ارائه دهید، نام گزینه و آرگومان آن باید به هم متصل باشند (مثلاً -Vfalse). در صورتی که هر فاصله‌ای بین نام گزینه و آرگومان درج شود، آرگومان به عنوان نشانی (URI) تلقی خواهد شد و معمولاً این چیزی نیست که انتظار دارید.

برخی گزینه‌ها مقادیر K و M را برای نمایش آسان‌تر ۱۰۲۴ و ۱۰۴۸۵۷۶ به کار می‌برند. برنامه aria2 این نویسه‌ها را بدون حساسیت به حروف کوچک و بزرگ تشخیص می‌دهد. به بیان دیگر، k و m را می‌توان دقیقاً همانند K و M استفاده کرد.

می‌توانید چندین نشانی (URI) را در خط فرمان مشخص کنید. مگر اینکه گزینه --force-sequential را مشخص کرده باشید، تمام نشانی‌ها باید به یک فایل یکسان اشاره کنند وگرنه دانلود با شکست مواجه خواهد شد.

می‌توانید تعداد دلخواهی نشانی مگنت بیت‌تورنت (BitTorrent Magnet URI) مشخص کنید. لطفاً توجه داشته باشید که آن‌ها همواره به عنوان دانلود جداگانه تلقی می‌شوند. هم مقدار Info Hash کدگذاری‌شده در مبنای ۱۶ با ۴۰ نویسه و هم در مبنای ۳۲ با ۳۲ نویسه پشتیبانی می‌شوند. پارامترهای متعدد tr پشتیبانی می‌شوند. به دلیل آنکه نشانی‌های مگنت بیت‌تورنت معمولاً حاوی نویسه & هستند، اکیداً توصیه می‌شود که همیشه نشانی را با گیومه تکی (') یا جفتی (") محصور کنید. فعال‌سازی DHT به ویژه در زمانی که پارامتر tr وجود ندارد شدیداً توصیه می‌شود. برای اطلاعات بیشتر درباره نشانی‌های مگنت بیت‌تورنت به http://www.bittorrent.org/beps/bep_0009.html مراجعه کنید.

همچنین می‌توانید تعداد دلخواهی فایل تورنت و اسناد متالینک ذخیره‌شده روی دیسک محلی را مشخص کنید. لطفاً توجه داشته باشید که با آن‌ها همیشه به عنوان دانلود جداگانه برخورد می‌شود. هر دو نسخه Metalink4 و Metalink نسخه 3.0 پشتیبانی می‌شوند.

می‌توانید هم فایل تورنت را با گزینه -T و هم نشانی‌ها را مشخص کنید. با انجام این کار، می‌توانید یک فایل را هم‌زمان از گروه اشتراک‌گذاری تورنت (swarm) و سرور HTTP(S)/FTP/SFTP دانلود کنید، در حالی که داده‌های حاصل از HTTP(S)/FTP/SFTP در گروه تورنت آپلود می‌شوند. برای تورنت‌های تک‌فایلی، نشانی می‌تواند یک نشانی کامل باشد که به منبع اشاره می‌کند یا اگر نشانی به / ختم شود، نام فایل موجود در فایل تورنت به آن افزوده می‌شود. برای تورنت‌های چندفایلی، نام و مسیر افزوده می‌شوند تا برای هر فایل یک نشانی ساخته شود.

نکته:

اطمینان حاصل کنید در صورتی که نشانی حاوی & یا هر نویسه‌ای است که در شل معنای خاصی دارد، با گیومه تکی (') یا جفتی (") نقل‌قول شود.

معمولاً اگر انتقال پیشین توسط aria2 انجام شده باشد، می‌توانید تنها با اجرای مجدد همان دستور (aria2c URI) انتقال را از سر بگیرید.

اگر انتقال قبلی توسط مرورگر یا ابزارهای دانلود ترتیبی مانند wget انجام شده باشد، از گزینه --continue برای ادامه انتقال استفاده نمایید.

برنامه aria2 گزینه‌هایی را جهت تعیین دستوری دلخواه پس از رخ دادن یک رویداد خاص فراهم می‌کند. در حال حاضر گزینه‌های زیر در دسترس هستند: --on-bt-download-complete، --on-download-pause، --on-download-complete. --on-download-start، --on-download-error، --on-download-stop.

هنگام اجرای دستور تعیین‌شده، aria2 تعداد ۳ آرگومان به آن ارسال می‌کند. این آرگومان‌ها عبارتند از: شناسه GID، تعداد فایل‌ها و مسیر فایل. برای دانلودهای HTTP، FTP و SFTP معمولاً تعداد فایل‌ها ۱ است. دانلود بیت‌تورنت می‌تواند شامل چندین فایل باشد. اگر تعداد فایل‌ها بیش از یک مورد باشد، مسیر فایل همان اولین فایل است. به بیان دیگر، این مقدار کلید path در اولین ساختاری است که مقدار کلید selected آن در پاسخ متد RPC به نام aria2.getFiles() برابر با true باشد. اگر مایل به دریافت مسیر همه فایل‌ها هستید، استفاده از JSON-RPC/XML-RPC را مد نظر قرار دهید. لطفاً توجه داشته باشید که مسیر فایل در دانلودهای HTTP ممکن است به دلیل تغییر مسیر (ریدایرکت) یا هدر Content-Disposition در طول دانلود تغییر کند.

بیایید نمونه‌ای از نحوه ارسال آرگومان‌ها به دستور را مشاهده کنیم:

$ cat hook.sh
#!/bin/sh
echo "Called with [$1] [$2] [$3]"
$ aria2c --on-download-complete hook.sh http://example.org/file.iso
Called with [1] [1] [/path/to/file.iso]

از آنجا که aria2 می‌تواند چندین دانلود را به‌طور هم‌زمان مدیریت کند، ممکن است در یک نشست با خطاهای متعددی روبرو شود. ابزار aria2 بر اساس آخرین خطای رخ‌داده، وضعیت‌های خروج زیر را بازمی‌گرداند:

0
اگر تمامی دانلودها موفقیت‌آمیز بوده باشند.
1
اگر خطای ناشناخته‌ای رخ داده باشد.
2
اگر مهلت زمانی (timeout) رخ داده باشد.
3
اگر منبع یافت نشده باشد.
4
اگر aria2 به تعداد مشخص‌شده با خطای "resource not found" مواجه شود. گزینه --max-file-not-found را ببینید.
5
اگر دانلودی به دلیل سرعت بسیار پایین متوقف شود. گزینه --lowest-speed-limit را ببینید.
6
اگر مشکل شبکه رخ داده باشد.
7
اگر دانلودهای ناتمامی وجود داشته باشند. این خطا فقط در صورتی گزارش می‌شود که تمامی دانلودهای پایان‌یافته موفقیت‌آمیز بوده باشند و هنگام خروج aria2 با فشردن کلیدهای Ctrl-C توسط کاربر یا ارسال سیگنال TERM یا INT، دانلودهای ناتمامی در صف باقی مانده باشند.
8
اگر سرور دوردست از ادامه دانلود (resume) پشتیبانی نکند، در حالی که برای تکمیل دانلود به ازسرگیری نیاز بوده است.
9
اگر فضای دیسک کافی در دسترس نباشد.
10
اگر اندازه قطعه با مقدار موجود در فایل کنترلی .aria2 متفاوت باشد. گزینه --allow-piece-length-change را ببینید.
11
اگر aria2 در همان لحظه در حال دانلود همان فایل باشد.
12
اگر aria2 در همان لحظه در حال دانلود تورنتی با همان هش اطلاعاتی (info hash) باشد.
13
اگر فایل از قبل وجود داشته باشد. گزینه --allow-overwrite را ببینید.
14
اگر تغییر نام فایل ناموفق باشد. گزینه --auto-file-renaming را ببینید.
15
اگر aria2 نتواند فایل موجود را باز کند.
16
اگر aria2 نتواند فایل جدیدی بسازد یا اندازه فایل موجود را تغییر دهد (truncate کند).
17
اگر خطای ورودی/خروجی (I/O) فایل رخ دهد.
18
اگر aria2 نتواند دایرکتوری را بسازد.
19
اگر تحلیل نام (name resolution) با شکست مواجه شود.
20
اگر aria2 نتواند سند متالینک (Metalink) را تجزیه کند.
21
اگر دستور FTP با شکست مواجه شود.
22
اگر سرآیند پاسخ HTTP نامعتبر یا غیرمنتظره باشد.
23
اگر تعداد تغییر مسیرها (redirects) بیش از حد باشد.
24
اگر احراز هویت HTTP ناموفق باشد.
25
اگر aria2 نتواند فایل کدگذاری‌شده با bencode (معمولاً فایل ".torrent") را تجزیه کند.
26
اگر فایل ".torrent" آسیب دیده باشد یا اطلاعات مورد نیاز aria2 در آن موجود نباشد.
27
اگر نشانی Magnet نامعتبر باشد.
28
اگر گزینه نامعتبر/ناشناخته‌ای داده شود یا آرگومان غیرمنتظره‌ای برای یک گزینه مشخص گردد.
29
اگر سرور دوردست به دلیل بار کاری موقت یا عملیات نگهداری قادر به رسیدگی به درخواست نباشد.
30
اگر aria2 نتواند درخواست JSON-RPC را تجزیه کند.
31
رزرو شده است. استفاده نمی‌شود.
32
اگر اعتبارسنجی جمع کنترلی (checksum) با شکست مواجه شود.

نکته:

خطایی که در یک دانلودِ به پایان رسیده رخ دهد، به عنوان وضعیت خروج گزارش نخواهد شد.

برنامه aria2 متغیرهای محیطی زیر را شناسایی می‌کند.

مشخص کردن سرور پروکسی برای استفاده در پروتکل HTTP. بر مقدار http-proxy در فایل پیکربندی اولویت دارد. گزینه خط فرمان --http-proxy بر این مقدار اولویت خواهد داشت.
مشخص کردن سرور پروکسی برای استفاده در پروتکل HTTPS. بر مقدار https-proxy در فایل پیکربندی اولویت دارد. گزینه خط فرمان --https-proxy بر این مقدار اولویت خواهد داشت.
مشخص کردن سرور پروکسی برای استفاده در پروتکل FTP. بر مقدار ftp-proxy در فایل پیکربندی اولویت دارد. گزینه خط فرمان --ftp-proxy بر این مقدار اولویت خواهد داشت.
مشخص کردن سرور پروکسی در صورتی که پروکسی اختصاصی برای پروتکل تعیین نشده باشد. بر مقدار all-proxy در فایل پیکربندی اولویت دارد. گزینه خط فرمان --all-proxy بر این مقدار اولویت خواهد داشت.

نکته:

اگرچه aria2 طرح‌های ftp:// و https:// را در نشانی پروکسی می‌پذیرد، اما صرفاً فرض می‌کند که http:// مشخص شده است و رفتار خود را بر اساس طرح مشخص‌شده تغییر نمی‌دهد.
مشخص کردن فهرستی جداشده با کاما از نام‌های میزبان، دامنه‌ها و نشانی‌های شبکه با یا بدون ماسک زیرشبکه که نباید در آن‌ها از پروکسی استفاده شود. بر مقدار no-proxy در فایل پیکربندی اولویت دارد. گزینه خط فرمان --no-proxy بر این مقدار اولویت خواهد داشت.

به‌طور پیش‌فرض، aria2 بررسی می‌کند که آیا مسیر قدیمی $HOME/.aria2/aria2.conf موجود است یا خیر، در غیر این صورت $XDG_CONFIG_HOME/aria2/aria2.conf را به عنوان فایل پیکربندی خود تجزیه می‌کند. شما می‌توانید با استفاده از گزینه --conf-path مسیر فایل پیکربندی را مشخص کنید. اگر نمی‌خواهید از فایل پیکربندی استفاده کنید، از گزینه --no-conf استفاده کنید.

فایل پیکربندی یک فایل متنی است و در هر خط ۱ گزینه قرار می‌گیرد. در هر خط، می‌توانید جفت نام-مقدار را با قالب NAME=VALUE مشخص کنید، که در آن name نام طولانی گزینه در خط فرمان بدون پیشوند -- است. می‌توانید از همان نحو برای گزینه‌های خط فرمان استفاده کنید. خطوطی که با # شروع می‌شوند به عنوان کامنت در نظر گرفته می‌شوند:

# sample configuration file for aria2c
listen-port=60000
dht-listen-port=60000
seed-ratio=1.0
max-upload-limit=50K
ftp-pasv=true

نکته:

ممکن است اطلاعات محرمانه‌ای مانند نام کاربری/گذرواژه در فایل پیکربندی گنجانده شود. توصیه می‌شود بیت‌های دسترسی حالت فایل (file mode bits) فایل پیکربندی را تغییر دهید (مانند chmod 600 aria2.conf) تا کاربران دیگر نتوانند محتوای فایل را ببینند.

متغیرهای محیطی، مانند ${HOME}، توسط پوسته بسط داده می‌شوند. این بدان معناست که آن متغیرهای استفاده‌شده در فایل پیکربندی به‌طور خودکار بسط داده نمی‌شوند. با این حال، استفاده از ${HOME} برای ارجاع به دایرکتوری خانگی کاربر در فایل پیکربندی جهت تعیین مسیر فایل‌ها بسیار سودمند است. از این رو، aria2 متغیر ${HOME} را که در مقادیر گزینه‌های زیر یافت شود به دایرکتوری خانگی کاربر بسط می‌دهد:

  • ca-certificate
  • certificate
  • dht-file-path
  • dht-file-path6
  • dir
  • input-file
  • load-cookies
  • log
  • metalink-file
  • netrc-path
  • on-bt-download-complete
  • on-download-complete
  • on-download-error
  • on-download-start
  • on-download-stop
  • on-download-pause
  • out
  • private-key
  • rpc-certificate
  • rpc-private-key
  • save-cookies
  • save-session
  • server-stat-if
  • server-stat-of
  • torrent-file

توجه داشته باشید که این بسط حتی در صورتی که گزینه‌های بالا در خط فرمان استفاده شوند نیز رخ می‌دهد. این بدان معناست که بسط ممکن است ۲ بار رخ دهد: ابتدا، پوسته و سپس aria2c.

مگر در مواردی که مسیرهای فایل قدیمی $HOME/.aria2/dht.dat و $HOME/.aria2/dht6.dat به فایل‌های موجود اشاره داشته باشند، جدول مسیریابی DHT مربوط به IPv4 در مسیر $XDG_CACHE_HOME/aria2/dht.dat و جدول مسیریابی DHT مربوط به IPv6 در مسیر $XDG_CACHE_HOME/aria2/dht6.dat ذخیره می‌شود.

پشتیبانی از Netrc به‌طور پیش‌فرض برای HTTP(S)/FTP/SFTP فعال است. برای غیرفعال کردن پشتیبانی از netrc، گزینه --no-netrc را مشخص کنید. فایل .netrc شما باید دارای مجوزهای دسترسی صحیح (600) باشد.

اگر نام ماشین با . شروع شود، aria2 به‌جای تطابق دقیق، تطابق دامنه (domain-match) انجام می‌دهد. این قابلیت یکی از افزونه‌های aria2 است. برای نمونه‌ای از تطابق دامنه، ورودی .netrc زیر را در نظر بگیرید:

machine .example.org login myid password mypasswd

دامنه aria2.example.org با .example.org تطابق دامنه‌ای پیدا کرده و از myid و mypasswd استفاده می‌کند.

چند مثال از تطابق دامنه در ادامه آمده است: example.net با .example.org تطابق دامنه ندارد. example.org به دلیل وجود . در ابتدا، با .example.org تطابق دامنه ندارد. اگر می‌خواهید با example.org تطابق پیدا کند، example.org را مشخص نمایید.

برنامه aria2 برای رهگیری پیشرفت دانلود از یک فایل کنترلی استفاده می‌کند. یک فایل کنترلی در همان دایرکتوری فایل در حال دانلود قرار داده می‌شود و نام فایل آن برابر با نام فایل در حال دانلود به همراه .aria2 در انتهای آن است. به عنوان مثال، اگر در حال دانلود file.zip هستید، آنگاه فایل کنترلی باید file.zip.aria2 باشد. (یک استثنا برای این قاعده نام‌گذاری وجود دارد. اگر در حال دانلود یک تورنت چندگانه (multi torrent) هستید، فایل کنترلی آن برابر با نام دایرکتوری اصلی ("top directory") تورنت به همراه .aria2 در انتهای آن است. نام دایرکتوری اصلی مقدار کلید "name" در دایرکتوری "info" درون فایل تورنت است.)

معمولاً پس از تکمیل دانلود، فایل کنترلی حذف می‌شود. اگر aria2 تشخیص دهد که دانلود قابل ازسرگیری نیست (به عنوان مثال هنگام دانلود فایلی از یک سرور HTTP که از ازسرگیری دانلود پشتیبانی نمی‌کند)، فایل کنترلی ایجاد نمی‌شود.

به‌طور معمول اگر یک فایل کنترلی را گم کنید، نمی‌توانید دانلود را ادامه دهید. اما اگر یک تورنت یا متالینک با جمع کنترلی قطعات (chunk checksums) برای آن فایل دارید، می‌توانید با دادن گزینه -V به aria2c در خط فرمان، دانلود را بدون فایل کنترلی از سر بگیرید.

فایل ورودی می‌تواند شامل فهرستی از نشانی‌ها (URIs) باشد تا aria2 آن‌ها را دانلود کند. شما می‌توانید چندین نشانی را برای یک موجودیت واحد مشخص کنید: نشانی‌ها را روی یک خط واحد با استفاده از نویسه TAB جدا کنید.

با هر خط به‌گونه‌ای رفتار می‌شود که گویی در آرگومان خط فرمان ارائه شده است. بنابراین آن‌ها تحت تأثیر گزینه‌های --force-sequential و --parameterized-uri قرار می‌گیرند.

از آنجا که نشانی‌های موجود در فایل ورودی مستقیماً توسط aria2 خوانده می‌شوند، نباید با نقل‌قول‌های تکی (') یا دوتایی (") محصور شوند.

خطوطی که با # شروع می‌شوند به عنوان کامنت در نظر گرفته شده و نادیده گرفته می‌شوند.

علاوه بر این، گزینه‌های زیر را می‌توان پس از هر خط از نشانی‌ها مشخص کرد. این خطوط گزینه‌ها باید حتماً با یک یا چند نویسه فاصله (whitespace) شروع شوند.

  • all-proxy
  • all-proxy-passwd
  • all-proxy-user
  • allow-overwrite
  • allow-piece-length-change
  • always-resume
  • async-dns
  • auto-file-renaming
  • bt-enable-hook-after-hash-check
  • bt-enable-lpd
  • bt-exclude-tracker
  • bt-external-ip
  • bt-force-encryption
  • bt-hash-check-seed
  • bt-load-saved-metadata
  • bt-max-peers
  • bt-metadata-only
  • bt-min-crypto-level
  • bt-prioritize-piece
  • bt-remove-unselected-file
  • bt-request-peer-speed-limit
  • bt-require-crypto
  • bt-save-metadata
  • bt-seed-unverified
  • bt-stop-timeout
  • bt-tracker
  • bt-tracker-connect-timeout
  • bt-tracker-interval
  • bt-tracker-timeout
  • check-integrity
  • checksum
  • conditional-get
  • connect-timeout
  • content-disposition-default-utf8
  • continue
  • dir
  • dry-run
  • enable-http-keep-alive
  • enable-http-pipelining
  • enable-mmap
  • enable-peer-exchange
  • file-allocation
  • follow-metalink
  • follow-torrent
  • force-save
  • ftp-passwd
  • ftp-pasv
  • ftp-proxy
  • ftp-proxy-passwd
  • ftp-proxy-user
  • ftp-reuse-connection
  • ftp-type
  • ftp-user
  • gid
  • hash-check-only
  • header
  • http-accept-gzip
  • http-auth-challenge
  • http-no-cache
  • http-passwd
  • http-proxy
  • http-proxy-passwd
  • http-proxy-user
  • http-user
  • https-proxy
  • https-proxy-passwd
  • https-proxy-user
  • index-out
  • lowest-speed-limit
  • max-connection-per-server
  • max-download-limit
  • max-file-not-found
  • max-mmap-limit
  • max-resume-failure-tries
  • max-tries
  • max-upload-limit
  • metalink-base-uri
  • metalink-enable-unique-protocol
  • metalink-language
  • metalink-location
  • metalink-os
  • metalink-preferred-protocol
  • metalink-version
  • min-split-size
  • no-file-allocation-limit
  • no-netrc
  • no-proxy
  • out
  • parameterized-uri
  • pause
  • pause-metadata
  • piece-length
  • proxy-method
  • realtime-chunk-checksum
  • referer
  • remote-time
  • remove-control-file
  • retry-wait
  • reuse-uri
  • rpc-save-upload-metadata
  • seed-ratio
  • seed-time
  • select-file
  • split
  • ssh-host-key-md
  • stream-piece-selector
  • timeout
  • uri-selector
  • use-head
  • user-agent

این گزینه‌ها دقیقاً همان مفهوم گزینه‌های خط فرمان را دارند، اما فقط روی نشانی‌هایی اعمال می‌شوند که به آن‌ها تعلق دارند. لطفاً توجه داشته باشید که برای گزینه‌های درون فایل ورودی، پیشوند -- باید حذف شود.

به عنوان مثال، محتوای uri.txt به این صورت است:

http://server/file.iso http://mirror/file.iso
  dir=/iso_images
  out=file.img
http://foo/bar

اگر aria2 با گزینه‌های -i uri.txt -d /tmp اجرا شود، آنگاه file.iso در /iso_images/file.img ذخیره شده و از http://server/file.iso و http://mirror/file.iso دانلود می‌شود. فایل bar از http://foo/bar دانلود شده و در /tmp/bar ذخیره می‌گردد.

در برخی موارد، پارامتر out هیچ تأثیری ندارد. برای اطلاع از محدودیت‌ها، نکته مربوط به گزینه --out را ببینید.

این بخش قالب پروفایل عملکرد سرور را توصیف می‌کند. این فایل یک متن ساده است و هر خط شامل چندین جفت NAME=VALUE است که با کاما از هم جدا شده‌اند. در حال حاضر نام‌های (NAME) زیر شناسایی می‌شوند:

نام میزبان سرور. الزامی.
پروتکل برای این پروفایل، مانند ftp یا http. الزامی.
میانگین سرعت دانلود مشاهده‌شده در دانلود قبلی بر حسب بایت بر ثانیه. الزامی.
میانگین سرعت دانلود مشاهده‌شده در دانلود قبلی بر حسب بایت بر ثانیه. این مقدار تنها در صورتی به‌روزرسانی می‌شود که دانلود در محیط تک‌اتصالی انجام شده باشد و تنها توسط AdaptiveURISelector استفاده می‌شود. اختیاری.
میانگین سرعت دانلود مشاهده‌شده در دانلود قبلی بر حسب بایت بر ثانیه. این مقدار تنها در صورتی به‌روزرسانی می‌شود که دانلود در محیط چنداتصالی انجام شده باشد و تنها توسط AdaptiveURISelector استفاده می‌شود. اختیاری.
تعداد دفعاتی که از سرور استفاده شده است. در حال حاضر این مقدار تنها توسط AdaptiveURISelector استفاده می‌شود. اختیاری.
آخرین زمان تماس با این سرور به وقت گرینویچ (GMT)، مشخص‌شده بر حسب ثانیه‌های سپری‌شده از مبدأ یونیکس یا Epoch (ساعت 00:00:00 در ۱ ژانویه ۱۹۷۰، UTC). الزامی.
هنگامی که سرور غیرقابل دسترس باشد یا از سرویس‌دهی خارج شده باشد یا مهلت زمانی پایان یابد، مقدار ERROR تنظیم می‌شود. در غیر این صورت، مقدار OK تنظیم خواهد شد.

این فیلدها باید در یک خط وجود داشته باشند. ترتیب فیلدها اهمیتی ندارد. شما می‌توانید جفت‌هایی غیر از موارد بالا را نیز قرار دهید؛ آن‌ها صرفاً نادیده گرفته می‌شوند.

نمونه‌ای در ادامه آمده است:

host=localhost, protocol=http, dl_speed=32000, last_updated=1222491640, status=OK
host=localhost, protocol=ftp, dl_speed=0, last_updated=1222491632, status=ERROR

برنامه aria2 رابط‌های JSON-RPC بر بستر HTTP و XML-RPC بر بستر HTTP را ارائه می‌دهد که اساساً قابلیت‌های یکسانی دارند. همچنین aria2 رابط JSON-RPC بر بستر وب‌سوکت (WebSocket) را نیز فراهم می‌کند. پروتکل JSON-RPC بر بستر وب‌سوکت از همان امضاهای متد و قالب‌های پاسخ JSON-RPC بر بستر HTTP استفاده می‌کند، اما علاوه بر آن، اعلان‌های ارائه‌شده از سمت سرور را نیز مهیا می‌سازد. برای اطلاعات بیشتر بخش JSON-RPC over WebSocket را ببینید.

مسیر درخواست رابط JSON-RPC (هم بر بستر HTTP و هم بر بستر وب‌سوکت) برابر با /jsonrpc است. مسیر درخواست رابط XML-RPC برابر با /rpc است.

نشانی وب‌سوکت برای JSON-RPC بر بستر وب‌سوکت به‌صورت ws://HOST:PORT/jsonrpc است. در صورتی که رمزنگاری SSL/TLS را فعال کرده‌اید، به جای آن از wss://HOST:PORT/jsonrpc استفاده کنید.

پیاده‌سازی JSON-RPC بر پایه استاندارد JSON-RPC 2.0 http://jsonrpc.org/specification است و از روش‌های HTTP POST و GET (JSONP) پشتیبانی می‌کند. انتقال بر بستر وب‌سوکت یکی از افزونه‌های اختصاصی aria2 است.

رابط JSON-RPC از اعلان‌ها بر بستر HTTP پشتیبانی نمی‌کند، اما سرور RPC اعلان‌ها را بر بستر وب‌سوکت ارسال خواهد کرد. همچنین این رابط از اعداد اعشاری ممیز شناور پشتیبانی نمی‌کند. کدگذاری نویسه‌ها باید حتماً UTF-8 باشد.

هنگام مطالعه مستندات زیر برای JSON-RPC، ساختارها (structs) را به عنوان اشیاء JSON در نظر بگیرید.

GID

شناسه GID (یا gid) کلیدی برای مدیریت هر دانلود است. به هر دانلود یک GID یکتا اختصاص داده می‌شود. شناسه GID در aria2 به‌صورت یک مقدار باینری ۶۴ بیتی ذخیره می‌شود. برای دسترسی از طریق RPC، این شناسه به‌صورت یک رشته هگزادسیمال ۱۶ کاراکتری نمایش داده می‌شود (مانند 2089b05ecca3d829). به‌طور معمول، aria2 این GID را برای هر دانلود تولید می‌کند، اما کاربر می‌تواند با استفاده از گزینه --gid شناسه‌های GID را به‌صورت دستی نیز مشخص کند. هنگام پرس‌وجوی دانلودها بر اساس GID، تا زمانی که پیشوند واردشده میان سایر شناسه‌ها یکتا باشد، می‌توانید تنها پیشوندی از GID را مشخص کنید.

از نسخه 1.18.4 به بعد، برنامه aria2 علاوه بر احراز هویت پایه HTTP، احراز هویت در سطح متدهای RPC را نیز فراهم کرده است. در انتشار‌های آینده، احراز هویت پایه HTTP حذف خواهد شد و احراز هویت در سطح متد RPC اجباری می‌شود.

برای استفاده از احراز هویت در سطح متد RPC، کاربر باید با استفاده از گزینه --rpc-secret یک توکن امنیتی محرمانه تعیین کند. برای فراخوانی هر متد RPC، فراخواننده باید این توکن را با پیشوند token: ارسال کند. حتی زمانی که از گزینه --rpc-secret استفاده نشده باشد، اگر اولین پارامتر در متد RPC یک رشته باشد و با token: شروع شود، پیش از پردازش درخواست از لیست پارامترها حذف خواهد شد.

به عنوان مثال، اگر توکن محرمانه RPC برابر با $$secret$$ باشد، فراخوانی متد RPC با نام aria2.addUri باید بدین صورت باشد:

aria2.addUri("token:$$secret$$", ["http://example.org/file"])

با متد RPC به نام system.multicall به‌طور ویژه‌ای برخورد می‌شود. از آنجا که مشخصات XML-RPC فقط اجازه ارسال یک آرایه منفرد به عنوان پارامتر برای این متد را می‌دهد، ما توکن را در خود فراخوانی مشخص نمی‌کنیم. در عوض، هر فراخوانی متد تو در تو باید طبق توضیحات بالا، توکن را به عنوان پارامتر اول مهیا سازد.

نکته:

اعتبارسنجی توکن محرمانه در aria2 طوری طراحی شده است که حداقل مدت زمان مشخصی طول بکشد تا حملات بروت‌فورس/فرهنگ‌لغتی (brute-force/dictionary) علیه رابط RPC خنثی شوند. بنابراین توصیه می‌شود در موارد مناسب، از درخواست‌های دسته‌ای (Batch) یا system.multicall استفاده کنید.

متدهای system.listMethods و system.listNotifications را می‌توان بدون توکن اجرا کرد. از آنجا که این متدها صرفاً متدها/اعلان‌های موجود را بازمی‌گردانند و چیزی را تغییر نمی‌دهند، بدون توکن محرمانه نیز امن هستند.

تمام مثال‌های کد با مفسر پایتون 2.7 سازگار هستند. برای اطلاعات درباره پارامتر secret، بخش RPC authorization secret token را ببینید.

این متد یک دانلود جدید اضافه می‌کند. uris یک آرایه از نشانی‌های URIs (رشته‌ها) برای پروتکل‌های HTTP/FTP/SFTP/BitTorrent است که به یک منبع یکسان اشاره دارند. اگر نشانی‌های اشاره‌کننده به منابع مختلف را با هم ترکیب کنید، دانلود ممکن است با شکست مواجه شود یا بدون اعلام خطایی از سوی aria2 خراب گردد. هنگام افزودن نشانی‌های مگنت بیت‌تورنت (BitTorrent Magnet URIs)، پارامتر uris باید تنها دارای یک عنصر باشد و آن عنصر نیز باید نشانی Magnet بیت‌تورنت باشد. پارامتر options یک ساختار (struct) است و اعضای آن جفت‌های نام گزینه و مقدار هستند. برای جزئیات بیشتر، بخش گزینه‌ها (Options) در ادامه را ببینید. در صورت تعیین position، این مقدار باید یک عدد صحیح از 0 به بالا باشد. دانلود جدید در موقعیت position در صف انتظار درج خواهد شد. اگر position حذف شود یا مقدار آن از اندازه فعلی صف بزرگ‌تر باشد، دانلود جدید به انتهای صف افزوده می‌شود. این متد شناسه GID دانلود جدیداً ثبت‌شده را بازمی‌گرداند.

مثال JSON-RPC

مثال زیر نشانی http://example.org/file را اضافه می‌کند:

>>> import urllib2, json
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.addUri',
...                       'params':[['http://example.org/file']]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> c.read()
'{"id":"qwer","jsonrpc":"2.0","result":"2089b05ecca3d829"}'

مثال XML-RPC

مثال زیر نشانی http://example.org/file را اضافه می‌کند:

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.addUri(['http://example.org/file'])
'2089b05ecca3d829'

مثال زیر یک دانلود جدید را با دو منبع و چند گزینه اضافه می‌کند:

>>> s.aria2.addUri(['http://example.org/file', 'http://mirror/file'],
                    dict(dir="/tmp"))
'd2703803b52216d1'

مثال زیر یک دانلود اضافه کرده و آن را در ابتدای صف قرار می‌دهد:

>>> s.aria2.addUri(['http://example.org/file'], {}, 0)
'ca3d829cee549a4d'
این متد با بارگذاری یک فایل ".torrent" یک دانلود بیت‌تورنت اضافه می‌کند. اگر می‌خواهید یک نشانی مگنت بیت‌تورنت اضافه کنید، به جای آن از متد aria2.addUri() استفاده نمایید. پارامتر torrent باید یک رشته کدگذاری‌شده با base64 شامل محتویات فایل ".torrent" باشد. پارامتر uris یک آرایه از نشانی‌های URIs (رشته) است. از uris برای سیدینگ وب (Web-seeding) استفاده می‌شود. برای تورنت‌های تک‌فایلی، این نشانی می‌تواند یک URI کامل با اشاره به منبع باشد؛ اگر URI با / خاتمه یابد، نام موجود در فایل تورنت به آن افزوده می‌شود. برای تورنت‌های چندفایلی، نام و مسیر در تورنت اضافه می‌شوند تا یک URI برای هر فایل تشکیل دهند. پارامتر options یک ساختار (struct) است و اعضای آن جفت‌های نام گزینه و مقدار هستند. برای جزئیات بیشتر بخش گزینه‌ها (Options) در ادامه را ببینید. در صورت تعیین position، این مقدار باید یک عدد صحیح از 0 به بالا باشد. دانلود جدید در موقعیت position در صف انتظار درج خواهد شد. اگر position حذف شود یا مقدار آن از اندازه فعلی صف بزرگ‌تر باشد، دانلود جدید به انتهای صف افزوده می‌شود. این متد شناسه GID دانلود جدیداً ثبت‌شده را بازمی‌گرداند. اگر گزینه --rpc-save-upload-metadata برابر با true باشد، داده‌های بارگذاری‌شده به‌صورت یک فایل با نامی شامل رشته هگز هش SHA-1 داده‌ها به همراه پسوند ".torrent" در پوشه مشخص‌شده با گزینه --dir ذخیره می‌شوند؛ برای مثال نام فایل ممکن است 0a3893293e27ac0490424c06de4d09242215f0a6.torrent باشد. اگر فایلی با همین نام از قبل وجود داشته باشد، بازنویسی (overwrite) خواهد شد! اگر فایل نتواند با موفقیت ذخیره شود یا گزینه --rpc-save-upload-metadata برابر با false باشد، دانلودهای اضافه‌شده توسط این متد توسط گزینه --save-session ذخیره نمی‌شوند.

مثال‌های زیر فایل محلی file.torrent را اضافه می‌کنند.

مثال JSON-RPC

>>> import urllib2, json, base64
>>> torrent = base64.b64encode(open('file.torrent').read())
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'asdf',
...                       'method':'aria2.addTorrent', 'params':[torrent]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> c.read()
'{"id":"asdf","jsonrpc":"2.0","result":"2089b05ecca3d829"}'

مثال XML-RPC

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.addTorrent(xmlrpclib.Binary(open('file.torrent', mode='rb').read()))
'2089b05ecca3d829'
این متد با بارگذاری یک فایل ".metalink" یک دانلود متالینک اضافه می‌کند. پارامتر metalink یک رشته کدگذاری‌شده با base64 است که محتویات فایل ".metalink" را در بر دارد. پارامتر options یک ساختار (struct) است و اعضای آن جفت‌های نام گزینه و مقدار هستند. برای جزئیات بیشتر بخش گزینه‌ها (Options) در ادامه را ببینید. در صورت تعیین position، این مقدار باید یک عدد صحیح از 0 به بالا باشد. دانلود جدید در موقعیت position در صف انتظار درج خواهد شد. اگر position حذف شود یا مقدار آن از اندازه فعلی صف بزرگ‌تر باشد، دانلود جدید به انتهای صف افزوده می‌شود. این متد آرایه‌ای از شناسه‌های GID دانلودهای جدیداً ثبت‌شده را بازمی‌گرداند. اگر گزینه --rpc-save-upload-metadata برابر با true باشد، داده‌های بارگذاری‌شده به‌صورت یک فایل با نامی شامل رشته هگز هش SHA-1 داده‌ها به همراه پسوند ".metalink" در پوشه مشخص‌شده با گزینه --dir ذخیره می‌شوند؛ برای مثال نام فایل ممکن است 0a3893293e27ac0490424c06de4d09242215f0a6.metalink باشد. اگر فایلی با همین نام از قبل وجود داشته باشد، بازنویسی خواهد شد! اگر فایل نتواند با موفقیت ذخیره شود یا گزینه --rpc-save-upload-metadata برابر با false باشد، دانلودهای اضافه‌شده توسط این متد توسط --save-session ذخیره نمی‌شوند.

مثال‌های زیر فایل محلی file.meta4 را اضافه می‌کنند.

مثال JSON-RPC

>>> import urllib2, json, base64
>>> metalink = base64.b64encode(open('file.meta4').read())
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.addMetalink',
...                       'params':[metalink]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> c.read()
'{"id":"qwer","jsonrpc":"2.0","result":["2089b05ecca3d829"]}'

مثال XML-RPC

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.addMetalink(xmlrpclib.Binary(open('file.meta4', mode='rb').read()))
['2089b05ecca3d829']
این متد دانلودی که با gid (رشته) مشخص شده را حذف می‌کند. اگر دانلود مشخص‌شده در حال انجام باشد، ابتدا متوقف می‌شود. وضعیت دانلود حذف‌شده به removed تغییر می‌یابد. این متد شناسه GID دانلود حذف‌شده را بازمی‌گرداند.

مثال‌های زیر دانلودی با GID#2089b05ecca3d829 را حذف می‌کنند.

مثال JSON-RPC

>>> import urllib2, json
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.remove',
...                       'params':['2089b05ecca3d829']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> c.read()
'{"id":"qwer","jsonrpc":"2.0","result":"2089b05ecca3d829"}'

مثال XML-RPC

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.remove('2089b05ecca3d829')
'2089b05ecca3d829'
این متد دانلود مشخص‌شده با gid را حذف می‌کند. عملکرد این متد دقیقاً شبیه به aria2.remove() است، با این تفاوت که دانلود را بدون انجام اقدامات زمان‌بر (مانند تماس با ترکرهای بیت‌تورنت برای لغو ثبت اولیه دانلود) حذف می‌کند.
این متد دانلود مشخص‌شده با gid (رشته) را متوقف موقت (pause) می‌کند. وضعیت دانلود متوقف‌شده به paused تبدیل می‌شود. اگر دانلود فعال بود، در ابتدای صف انتظار قرار می‌گیرد. تا زمانی که وضعیت paused باشد، دانلود شروع نخواهد شد. برای تغییر وضعیت به waiting، از متد aria2.unpause() استفاده کنید. این متد شناسه GID دانلود متوقف‌شده را بازمی‌گرداند.
این متد معادل فراخوانی aria2.pause() برای تمام دانلودهای فعال/در حال انتظار است. این متد مقدار OK را بازمی‌گرداند.
این متد دانلود مشخص‌شده با gid را متوقف موقت می‌کند. عملکرد این متد دقیقاً شبیه به aria2.pause() است، با این تفاوت که دانلودها را بدون انجام اقدامات زمان‌بر (مانند تماس با ترکرهای بیت‌تورنت برای لغو ثبت دانلود) متوقف می‌کند.
این متد معادل فراخوانی aria2.forcePause() برای تمام دانلودهای فعال/در حال انتظار است. این متد مقدار OK را بازمی‌گرداند.
این متد وضعیت دانلود مشخص‌شده با gid (رشته) را از paused به waiting تغییر داده و آن را واجد شرایط ازسرگیری دانلود می‌کند. این متد شناسه GID دانلود ازسرگرفته‌شده را بازمی‌گرداند.
این متد معادل فراخوانی aria2.unpause() برای تمام دانلودهای متوقف‌شده است. این متد مقدار OK را بازمی‌گرداند.
این متد میزان پیشرفت دانلود مشخص‌شده با gid (رشته) را بازمی‌گرداند. keys آرایه‌ای از رشته‌ها است. در صورت تعیین شدن، پاسخ فقط شامل کلیدهای موجود در آرایه keys خواهد بود. اگر keys خالی باشد یا حذف شود، پاسخ شامل تمامی کلیدها خواهد بود. این ویژگی زمانی مفید است که شما فقط به دنبال دریافت کلیدهای خاصی هستید و می‌خواهید از انتقال‌های غیرضروری داده جلوگیری کنید. برای مثال، aria2.tellStatus("2089b05ecca3d829", ["gid", "status"]) تنها کلیدهای gid و status را بازمی‌گرداند. پاسخ یک ساختار (struct) است و شامل کلیدهای زیر است. مقادیر به‌صورت رشته هستند.
شناسه GID دانلود.
مقدار active برای دانلودهایی که هم‌اکنون در حال دریافت/سیدینگ هستند. مقدار waiting برای دانلودهای حاضر در صف؛ دانلود هنوز شروع نشده است. مقدار paused برای دانلودهای متوقف‌شده به صورت موقت. مقدار error برای دانلودهایی که به دلیل خطا متوقف شده‌اند. مقدار complete برای دانلودهای متوقف‌شده و تکمیل‌شده. مقدار removed برای دانلودهایی که توسط کاربر حذف شده‌اند.
طول کلی دانلود به بایت.
طول تکمیل‌شده دانلود به بایت.
طول آپلودشده دانلود به بایت.
نمایش هگزادسیمال پیشرفت دانلود. بالاترین بیت متناظر با قطعه در اندیس 0 است. هر بیت فعال نشان‌دهنده قطعات بارگیری‌شده است، در حالی که بیت‌های غیرفعال نشان می‌دهند قطعات هنوز دریافت نشده‌اند یا مفقود هستند. هر بیت اضافی در انتها با صفر پر می‌شود. هنگامی که دانلود هنوز شروع نشده باشد، این کلید در پاسخ گنجانده نخواهد شد.
سرعت دانلود این مورد بر حسب بایت بر ثانیه.
سرعت آپلود این مورد بر حسب بایت بر ثانیه.
هش اطلاعاتی (InfoHash). فقط مخصوص بیت‌تورنت.
تعداد سیدرهایی که aria2 به آن‌ها متصل شده است. فقط مخصوص بیت‌تورنت.
مقدار true اگر نقطه پایانی محلی یک سیدر باشد؛ در غیر این صورت false. فقط مخصوص بیت‌تورنت.
طول قطعه به بایت.
تعداد قطعات.
تعداد همتاها/سرورهایی که aria2 به آن‌ها متصل شده است.
کد آخرین خطای رخ‌داده برای این مورد، در صورت وجود. مقدار یک رشته است. کدهای خطا در بخش EXIT STATUS تعریف شده‌اند. این مقدار تنها برای دانلودهای متوقف‌شده/تکمیل‌شده در دسترس است.
پیام خطای خوانا برای انسان که با errorCode مرتبط است.
فهرستی از شناسه‌های GID که در نتیجه این دانلود تولید شده‌اند. به عنوان مثال، هنگامی که aria2 یک فایل متالینک را دانلود می‌کند، دانلودهای توصیف‌شده در متالینک را ایجاد می‌کند (گزینه --follow-metalink را ببینید). این مقدار برای ردیابی دانلودهای تولیدشده خودکار مفید است. اگر چنین دانلودهایی وجود نداشته باشد، این کلید در پاسخ گنجانده نخواهد شد.
پیوند معکوس برای followedBy. دانلودی که در followedBy گنجانده شده باشد، شناسه GID این شیء را در مقدار following خود دارد.
شناسه GID دانلود والد. برخی از دانلودها بخشی از دانلودی دیگر هستند. برای مثال، اگر فایلی در متالینک دارای منابع بیت‌تورنت باشد، دانلودهای فایل‌های ".torrent" بخشی از آن والد هستند. اگر این دانلود والدی نداشته باشد، این کلید در پاسخ گنجانده نخواهد شد.
دایرکتوری برای ذخیره فایل‌ها.
فهرست فایل‌ها را بازمی‌گرداند. عناصر این فهرست همان ساختارهایی هستند که در متد aria2.getFiles() استفاده می‌شوند.
ساختاری حاوی اطلاعات استخراج‌شده از فایل تورنت (.torrent). فقط مخصوص بیت‌تورنت. این ساختار شامل کلیدهای زیر است:
فهرستی از فهرست‌های نشانی‌های اعلام (announce URIs). اگر تورنت حاوی announce باشد و فاقد announce-list باشد، مقدار announce به قالب announce-list تبدیل می‌شود.
توضیح تورنت. در صورت در دسترس بودن، از comment.utf-8 استفاده می‌شود.
زمان ایجاد تورنت. این مقدار یک عدد صحیح از زمان مبدا (epoch) بر حسب ثانیه است.
حالت فایل در تورنت. مقدار یا single است یا multi.
ساختاری حاوی داده‌های واژه‌نامه Info. این ساختار شامل کلیدهای زیر است:
نام در واژه‌نامه info. در صورت در دسترس بودن، از name.utf-8 استفاده می‌شود.
تعداد بایت‌های تاییدشده در حین بررسی هش فایل‌ها. این کلید تنها زمانی وجود دارد که این دانلود در حال بررسی هش باشد.
مقدار true اگر این دانلود در صف در انتظار بررسی هش باشد. این کلید تنها زمانی وجود دارد که این دانلود در صف باشد.

مثال JSON-RPC

مثال زیر اطلاعات مربوط به دانلود با شناسه GID#2089b05ecca3d829 را دریافت می‌کند:

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.tellStatus',
...                       'params':['2089b05ecca3d829']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': {u'bitfield': u'0000000000',
             u'completedLength': u'901120',
             u'connections': u'1',
             u'dir': u'/downloads',
             u'downloadSpeed': u'15158',
             u'files': [{u'index': u'1',
                         u'length': u'34896138',
                         u'completedLength': u'34896138',
                         u'path': u'/downloads/file',
                         u'selected': u'true',
                         u'uris': [{u'status': u'used',
                                     u'uri': u'http://example.org/file'}]}],
             u'gid': u'2089b05ecca3d829',
             u'numPieces': u'34',
             u'pieceLength': u'1048576',
             u'status': u'active',
             u'totalLength': u'34896138',
             u'uploadLength': u'0',
             u'uploadSpeed': u'0'}}

مثال زیر تنها کلیدهای خاصی را دریافت می‌کند:

>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.tellStatus',
...                       'params':['2089b05ecca3d829',
...                                 ['gid',
...                                  'totalLength',
...                                  'completedLength']]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': {u'completedLength': u'5701632',
             u'gid': u'2089b05ecca3d829',
             u'totalLength': u'34896138'}}

مثال XML-RPC

مثال زیر اطلاعات مربوط به دانلود با شناسه GID#2089b05ecca3d829 را دریافت می‌کند:

>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.tellStatus('2089b05ecca3d829')
>>> pprint(r)
{'bitfield': 'ffff80',
 'completedLength': '34896138',
 'connections': '0',
 'dir': '/downloads',
 'downloadSpeed': '0',
 'errorCode': '0',
 'files': [{'index': '1',
            'length': '34896138',
            'completedLength': '34896138',
            'path': '/downloads/file',
            'selected': 'true',
            'uris': [{'status': 'used',
                      'uri': 'http://example.org/file'}]}],
 'gid': '2089b05ecca3d829',
 'numPieces': '17',
 'pieceLength': '2097152',
 'status': 'complete',
 'totalLength': '34896138',
 'uploadLength': '0',
 'uploadSpeed': '0'}

مثال زیر تنها کلیدهای خاصی را دریافت می‌کند:

>>> r = s.aria2.tellStatus('2089b05ecca3d829', ['gid', 'totalLength', 'completedLength'])
>>> pprint(r)
{'completedLength': '34896138', 'gid': '2089b05ecca3d829', 'totalLength': '34896138'}
این متد نشانی‌های URIs استفاده‌شده در دانلود مشخص‌شده با gid (رشته) را بازمی‌گرداند. پاسخ یک آرایه از ساختارها است و شامل کلیدهای زیر می‌باشد. مقادیر از نوع رشته هستند.
نشانی URI
مقدار 'used' اگر URI در حال استفاده باشد. مقدار 'waiting' اگر URI همچنان در صف انتظار باشد.

مثال JSON-RPC

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getUris',
...                       'params':['2089b05ecca3d829']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': [{u'status': u'used',
              u'uri': u'http://example.org/file'}]}

مثال XML-RPC

>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getUris('2089b05ecca3d829')
>>> pprint(r)
[{'status': 'used', 'uri': 'http://example.org/file'}]
این متد فهرست فایل‌های دانلود مشخص‌شده با gid (رشته) را بازمی‌گرداند. پاسخ یک آرایه از ساختارها است که شامل کلیدهای زیر می‌باشند. مقادیر از نوع رشته هستند.
اندیس فایل، با شروع از 1، به همان ترتیبی که فایل‌ها در تورنت چندفایلی ظاهر می‌شوند.
مسیر فایل.
اندازه فایل به بایت.
طول تکمیل‌شده این فایل به بایت. لطفاً توجه داشته باشید که ممکن است مجموع مقادیر completedLength کمتر از completedLength بازگردانده‌شده توسط متد aria2.tellStatus() باشد. دلیل این امر این است که completedLength در aria2.getFiles() تنها شامل قطعات تکمیل‌شده است. از سوی دیگر، completedLength در aria2.tellStatus() قطعاتی را که تا حدی تکمیل شده‌اند نیز شامل می‌شود.
مقدار true اگر این فایل با گزینه --select-file انتخاب شده باشد. اگر --select-file مشخص نشده باشد یا این مورد یک تورنت تک‌فایل یا اصولاً دانلودی غیر از تورنت باشد، این مقدار همیشه true خواهد بود؛ در غیر این صورت false است.
فهرستی از نشانی‌های URIs را برای این فایل بازمی‌گرداند. نوع عناصر همان ساختاری است که در متد aria2.getUris() استفاده می‌شود.

مثال JSON-RPC

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getFiles',
...                       'params':['2089b05ecca3d829']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': [{u'index': u'1',
              u'length': u'34896138',
              u'completedLength': u'34896138',
              u'path': u'/downloads/file',
              u'selected': u'true',
              u'uris': [{u'status': u'used',
                         u'uri': u'http://example.org/file'}]}]}

مثال XML-RPC

>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getFiles('2089b05ecca3d829')
>>> pprint(r)
[{'index': '1',
  'length': '34896138',
  'completedLength': '34896138',
  'path': '/downloads/file',
  'selected': 'true',
  'uris': [{'status': 'used',
            'uri': 'http://example.org/file'}]}]
این متد فهرستی از همتاهای دانلود مشخص‌شده با gid (رشته) را بازمی‌گرداند. این متد فقط مخصوص بیت‌تورنت است. پاسخ یک آرایه از ساختارها است و شامل کلیدهای زیر می‌باشد. مقادیر از نوع رشته هستند.
شناسه همتا (peer ID) با کدگذاری درصدی (Percent-encoded).
آدرس IP همتا.
شماره پورت همتا.
نمایش هگزادسیمال پیشرفت دانلود همتا. بالاترین بیت متناظر با قطعه در اندیس 0 است. بیت‌های فعال نشان می‌دهند که قطعه در دسترس است و بیت‌های غیرفعال نشان‌دهنده مفقود بودن قطعه هستند. هر بیت اضافی در انتها برابر صفر تنظیم می‌شود.
مقدار true اگر aria2 همتا را مسدود (choking) کرده باشد؛ در غیر این صورت false.
مقدار true اگر همتا aria2 را مسدود کرده باشد؛ در غیر این صورت false.
سرعت دانلود (بایت بر ثانیه) که این کلاینت از همتا دریافت می‌کند.
سرعت آپلود (بایت بر ثانیه) که این کلاینت به همتا ارسال می‌کند.
مقدار true اگر این همتا یک سیدر باشد؛ در غیر این صورت false.

مثال JSON-RPC

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getPeers',
...                       'params':['2089b05ecca3d829']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': [{u'amChoking': u'true',
              u'bitfield': u'ffffffffffffffffffffffffffffffffffffffff',
              u'downloadSpeed': u'10602',
              u'ip': u'10.0.0.9',
              u'peerChoking': u'false',
              u'peerId': u'aria2%2F1%2E10%2E5%2D%87%2A%EDz%2F%F7%E6',
              u'port': u'6881',
              u'seeder': u'true',
              u'uploadSpeed': u'0'},
             {u'amChoking': u'false',
              u'bitfield': u'ffffeff0fffffffbfffffff9fffffcfff7f4ffff',
              u'downloadSpeed': u'8654',
              u'ip': u'10.0.0.30',
              u'peerChoking': u'false',
              u'peerId': u'bittorrent client758',
              u'port': u'37842',
              u'seeder': u'false',
              u'uploadSpeed': u'6890'}]}

مثال XML-RPC

>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getPeers('2089b05ecca3d829')
>>> pprint(r)
[{'amChoking': 'true',
  'bitfield': 'ffffffffffffffffffffffffffffffffffffffff',
  'downloadSpeed': '10602',
  'ip': '10.0.0.9',
  'peerChoking': 'false',
  'peerId': 'aria2%2F1%2E10%2E5%2D%87%2A%EDz%2F%F7%E6',
  'port': '6881',
  'seeder': 'true',
  'uploadSpeed': '0'},
 {'amChoking': 'false',
  'bitfield': 'ffffeff0fffffffbfffffff9fffffcfff7f4ffff',
  'downloadSpeed': '8654',
  'ip': '10.0.0.30',
  'peerChoking': 'false',
  'peerId': 'bittorrent client758',
  'port': '37842',
  'seeder': 'false,
  'uploadSpeed': '6890'}]
این متد سرورهای HTTP(S)/FTP/SFTP متصل فعلی را برای دانلود مشخص‌شده با gid (رشته) بازمی‌گرداند. پاسخ یک آرایه از ساختارها است و شامل کلیدهای زیر می‌باشد. مقادیر از نوع رشته هستند.
اندیس فایل، با شروع از 1، به همان ترتیبی که فایل‌ها در متالینک چندفایلی ظاهر می‌شوند.
فهرستی از ساختارها که شامل کلیدهای زیر هستند:
نشانی URI اصلی.
این نشانی URI است که در حال حاضر برای دانلود استفاده می‌شود. اگر تغییر مسیر (redirection) رخ داده باشد، currentUri و uri ممکن است متفاوت باشند.
سرعت دانلود (بایت بر ثانیه)

مثال JSON-RPC

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getServers',
...                       'params':['2089b05ecca3d829']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': [{u'index': u'1',
              u'servers': [{u'currentUri': u'http://example.org/file',
                            u'downloadSpeed': u'10467',
                            u'uri': u'http://example.org/file'}]}]}

مثال XML-RPC

>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getServers('2089b05ecca3d829')
>>> pprint(r)
[{'index': '1',
  'servers': [{'currentUri': 'http://example.org/dl/file',
               'downloadSpeed': '20285',
               'uri': 'http://example.org/file'}]}]
این متد فهرستی از دانلودهای فعال را بازمی‌گرداند. پاسخ آرایه‌ای از همان ساختارهایی است که توسط متد aria2.tellStatus() بازگردانده می‌شوند. برای پارامتر keys، لطفاً به متد aria2.tellStatus() مراجعه کنید.
این متد فهرستی از دانلودهای در حال انتظار، شامل دانلودهای متوقف‌شده موقت (paused) را بازمی‌گرداند. پارامتر offset یک عدد صحیح است و فاصله (offset) را از دانلودی که در جلوی صف انتظار قرار دارد مشخص می‌کند. پارامتر num یک عدد صحیح است و حداکثر تعداد دانلودهایی را که باید بازگردانده شوند تعیین می‌کند. برای پارامتر keys، لطفاً به متد aria2.tellStatus() مراجعه کنید.

اگر offset یک عدد صحیح مثبت باشد، این متد دانلودها را در محدوده [offset, offset + num) بازمی‌گرداند.

پارامتر offset می‌تواند یک عدد صحیح منفی باشد. مقدار offset == -1 به آخرین دانلود در صف انتظار اشاره دارد و offset == -2 به دانلود قبل از آخرین دانلود اشاره می‌کند و الی آخر. در این حالت دانلودهای موجود در پاسخ به ترتیب معکوس خواهند بود.

برای مثال، فرض کنید سه دانلود "A"، "B" و "C" به همین ترتیب در حال انتظار هستند. فراخوانی aria2.tellWaiting(0, 1) مقدار ["A"] را بازمی‌گرداند. فراخوانی aria2.tellWaiting(1, 2) مقدار ["B", "C"] را بازمی‌گرداند. فراخوانی aria2.tellWaiting(-1, 2) مقدار ["C", "B"] را بازمی‌گرداند.

پاسخ آرایه‌ای از همان ساختارهایی است که توسط متد aria2.tellStatus() بازگردانده می‌شوند.

این متد فهرستی از دانلودهای متوقف‌شده را بازمی‌گرداند. پارامتر offset یک عدد صحیح است و فاصله (offset) را از قدیمی‌ترین دانلود متوقف‌شده مشخص می‌کند. پارامتر num یک عدد صحیح است و حداکثر تعداد دانلودهایی را که باید بازگردانده شوند تعیین می‌کند. برای پارامتر keys، لطفاً به متد aria2.tellStatus() مراجعه کنید.

پارامترهای offset و num دارای همان مفاهیمی هستند که در متد aria2.tellWaiting() توضیح داده شد.

پاسخ آرایه‌ای از همان ساختارهایی است که توسط متد aria2.tellStatus() بازگردانده می‌شوند.

این متد موقعیت دانلودی را که با gid مشخص شده است در صف تغییر می‌دهد. pos یک عدد صحیح است. how یک رشته است. اگر how برابر با POS_SET باشد، دانلود را به موقعیتی نسبت به ابتدای صف منتقل می‌کند. اگر how برابر با POS_CUR باشد، دانلود را به موقعیتی نسبت به موقعیت فعلی جابه‌جا می‌کند. اگر how برابر با POS_END باشد، دانلود را به موقعیتی نسبت به انتهای صف منتقل می‌کند. اگر موقعیت مقصد کمتر از ۰ یا فراتر از انتهای صف باشد، دانلود را به ترتیب به ابتدای صف یا انتهای صف منتقل می‌کند. پاسخ یک عدد صحیح است که موقعیت نهایی حاصل‌شده را نشان می‌دهد.

برای مثال، اگر GID#2089b05ecca3d829 در حال حاضر در موقعیت ۳ باشد، فراخوانی aria2.changePosition('2089b05ecca3d829', -1, 'POS_CUR') موقعیت آن را به ۲ تغییر می‌دهد. علاوه بر این، فراخوانی aria2.changePosition('2089b05ecca3d829', 0, 'POS_SET') موقعیت آن را به ۰ (ابتدای صف) تغییر خواهد داد.

مثال‌های زیر دانلود با شناسه GID#2089b05ecca3d829 را به ابتدای صف منتقل می‌کنند.

نمونه JSON-RPC (JSON-RPC Example)

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.changePosition',
...                       'params':['2089b05ecca3d829', 0, 'POS_SET']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': 0}

نمونه XML-RPC (XML-RPC Example)

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.changePosition('2089b05ecca3d829', 0, 'POS_SET')
0
این متد نشانی‌های وب موجود در delUris را حذف کرده و نشانی‌های موجود در addUris را به دانلود مشخص‌شده توسط gid اضافه می‌کند. delUris و addUris لیست‌هایی از رشته‌ها هستند. یک دانلود می‌تواند شامل چندین فایل باشد و نشانی‌های وب به هر فایل پیوست می‌شوند. از fileIndex برای انتخاب فایلی که قرار است نشانی‌های داده‌شده از آن حذف یا به آن افزوده شوند استفاده می‌شود. مقدار fileIndex مبتنی بر ۱ (1-based) است. از position برای تعیین مکانی که نشانی‌ها در لیست نشانی‌های منتظر درج می‌شوند استفاده می‌شود. مقدار position مبتنی بر ۰ (0-based) است. هنگامی که position مشخص نشود، نشانی‌ها به انتهای لیست اضافه می‌شوند. این متد ابتدا عملیات حذف و سپس عملیات افزودن را انجام می‌دهد. position موقعیت پس از حذف نشانی‌ها است، نه موقعیت در هنگام فراخوانی متد. در هنگام حذف نشانی، اگر نشانی‌های یکسانی در دانلود وجود داشته باشد، به ازای هر نشانی موجود در delUris تنها یکی از آن‌ها حذف می‌شود. به عبارت دیگر، اگر سه نشانی http://example.org/aria2 وجود دارد و می‌خواهید همه آن‌ها را حذف کنید، باید (حداقل) ۳ بار http://example.org/aria2 را در delUris مشخص کنید. این متد لیستی شامل دو عدد صحیح بازمی‌گرداند؛ عدد صحیح اول تعداد نشانی‌های حذف‌شده و عدد صحیح دوم تعداد نشانی‌های اضافه‌شده است.

مثال‌های زیر نشانی http://example.org/file را به فایلی که اندیس آن 1 است و به دانلود GID#2089b05ecca3d829 تعلق دارد اضافه می‌کنند.

نمونه JSON-RPC (JSON-RPC Example)

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.changeUri',
...                       'params':['2089b05ecca3d829', 1, [],
                                    ['http://example.org/file']]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': [0, 1]}

نمونه XML-RPC (XML-RPC Example)

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.changeUri('2089b05ecca3d829', 1, [],
                      ['http://example.org/file'])
[0, 1]
این متد گزینه‌های دانلودی را که با gid مشخص شده است بازمی‌گرداند. پاسخ یک ساختار (struct) است که در آن کلیدها نام گزینه‌ها هستند. مقادیر از نوع رشته می‌باشند. توجه داشته باشید که این متد گزینه‌هایی را که مقدار پیش‌فرضی ندارند و در خط فرمان، فایل‌های پیکربندی یا متدهای RPC تنظیم نشده‌اند بازنمی‌گرداند.

مثال‌های زیر گزینه‌های دانلود GID#2089b05ecca3d829 را دریافت می‌کنند.

نمونه JSON-RPC (JSON-RPC Example)

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getOption',
...                       'params':['2089b05ecca3d829']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': {u'allow-overwrite': u'false',
             u'allow-piece-length-change': u'false',
             u'always-resume': u'true',
             u'async-dns': u'true',
 ...

نمونه XML-RPC (XML-RPC Example)

>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getOption('2089b05ecca3d829')
>>> pprint(r)
{'allow-overwrite': 'false',
 'allow-piece-length-change': 'false',
 'always-resume': 'true',
 'async-dns': 'true',
 ....
این متد گزینه‌های دانلودی را که با gid (رشته) مشخص شده است به‌صورت پویا تغییر می‌دهد. options یک ساختار (struct) است. گزینه‌های ذکرشده در زیربخش Input File در دسترس هستند، به‌جز گزینه‌های زیر:
  • dry-run
  • metalink-base-uri
  • parameterized-uri
  • pause
  • piece-length
  • rpc-save-upload-metadata

به‌جز گزینه‌های زیر، تغییر دادن سایر گزینه‌های یک دانلود فعال باعث راه‌اندازی مجدد آن می‌شود (راه‌اندازی مجدد توسط خود aria2 مدیریت می‌شود و نیازی به دخالت کاربر نیست):

  • bt-max-peers
  • bt-request-peer-speed-limit
  • bt-remove-unselected-file
  • force-save
  • max-download-limit
  • max-upload-limit

این متد در صورت موفقیت مقدار OK را بازمی‌گرداند.

مثال‌های زیر گزینه max-download-limit را برای دانلود GID#2089b05ecca3d829 روی مقدار 20K تنظیم می‌کنند.

نمونه JSON-RPC (JSON-RPC Example)

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.changeOption',
...                       'params':['2089b05ecca3d829',
...                                 {'max-download-limit':'10K'}]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': u'OK'}

نمونه XML-RPC (XML-RPC Example)

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.changeOption('2089b05ecca3d829', {'max-download-limit':'20K'})
'OK'
این متد گزینه‌های سراسری را بازمی‌گرداند. پاسخ یک ساختار (struct) است. کلیدهای آن نام گزینه‌ها هستند و مقادیر از نوع رشته می‌باشند. توجه داشته باشید که این متد گزینه‌هایی را که مقدار پیش‌فرضی ندارند و در خط فرمان، فایل‌های پیکربندی یا متدهای RPC تنظیم نشده‌اند برنمی‌گرداند. از آنجا که گزینه‌های سراسری به‌عنوان قالبی برای گزینه‌های دانلودهای تازه اضافه‌شده به کار می‌روند، پاسخ شامل کلیدهایی است که توسط متد aria2.getOption() نیز بازگردانده می‌شوند.
این متد گزینه‌های سراسری را به‌صورت پویا تغییر می‌دهد. options یک ساختار (struct) است. گزینه‌های زیر در دسترس هستند:
  • bt-max-open-files
  • download-result
  • keep-unfinished-download-result
  • log
  • log-level
  • max-concurrent-downloads
  • max-download-result
  • max-overall-download-limit
  • max-overall-upload-limit
  • optimize-concurrent-downloads
  • save-cookies
  • save-session
  • server-stat-of

علاوه بر این، گزینه‌های ذکرشده در زیربخش Input File نیز در دسترس هستند، به‌جز گزینه‌های زیر: checksum, index-out, out, pause و select-file.

با استفاده از گزینه log، می‌توانید ثبت لاگ را به‌صورت پویا آغاز کنید یا فایل لاگ را تغییر دهید. برای توقف ثبت لاگ، یک رشته خالی ("") را به‌عنوان مقدار پارامتر تعیین کنید. توجه داشته باشید که فایل لاگ همیشه در حالت الحاق (append mode) باز می‌شود. این متد در صورت موفقیت مقدار OK را بازمی‌گرداند.

این متد آمار و وضعیت سراسری مانند سرعت کلی دانلود و آپلود را بازمی‌گرداند. پاسخ یک ساختار (struct) است و شامل کلیدهای زیر می‌باشد. مقادیر از نوع رشته هستند.
سرعت کلی دانلود (بایت بر ثانیه).
سرعت کلی آپلود (بایت بر ثانیه).
تعداد دانلودهای فعال.
تعداد دانلودهای در صف انتظار.
تعداد دانلودهای متوقف‌شده در نشست جاری. این مقدار توسط گزینه --max-download-result محدود می‌شود.
تعداد دانلودهای متوقف‌شده در نشست جاری که با گزینه --max-download-result محدود نمی‌شود.

نمونه JSON-RPC (JSON-RPC Example)

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getGlobalStat'})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': {u'downloadSpeed': u'21846',
             u'numActive': u'2',
             u'numStopped': u'0',
             u'numWaiting': u'0',
             u'uploadSpeed': u'0'}}

نمونه XML-RPC (XML-RPC Example)

>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getGlobalStat()
>>> pprint(r)
{'downloadSpeed': '23136',
 'numActive': '2',
 'numStopped': '0',
 'numWaiting': '0',
 'uploadSpeed': '0'}
این متد دانلودهای تکمیل‌شده، دارای خطا یا حذف‌شده را برای آزادسازی حافظه پاک‌سازی می‌کند. این متد مقدار OK را بازمی‌گرداند.
این متد نتیجه یک دانلود تکمیل‌شده، دارای خطا یا حذف‌شده را که با gid مشخص شده است از حافظه حذف می‌کند. این متد در صورت موفقیت مقدار OK را بازمی‌گرداند.

مثال‌های زیر نتیجه دانلود مربوط به شناسه GID#2089b05ecca3d829 را حذف می‌کنند.

نمونه JSON-RPC (JSON-RPC Example)

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.removeDownloadResult',
...                       'params':['2089b05ecca3d829']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': u'OK'}

نمونه XML-RPC (XML-RPC Example)

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.removeDownloadResult('2089b05ecca3d829')
'OK'
این متد نگارش aria2 و فهرست ویژگی‌های فعال‌شده را بازمی‌گرداند. پاسخ یک ساختار (struct) است و شامل کلیدهای زیر می‌باشد.
شماره نگارش aria2 به‌صورت یک رشته.
فهرست ویژگی‌های فعال‌شده. هر ویژگی به‌صورت یک رشته ارائه می‌شود.

نمونه JSON-RPC (JSON-RPC Example)

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getVersion'})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': {u'enabledFeatures': [u'Async DNS',
                                   u'BitTorrent',
                                   u'Firefox3 Cookie',
                                   u'GZip',
                                   u'HTTPS',
                                   u'Message Digest',
                                   u'Metalink',
                                   u'XML-RPC'],
              u'version': u'1.11.0'}}

نمونه XML-RPC (XML-RPC Example)

>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getVersion()
>>> pprint(r)
{'enabledFeatures': ['Async DNS',
                     'BitTorrent',
                     'Firefox3 Cookie',
                     'GZip',
                     'HTTPS',
                     'Message Digest',
                     'Metalink',
                     'XML-RPC'],
 'version': '1.11.0'}
این متد اطلاعات نشست را بازمی‌گرداند. پاسخ یک ساختار (struct) است و شامل کلید زیر می‌باشد.
شناسه نشست (Session ID)، که هر بار با فراخوانی و اجرای aria2 تولید می‌شود.

نمونه JSON-RPC (JSON-RPC Example)

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getSessionInfo'})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': {u'sessionId': u'cd6a3bc6a1de28eb5bfa181e5f6b916d44af31a9'}}

نمونه XML-RPC (XML-RPC Example)

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.getSessionInfo()
{'sessionId': 'cd6a3bc6a1de28eb5bfa181e5f6b916d44af31a9'}
این متد برنامه aria2 را خاموش و متوقف می‌کند. این متد مقدار OK را بازمی‌گرداند.
این متد aria2() را خاموش و متوقف می‌کند. این متد رفتاری مشابه با :func:'aria2.shutdown` دارد با این تفاوت که بدون انجام اقدامات زمان‌بر (مانند تماس با تراکرهای بیت‌تورنت برای لغو ثبت دانلودها پیش از خروج) عمل می‌کند. این متد مقدار OK را بازمی‌گرداند.
این متد نشست فعلی را در فایلی که توسط گزینه --save-session مشخص شده است ذخیره می‌کند. این متد در صورت موفقیت مقدار OK را بازمی‌گرداند.
این متد چندین فراخوانی متد را در قالب یک درخواست کپسوله‌سازی می‌کند. methods آرایه‌ای از ساختارها (structs) است. این ساختارها شامل دو کلید هستند: methodName و params. کلید methodName نام متد مورد نظر برای فراخوانی است و params آرایه‌ای حاوی پارامترهای فراخوانی متد می‌باشد. این متد آرایه‌ای از پاسخ‌ها را بازمی‌گرداند. عناصر این آرایه یا یک آرایه تک‌عضوی شامل مقدار بازگشتی فراخوانی متد خواهند بود، یا در صورتی که یکی از فراخوانی‌های کپسوله‌شده ناموفق باشد، ساختاری از عنصر خطا (fault element) خواهند بود.

در مثال‌های زیر، ۲ دانلود اضافه می‌کنیم. مورد اول http://example.org/file و مورد دوم file.torrent است.

نمونه JSON-RPC (JSON-RPC Example)

>>> import urllib2, json, base64
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'system.multicall',
...                       'params':[[{'methodName':'aria2.addUri',
...                                   'params':[['http://example.org']]},
...                                  {'methodName':'aria2.addTorrent',
...                                   'params':[base64.b64encode(open('file.torrent').read())]}]]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': [[u'2089b05ecca3d829'], [u'd2703803b52216d1']]}

سیستم JSON-RPC علاوه بر این از درخواست‌های دسته‌ای (Batch requests) مطابق با مشخصات JSON-RPC 2.0 پشتیبانی می‌کند:

>>> jsonreq = json.dumps([{'jsonrpc':'2.0', 'id':'qwer',
...                        'method':'aria2.addUri',
...                        'params':[['http://example.org']]},
...                       {'jsonrpc':'2.0', 'id':'asdf',
...                        'method':'aria2.addTorrent',
...                        'params':[base64.b64encode(open('file.torrent').read())]}])
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
[{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': u'2089b05ecca3d829'},
 {u'id': u'asdf', u'jsonrpc': u'2.0', u'result': u'd2703803b52216d1'}]

نمونه XML-RPC (XML-RPC Example)

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> mc = xmlrpclib.MultiCall(s)
>>> mc.aria2.addUri(['http://example.org/file'])
>>> mc.aria2.addTorrent(xmlrpclib.Binary(open('file.torrent', mode='rb').read()))
>>> r = mc()
>>> tuple(r)
('2089b05ecca3d829', 'd2703803b52216d1')
این متد تمام متدهای RPC در دسترس را در قالب یک آرایه از رشته‌ها بازمی‌گرداند. برخلاف متدهای دیگر، این متد نیازی به توکن امنیتی (secret token) ندارد. این متد کاملاً ایمن است زیرا صرفاً نام متدهای موجود را بازمی‌گرداند.

نمونه JSON-RPC (JSON-RPC Example)

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'system.listMethods'})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': [u'aria2.addUri',
             u'aria2.addTorrent',
...

نمونه XML-RPC (XML-RPC Example)

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.system.listMethods()
['aria2.addUri', 'aria2.addTorrent', ...
این متد تمام اعلان‌های RPC موجود را در قالب یک آرایه از رشته‌ها بازمی‌گرداند. برخلاف متدهای دیگر، این متد نیازی به توکن امنیتی (secret token) ندارد. این متد کاملاً ایمن است زیرا صرفاً نام اعلان‌های موجود را بازمی‌گرداند.

نمونه JSON-RPC (JSON-RPC Example)

>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'system.listNotifications'})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': [u'aria2.onDownloadStart',
             u'aria2.onDownloadPause',
...

نمونه XML-RPC (XML-RPC Example)

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.system.listNotifications()
['aria2.onDownloadStart', 'aria2.onDownloadPause', ...

در بستر JSON-RPC، برنامه aria2 یک شیء JSON بازمی‌گرداند که شامل کد خطا در فیلد code و پیام خطا در فیلد message است.

در بستر XML-RPC، برنامه aria2 مقدار faultCode=1 و پیام خطا را در فیلد faultString بازمی‌گرداند.

همان گزینه‌های موجود برای --input-file در دسترس هستند. برای مشاهده فهرست کامل گزینه‌ها به زیربخش Input File مراجعه کنید.

در ساختار گزینه (option struct)، عنصر name نام گزینه (بدون پیشوند --) و عنصر value آرگومان مورد نظر به‌صورت یک رشته است.

{'split':'1', 'http-proxy':'http://proxy/'}

<struct>
  <member>
    <name>split</name>
    <value><string>1</string></value>
  </member>
  <member>
    <name>http-proxy</name>
    <value><string>http://proxy/</string></value>
  </member>
</struct>

گزینه‌های header و index-out چندین بار در خط فرمان مجاز هستند. از آنجا که نام در یک ساختار (struct) باید یکتا باشد (بسیاری از پیاده‌سازی‌های کتابخانه XML-RPC از یک درهم‌سازی/هش یا دیکشنری برای struct استفاده می‌کنند)، یک رشته تکی کافی نیست. برای غلبه بر این محدودیت، می‌توانید علاوه بر رشته، از یک آرایه نیز به‌عنوان مقدار استفاده کنید.

{'header':['Accept-Language: ja', 'Accept-Charset: utf-8']}

<struct>
  <member>
    <name>header</name>
    <value>
      <array>
        <data>
          <value><string>Accept-Language: ja</string></value>
          <value><string>Accept-Charset: utf-8</string></value>
        </data>
      </array>
    </value>
  </member>
</struct>

مثال زیر یک دانلود را با دو گزینه اضافه می‌کند: dir و header. گزینه header نیازمند دو مقدار است، بنابراین از یک لیست استفاده می‌کند:

>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> opts = dict(dir='/tmp',
...             header=['Accept-Language: ja',
...                     'Accept-Charset: utf-8'])
>>> s.aria2.addUri(['http://example.org/file'], opts)
'1'

رابط JSON-RPC همچنین از درخواست‌ها از طریق HTTP GET پشتیبانی می‌کند. طرح‌واره کدگذاری در پارامترهای GET بر اساس مشخصات JSON-RPC over HTTP Specification [2008-1-15(RC1)] است. کدگذاری پارامترهای GET به شرح زیر است:

/jsonrpc?method=METHOD_NAME&id=ID&params=BASE64_ENCODED_PARAMS

پارامترهای method و id همیشه به‌عنوان رشته JSON در نظر گرفته می‌شوند و کدگذاری آن‌ها باید UTF-8 باشد.

برای مثال، رشته کدگذاری‌شده aria2.tellStatus('2089b05ecca3d829') همراه با id='foo' به شکل زیر است:

/jsonrpc?method=aria2.tellStatus&id=foo&params=WyIyMDg5YjA1ZWNjYTNkODI5Il0%3D

پارامتر params یک آرایه JSON کدگذاری‌شده با Base64 است که معمولاً در ویژگی params در شیء درخواست JSON-RPC ظاهر می‌شود. در مثال بالا، params برابر با ["2089b05ecca3d829"] است، بنابراین:

["2089b05ecca3d829"] --(Base64)--> WyIyMDg5YjA1ZWNjYTNkODI5Il0=
             --(Percent Encode)--> WyIyMDg5YjA1ZWNjYTNkODI5Il0%3D

رابط JSON-RPC همچنین از JSONP پشتیبانی می‌کند. می‌توانید تابع بازخوانی (callback) را در پارامتر jsoncallback مشخص کنید:

/jsonrpc?method=aria2.tellStatus&id=foo&params=WyIyMDg5YjA1ZWNjYTNkODI5Il0%3D&jsoncallback=cb

برای درخواست‌های دسته‌ای (Batch requests)، پارامترهای method و id نباید مشخص شوند. کل درخواست باید در پارامتر params تعیین شود. برای مثال، یک درخواست دسته‌ای:

[{'jsonrpc':'2.0', 'id':'qwer', 'method':'aria2.getVersion'},
 {'jsonrpc':'2.0', 'id':'asdf', 'method':'aria2.tellActive'}]

باید به این صورت کدگذاری شود:

/jsonrpc?params=W3sianNvbnJwYyI6ICIyLjAiLCAiaWQiOiAicXdlciIsICJtZXRob2QiOiAiYXJpYTIuZ2V0VmVyc2lvbiJ9LCB7Impzb25ycGMiOiAiMi4wIiwgImlkIjogImFzZGYiLCAibWV0aG9kIjogImFyaWEyLnRlbGxBY3RpdmUifV0%3D

پروتکل JSON-RPC روی وب‌سوکت (WebSocket) از همان امضاهای متد و قالب پاسخ JSON-RPC روی HTTP استفاده می‌کند. نگارش وب‌سوکت پشتیبانی‌شده 13 است که در RFC 6455 به تفصیل شرح داده شده است.

برای ارسال یک درخواست RPC به کارساز (سرور) RPC، یک رشته JSON سریال‌شده را در یک فریم متنی (Text frame) ارسال کنید. پاسخ کارساز RPC نیز در یک فریم متنی تحویل داده می‌شود.

کارساز (سرور) RPC ممکن است اعلان‌هایی را برای کلاینت ارسال کند. اعلان‌ها یک‌طرفه هستند، بنابراین کلاینتی که اعلان را دریافت می‌کند نباید به آن پاسخی دهد. امضای متد یک اعلان بسیار شبیه به یک درخواست متد معمولی است اما فاقد کلید id می‌باشد. مقدار کلید params همان داده‌ای است که این اعلان به همراه دارد. قالب مقدار بسته به متد اعلان متفاوت است. متدهای اعلان زیر تعریف شده‌اند:

این اعلان زمانی که یک دانلود آغاز شود ارسال می‌گردد. آرگومان event از نوع ساختار (struct) است و شامل کلیدهای زیر می‌باشد. نوع مقدار رشته است.
شناسه GID دانلود مربوطه.
این اعلان زمانی که یک دانلود متوقف موقت (pause) شود ارسال می‌گردد. آرگومان event همان ساختاری است که در آرگومان event در متد aria2.onDownloadStart() وجود دارد.
این اعلان زمانی که یک دانلود توسط کاربر متوقف شود ارسال می‌گردد. آرگومان event همان ساختاری است که در آرگومان event در متد aria2.onDownloadStart() وجود دارد.
این اعلان زمانی که یک دانلود کامل شود ارسال می‌گردد. برای دانلودهای بیت‌تورنت، این اعلان پس از اتمام دانلود و پایان بذردهی (seeding) ارسال می‌شود. آرگومان event همان ساختاری است که در آرگومان event در متد aria2.onDownloadStart() وجود دارد.
این اعلان هنگامی که یک دانلود به دلیل بروز خطا متوقف شود ارسال می‌گردد. آرگومان event همان ساختاری است که در آرگومان event در متد aria2.onDownloadStart() وجود دارد.
این اعلان زمانی ارسال می‌شود که دانلود یک تورنت کامل شده باشد اما بذردهی (seeding) همچنان در حال انجام باشد. آرگومان event همان ساختاری است که در آرگومان event در متد aria2.onDownloadStart() وجود دارد.

اسکریپت روبی (Ruby) زیر فایل http://localhost/aria2.tar.bz2 را به برنامه aria2c (در حال اجرا روی localhost) با گزینه --dir=/downloads اضافه کرده و پاسخ RPC را چاپ می‌کند:

#!/usr/bin/env ruby
require 'xmlrpc/client'
require 'pp'
client=XMLRPC::Client.new2("http://localhost:6800/rpc")
options={ "dir" => "/downloads" }
result=client.call("aria2.addUri", [ "http://localhost/aria2.tar.bz2" ], options)
pp result

اگر از علاقه‌مندان به پایتون (Python) هستید، می‌توانید از xmlrpclib (پایتون ۳ در عوض از xmlrpc.client استفاده می‌کند) برای تعامل با aria2 استفاده کنید:

import xmlrpclib
from pprint import pprint
s = xmlrpclib.ServerProxy("http://localhost:6800/rpc")
r = s.aria2.addUri(["http://localhost/aria2.tar.bz2"], {"dir":"/downloads"})
pprint(r)

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

[#2089b0 400.0KiB/33.2MiB(1%) CN:1 DL:115.7KiB ETA:4m51s]

این بخش معنای این اعداد و رشته‌ها را شرح می‌دهد.

#NNNNNN
۶ نویسه نخست GID به‌صورت یک رشته هگزادسیمال (hex). شناسه GID یک شناسه یکتا برای هر دانلود و داخلی برای aria2 است. GID به‌ویژه هنگام تعامل با aria2 با استفاده از رابط RPC بسیار سودمند است.
حجم دانلودشده، حجم کل پرونده و درصد پیشرفت آن. اگر گزینه --select-file به کار رفته باشد، این مقدار مجموع پرونده‌های انتخاب‌شده است.
نسبت اشتراک‌گذاری (share ratio) هنگامی که aria2 در حال سید کردن یک تورنت پایان‌یافته است.
تعداد اتصال‌هایی که aria2 برقرار کرده است.
تعداد سیدرهایی که aria2 به آن‌ها متصل است.
سرعت دانلود (بایت بر ثانیه).
سرعت آپلود (بایت بر ثانیه) و حجم بایت‌های آپلودشده.
زمان تخمینی باقی‌مانده تا پایان دانلود.

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

هنگامی که aria2 در حال تخصیص فضای پرونده یا اعتبارسنجی جمع‌های کنترلی (checksums) است، علاوه بر این، پیشرفت این عملیات را چاپ می‌کند:

شناسه GID، حجم تخصیص‌یافته تاکنون و حجم کل به بایت.
شناسه GID، حجم اعتبارسنجی‌شده تاکنون و حجم کل به بایت.

$ aria2c "http://host/file.zip"

نکته:

برای توقف دانلود، کلیدهای Ctrl-C را فشار دهید. می‌توانید انتقال را با اجرای مجدد aria2c با همان آرگومان در همان پوشه از سر بگیرید. تا زمانی که نشانی‌های URI به همان پرونده اشاره دارند، می‌توانید آن‌ها را تغییر دهید.

$ aria2c "http://host/file.zip" "http://mirror/file.zip"

$ aria2c -x2 -k1M "http://host/file.zip"

نکته:

گزینه -x تعداد اتصال‌های مجاز را مشخص می‌کند، در حالی که گزینه -k اندازه قطعات (chunks) را تعیین می‌نماید.

$ aria2c "http://host1/file.zip" "ftp://host2/file.zip"

$ aria2c -ifiles.txt -j2

نکته:

گزینه -j تعداد دانلودهای موازی را مشخص می‌کند.

برای HTTP:

$ aria2c --http-proxy="http://proxy:8080" "http://host/file"
$ aria2c --http-proxy="http://proxy:8080" --no-proxy="localhost,127.0.0.1,192.168.0.0/16" "http://host/file"

برای FTP:

$ aria2c --ftp-proxy="http://proxy:8080" "ftp://host/file"

نکته:

برای جزئیات بیشتر به --http-proxy، --https-proxy، --ftp-proxy، --all-proxy و --no-proxy مراجعه کنید. می‌توانید پروکسی را در متغیرهای محیطی نیز تعیین نمایید؛ به بخش ENVIRONMENT مراجعه کنید.

$ aria2c --http-proxy="http://username:password@proxy:8080" "http://host/file"
$ aria2c --http-proxy="http://proxy:8080" --http-proxy-user="username" --http-proxy-passwd="password" "http://host/file"

$ aria2c --follow-metalink=mem "http://host/file.metalink"

$ aria2c -p --lowest-speed-limit=4000 file.metalink

نکته:

برای متوقف کردن دانلود، کلیدهای Ctrl-C را فشار دهید. می‌توانید با اجرای مجدد aria2c با همان آرگومان در همان پوشه، انتقال را از سر بگیرید.

$ aria2c -j2 file1.metalink file2.metalink

$ aria2c --select-file=1-4,8 file.metalink

نکته:

نمایه پرونده‌ها با استفاده از گزینه -S در کنسول چاپ می‌شود.

$ aria2c --metalink-location=jp,us --metalink-version=1.1 --metalink-language=en-US file.metalink

$ aria2c --follow-torrent=mem "http://host/file.torrent"

$ aria2c --max-upload-limit=40K file.torrent

نکته:

گزینه --max-upload-limit حداکثر نرخ ارسال (آپلود) را تعیین می‌کند.

نکته:

برای متوقف کردن دانلود، کلیدهای Ctrl-C را فشار دهید. بعداً می‌توانید با اجرای مجدد aria2c با همان آرگومان در همان پوشه انتقال را از سر بگیرید.

$ aria2c "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C&dn=aria2"

نکته:

فراموش نکنید هنگام تعیین نشانی‌های Magnet بیت‌تورنت حاوی نویسه & در خط فرمان، آن‌ها را میان علامت‌های نقل‌قول تکی (') یا دوتایی (") قرار دهید.

$ aria2c -j2 file1.torrent file2.torrent

$ aria2c -Ttest.torrent "http://host1/file" "ftp://host2/file"

$ aria2c --select-file=1-4,8 file.torrent

نکته:

نمایه پرونده‌ها با استفاده از گزینه -S در کنسول چاپ می‌شود.

$ aria2c --follow-torrent=false "http://host/file.torrent"

برای مشخص کردن نام پرونده خروجی در دانلودهای بیت‌تورنت، باید نمایه پرونده را در تورنت بدانید (به --show-files مراجعه کنید). برای مثال، خروجی به این صورت است:

idx|path/length
===+======================
  1|dist/base-2.6.18.iso
   |99.9MiB
---+----------------------
  2|dist/driver-2.6.18.iso
   |169.0MiB
---+----------------------

برای ذخیره 'dist/base-2.6.18.iso' در '/tmp/mydir/base.iso' و 'dist/driver-2.6.18.iso' در '/tmp/dir/driver.iso'، از دستور زیر استفاده کنید:

$ aria2c --dir=/tmp --index-out=1=mydir/base.iso --index-out=2=dir/driver.iso file.torrent

$ aria2c --listen-port=7000-7001,8000 file.torrent

نکته:

از آنجا که aria2 دیوار آتش یا مسیریاب‌ها را برای هدایت درگاه (port forwarding) پیکربندی نمی‌کند، انجام دستی این کار بر عهده خود شماست.

$ aria2c --seed-time=120 --seed-ratio=1.0 file.torrent

نکته:

در مثال بالا، برنامه پس از گذشت ۱۲۰ دقیقه از تکمیل دانلود، یا زمانی که نسبت اشتراک‌گذاری (seed ratio) به ۱٫۰ برسد، ارسال (سید کردن) را متوقف می‌کند.

$ aria2c --max-upload-limit=100K file.torrent

$ aria2c --enable-dht --dht-listen-port=6881 file.torrent

نکته:

سرویس DHT از پروتکل UDP استفاده می‌کند. از آنجا که aria2 دیوار آتش یا مسیریاب‌ها را برای هدایت درگاه (port forwarding) پیکربندی نمی‌کند، انجام دستی آن بر عهده خود شماست.

$ aria2c --enable-dht6 --dht-listen-port=6881 --dht-listen-addr6=YOUR_GLOBAL_UNICAST_IPV6_ADDR

نکته:

برنامه aria2 برای IPv6 از همان درگاه‌های IPv4 استفاده می‌کند.

صرف‌نظر کردن از تمام نشانی‌های اعلام ردیاب (announce URIs) تعریف‌شده در file.torrent و استفاده از http://tracker1/announce و http://tracker2/announce به‌جای آن‌ها:

$ aria2c --bt-exclude-tracker="*" --bt-tracker="http://tracker1/announce,http://tracker2/announce" file.torrent

$ aria2c --load-cookies=cookies.txt "http://host/file.zip"

نکته:

می‌توانید پرونده‌های کوکی مرورگرهای Firefox/Mozilla/Chromium را بدون دستکاری استفاده نمایید.

$ aria2c -c -s2 "http://host/partiallydownloadedfile.zip"

نکته:

این کار تنها زمانی پاسخگو خواهد بود که دانلود اولیه به‌صورت چندبخشی انجام نشده باشد.

یک پرونده PKCS12 را به این صورت تعیین کنید:

$ aria2c --certificate=/path/to/mycert.p12

نکته:

پرونده مشخص‌شده در --certificate باید شامل یک گواهی و کلید کدگذاری‌شده با PKCS12 باشد. گذرواژه باید خالی باشد.

همچنین اگر پرونده‌های PEM پشتیبانی می‌شوند، از دستوری مشابه زیر استفاده کنید:

$ aria2c --certificate=/path/to/mycert.pem --private-key=/path/to/mykey.pem https://host/file

نکته:

پرونده مشخص‌شده در --private-key باید رمزگشایی‌شده (decrypted) باشد؛ کلید رمزگذاری‌شده ممکن است موجب رفتاری تعریف‌نشده شود.

$ aria2c --ca-certificate=/path/to/ca-certificates.crt --check-certificate https://host/file

نکته:

این گزینه تنها زمانی در دسترس است که aria2 در برابر GnuTLS یا OpenSSL کامپایل شده باشد. سامانه‌های WinTLS و AppleTLS همواره از مخزن گواهی سیستم استفاده خواهند کرد. به‌جای `--ca-certificate گواهی را در همان مخزن نصب کنید.

مشخص کردن یک پرونده PKCS12 سرور:

$ aria2c --enable-rpc --rpc-certificate=/path/to/server.p12 --rpc-secure

نکته:

پرونده مشخص‌شده در --rpc-certificate باید شامل یک گواهی و کلید کدگذاری‌شده با PKCS12 باشد. گذرواژه باید خالی باشد.

همچنین در صورتی که پرونده‌های PEM پشتیبانی می‌شوند (GnuTLS و OpenSSL)، پرونده گواهی سرور و کلید خصوصی را به روش زیر مشخص کنید:

$ aria2c --enable-rpc --rpc-certificate=/path/to/server.crt --rpc-private-key=/path/to/server.key --rpc-secure

برای هر دانلود:

$ aria2c --max-download-limit=100K file.metalink

سرعت کلی:

$ aria2c --max-overall-download-limit=100K file.metalink

$ aria2c -V file.metalink

نکته:

ترمیم دانلودهای آسیب‌دیده هنگام استفاده با BitTorrent یا Metalink دارای جمع کنترلی قطعات (chunk checksums) به شکلی بسیار کارآمد انجام می‌شود.

$ aria2c --lowest-speed-limit=10K file.metalink

می‌توانید مجموعه‌ای از بخش‌ها را مشخص کنید:

$ aria2c -P "http://{host1,host2,host3}/file.iso"

می‌توانید یک توالی عددی مشخص کنید:

$ aria2c -Z -P "http://host/image[000-100].png"

نکته:

اگر نشانی‌های URI همانند مثال بالا به پرونده یکسانی اشاره نکنند، استفاده از گزینه -Z الزامی است.

می‌توانید شمارنده گام را مشخص کنید:

$ aria2c -Z -P "http://host/image[A-Z:2].png"

$ aria2c --checksum=sha-1=0192ba11326fe2298c8cb4de616f4d4140213837 http://example.org/file

$ aria2c -j3 -Z "http://host/file1" file2.torrent file3.metalink

رمزنگاری کل محموله با استفاده از ARC4 (مبهم‌سازی):

$ aria2c --bt-min-crypto-level=arc4 --bt-require-crypto=true file.torrent

وب‌گاه پروژه: https://aria2.github.io

صفحه اصلی متالینک: http://www.metalinker.org

قالب توصیف دانلود متالینک: RFC 5854

حق نشر (C) 2006, 2015 متعلق به Tatsuhiro Tsujikawa است.

این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «پروانه عمومی همگانی گنو» (GNU General Public License) طبق آنچه توسط «بنیاد نرم‌افزار آزاد» (Free Software Foundation) منتشر شده است، چه نسخه ۲ پروانه و چه (به انتخاب خودتان) هر نسخه بعدی آن، بازتوزیع کرده یا تغییر دهید.

این برنامه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی «قابل فروش بودن» یا «مناسب بودن برای یک هدف خاص». برای جزئیات بیشتر به «پروانه عمومی همگانی گنو» مراجعه کنید.

شما باید به همراه این برنامه یک نسخه از پروانه عمومی همگانی گنو را دریافت کرده باشید؛ در غیر این صورت، به نشانی زیر نامه بنویسید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

علاوه بر این، به عنوان یک استثنای خاص، دارندگان حق نشر اجازه می‌دهند تا بخش‌هایی از کد این برنامه با کتابخانه OpenSSL تحت شرایط خاصی که در هر پرونده مبدأ به صورت جداگانه شرح داده شده است پیوند داده شود و ترکیب‌های پیوندیافته از جمله هر دوی آن‌ها توزیع گردد. شما باید در مورد تمام کدهای استفاده‌شده به جز OpenSSL، در کلیه جنبه‌ها از پروانه عمومی همگانی گنو تبعیت نمایید. اگر پرونده(ها) را با این استثنا تغییر دهید، می‌توانید این استثنا را به نسخه خود از پرونده(ها) تعمیم دهید، اما ملزم به این کار نیستید. اگر مایل به انجام این کار نیستید، این بیانیه استثنا را از نسخه خود حذف کنید. چنانچه این بیانیه استثنا را از تمام پرونده‌های مبدأ در برنامه حذف کردید، آن را از اینجا نیز حذف کنید.

November 15, 2023 1.37.0