usage_text.h 83 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097
  1. /* <!-- copyright */
  2. /*
  3. * aria2 - The high speed download utility
  4. *
  5. * Copyright (C) 2006 Tatsuhiro Tsujikawa
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  20. *
  21. * In addition, as a special exception, the copyright holders give
  22. * permission to link the code of portions of this program with the
  23. * OpenSSL library under certain conditions as described in each
  24. * individual source file, and distribute linked combinations
  25. * including the two.
  26. * You must obey the GNU General Public License in all respects
  27. * for all of the code used other than OpenSSL. If you modify
  28. * file(s) with this exception, you may extend this exception to your
  29. * version of the file(s), but you are not obligated to do so. If you
  30. * do not wish to do so, delete this exception statement from your
  31. * version. If you delete this exception statement from all source
  32. * files in the program, then also delete it here.
  33. */
  34. /* copyright --> */
  35. // clang-format off
  36. #define TEXT_DIR \
  37. _(" -d, --dir=DIR The directory to store the downloaded file.")
  38. #define TEXT_OUT \
  39. _(" -o, --out=FILE The file name of the downloaded file. It is\n" \
  40. " always relative to the directory given in -d\n" \
  41. " option. When the -Z option is used, this option\n" \
  42. " will be ignored.")
  43. #define TEXT_LOG \
  44. _(" -l, --log=LOG The file name of the log file. If '-' is\n" \
  45. " specified, log is written to stdout.")
  46. #define TEXT_DAEMON \
  47. _(" -D, --daemon[=true|false] Run as daemon. The current working directory will\n" \
  48. " be changed to \"/\" and standard input, standard\n" \
  49. " output and standard error will be redirected to\n" \
  50. " \"/dev/null\".")
  51. #define TEXT_SPLIT \
  52. _(" -s, --split=N Download a file using N connections. If more\n" \
  53. " than N URIs are given, first N URIs are used and\n" \
  54. " remaining URLs are used for backup. If less than\n" \
  55. " N URIs are given, those URLs are used more than\n" \
  56. " once so that N connections total are made\n" \
  57. " simultaneously. The number of connections to the\n" \
  58. " same host is restricted by the \n" \
  59. " --max-connection-per-server option. See also the\n" \
  60. " --min-split-size option.")
  61. #define TEXT_RETRY_WAIT \
  62. _(" --retry-wait=SEC Set the seconds to wait between retries. \n" \
  63. " With SEC > 0, aria2 will retry download when the\n" \
  64. " HTTP server returns 503 response.")
  65. #define TEXT_TIMEOUT \
  66. _(" -t, --timeout=SEC Set timeout in seconds.")
  67. #define TEXT_MAX_TRIES \
  68. _(" -m, --max-tries=N Set number of tries. 0 means unlimited.")
  69. #define TEXT_HTTP_PROXY \
  70. _(" --http-proxy=PROXY Use a proxy server for HTTP. To override a\n"\
  71. " previously defined proxy, use \"\".\n" \
  72. " See also the --all-proxy option.\n" \
  73. " This affects all http downloads.")
  74. #define TEXT_HTTPS_PROXY \
  75. _(" --https-proxy=PROXY Use a proxy server for HTTPS. To override a \n" \
  76. " previously defined proxy, use \"\".\n" \
  77. " See also the --all-proxy option.\n" \
  78. " This affects all https downloads.")
  79. #define TEXT_FTP_PROXY \
  80. _(" --ftp-proxy=PROXY Use a proxy server for FTP. To override a \n" \
  81. " previously defined proxy, use \"\".\n" \
  82. " See also the --all-proxy option.\n" \
  83. " This affects all ftp downloads.")
  84. #define TEXT_ALL_PROXY \
  85. _(" --all-proxy=PROXY Use a proxy server for all protocols. To override\n" \
  86. " a previously defined proxy, use \"\".\n" \
  87. " You also can override this setting and specify a\n" \
  88. " proxy server for a particular protocol using the\n" \
  89. " --http-proxy, --https-proxy and --ftp-proxy\n" \
  90. " options.\n" \
  91. " This affects all downloads.")
  92. #define TEXT_HTTP_USER \
  93. _(" --http-user=USER Set HTTP user. This affects all URLs.")
  94. #define TEXT_HTTP_PASSWD \
  95. _(" --http-passwd=PASSWD Set HTTP password. This affects all URLs.")
  96. #define TEXT_PROXY_METHOD \
  97. _(" --proxy-method=METHOD Set the method to use in proxy request.")
  98. #define TEXT_REFERER \
  99. _(" --referer=REFERER Set an http referrrer (Referer). This affects\n" \
  100. " all http/https downloads. If \"*\" is given,\n" \
  101. " the download URI is also used as the referrer.\n" \
  102. " This may be useful when used together with\n" \
  103. " the -P option.")
  104. #define TEXT_FTP_USER \
  105. _(" --ftp-user=USER Set FTP user. This affects all URLs.")
  106. #define TEXT_FTP_PASSWD \
  107. _(" --ftp-passwd=PASSWD Set FTP password. This affects all URLs.")
  108. #define TEXT_FTP_TYPE \
  109. _(" --ftp-type=TYPE Set FTP transfer type.")
  110. #define TEXT_FTP_PASV \
  111. _(" -p, --ftp-pasv[=true|false] Use the passive mode in FTP. If false is given,\n" \
  112. " the active mode will be used.")
  113. #define TEXT_LOWEST_SPEED_LIMIT \
  114. _(" --lowest-speed-limit=SPEED Close connection if download speed is lower than\n" \
  115. " or equal to this value(bytes per sec).\n" \
  116. " 0 means aria2 does not have a lowest speed limit.\n" \
  117. " You can append K or M(1K = 1024, 1M = 1024K).\n" \
  118. " This option does not affect BitTorrent downloads.")
  119. #define TEXT_MAX_OVERALL_DOWNLOAD_LIMIT \
  120. _(" --max-overall-download-limit=SPEED Set max overall download speed in bytes/sec.\n" \
  121. " 0 means unrestricted.\n" \
  122. " You can append K or M(1K = 1024, 1M = 1024K).\n" \
  123. " To limit the download speed per download, use\n" \
  124. " --max-download-limit option.")
  125. #define TEXT_MAX_DOWNLOAD_LIMIT \
  126. _(" --max-download-limit=SPEED Set max download speed per each download in\n" \
  127. " bytes/sec. 0 means unrestricted.\n" \
  128. " You can append K or M(1K = 1024, 1M = 1024K).\n" \
  129. " To limit the overall download speed, use\n" \
  130. " --max-overall-download-limit option.")
  131. #define TEXT_FILE_ALLOCATION \
  132. _(" --file-allocation=METHOD Specify file allocation method.\n" \
  133. " 'none' doesn't pre-allocate file space. 'prealloc'\n" \
  134. " pre-allocates file space before download begins.\n" \
  135. " This may take some time depending on the size of\n" \
  136. " the file.\n" \
  137. " If you are using newer file systems such as ext4\n" \
  138. " (with extents support), btrfs, xfs or NTFS\n" \
  139. " (MinGW build only), 'falloc' is your best\n" \
  140. " choice. It allocates large(few GiB) files\n" \
  141. " almost instantly. Don't use 'falloc' with legacy\n" \
  142. " file systems such as ext3 and FAT32 because it\n" \
  143. " takes almost same time as 'prealloc' and it\n" \
  144. " blocks aria2 entirely until allocation finishes.\n" \
  145. " 'falloc' may not be available if your system\n" \
  146. " doesn't have posix_fallocate() function.\n" \
  147. " 'trunc' uses ftruncate() system call or\n" \
  148. " platform-specific counterpart to truncate a file\n" \
  149. " to a specified length.")
  150. #define TEXT_NO_FILE_ALLOCATION_LIMIT \
  151. _(" --no-file-allocation-limit=SIZE No file allocation is made for files whose\n" \
  152. " size is smaller than SIZE.\n" \
  153. " You can append K or M(1K = 1024, 1M = 1024K).")
  154. #define TEXT_ENABLE_DIRECT_IO \
  155. _(" --enable-direct-io[=true|false] Enable directI/O, which lowers cpu usage while\n" \
  156. " allocating files.\n" \
  157. " Turn off if you encounter any error")
  158. #define TEXT_ALLOW_OVERWRITE \
  159. _(" --allow-overwrite[=true|false] Restart download from scratch if the\n" \
  160. " corresponding control file doesn't exist. See\n" \
  161. " also --auto-file-renaming option.")
  162. #define TEXT_ALLOW_PIECE_LENGTH_CHANGE \
  163. _(" --allow-piece-length-change[=true|false] If false is given, aria2 aborts\n" \
  164. " download when a piece length is different from\n" \
  165. " one in a control file. If true is given, you can\n" \
  166. " proceed but some download progress will be lost.")
  167. #define TEXT_FORCE_SEQUENTIAL \
  168. _(" -Z, --force-sequential[=true|false] Fetch URIs in the command-line sequentially\n" \
  169. " and download each URI in a separate session, like\n" \
  170. " the usual command-line download utilities.")
  171. #define TEXT_AUTO_FILE_RENAMING \
  172. _(" --auto-file-renaming[=true|false] Rename file name if the same file already\n" \
  173. " exists. This option works only in http(s)/ftp\n" \
  174. " download.\n" \
  175. " The new file name has a dot and a number(1..9999)\n" \
  176. " appended.")
  177. #define TEXT_PARAMETERIZED_URI \
  178. _(" -P, --parameterized-uri[=true|false] Enable parameterized URI support.\n" \
  179. " You can specify set of parts:\n" \
  180. " http://{sv1,sv2,sv3}/foo.iso\n" \
  181. " Also you can specify numeric sequences with step\n" \
  182. " counter:\n" \
  183. " http://host/image[000-100:2].img\n" \
  184. " A step counter can be omitted.\n" \
  185. " If all URIs do not point to the same file, such\n" \
  186. " as the second example above, -Z option is\n" \
  187. " required.")
  188. #define TEXT_ENABLE_HTTP_KEEP_ALIVE \
  189. _(" --enable-http-keep-alive[=true|false] Enable HTTP/1.1 persistent connection.")
  190. #define TEXT_ENABLE_HTTP_PIPELINING \
  191. _(" --enable-http-pipelining[=true|false] Enable HTTP/1.1 pipelining.")
  192. #define TEXT_CHECK_INTEGRITY \
  193. _(" -V, --check-integrity[=true|false] Check file integrity by validating piece\n" \
  194. " hashes or a hash of entire file. This option has\n" \
  195. " effect only in BitTorrent, Metalink downloads\n" \
  196. " with checksums or HTTP(S)/FTP downloads with\n" \
  197. " --checksum option. If piece hashes are provided,\n" \
  198. " this option can detect damaged portions of a file\n" \
  199. " and re-download them. If a hash of entire file is\n" \
  200. " provided, hash check is only done when file has\n" \
  201. " been already download. This is determined by file\n" \
  202. " length. If hash check fails, file is\n" \
  203. " re-downloaded from scratch. If both piece hashes\n" \
  204. " and a hash of entire file are provided, only\n" \
  205. " piece hashes are used.")
  206. #define TEXT_BT_HASH_CHECK_SEED \
  207. _(" --bt-hash-check-seed[=true|false] If true is given, after hash check using\n" \
  208. " --check-integrity option and file is complete,\n" \
  209. " continue to seed file. If you want to check file\n" \
  210. " and download it only when it is damaged or\n" \
  211. " incomplete, set this option to false.\n" \
  212. " This option has effect only on BitTorrent\n" \
  213. " download.")
  214. #define TEXT_REALTIME_CHUNK_CHECKSUM \
  215. _(" --realtime-chunk-checksum[=true|false] Validate chunk of data by calculating\n" \
  216. " checksum while downloading a file if chunk\n" \
  217. " checksums are provided.")
  218. #define TEXT_CONTINUE \
  219. _(" -c, --continue[=true|false] Continue downloading a partially downloaded\n" \
  220. " file. Use this option to resume a download\n" \
  221. " started by a web browser or another program\n" \
  222. " which downloads files sequentially from the\n" \
  223. " beginning. Currently this option is only\n" \
  224. " applicable to http(s)/ftp downloads.")
  225. #define TEXT_USER_AGENT \
  226. _(" -U, --user-agent=USER_AGENT Set user agent for http(s) downloads.")
  227. #define TEXT_NO_NETRC \
  228. _(" -n, --no-netrc[=true|false] Disables netrc support.")
  229. #define TEXT_NETRC_PATH \
  230. _(" --netrc-path=FILE Specify the path to the netrc file.")
  231. #define TEXT_INPUT_FILE \
  232. _(" -i, --input-file=FILE Downloads URIs found in FILE. You can specify\n" \
  233. " multiple URIs for a single entity: separate\n" \
  234. " URIs on a single line using the TAB character.\n" \
  235. " Reads input from stdin when '-' is specified.\n" \
  236. " Additionally, options can be specified after each\n" \
  237. " line of URI. This optional line must start with\n" \
  238. " one or more white spaces and have one option per\n" \
  239. " single line. See INPUT FILE section of man page\n" \
  240. " for details. See also --deferred-input option.")
  241. #define TEXT_MAX_CONCURRENT_DOWNLOADS \
  242. _(" -j, --max-concurrent-downloads=N Set maximum number of parallel downloads for\n" \
  243. " every static (HTTP/FTP) URL, torrent and metalink.\n" \
  244. " See also --split and --optimize-concurrent-downloads options.")
  245. #define TEXT_OPTIMIZE_CONCURRENT_DOWNLOADS\
  246. _(" --optimize-concurrent-downloads[=true|false|A:B] Optimizes the number of\n" \
  247. " concurrent downloads according to the bandwidth\n" \
  248. " available. aria2 uses the download speed observed\n" \
  249. " in the previous downloads to adapt the number of\n" \
  250. " downloads launched in parallel according to the\n" \
  251. " rule N = A + B Log10(speed in Mbps). The\n" \
  252. " coefficients A and B can be customized in the\n" \
  253. " option arguments with A and B separated by a\n" \
  254. " colon. The default values (A=5,B=25) lead to\n" \
  255. " using typically 5 parallel downloads on 1Mbps\n" \
  256. " networks and above 50 on 100Mbps networks. The\n" \
  257. " number of parallel downloads remains constrained\n" \
  258. " under the maximum defined by the\n" \
  259. " max-concurrent-downloads parameter.")
  260. #define TEXT_LOAD_COOKIES \
  261. _(" --load-cookies=FILE Load Cookies from FILE using the Firefox3 format\n" \
  262. " and Mozilla/Firefox(1.x/2.x)/Netscape format.")
  263. #define TEXT_SAVE_COOKIES \
  264. _(" --save-cookies=FILE Save Cookies to FILE in Mozilla/Firefox(1.x/2.x)/\n" \
  265. " Netscape format. If FILE already exists, it is\n" \
  266. " overwritten. Session Cookies are also saved and\n" \
  267. " their expiry values are treated as 0.")
  268. #define TEXT_SHOW_FILES \
  269. _(" -S, --show-files[=true|false] Print file listing of .torrent, .meta4 and\n" \
  270. " .metalink file and exit. More detailed\n" \
  271. " information will be listed in case of torrent\n" \
  272. " file.")
  273. #define TEXT_SELECT_FILE \
  274. _(" --select-file=INDEX... Set file to download by specifying its index.\n" \
  275. " You can find the file index using the\n" \
  276. " --show-files option. Multiple indexes can be\n" \
  277. " specified by using ',', for example: \"3,6\".\n" \
  278. " You can also use '-' to specify a range: \"1-5\".\n" \
  279. " ',' and '-' can be used together.\n" \
  280. " When used with the -M option, index may vary\n" \
  281. " depending on the query(see --metalink-* options).")
  282. #define TEXT_TORRENT_FILE \
  283. _(" -T, --torrent-file=TORRENT_FILE The path to the .torrent file.")
  284. #define TEXT_FOLLOW_TORRENT \
  285. _(" --follow-torrent=true|false|mem If true or mem is specified, when a file\n" \
  286. " whose suffix is .torrent or content type is\n" \
  287. " application/x-bittorrent is downloaded, aria2\n" \
  288. " parses it as a torrent file and downloads files\n" \
  289. " mentioned in it.\n" \
  290. " If mem is specified, a torrent file is not\n" \
  291. " written to the disk, but is just kept in memory.\n" \
  292. " If false is specified, the .torrent file is\n" \
  293. " downloaded to the disk, but is not parsed as a\n" \
  294. " torrent and its contents are not downloaded.")
  295. #define TEXT_LISTEN_PORT \
  296. _(" --listen-port=PORT... Set TCP port number for BitTorrent downloads.\n" \
  297. " Multiple ports can be specified by using ',',\n" \
  298. " for example: \"6881,6885\". You can also use '-'\n" \
  299. " to specify a range: \"6881-6999\". ',' and '-' can\n" \
  300. " be used together.")
  301. #define TEXT_MAX_OVERALL_UPLOAD_LIMIT \
  302. _(" --max-overall-upload-limit=SPEED Set max overall upload speed in bytes/sec.\n" \
  303. " 0 means unrestricted.\n" \
  304. " You can append K or M(1K = 1024, 1M = 1024K).\n" \
  305. " To limit the upload speed per torrent, use\n" \
  306. " --max-upload-limit option.")
  307. #define TEXT_MAX_UPLOAD_LIMIT \
  308. _(" -u, --max-upload-limit=SPEED Set max upload speed per each torrent in\n" \
  309. " bytes/sec. 0 means unrestricted.\n" \
  310. " You can append K or M(1K = 1024, 1M = 1024K).\n" \
  311. " To limit the overall upload speed, use\n" \
  312. " --max-overall-upload-limit option.")
  313. #define TEXT_SEED_TIME \
  314. _(" --seed-time=MINUTES Specify seeding time in (fractional) minutes. Also see the\n" \
  315. " --seed-ratio option.")
  316. #define TEXT_SEED_RATIO \
  317. _(" --seed-ratio=RATIO Specify share ratio. Seed completed torrents\n" \
  318. " until share ratio reaches RATIO.\n" \
  319. " You are strongly encouraged to specify equals or\n" \
  320. " more than 1.0 here. Specify 0.0 if you intend to\n" \
  321. " do seeding regardless of share ratio.\n" \
  322. " If --seed-time option is specified along with\n" \
  323. " this option, seeding ends when at least one of\n" \
  324. " the conditions is satisfied.")
  325. #define TEXT_PEER_ID_PREFIX \
  326. _(" --peer-id-prefix=PEER_ID_PREFIX Specify the prefix of peer ID. The peer ID in\n" \
  327. " BitTorrent is 20 byte length. If more than 20\n" \
  328. " bytes are specified, only first 20 bytes are\n" \
  329. " used. If less than 20 bytes are specified, random\n" \
  330. " byte data are added to make its length 20 bytes.")
  331. #define TEXT_ENABLE_PEER_EXCHANGE \
  332. _(" --enable-peer-exchange[=true|false] Enable Peer Exchange extension.")
  333. #define TEXT_ENABLE_DHT \
  334. _(" --enable-dht[=true|false] Enable IPv4 DHT functionality. It also enables\n" \
  335. " UDP tracker support. If a private flag is set\n" \
  336. " in a torrent, aria2 doesn't use DHT for that\n" \
  337. " download even if ``true`` is given.")
  338. #define TEXT_DHT_LISTEN_PORT \
  339. _(" --dht-listen-port=PORT... Set UDP listening port used by DHT(IPv4, IPv6)\n" \
  340. " and UDP tracker. Multiple ports can be specified\n" \
  341. " by using ',', for example: \"6881,6885\". You can\n" \
  342. " also use '-' to specify a range: \"6881-6999\".\n" \
  343. " ',' and '-' can be used together.")
  344. #define TEXT_DHT_ENTRY_POINT \
  345. _(" --dht-entry-point=HOST:PORT Set host and port as an entry point to IPv4 DHT\n" \
  346. " network.")
  347. #define TEXT_DHT_FILE_PATH \
  348. _(" --dht-file-path=PATH Change the IPv4 DHT routing table file to PATH.")
  349. #define TEXT_BT_MIN_CRYPTO_LEVEL \
  350. _(" --bt-min-crypto-level=plain|arc4 Set minimum level of encryption method.\n" \
  351. " If several encryption methods are provided by a\n" \
  352. " peer, aria2 chooses the lowest one which satisfies\n" \
  353. " the given level.")
  354. #define TEXT_BT_REQUIRE_CRYPTO \
  355. _(" --bt-require-crypto[=true|false] If true is given, aria2 doesn't accept and\n" \
  356. " establish connection with legacy BitTorrent\n" \
  357. " handshake. Thus aria2 always uses Obfuscation\n" \
  358. " handshake.")
  359. #define TEXT_BT_REQUEST_PEER_SPEED_LIMIT \
  360. _(" --bt-request-peer-speed-limit=SPEED If the whole download speed of every\n" \
  361. " torrent is lower than SPEED, aria2 temporarily\n" \
  362. " increases the number of peers to try for more\n" \
  363. " download speed. Configuring this option with your\n" \
  364. " preferred download speed can increase your\n" \
  365. " download speed in some cases.\n" \
  366. " You can append K or M(1K = 1024, 1M = 1024K).")
  367. #define TEXT_BT_MAX_OPEN_FILES \
  368. _(" --bt-max-open-files=NUM Specify maximum number of files to open in\n" \
  369. " multi-file BitTorrent/Metalink downloads\n" \
  370. " globally.")
  371. #define TEXT_BT_SEED_UNVERIFIED \
  372. _(" --bt-seed-unverified[=true|false] Seed previously downloaded files without\n" \
  373. " verifying piece hashes.")
  374. #define TEXT_BT_MAX_PEERS \
  375. _(" --bt-max-peers=NUM Specify the maximum number of peers per torrent.\n" \
  376. " 0 means unlimited.\n" \
  377. " See also --bt-request-peer-speed-limit option.")
  378. #define TEXT_METALINK_FILE \
  379. _(" -M, --metalink-file=METALINK_FILE The file path to the .meta4 and .metalink\n" \
  380. " file. Reads input from stdin when '-' is\n" \
  381. " specified.")
  382. #define TEXT_METALINK_SERVERS \
  383. _(" -C, --metalink-servers=NUM_SERVERS The number of servers to connect to\n" \
  384. " simultaneously. Some Metalinks regulate the\n" \
  385. " number of servers to connect. aria2 strictly\n" \
  386. " respects them. This means that if Metalink defines\n" \
  387. " the maxconnections attribute lower than\n" \
  388. " NUM_SERVERS, then aria2 uses the value of\n" \
  389. " maxconnections attribute instead of NUM_SERVERS.\n" \
  390. " See also -s and -j options.")
  391. #define TEXT_METALINK_VERSION \
  392. _(" --metalink-version=VERSION The version of the file to download.")
  393. #define TEXT_METALINK_LANGUAGE \
  394. _(" --metalink-language=LANGUAGE The language of the file to download.")
  395. #define TEXT_METALINK_OS \
  396. _(" --metalink-os=OS The operating system of the file to download.")
  397. #define TEXT_METALINK_LOCATION \
  398. _(" --metalink-location=LOCATION[,...] The location of the preferred server.\n" \
  399. " A comma-delimited list of locations is\n" \
  400. " acceptable.")
  401. #define TEXT_METALINK_PREFERRED_PROTOCOL \
  402. _(" --metalink-preferred-protocol=PROTO Specify preferred protocol. Specify 'none'\n" \
  403. " if you don't have any preferred protocol.")
  404. #define TEXT_FOLLOW_METALINK \
  405. _(" --follow-metalink=true|false|mem If true or mem is specified, when a file\n" \
  406. " whose suffix is .meta4 or .metalink, or content\n" \
  407. " type of application/metalink4+xml or\n" \
  408. " application/metalink+xml is downloaded, aria2\n" \
  409. " parses it as a metalink file and downloads files\n" \
  410. " mentioned in it.\n" \
  411. " If mem is specified, a metalink file is not\n" \
  412. " written to the disk, but is just kept in memory.\n" \
  413. " If false is specified, the .metalink file is\n" \
  414. " downloaded to the disk, but is not parsed as a\n" \
  415. " metalink file and its contents are not\n" \
  416. " downloaded.")
  417. #define TEXT_METALINK_ENABLE_UNIQUE_PROTOCOL \
  418. _(" --metalink-enable-unique-protocol[=true|false] If true is given and several\n" \
  419. " protocols are available for a mirror in a metalink\n" \
  420. " file, aria2 uses one of them.\n" \
  421. " Use --metalink-preferred-protocol option to\n" \
  422. " specify the preference of protocol.")
  423. #define TEXT_VERSION \
  424. _(" -v, --version Print the version number and exit.")
  425. #define TEXT_HELP \
  426. _(" -h, --help[=TAG|KEYWORD] Print usage and exit.\n" \
  427. " The help messages are classified with tags. A tag\n" \
  428. " starts with \"#\". For example, type \"--help=#http\"\n" \
  429. " to get the usage for the options tagged with\n" \
  430. " \"#http\". If non-tag word is given, print the usage\n" \
  431. " for the options whose name includes that word.")
  432. #define TEXT_NO_CONF \
  433. _(" --no-conf[=true|false] Disable loading aria2.conf file.")
  434. #define TEXT_CONF_PATH \
  435. _(" --conf-path=PATH Change the configuration file path to PATH.")
  436. #define TEXT_STOP \
  437. _(" --stop=SEC Stop application after SEC seconds has passed.\n" \
  438. " If 0 is given, this feature is disabled.")
  439. #define TEXT_HEADER \
  440. _(" --header=HEADER Append HEADER to HTTP request header. You can use\n" \
  441. " this option repeatedly to specify more than one\n" \
  442. " header:\n" \
  443. " aria2c --header=\"X-A: b78\" --header=\"X-B: 9J1\"\n" \
  444. " http://host/file")
  445. #define TEXT_QUIET \
  446. _(" -q, --quiet[=true|false] Make aria2 quiet(no console output).")
  447. #define TEXT_ASYNC_DNS \
  448. _(" --async-dns[=true|false] Enable asynchronous DNS.")
  449. #define TEXT_FTP_REUSE_CONNECTION \
  450. _(" --ftp-reuse-connection[=true|false] Reuse connection in FTP.")
  451. #define TEXT_SUMMARY_INTERVAL \
  452. _(" --summary-interval=SEC Set interval to output download progress summary.\n" \
  453. " Setting 0 suppresses the output.")
  454. #define TEXT_LOG_LEVEL \
  455. _(" --log-level=LEVEL Set log level to output to file specified using\n" \
  456. " --log option.")
  457. #define TEXT_REMOTE_TIME \
  458. _(" -R, --remote-time[=true|false] Retrieve timestamp of the remote file from the\n" \
  459. " remote HTTP/FTP server and if it is available,\n" \
  460. " apply it to the local file.")
  461. #define TEXT_CONNECT_TIMEOUT \
  462. _(" --connect-timeout=SEC Set the connect timeout in seconds to establish\n" \
  463. " connection to HTTP/FTP/proxy server. After the\n" \
  464. " connection is established, this option makes no\n" \
  465. " effect and --timeout option is used instead.")
  466. #define TEXT_MAX_FILE_NOT_FOUND \
  467. _(" --max-file-not-found=NUM If aria2 receives `file not found' status from the\n" \
  468. " remote HTTP/FTP servers NUM times without getting\n" \
  469. " a single byte, then force the download to fail.\n" \
  470. " Specify 0 to disable this option.\n" \
  471. " This options is effective only when using\n" \
  472. " HTTP/FTP servers. The number of retry attempt is\n" \
  473. " counted toward --max-tries, so it should be\n" \
  474. " configured too.")
  475. #define TEXT_URI_SELECTOR \
  476. _(" --uri-selector=SELECTOR Specify URI selection algorithm.\n" \
  477. " If 'inorder' is given, URI is tried in the order\n" \
  478. " appeared in the URI list.\n" \
  479. " If 'feedback' is given, aria2 uses download speed\n" \
  480. " observed in the previous downloads and choose\n" \
  481. " fastest server in the URI list. This also\n" \
  482. " effectively skips dead mirrors. The observed\n" \
  483. " download speed is a part of performance profile\n" \
  484. " of servers mentioned in --server-stat-of and\n" \
  485. " --server-stat-if options.\n" \
  486. " If 'adaptive' is given, selects one of the best\n" \
  487. " mirrors for the first and reserved connections.\n" \
  488. " For supplementary ones, it returns mirrors which\n" \
  489. " has not been tested yet, and if each of them has\n" \
  490. " already been tested, returns mirrors which has to\n" \
  491. " be tested again. Otherwise, it doesn't select\n" \
  492. " anymore mirrors. Like 'feedback', it uses a\n" \
  493. " performance profile of servers.")
  494. #define TEXT_SERVER_STAT_OF \
  495. _(" --server-stat-of=FILE Specify the filename to which performance profile\n" \
  496. " of the servers is saved. You can load saved data\n" \
  497. " using --server-stat-if option.")
  498. #define TEXT_SERVER_STAT_IF \
  499. _(" --server-stat-if=FILE Specify the filename to load performance profile\n" \
  500. " of the servers. The loaded data will be used in\n" \
  501. " some URI selector such as 'feedback'.\n" \
  502. " See also --uri-selector option")
  503. #define TEXT_SERVER_STAT_TIMEOUT \
  504. _(" --server-stat-timeout=SEC Specifies timeout in seconds to invalidate\n" \
  505. " performance profile of the servers since the last\n" \
  506. " contact to them.")
  507. #define TEXT_AUTO_SAVE_INTERVAL \
  508. _(" --auto-save-interval=SEC Save a control file(*.aria2) every SEC seconds.\n" \
  509. " If 0 is given, a control file is not saved during\n" \
  510. " download. aria2 saves a control file when it stops\n" \
  511. " regardless of the value.")
  512. #define TEXT_CERTIFICATE \
  513. _(" --certificate=FILE Use the client certificate in FILE.\n" \
  514. " The certificate must be in PEM format.\n" \
  515. " You may use --private-key option to specify the\n" \
  516. " private key.")
  517. #define TEXT_PRIVATE_KEY \
  518. _(" --private-key=FILE Use the private key in FILE.\n" \
  519. " The private key must be decrypted and in PEM\n" \
  520. " format. See also --certificate option.")
  521. #define TEXT_CA_CERTIFICATE \
  522. _(" --ca-certificate=FILE Use the certificate authorities in FILE to verify\n" \
  523. " the peers. The certificate file must be in PEM\n" \
  524. " format and can contain multiple CA certificates.\n" \
  525. " Use --check-certificate option to enable\n" \
  526. " verification.")
  527. #define TEXT_CHECK_CERTIFICATE \
  528. _(" --check-certificate[=true|false] Verify the peer using certificates specified\n" \
  529. " in --ca-certificate option.")
  530. #define TEXT_NO_PROXY \
  531. _(" --no-proxy=DOMAINS Specify comma separated hostnames, domains or\n" \
  532. " network address with or without CIDR block where\n" \
  533. " proxy should not be used.")
  534. #define TEXT_USE_HEAD \
  535. _(" --use-head[=true|false] Use HEAD method for the first request to the HTTP\n" \
  536. " server.")
  537. #define TEXT_EVENT_POLL \
  538. _(" --event-poll=POLL Specify the method for polling events.")
  539. #define TEXT_BT_EXTERNAL_IP \
  540. _(" --bt-external-ip=IPADDRESS Specify the external IP address to use in\n" \
  541. " BitTorrent download and DHT. It may be sent to\n" \
  542. " BitTorrent tracker. For DHT, this option should\n" \
  543. " be set to report that local node is downloading\n" \
  544. " a particular torrent. This is critical to use\n" \
  545. " DHT in a private network. Although this function\n" \
  546. " is named 'external', it can accept any kind of IP\n" \
  547. " addresses.")
  548. #define TEXT_HTTP_AUTH_CHALLENGE \
  549. _(" --http-auth-challenge[=true|false] Send HTTP authorization header only when it\n" \
  550. " is requested by the server. If false is set, then\n" \
  551. " authorization header is always sent to the server.\n" \
  552. " There is an exception: if username and password\n" \
  553. " are embedded in URI, authorization header is\n" \
  554. " always sent to the server regardless of this\n" \
  555. " option.")
  556. #define TEXT_INDEX_OUT \
  557. _(" -O, --index-out=INDEX=PATH Set file path for file with index=INDEX. You can\n" \
  558. " find the file index using the --show-files option.\n" \
  559. " PATH is a relative path to the path specified in\n" \
  560. " --dir option. You can use this option multiple\n" \
  561. " times.")
  562. #define TEXT_DRY_RUN \
  563. _(" --dry-run[=true|false] If true is given, aria2 just checks whether the\n" \
  564. " remote file is available and doesn't download\n" \
  565. " data. This option has effect on HTTP/FTP download.\n" \
  566. " BitTorrent downloads are canceled if true is\n" \
  567. " specified.")
  568. #define TEXT_BT_TRACKER_INTERVAL \
  569. _(" --bt-tracker-interval=SEC Set the interval in seconds between tracker\n" \
  570. " requests. This completely overrides interval value\n" \
  571. " and aria2 just uses this value and ignores the\n" \
  572. " min interval and interval value in the response of\n" \
  573. " tracker. If 0 is set, aria2 determines interval\n" \
  574. " based on the response of tracker and the download\n" \
  575. " progress.")
  576. #define TEXT_ON_DOWNLOAD_COMPLETE \
  577. _(" --on-download-complete=COMMAND Set the command to be executed after download\n" \
  578. " completed.\n" \
  579. " See --on-download-start option for the\n" \
  580. " requirement of COMMAND.\n" \
  581. " See also --on-download-stop option.")
  582. #define TEXT_ON_DOWNLOAD_START \
  583. _(" --on-download-start=COMMAND Set the command to be executed after download\n" \
  584. " got started. aria2 passes 3 arguments to COMMAND:\n" \
  585. " GID, the nubmer of files and file path. See Event\n" \
  586. " Hook in man page for more details.")
  587. #define TEXT_ON_DOWNLOAD_PAUSE \
  588. _(" --on-download-pause=COMMAND Set the command to be executed after download\n" \
  589. " was paused.\n"\
  590. " See --on-download-start option for the\n" \
  591. " requirement of COMMAND.")
  592. #define TEXT_ON_DOWNLOAD_ERROR \
  593. _(" --on-download-error=COMMAND Set the command to be executed after download\n" \
  594. " aborted due to error.\n" \
  595. " See --on-download-start option for the\n" \
  596. " requirement of COMMAND.\n" \
  597. " See also --on-download-stop option.")
  598. #define TEXT_ON_DOWNLOAD_STOP \
  599. _(" --on-download-stop=COMMAND Set the command to be executed after download\n" \
  600. " stopped. You can override the command to be\n" \
  601. " executed for particular download result using\n" \
  602. " --on-download-complete and --on-download-error. If\n" \
  603. " they are specified, command specified in this\n" \
  604. " option is not executed.\n" \
  605. " See --on-download-start option for the\n" \
  606. " requirement of COMMAND.")
  607. #define TEXT_BT_STOP_TIMEOUT \
  608. _(" --bt-stop-timeout=SEC Stop BitTorrent download if download speed is 0 in\n" \
  609. " consecutive SEC seconds. If 0 is given, this\n" \
  610. " feature is disabled.")
  611. #define TEXT_BT_PRIORITIZE_PIECE \
  612. _(" --bt-prioritize-piece=head[=SIZE],tail[=SIZE] Try to download first and last\n" \
  613. " pieces of each file first. This is useful for\n" \
  614. " previewing files. The argument can contain 2\n" \
  615. " keywords:head and tail. To include both keywords,\n" \
  616. " they must be separated by comma. These keywords\n" \
  617. " can take one parameter, SIZE. For example, if\n" \
  618. " head=SIZE is specified, pieces in the range of\n" \
  619. " first SIZE bytes of each file get higher priority.\n" \
  620. " tail=SIZE means the range of last SIZE bytes of\n" \
  621. " each file. SIZE can include K or M(1K = 1024, 1M =\n" \
  622. " 1024K). If SIZE is omitted, SIZE=1M is used.")
  623. #define TEXT_INTERFACE \
  624. _(" --interface=INTERFACE Bind sockets to given interface. You can specify\n" \
  625. " interface name, IP address and hostname.")
  626. #define TEXT_MULTIPLE_INTERFACE \
  627. _(" --multiple-interface=INTERFACES Comma separated list of interfaces to bind\n" \
  628. " sockets to. Requests will be splited among the\n" \
  629. " interfaces to achieve link aggregation. You can\n" \
  630. " specify interface name, IP address and hostname.\n" \
  631. " If --interface is used, this option will be\n" \
  632. " ignored.")
  633. #define TEXT_DISABLE_IPV6 \
  634. _(" --disable-ipv6[=true|false] Disable IPv6.")
  635. #define TEXT_BT_SAVE_METADATA \
  636. _(" --bt-save-metadata[=true|false] Save metadata as .torrent file. This option has\n" \
  637. " effect only when BitTorrent Magnet URI is used.\n" \
  638. " The filename is hex encoded info hash with suffix\n" \
  639. " .torrent. The directory to be saved is the same\n" \
  640. " directory where download file is saved. If the\n" \
  641. " same file already exists, metadata is not saved.\n" \
  642. " See also --bt-metadata-only option.")
  643. #define TEXT_HTTP_NO_CACHE \
  644. _(" --http-no-cache[=true|false] Send Cache-Control: no-cache and Pragma: no-cache\n" \
  645. " header to avoid cached content. If false is\n" \
  646. " given, these headers are not sent and you can add\n" \
  647. " Cache-Control header with a directive you like\n" \
  648. " using --header option.")
  649. #define TEXT_BT_METADATA_ONLY \
  650. _(" --bt-metadata-only[=true|false] Download metadata only. The file(s) described\n" \
  651. " in metadata will not be downloaded. This option\n" \
  652. " has effect only when BitTorrent Magnet URI is\n" \
  653. " used. See also --bt-save-metadata option.")
  654. #define TEXT_HUMAN_READABLE \
  655. _(" --human-readable[=true|false] Print sizes and speed in human readable format\n" \
  656. " (e.g., 1.2Ki, 3.4Mi) in the console readout.")
  657. #define TEXT_BT_ENABLE_LPD \
  658. _(" --bt-enable-lpd[=true|false] Enable Local Peer Discovery.")
  659. #define TEXT_BT_LPD_INTERFACE \
  660. _(" --bt-lpd-interface=INTERFACE Use given interface for Local Peer Discovery. If\n" \
  661. " this option is not specified, the default\n" \
  662. " interface is chosen. You can specify interface\n" \
  663. " name and IP address.")
  664. #define TEXT_REUSE_URI \
  665. _(" --reuse-uri[=true|false] Reuse already used URIs if no unused URIs are\n" \
  666. " left.")
  667. #define TEXT_ALL_PROXY_USER \
  668. _(" --all-proxy-user=USER Set user for --all-proxy.")
  669. #define TEXT_ALL_PROXY_PASSWD \
  670. _(" --all-proxy-passwd=PASSWD Set password for --all-proxy.")
  671. #define TEXT_HTTP_PROXY_USER \
  672. _(" --http-proxy-user=USER Set user for --http-proxy.")
  673. #define TEXT_HTTP_PROXY_PASSWD \
  674. _(" --http-proxy-passwd=PASSWD Set password for --http-proxy.")
  675. #define TEXT_HTTPS_PROXY_USER \
  676. _(" --https-proxy-user=USER Set user for --https-proxy.")
  677. #define TEXT_HTTPS_PROXY_PASSWD \
  678. _(" --https-proxy-passwd=PASSWD Set password for --https-proxy.")
  679. #define TEXT_FTP_PROXY_USER \
  680. _(" --ftp-proxy-user=USER Set user for --ftp-proxy.")
  681. #define TEXT_FTP_PROXY_PASSWD \
  682. _(" --ftp-proxy-passwd=PASSWD Set password for --ftp-proxy.")
  683. #define TEXT_REMOVE_CONTROL_FILE \
  684. _(" --remove-control-file[=true|false] Remove control file before download. Using\n" \
  685. " with --allow-overwrite=true, download always\n" \
  686. " starts from scratch. This will be useful for\n" \
  687. " users behind proxy server which disables resume.")
  688. #define TEXT_ALWAYS_RESUME \
  689. _(" --always-resume[=true|false] Always resume download. If true is given, aria2\n" \
  690. " always tries to resume download and if resume is\n" \
  691. " not possible, aborts download. If false is given,\n" \
  692. " when all given URIs do not support resume or\n" \
  693. " aria2 encounters N URIs which does not support\n" \
  694. " resume (N is the value specified using\n" \
  695. " --max-resume-failure-tries option), aria2\n" \
  696. " downloads file from scratch.\n" \
  697. " See --max-resume-failure-tries option.")
  698. #define TEXT_MAX_RESUME_FAILURE_TRIES \
  699. _(" --max-resume-failure-tries=N When used with --always-resume=false, aria2\n" \
  700. " downloads file from scratch when aria2 detects N\n" \
  701. " number of URIs that does not support resume. If N\n" \
  702. " is 0, aria2 downloads file from scratch when all\n" \
  703. " given URIs do not support resume.\n" \
  704. " See --always-resume option.")
  705. #define TEXT_BT_TRACKER_TIMEOUT \
  706. _(" --bt-tracker-timeout=SEC Set timeout in seconds.")
  707. #define TEXT_BT_TRACKER_CONNECT_TIMEOUT \
  708. _(" --bt-tracker-connect-timeout=SEC Set the connect timeout in seconds to\n" \
  709. " establish connection to tracker. After the\n" \
  710. " connection is established, this option makes no\n" \
  711. " effect and --bt-tracker-timeout option is used\n" \
  712. " instead.")
  713. #define TEXT_DHT_MESSAGE_TIMEOUT \
  714. _(" --dht-message-timeout=SEC Set timeout in seconds.")
  715. #define TEXT_HTTP_ACCEPT_GZIP \
  716. _(" --http-accept-gzip[=true|false] Send 'Accept: deflate, gzip' request header\n" \
  717. " and inflate response if remote server responds\n" \
  718. " with 'Content-Encoding: gzip' or\n" \
  719. " 'Content-Encoding: deflate'.")
  720. #define TEXT_SAVE_SESSION \
  721. _(" --save-session=FILE Save error/unfinished downloads to FILE on exit.\n" \
  722. " You can pass this output file to aria2c with -i\n" \
  723. " option on restart. Please note that downloads\n" \
  724. " added by aria2.addTorrent and aria2.addMetalink\n" \
  725. " RPC method and whose metadata could not be saved\n" \
  726. " as a file will not be saved. Downloads removed\n" \
  727. " using aria2.remove and aria2.forceRemove will not\n" \
  728. " be saved.")
  729. #define TEXT_MAX_CONNECTION_PER_SERVER \
  730. _(" -x, --max-connection-per-server=NUM The maximum number of connections to one\n" \
  731. " server for each download.")
  732. #define TEXT_MIN_SPLIT_SIZE \
  733. _(" -k, --min-split-size=SIZE aria2 does not split less than 2*SIZE byte range.\n" \
  734. " For example, let's consider downloading 20MiB\n" \
  735. " file. If SIZE is 10M, aria2 can split file into 2\n" \
  736. " range [0-10MiB) and [10MiB-20MiB) and download it\n" \
  737. " using 2 sources(if --split >= 2, of course).\n" \
  738. " If SIZE is 15M, since 2*15M > 20MiB, aria2 does\n" \
  739. " not split file and download it using 1 source.\n" \
  740. " You can append K or M(1K = 1024, 1M = 1024K).")
  741. #define TEXT_CONDITIONAL_GET \
  742. _(" --conditional-get[=true|false] Download file only when the local file is older\n" \
  743. " than remote file. Currently, this function has\n" \
  744. " many limitations. See man page for details.")
  745. #define TEXT_ON_BT_DOWNLOAD_COMPLETE \
  746. _(" --on-bt-download-complete=COMMAND For BitTorrent, a command specified in\n" \
  747. " --on-download-complete is called after download\n" \
  748. " completed and seeding is over. On the other hand,\n" \
  749. " this option sets the command to be executed after\n" \
  750. " download completed but before seeding.\n" \
  751. " See --on-download-start option for the\n" \
  752. " requirement of COMMAND.")
  753. #define TEXT_ENABLE_ASYNC_DNS6 \
  754. _(" --enable-async-dns6[=true|false] Enable IPv6 name resolution in asynchronous\n" \
  755. " DNS resolver. This option will be ignored when\n" \
  756. " --async-dns=false.")
  757. #define TEXT_ENABLE_DHT6 \
  758. _(" --enable-dht6[=true|false] Enable IPv6 DHT functionality.\n" \
  759. " Use --dht-listen-port option to specify port\n" \
  760. " number to listen on. See also --dht-listen-addr6\n" \
  761. " option.")
  762. #define TEXT_DHT_LISTEN_ADDR6 \
  763. _(" --dht-listen-addr6=ADDR Specify address to bind socket for IPv6 DHT. \n" \
  764. " It should be a global unicast IPv6 address of the\n" \
  765. " host.")
  766. #define TEXT_DHT_ENTRY_POINT6 \
  767. _(" --dht-entry-point6=HOST:PORT Set host and port as an entry point to IPv6 DHT\n" \
  768. " network.")
  769. #define TEXT_DHT_FILE_PATH6 \
  770. _(" --dht-file-path6=PATH Change the IPv6 DHT routing table file to PATH.")
  771. #define TEXT_BT_TRACKER \
  772. _(" --bt-tracker=URI[,...] Comma separated list of additional BitTorrent\n" \
  773. " tracker's announce URI. These URIs are not\n" \
  774. " affected by --bt-exclude-tracker option because\n" \
  775. " they are added after URIs in --bt-exclude-tracker\n" \
  776. " option are removed.")
  777. #define TEXT_BT_EXCLUDE_TRACKER \
  778. _(" --bt-exclude-tracker=URI[,...] Comma separated list of BitTorrent tracker's\n" \
  779. " announce URI to remove. You can use special value\n" \
  780. " '*' which matches all URIs, thus removes all\n" \
  781. " announce URIs. When specifying '*' in shell\n" \
  782. " command-line, don't forget to escape or quote it.\n" \
  783. " See also --bt-tracker option.")
  784. #define TEXT_MAX_DOWNLOAD_RESULT \
  785. _(" --max-download-result=NUM Set maximum number of download result kept in\n" \
  786. " memory. The download results are completed/error/\n" \
  787. " removed downloads. The download results are stored\n" \
  788. " in FIFO queue and it can store at most NUM\n" \
  789. " download results. When queue is full and new\n" \
  790. " download result is created, oldest download result\n" \
  791. " is removed from the front of the queue and new one\n" \
  792. " is pushed to the back. Setting big number in this\n" \
  793. " option may result high memory consumption after\n" \
  794. " thousands of downloads. Specifying 0 means no\n" \
  795. " download result is kept.")
  796. #define TEXT_ASYNC_DNS_SERVER \
  797. _(" --async-dns-server=IPADDRESS[,...] Comma separated list of DNS server address\n" \
  798. " used in asynchronous DNS resolver. Usually\n" \
  799. " asynchronous DNS resolver reads DNS server\n" \
  800. " addresses from /etc/resolv.conf. When this option\n" \
  801. " is used, it uses DNS servers specified in this\n" \
  802. " option instead of ones in /etc/resolv.conf. You\n" \
  803. " can specify both IPv4 and IPv6 address. This\n" \
  804. " option is useful when the system does not have\n" \
  805. " /etc/resolv.conf and user does not have the\n" \
  806. " permission to create it.")
  807. #define TEXT_ENABLE_RPC \
  808. _(" --enable-rpc[=true|false] Enable JSON-RPC/XML-RPC server.\n" \
  809. " It is strongly recommended to set secret\n" \
  810. " authorization token using --rpc-secret option.\n" \
  811. " See also --rpc-listen-port option.")
  812. #define TEXT_RPC_MAX_REQUEST_SIZE \
  813. _(" --rpc-max-request-size=SIZE Set max size of JSON-RPC/XML-RPC request. If aria2\n" \
  814. " detects the request is more than SIZE bytes, it\n" \
  815. " drops connection.")
  816. #define TEXT_RPC_USER \
  817. _(" --rpc-user=USER Set JSON-RPC/XML-RPC user. This option will be\n" \
  818. " deprecated in the future release. Migrate to\n" \
  819. " --rpc-secret option as soon as possible.")
  820. #define TEXT_RPC_PASSWD \
  821. _(" --rpc-passwd=PASSWD Set JSON-RPC/XML-RPC password. This option will\n" \
  822. " be deprecated in the future release. Migrate to\n" \
  823. " --rpc-secret option as soon as possible.")
  824. #define TEXT_RPC_LISTEN_ALL \
  825. _(" --rpc-listen-all[=true|false] Listen incoming JSON-RPC/XML-RPC requests on all\n" \
  826. " network interfaces. If false is given, listen only\n" \
  827. " on local loopback interface.")
  828. #define TEXT_RPC_LISTEN_PORT \
  829. _(" --rpc-listen-port=PORT Specify a port number for JSON-RPC/XML-RPC server\n" \
  830. " to listen to.")
  831. #define TEXT_SHOW_CONSOLE_READOUT \
  832. _(" --show-console-readout[=true|false] Show console readout.")
  833. #define TEXT_METALINK_BASE_URI \
  834. _(" --metalink-base-uri=URI Specify base URI to resolve relative URI in\n" \
  835. " metalink:url and metalink:metaurl element in a\n" \
  836. " metalink file stored in local disk. If URI points\n" \
  837. " to a directory, URI must end with '/'.")
  838. #define TEXT_STREAM_PIECE_SELECTOR \
  839. _(" --stream-piece-selector=SELECTOR Specify piece selection algorithm\n" \
  840. " used in HTTP/FTP download. Piece means fixed\n" \
  841. " length segment which is downloaded in parallel\n" \
  842. " in segmented download. If 'default' is given,\n" \
  843. " aria2 selects piece so that it reduces the\n" \
  844. " number of establishing connection. This is\n" \
  845. " reasonable default behaviour because\n" \
  846. " establishing connection is an expensive\n" \
  847. " operation.\n" \
  848. " If 'inorder' is given, aria2 selects piece which\n" \
  849. " has minimum index. Index=0 means first of the\n" \
  850. " file. This will be useful to view movie while\n" \
  851. " downloading it. --enable-http-pipelining option\n" \
  852. " may be useful to reduce reconnection overhead.\n" \
  853. " Please note that aria2 honors\n" \
  854. " --min-split-size option, so it will be necessary\n" \
  855. " to specify a reasonable value to\n" \
  856. " --min-split-size option.\n" \
  857. " If 'random' is given, aria2 selects piece\n" \
  858. " randomly. Like 'inorder', --min-split-size\n" \
  859. " option is honored.\n" \
  860. " If 'geom' is given, at the beginning aria2\n" \
  861. " selects piece which has minimum index like\n" \
  862. " 'inorder', but it exponentially increasingly\n" \
  863. " keeps space from previously selected piece. This\n" \
  864. " will reduce the number of establishing connection\n" \
  865. " and at the same time it will download the\n" \
  866. " beginning part of the file first. This will be\n" \
  867. " useful to view movie while downloading it.")
  868. #define TEXT_TRUNCATE_CONSOLE_READOUT \
  869. _(" --truncate-console-readout[=true|false] Truncate console readout to fit in\n"\
  870. " a single line.")
  871. #define TEXT_PAUSE \
  872. _(" --pause[=true|false] Pause download after added. This option is\n" \
  873. " effective only when --enable-rpc=true is given.")
  874. #define TEXT_RPC_ALLOW_ORIGIN_ALL \
  875. _(" --rpc-allow-origin-all[=true|false] Add Access-Control-Allow-Origin header\n" \
  876. " field with value '*' to the RPC response.")
  877. #define TEXT_DOWNLOAD_RESULT \
  878. _(" --download-result=OPT This option changes the way \"Download Results\"\n" \
  879. " is formatted. If OPT is 'default', print GID,\n" \
  880. " status, average download speed and path/URI. If\n" \
  881. " multiple files are involved, path/URI of first\n" \
  882. " requested file is printed and remaining ones are\n" \
  883. " omitted.\n" \
  884. " If OPT is 'full', print GID, status, average\n" \
  885. " download speed, percentage of progress and\n" \
  886. " path/URI. The percentage of progress and\n" \
  887. " path/URI are printed for each requested file in\n" \
  888. " each row.\n" \
  889. " If OPT is 'hide', \"Download Results\" is hidden.")
  890. #define TEXT_HASH_CHECK_ONLY \
  891. _(" --hash-check-only[=true|false] If true is given, after hash check using\n" \
  892. " --check-integrity option, abort download whether\n" \
  893. " or not download is complete.")
  894. #define TEXT_CHECKSUM \
  895. _(" --checksum=TYPE=DIGEST Set checksum. TYPE is hash type. The supported\n" \
  896. " hash type is listed in \"Hash Algorithms\" in\n" \
  897. " \"aria2c -v\". DIGEST is hex digest.\n" \
  898. " For example, setting sha-1 digest looks like\n" \
  899. " this:\n" \
  900. " sha-1=0192ba11326fe2298c8cb4de616f4d4140213838\n" \
  901. " This option applies only to HTTP(S)/FTP\n" \
  902. " downloads.")
  903. #define TEXT_PIECE_LENGTH \
  904. _(" --piece-length=LENGTH Set a piece length for HTTP/FTP downloads. This\n" \
  905. " is the boundary when aria2 splits a file. All\n" \
  906. " splits occur at multiple of this length. This\n" \
  907. " option will be ignored in BitTorrent downloads.\n" \
  908. " It will be also ignored if Metalink file\n" \
  909. " contains piece hashes.")
  910. #define TEXT_STOP_WITH_PROCESS \
  911. _(" --stop-with-process=PID Stop application when process PID is not running.\n" \
  912. " This is useful if aria2 process is forked from a\n" \
  913. " parent process. The parent process can fork aria2\n" \
  914. " with its own pid and when parent process exits\n" \
  915. " for some reason, aria2 can detect it and shutdown\n" \
  916. " itself.")
  917. #define TEXT_DEFERRED_INPUT \
  918. _(" --deferred-input[=true|false] If true is given, aria2 does not read all URIs\n" \
  919. " and options from file specified by -i option at\n" \
  920. " startup, but it reads one by one when it needs\n" \
  921. " later. This may reduce memory usage if input\n" \
  922. " file contains a lot of URIs to download.\n" \
  923. " If false is given, aria2 reads all URIs and\n" \
  924. " options at startup.")
  925. #define TEXT_BT_REMOVE_UNSELECTED_FILE \
  926. _(" --bt-remove-unselected-file[=true|false] Removes the unselected files when\n" \
  927. " download is completed in BitTorrent. To\n" \
  928. " select files, use --select-file option. If\n" \
  929. " it is not used, all files are assumed to be\n" \
  930. " selected. Please use this option with care\n" \
  931. " because it will actually remove files from\n" \
  932. " your disk.")
  933. #define TEXT_ENABLE_MMAP \
  934. _(" --enable-mmap[=true|false] Map files into memory.")
  935. #define TEXT_RPC_CERTIFICATE \
  936. _(" --rpc-certificate=FILE Use the certificate in FILE for RPC server.\n" \
  937. " The certificate must be in PEM format.\n" \
  938. " Use --rpc-private-key option to specify the\n" \
  939. " private key. Use --rpc-secure option to enable\n" \
  940. " encryption.")
  941. #define TEXT_RPC_PRIVATE_KEY \
  942. _(" --rpc-private-key=FILE Use the private key in FILE for RPC server.\n" \
  943. " The private key must be decrypted and in PEM\n" \
  944. " format. Use --rpc-secure option to enable\n" \
  945. " encryption. See also --rpc-certificate option.")
  946. #define TEXT_RPC_SECURE \
  947. _(" --rpc-secure[=true|false] RPC transport will be encrypted by SSL/TLS.\n" \
  948. " The RPC clients must use https scheme to access\n" \
  949. " the server. For WebSocket client, use wss\n" \
  950. " scheme. Use --rpc-certificate and\n" \
  951. " --rpc-private-key options to specify the\n" \
  952. " server certificate and private key.")
  953. #define TEXT_RPC_SAVE_UPLOAD_METADATA \
  954. _(" --rpc-save-upload-metadata[=true|false] Save the uploaded torrent or\n" \
  955. " metalink metadata in the directory specified\n" \
  956. " by --dir option. The filename consists of\n" \
  957. " SHA-1 hash hex string of metadata plus\n" \
  958. " extension. For torrent, the extension is\n" \
  959. " '.torrent'. For metalink, it is '.meta4'.\n" \
  960. " If false is given to this option, the\n" \
  961. " downloads added by aria2.addTorrent or\n" \
  962. " aria2.addMetalink will not be saved by\n" \
  963. " --save-session option.")
  964. #define TEXT_FORCE_SAVE \
  965. _(" --force-save[=true|false] Save download with --save-session option even\n" \
  966. " if the download is completed or removed. This\n" \
  967. " option also saves control file in that\n" \
  968. " situations. This may be useful to save\n" \
  969. " BitTorrent seeding which is recognized as\n" \
  970. " completed state.")
  971. #define TEXT_DISK_CACHE \
  972. _(" --disk-cache=SIZE Enable disk cache. If SIZE is 0, the disk cache\n" \
  973. " is disabled. This feature caches the downloaded\n" \
  974. " data in memory, which grows to at most SIZE\n" \
  975. " bytes. The cache storage is created for aria2\n" \
  976. " instance and shared by all downloads. The one\n" \
  977. " advantage of the disk cache is reduce the disk\n" \
  978. " I/O because the data are written in larger unit\n" \
  979. " and it is reordered by the offset of the file.\n" \
  980. " If hash checking is involved and the data are\n" \
  981. " cached in memory, we don't need to read them\n" \
  982. " from the disk.\n" \
  983. " SIZE can include K or M(1K = 1024, 1M = 1024K).")
  984. #define TEXT_GID \
  985. _(" --gid=GID Set GID manually. aria2 identifies each\n" \
  986. " download by the ID called GID. The GID must be\n" \
  987. " hex string of 16 characters, thus [0-9a-zA-Z]\n" \
  988. " are allowed and leading zeros must not be\n" \
  989. " stripped. The GID all 0 is reserved and must\n" \
  990. " not be used. The GID must be unique, otherwise\n" \
  991. " error is reported and the download is not added.\n" \
  992. " This option is useful when restoring the\n" \
  993. " sessions saved using --save-session option. If\n" \
  994. " this option is not used, new GID is generated\n" \
  995. " by aria2.")
  996. #define TEXT_CONSOLE_LOG_LEVEL \
  997. _(" --console-log-level=LEVEL Set log level to output to console.")
  998. #define TEXT_SAVE_SESSION_INTERVAL \
  999. _(" --save-session-interval=SEC Save error/unfinished downloads to a file\n" \
  1000. " specified by --save-session option every SEC\n" \
  1001. " seconds. If 0 is given, file will be saved only\n" \
  1002. " when aria2 exits.")
  1003. #define TEXT_ENABLE_COLOR \
  1004. _(" --enable-color[=true|false] Enable color output for a terminal.")
  1005. #define TEXT_RPC_SECRET \
  1006. _(" --rpc-secret=TOKEN Set RPC secret authorization token.")
  1007. #define TEXT_DSCP \
  1008. _(" --dscp=DSCP Set DSCP value in outgoing IP packets of\n" \
  1009. " BitTorrent traffic for QoS. This parameter sets\n" \
  1010. " only DSCP bits in TOS field of IP packets,\n" \
  1011. " not the whole field. If you take values\n" \
  1012. " from /usr/include/netinet/ip.h divide them by 4\n" \
  1013. " (otherwise values would be incorrect, e.g. your\n" \
  1014. " CS1 class would turn into CS4). If you take\n" \
  1015. " commonly used values from RFC, network vendors'\n" \
  1016. " documentation, Wikipedia or any other source,\n" \
  1017. " use them as they are.")
  1018. #define TEXT_RLIMIT_NOFILE \
  1019. _(" --rlimit-nofile=NUM Set the soft limit of open file descriptors.\n" \
  1020. " This open will only have effect when:\n" \
  1021. " a) The system supports it (posix)\n" \
  1022. " b) The limit does not exceed the hard limit.\n" \
  1023. " c) The specified limit is larger than the\n" \
  1024. " current soft limit.\n" \
  1025. " This is equivalent to setting nofile via ulimit,\n" \
  1026. " except that it will never decrease the limit.")
  1027. #define TEXT_PAUSE_METADATA \
  1028. _(" --pause-metadata[=true|false]\n" \
  1029. " Pause downloads created as a result of metadata\n" \
  1030. " download. There are 3 types of metadata\n" \
  1031. " downloads in aria2: (1) downloading .torrent\n" \
  1032. " file. (2) downloading torrent metadata using\n" \
  1033. " magnet link. (3) downloading metalink file.\n" \
  1034. " These metadata downloads will generate downloads\n" \
  1035. " using their metadata. This option pauses these\n" \
  1036. " subsequent downloads. This option is effective\n" \
  1037. " only when --enable-rpc=true is given.")
  1038. #define TEXT_BT_DETACH_SEED_ONLY \
  1039. _(" --bt-detach-seed-only[=true|false]\n" \
  1040. " Exclude seed only downloads when counting\n" \
  1041. " concurrent active downloads (See -j option).\n" \
  1042. " This means that if -j3 is given and this option\n" \
  1043. " is turned on and 3 downloads are active and one\n" \
  1044. " of those enters seed mode, then it is excluded\n" \
  1045. " from active download count (thus it becomes 2),\n" \
  1046. " and the next download waiting in queue gets\n" \
  1047. " started. But be aware that seeding item is still\n" \
  1048. " recognized as active download in RPC method.")
  1049. #define TEXT_MIN_TLS_VERSION \
  1050. _(" --min-tls-version=VERSION Specify minimum SSL/TLS version to enable.")
  1051. #define TEXT_BT_FORCE_ENCRYPTION \
  1052. _(" --bt-force-encryption[=true|false]\n" \
  1053. " Requires BitTorrent message payload encryption\n" \
  1054. " with arc4. This is a shorthand of\n" \
  1055. " --bt-require-crypto --bt-min-crypto-level=arc4.\n" \
  1056. " If true is given, deny legacy BitTorrent\n" \
  1057. " handshake and only use Obfuscation handshake and\n" \
  1058. " always encrypt message payload.")
  1059. #define TEXT_SSH_HOST_KEY_MD \
  1060. _(" --ssh-host-key-md=TYPE=DIGEST\n" \
  1061. " Set checksum for SSH host public key. TYPE is\n" \
  1062. " hash type. The supported hash type is sha-1 or\n" \
  1063. " md5. DIGEST is hex digest. For example:\n" \
  1064. " sha-1=b030503d4de4539dc7885e6f0f5e256704edf4c3\n" \
  1065. " This option can be used to validate server's\n" \
  1066. " public key when SFTP is used. If this option is\n" \
  1067. " not set, which is default, no validation takes\n" \
  1068. " place.")
  1069. #define TEXT_SOCKET_RECV_BUFFER_SIZE \
  1070. _(" --socket-recv-buffer-size=SIZE\n" \
  1071. " Set the maximum socket receive buffer in bytes.\n" \
  1072. " Specifing 0 will disable this option. This value\n" \
  1073. " will be set to socket file descriptor using\n" \
  1074. " SO_RCVBUF socket option with setsockopt() call.")
  1075. #define TEXT_BT_ENABLE_HOOK_AFTER_HASH_CHECK \
  1076. _(" --bt-enable-hook-after-hash-check[=true|false] Allow hook command invocation\n" \
  1077. " after hash check (see -V option) in BitTorrent\n" \
  1078. " download. By default, when hash check succeeds,\n" \
  1079. " the command given by --on-bt-download-complete\n" \
  1080. " is executed. To disable this action, give false\n" \
  1081. " to this option.")
  1082. #define TEXT_MAX_MMAP_LIMIT \
  1083. _(" --max-mmap-limit=SIZE Set the maximum file size to enable mmap (see\n" \
  1084. " --enable-mmap option). The file size is\n" \
  1085. " determined by the sum of all files contained in\n" \
  1086. " one download. For example, if a download\n" \
  1087. " contains 5 files, then file size is the total\n" \
  1088. " size of those files. If file size is strictly\n" \
  1089. " greater than the size specified in this option,\n" \
  1090. " mmap will be disabled.")
  1091. #define TEXT_STDERR \
  1092. _(" --stderr[=true|false] Redirect all console output that would be\n" \
  1093. " otherwise printed in stdout to stderr.")
  1094. // clang-format on