usage_text.h 56 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755
  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. #define TEXT_DIR \
  36. _(" -d, --dir=DIR The directory to store the downloaded file.")
  37. #define TEXT_OUT \
  38. _(" -o, --out=FILE The file name of the downloaded file. When -Z\n"\
  39. " option is used, this option is ignored.")
  40. #define TEXT_LOG \
  41. _(" -l, --log=LOG The file name of the log file. If '-' is\n" \
  42. " specified, log is written to stdout.")
  43. #define TEXT_DAEMON \
  44. _(" -D, --daemon Run as daemon. The current working directory will\n" \
  45. " be changed to \"/\" and standard input, standard\n" \
  46. " output and standard error will be redirected to\n" \
  47. " \"/dev/null\".")
  48. #define TEXT_SPLIT \
  49. _(" -s, --split=N Download a file using N connections. If more\n" \
  50. " than N URLs are given, first N URLs are used and\n" \
  51. " remaining URLs are used for backup. If less than\n" \
  52. " N URLs are given, those URLs are used more than\n" \
  53. " once so that N connections total are made\n" \
  54. " simultaneously. The number of connections to the\n" \
  55. " same host is restricted by\n" \
  56. " --max-connection-per-server option. Please see -j\n" \
  57. " and --min-split-size option too.\n" \
  58. " Please note that in Metalink download, this\n" \
  59. " option has no effect and use -C option instead.")
  60. #define TEXT_RETRY_WAIT \
  61. _(" --retry-wait=SEC Set the seconds to wait to retry after an error\n" \
  62. " has occured.")
  63. #define TEXT_TIMEOUT \
  64. _(" -t, --timeout=SEC Set timeout in seconds.")
  65. #define TEXT_MAX_TRIES \
  66. _(" -m, --max-tries=N Set number of tries. 0 means unlimited.")
  67. #define TEXT_HTTP_PROXY \
  68. _(" --http-proxy=PROXY Use this proxy server for HTTP. To erase\n"\
  69. " previously defined proxy, use \"\".\n" \
  70. " See also --all-proxy option.\n" \
  71. " This affects all URLs.")
  72. #define TEXT_HTTPS_PROXY \
  73. _(" --https-proxy=PROXY Use this proxy server for HTTPS. To erase\n" \
  74. " previously defined proxy, use \"\".\n" \
  75. " See also --all-proxy option.\n" \
  76. " This affects all URLs.")
  77. #define TEXT_FTP_PROXY \
  78. _(" --ftp-proxy=PROXY Use this proxy server for FTP. To erase previously\n" \
  79. " defined proxy, use \"\".\n" \
  80. " See also --all-proxy option.\n" \
  81. " This affects all URLs.")
  82. #define TEXT_ALL_PROXY \
  83. _(" --all-proxy=PROXY Use this proxy server for all protocols. To erase\n" \
  84. " previously defined proxy, use \"\".\n" \
  85. " You can override this setting and specify a\n" \
  86. " proxy server for a particular protocol using\n" \
  87. " --http-proxy, --https-proxy and --ftp-proxy\n" \
  88. " options.\n" \
  89. " This affects all URLs.")
  90. #define TEXT_HTTP_USER \
  91. _(" --http-user=USER Set HTTP user. This affects all URLs.")
  92. #define TEXT_HTTP_PASSWD \
  93. _(" --http-passwd=PASSWD Set HTTP password. This affects all URLs.")
  94. #define TEXT_PROXY_METHOD \
  95. _(" --proxy-method=METHOD Set the method to use in proxy request.")
  96. #define TEXT_REFERER \
  97. _(" --referer=REFERER Set Referer. This affects all URLs.")
  98. #define TEXT_FTP_USER \
  99. _(" --ftp-user=USER Set FTP user. This affects all URLs.")
  100. #define TEXT_FTP_PASSWD \
  101. _(" --ftp-passwd=PASSWD Set FTP password. This affects all URLs.")
  102. #define TEXT_FTP_TYPE \
  103. _(" --ftp-type=TYPE Set FTP transfer type.")
  104. #define TEXT_FTP_PASV \
  105. _(" -p, --ftp-pasv[=true|false] Use the passive mode in FTP. If false is given,\n" \
  106. " the active mode will be used.")
  107. #define TEXT_LOWEST_SPEED_LIMIT \
  108. _(" --lowest-speed-limit=SPEED Close connection if download speed is lower than\n" \
  109. " or equal to this value(bytes per sec).\n" \
  110. " 0 means aria2 does not have a lowest speed limit.\n" \
  111. " You can append K or M(1K = 1024, 1M = 1024K).\n" \
  112. " This option does not affect BitTorrent downloads.")
  113. #define TEXT_MAX_OVERALL_DOWNLOAD_LIMIT \
  114. _(" --max-overall-download-limit=SPEED Set max overall download speed in bytes/sec.\n" \
  115. " 0 means unrestricted.\n" \
  116. " You can append K or M(1K = 1024, 1M = 1024K).\n" \
  117. " To limit the download speed per download, use\n" \
  118. " --max-download-limit option.")
  119. #define TEXT_MAX_DOWNLOAD_LIMIT \
  120. _(" --max-download-limit=SPEED Set max download speed per each download in\n" \
  121. " bytes/sec. 0 means unrestricted.\n" \
  122. " You can append K or M(1K = 1024, 1M = 1024K).\n" \
  123. " To limit the overall download speed, use\n" \
  124. " --max-overall-download-limit option.")
  125. #define TEXT_FILE_ALLOCATION \
  126. _(" --file-allocation=METHOD Specify file allocation method.\n" \
  127. " 'none' doesn't pre-allocate file space. 'prealloc'\n" \
  128. " pre-allocates file space before download begins.\n" \
  129. " This may take some time depending on the size of\n" \
  130. " the file.\n" \
  131. " If you are using newer file systems such as ext4\n" \
  132. " (with extents support), btrfs or xfs, 'falloc' is\n" \
  133. " your best choice. It allocates large(few GiB)\n" \
  134. " files almost instantly. Don't use 'falloc' with\n" \
  135. " legacy file systems such as ext3 because it takes\n" \
  136. " almost same time as 'prealloc' and it blocks aria2\n" \
  137. " entirely until allocation finishes. 'falloc' may\n" \
  138. " not be available if your system doesn't have\n" \
  139. " posix_fallocate() function.")
  140. #define TEXT_NO_FILE_ALLOCATION_LIMIT \
  141. _(" --no-file-allocation-limit=SIZE No file allocation is made for files whose\n" \
  142. " size is smaller than SIZE.\n" \
  143. " You can append K or M(1K = 1024, 1M = 1024K).")
  144. # define TEXT_ENABLE_DIRECT_IO \
  145. _(" --enable-direct-io[=true|false] Enable directI/O, which lowers cpu usage while\n" \
  146. " allocating files.\n" \
  147. " Turn off if you encounter any error")
  148. #define TEXT_ALLOW_OVERWRITE \
  149. _(" --allow-overwrite=true|false Restart download from scratch if the\n" \
  150. " corresponding control file doesn't exist. See\n" \
  151. " also --auto-file-renaming option.")
  152. #define TEXT_ALLOW_PIECE_LENGTH_CHANGE \
  153. _(" --allow-piece-length-change=true|false If false is given, aria2 aborts download\n" \
  154. " when a piece length is different from one in\n" \
  155. " a control file. If true is given, you can proceed\n" \
  156. " but some download progress will be lost.")
  157. #define TEXT_FORCE_SEQUENTIAL \
  158. _(" -Z, --force-sequential[=true|false] Fetch URIs in the command-line sequentially\n" \
  159. " and download each URI in a separate session, like\n" \
  160. " the usual command-line download utilities.")
  161. #define TEXT_AUTO_FILE_RENAMING \
  162. _(" --auto-file-renaming[=true|false] Rename file name if the same file already\n" \
  163. " exists. This option works only in http(s)/ftp\n" \
  164. " download.\n" \
  165. " The new file name has a dot and a number(1..9999)\n" \
  166. " appended.")
  167. #define TEXT_PARAMETERIZED_URI \
  168. _(" -P, --parameterized-uri[=true|false] Enable parameterized URI support.\n" \
  169. " You can specify set of parts:\n" \
  170. " http://{sv1,sv2,sv3}/foo.iso\n" \
  171. " Also you can specify numeric sequences with step\n" \
  172. " counter:\n" \
  173. " http://host/image[000-100:2].img\n" \
  174. " A step counter can be omitted.\n" \
  175. " If all URIs do not point to the same file, such\n" \
  176. " as the second example above, -Z option is\n" \
  177. " required.")
  178. #define TEXT_ENABLE_HTTP_KEEP_ALIVE \
  179. _(" --enable-http-keep-alive[=true|false] Enable HTTP/1.1 persistent connection.")
  180. #define TEXT_ENABLE_HTTP_PIPELINING \
  181. _(" --enable-http-pipelining[=true|false] Enable HTTP/1.1 pipelining.")
  182. #define TEXT_CHECK_INTEGRITY \
  183. _(" -V, --check-integrity[=true|false] Check file integrity by validating piece\n" \
  184. " hashes. This option has effect only in BitTorrent\n" \
  185. " and Metalink downloads with chunk checksums.\n" \
  186. " Use this option to re-download a damaged portion\n" \
  187. " of a file. See also --bt-hash-check-seed option.")
  188. #define TEXT_BT_HASH_CHECK_SEED \
  189. _(" --bt-hash-check-seed[=true|false] If true is given, after hash check using\n" \
  190. " --check-integrity option and file is complete,\n" \
  191. " continue to seed file. If you want to check file\n" \
  192. " and download it only when it is damaged or\n" \
  193. " incomplete, set this option to false.\n" \
  194. " This option has effect only on BitTorrent\n" \
  195. " download.")
  196. #define TEXT_REALTIME_CHUNK_CHECKSUM \
  197. _(" --realtime-chunk-checksum=true|false Validate chunk of data by calculating\n" \
  198. " checksum while downloading a file if chunk\n" \
  199. " checksums are provided.")
  200. #define TEXT_CONTINUE \
  201. _(" -c, --continue Continue downloading a partially downloaded\n" \
  202. " file. Use this option to resume a download\n" \
  203. " started by a web browser or another program\n" \
  204. " which downloads files sequentially from the\n" \
  205. " beginning. Currently this option is only\n" \
  206. " applicable to http(s)/ftp downloads.")
  207. #define TEXT_USER_AGENT \
  208. _(" -U, --user-agent=USER_AGENT Set user agent for http(s) downloads.")
  209. #define TEXT_NO_NETRC \
  210. _(" -n, --no-netrc Disables netrc support.")
  211. #define TEXT_INPUT_FILE \
  212. _(" -i, --input-file=FILE Downloads URIs found in FILE. You can specify\n" \
  213. " multiple URIs for a single entity: separate\n" \
  214. " URIs on a single line using the TAB character.\n" \
  215. " Reads input from stdin when '-' is specified.\n" \
  216. " The additional out and dir options can be\n" \
  217. " specified after each line of URIs. This optional\n" \
  218. " line must start with white space(s). See INPUT\n" \
  219. " FILE section of man page for details.")
  220. #define TEXT_MAX_CONCURRENT_DOWNLOADS \
  221. _(" -j, --max-concurrent-downloads=N Set maximum number of parallel downloads for\n" \
  222. " every static (HTTP/FTP) URL, torrent and metalink.\n" \
  223. " See also -s and -C options.")
  224. #define TEXT_LOAD_COOKIES \
  225. _(" --load-cookies=FILE Load Cookies from FILE using the Firefox3 format\n" \
  226. " and Mozilla/Firefox(1.x/2.x)/Netscape format.")
  227. #define TEXT_SAVE_COOKIES \
  228. _(" --save-cookies=FILE Save Cookies to FILE in Mozilla/Firefox(1.x/2.x)/\n" \
  229. " Netscape format. If FILE already exists, it is\n" \
  230. " overwritten. Session Cookies are also saved and\n" \
  231. " their expiry values are treated as 0.")
  232. #define TEXT_SHOW_FILES \
  233. _(" -S, --show-files Print file listing of .torrent or .metalink file\n" \
  234. " and exit. More detailed information will be listed\n" \
  235. " in case of torrent file.")
  236. #define TEXT_SELECT_FILE \
  237. _(" --select-file=INDEX... Set file to download by specifying its index.\n" \
  238. " You can find the file index using the\n" \
  239. " --show-files option. Multiple indexes can be\n" \
  240. " specified by using ',', for example: \"3,6\".\n" \
  241. " You can also use '-' to specify a range: \"1-5\".\n" \
  242. " ',' and '-' can be used together.\n" \
  243. " When used with the -M option, index may vary\n" \
  244. " depending on the query(see --metalink-* options).")
  245. #define TEXT_TORRENT_FILE \
  246. _(" -T, --torrent-file=TORRENT_FILE The path to the .torrent file.")
  247. #define TEXT_FOLLOW_TORRENT \
  248. _(" --follow-torrent=true|false|mem If true or mem is specified, when a file\n" \
  249. " whose suffix is .torrent or content type is\n" \
  250. " application/x-bittorrent is downloaded, aria2\n" \
  251. " parses it as a torrent file and downloads files\n" \
  252. " mentioned in it.\n" \
  253. " If mem is specified, a torrent file is not\n" \
  254. " written to the disk, but is just kept in memory.\n" \
  255. " If false is specified, the action mentioned above\n" \
  256. " is not taken.")
  257. #define TEXT_DIRECT_FILE_MAPPING \
  258. _(" --direct-file-mapping=true|false Directly read from and write to each file\n" \
  259. " mentioned in .torrent file.")
  260. #define TEXT_LISTEN_PORT \
  261. _(" --listen-port=PORT... Set TCP port number for BitTorrent downloads.\n" \
  262. " Multiple ports can be specified by using ',',\n" \
  263. " for example: \"6881,6885\". You can also use '-'\n" \
  264. " to specify a range: \"6881-6999\". ',' and '-' can\n" \
  265. " be used together.")
  266. #define TEXT_MAX_OVERALL_UPLOAD_LIMIT \
  267. _(" --max-overall-upload-limit=SPEED Set max overall upload speed in bytes/sec.\n" \
  268. " 0 means unrestricted.\n" \
  269. " You can append K or M(1K = 1024, 1M = 1024K).\n" \
  270. " To limit the upload speed per torrent, use\n" \
  271. " --max-upload-limit option.")
  272. #define TEXT_MAX_UPLOAD_LIMIT \
  273. _(" -u, --max-upload-limit=SPEED Set max upload speed per each torrent in\n" \
  274. " bytes/sec. 0 means unrestricted.\n" \
  275. " You can append K or M(1K = 1024, 1M = 1024K).\n" \
  276. " To limit the overall upload speed, use\n" \
  277. " --max-overall-upload-limit option.")
  278. #define TEXT_SEED_TIME \
  279. _(" --seed-time=MINUTES Specify seeding time in minutes. Also see the\n" \
  280. " --seed-ratio option.")
  281. #define TEXT_SEED_RATIO \
  282. _(" --seed-ratio=RATIO Specify share ratio. Seed completed torrents\n" \
  283. " until share ratio reaches RATIO.\n" \
  284. " You are strongly encouraged to specify equals or\n" \
  285. " more than 1.0 here. Specify 0.0 if you intend to\n" \
  286. " do seeding regardless of share ratio.\n" \
  287. " If --seed-time option is specified along with\n" \
  288. " this option, seeding ends when at least one of\n" \
  289. " the conditions is satisfied.")
  290. #define TEXT_PEER_ID_PREFIX \
  291. _(" --peer-id-prefix=PEER_ID_PREFIX Specify the prefix of peer ID. The peer ID in\n" \
  292. " BitTorrent is 20 byte length. If more than 20\n" \
  293. " bytes are specified, only first 20 bytes are\n" \
  294. " used. If less than 20 bytes are specified, random\n" \
  295. " byte data are added to make its length 20 bytes.")
  296. #define TEXT_ENABLE_PEER_EXCHANGE \
  297. _(" --enable-peer-exchange[=true|false] Enable Peer Exchange extension.")
  298. #define TEXT_ENABLE_DHT \
  299. _(" --enable-dht[=true|false] Enable IPv4 DHT functionality.")
  300. #define TEXT_DHT_LISTEN_PORT \
  301. _(" --dht-listen-port=PORT... Set UDP listening port for both IPv4 and IPv6\n" \
  302. " DHT. Multiple ports can be specified by using\n" \
  303. " ',', for example: \"6881,6885\". You can also\n" \
  304. " use '-' to specify a range: \"6881-6999\". ','\n" \
  305. " and '-' can be used together.")
  306. #define TEXT_DHT_ENTRY_POINT \
  307. _(" --dht-entry-point=HOST:PORT Set host and port as an entry point to IPv4 DHT\n" \
  308. " network.")
  309. #define TEXT_DHT_FILE_PATH \
  310. _(" --dht-file-path=PATH Change the IPv4 DHT routing table file to PATH.")
  311. #define TEXT_BT_MIN_CRYPTO_LEVEL \
  312. _(" --bt-min-crypto-level=plain|arc4 Set minimum level of encryption method.\n" \
  313. " If several encryption methods are provided by a\n" \
  314. " peer, aria2 chooses the lowest one which satisfies\n" \
  315. " the given level.")
  316. #define TEXT_BT_REQUIRE_CRYPTO \
  317. _(" --bt-require-crypto=true|false If true is given, aria2 doesn't accept and\n" \
  318. " establish connection with legacy BitTorrent\n" \
  319. " handshake. Thus aria2 always uses Obfuscation\n" \
  320. " handshake.")
  321. #define TEXT_BT_REQUEST_PEER_SPEED_LIMIT \
  322. _(" --bt-request-peer-speed-limit=SPEED If the whole download speed of every\n" \
  323. " torrent is lower than SPEED, aria2 temporarily\n" \
  324. " increases the number of peers to try for more\n" \
  325. " download speed. Configuring this option with your\n" \
  326. " preferred download speed can increase your\n" \
  327. " download speed in some cases.\n" \
  328. " You can append K or M(1K = 1024, 1M = 1024K).")
  329. #define TEXT_BT_MAX_OPEN_FILES \
  330. _(" --bt-max-open-files=NUM Specify maximum number of files to open in each\n" \
  331. " BitTorrent download.")
  332. #define TEXT_BT_SEED_UNVERIFIED \
  333. _(" --bt-seed-unverified[=true|false] Seed previously downloaded files without\n" \
  334. " verifying piece hashes.")
  335. #define TEXT_BT_MAX_PEERS \
  336. _(" --bt-max-peers=NUM Specify the maximum number of peers per torrent.\n" \
  337. " 0 means unlimited.\n" \
  338. " See also --bt-request-peer-speed-limit option.")
  339. #define TEXT_METALINK_FILE \
  340. _(" -M, --metalink-file=METALINK_FILE The file path to the .metalink file. Reads\n" \
  341. " input from stdin when '-' is specified.")
  342. #define TEXT_METALINK_SERVERS \
  343. _(" -C, --metalink-servers=NUM_SERVERS The number of servers to connect to\n" \
  344. " simultaneously. Some Metalinks regulate the\n" \
  345. " number of servers to connect. aria2 strictly\n" \
  346. " respects them. This means that if Metalink defines\n" \
  347. " the maxconnections attribute lower than\n" \
  348. " NUM_SERVERS, then aria2 uses the value of\n" \
  349. " maxconnections attribute instead of NUM_SERVERS.\n" \
  350. " See also -s and -j options.")
  351. #define TEXT_METALINK_VERSION \
  352. _(" --metalink-version=VERSION The version of the file to download.")
  353. #define TEXT_METALINK_LANGUAGE \
  354. _(" --metalink-language=LANGUAGE The language of the file to download.")
  355. #define TEXT_METALINK_OS \
  356. _(" --metalink-os=OS The operating system of the file to download.")
  357. #define TEXT_METALINK_LOCATION \
  358. _(" --metalink-location=LOCATION[,...] The location of the preferred server.\n" \
  359. " A comma-delimited list of locations is\n" \
  360. " acceptable.")
  361. #define TEXT_METALINK_PREFERRED_PROTOCOL \
  362. _(" --metalink-preferred-protocol=PROTO Specify preferred protocol. Specify 'none'\n" \
  363. " if you don't have any preferred protocol.")
  364. #define TEXT_FOLLOW_METALINK \
  365. _(" --follow-metalink=true|false|mem If true or mem is specified, when a file\n" \
  366. " whose suffix is .metalink or content type of\n" \
  367. " application/metalink+xml is downloaded, aria2\n" \
  368. " parses it as a metalink file and downloads files\n" \
  369. " mentioned in it.\n" \
  370. " If mem is specified, a metalink file is not\n" \
  371. " written to the disk, but is just kept in memory.\n" \
  372. " If false is specified, the action mentioned above\n" \
  373. " is not taken.")
  374. #define TEXT_METALINK_ENABLE_UNIQUE_PROTOCOL \
  375. _(" --metalink-enable-unique-protocol=true|false If true is given and several\n" \
  376. " protocols are available for a mirror in a metalink\n" \
  377. " file, aria2 uses one of them.\n" \
  378. " Use --metalink-preferred-protocol option to\n" \
  379. " specify the preference of protocol.")
  380. #define TEXT_VERSION \
  381. _(" -v, --version Print the version number and exit.")
  382. #define TEXT_HELP \
  383. _(" -h, --help[=TAG|KEYWORD] Print usage and exit.\n" \
  384. " The help messages are classified with tags. A tag\n" \
  385. " starts with \"#\". For example, type \"--help=#http\"\n" \
  386. " to get the usage for the options tagged with\n" \
  387. " \"#http\". If non-tag word is given, print the usage\n" \
  388. " for the options whose name includes that word.")
  389. #define TEXT_NO_CONF \
  390. _(" --no-conf Disable loading aria2.conf file.")
  391. #define TEXT_CONF_PATH \
  392. _(" --conf-path=PATH Change the configuration file path to PATH.")
  393. #define TEXT_STOP \
  394. _(" --stop=SEC Stop application after SEC seconds has passed.\n" \
  395. " If 0 is given, this feature is disabled.")
  396. #define TEXT_HEADER \
  397. _(" --header=HEADER Append HEADER to HTTP request header. You can use\n" \
  398. " this option repeatedly to specify more than one\n" \
  399. " header:\n" \
  400. " aria2c --header=\"X-A: b78\" --header=\"X-B: 9J1\"\n" \
  401. " http://host/file")
  402. #define TEXT_QUIET \
  403. _(" -q, --quiet[=true|false] Make aria2 quiet(no console output).")
  404. #define TEXT_ASYNC_DNS \
  405. _(" --async-dns[=true|false] Enable asynchronous DNS.")
  406. #define TEXT_FTP_REUSE_CONNECTION \
  407. _(" --ftp-reuse-connection[=true|false] Reuse connection in FTP.")
  408. #define TEXT_SUMMARY_INTERVAL \
  409. _(" --summary-interval=SEC Set interval to output download progress summary.\n" \
  410. " Setting 0 suppresses the output.")
  411. #define TEXT_LOG_LEVEL \
  412. _(" --log-level=LEVEL Set log level to output.")
  413. #define TEXT_REMOTE_TIME \
  414. _(" -R, --remote-time[=true|false] Retrieve timestamp of the remote file from the\n" \
  415. " remote HTTP/FTP server and if it is available,\n" \
  416. " apply it to the local file.")
  417. #define TEXT_CONNECT_TIMEOUT \
  418. _(" --connect-timeout=SEC Set the connect timeout in seconds to establish\n" \
  419. " connection to HTTP/FTP/proxy server. After the\n" \
  420. " connection is established, this option makes no\n" \
  421. " effect and --timeout option is used instead.")
  422. #define TEXT_MAX_FILE_NOT_FOUND \
  423. _(" --max-file-not-found=NUM If aria2 receives `file not found' status from the\n" \
  424. " remote HTTP/FTP servers NUM times without getting\n" \
  425. " a single byte, then force the download to fail.\n" \
  426. " Specify 0 to disable this option.\n" \
  427. " This options is effective only when using\n" \
  428. " HTTP/FTP servers.")
  429. #define TEXT_URI_SELECTOR \
  430. _(" --uri-selector=SELECTOR Specify URI selection algorithm.\n" \
  431. " If 'inorder' is given, URI is tried in the order\n" \
  432. " appeared in the URI list.\n" \
  433. " If 'feedback' is given, aria2 uses download speed\n" \
  434. " observed in the previous downloads and choose\n" \
  435. " fastest server in the URI list. This also\n" \
  436. " effectively skips dead mirrors. The observed\n" \
  437. " download speed is a part of performance profile\n" \
  438. " of servers mentioned in --server-stat-of and\n" \
  439. " --server-stat-if options.\n" \
  440. " If 'adaptive' is given, selects one of the best\n" \
  441. " mirrors for the first and reserved connections.\n" \
  442. " For supplementary ones, it returns mirrors which\n" \
  443. " has not been tested yet, and if each of them has\n" \
  444. " already been tested, returns mirrors which has to\n" \
  445. " be tested again. Otherwise, it doesn't select\n" \
  446. " anymore mirrors. Like 'feedback', it uses a\n" \
  447. " performance profile of servers.")
  448. #define TEXT_SERVER_STAT_OF \
  449. _(" --server-stat-of=FILE Specify the filename to which performance profile\n" \
  450. " of the servers is saved. You can load saved data\n" \
  451. " using --server-stat-if option.")
  452. #define TEXT_SERVER_STAT_IF \
  453. _(" --server-stat-if=FILE Specify the filename to load performance profile\n" \
  454. " of the servers. The loaded data will be used in\n" \
  455. " some URI selector such as 'feedback'.\n" \
  456. " See also --uri-selector option")
  457. #define TEXT_SERVER_STAT_TIMEOUT \
  458. _(" --server-stat-timeout=SEC Specifies timeout in seconds to invalidate\n" \
  459. " performance profile of the servers since the last\n" \
  460. " contact to them.")
  461. #define TEXT_AUTO_SAVE_INTERVAL \
  462. _(" --auto-save-interval=SEC Save a control file(*.aria2) every SEC seconds.\n" \
  463. " If 0 is given, a control file is not saved during\n" \
  464. " download. aria2 saves a control file when it stops\n" \
  465. " regardless of the value.")
  466. #define TEXT_CERTIFICATE \
  467. _(" --certificate=FILE Use the client certificate in FILE.\n" \
  468. " The certificate must be in PEM format.\n" \
  469. " You may use --private-key option to specify the\n" \
  470. " private key.")
  471. #define TEXT_PRIVATE_KEY \
  472. _(" --private-key=FILE Use the private key in FILE.\n" \
  473. " The private key must be decrypted and in PEM\n" \
  474. " format. See also --certificate option.")
  475. #define TEXT_CA_CERTIFICATE \
  476. _(" --ca-certificate=FILE Use the certificate authorities in FILE to verify\n" \
  477. " the peers. The certificate file must be in PEM\n" \
  478. " format and can contain multiple CA certificates.\n" \
  479. " Use --check-certificate option to enable\n" \
  480. " verification.")
  481. #define TEXT_CHECK_CERTIFICATE \
  482. _(" --check-certificate[=true|false] Verify the peer using certificates specified\n" \
  483. " in --ca-certificate option.")
  484. #define TEXT_NO_PROXY \
  485. _(" --no-proxy=DOMAINS Specify comma separated hostnames, domains or\n" \
  486. " network address with or without CIDR block where\n" \
  487. " proxy should not be used.")
  488. #define TEXT_USE_HEAD \
  489. _(" --use-head[=true|false] Use HEAD method for the first request to the HTTP\n" \
  490. " server.")
  491. #define TEXT_EVENT_POLL \
  492. _(" --event-poll=POLL Specify the method for polling events.")
  493. #define TEXT_XML_RPC_LISTEN_PORT \
  494. _(" --xml-rpc-listen-port=PORT Specify a port number for XML-RPC server to listen\n" \
  495. " to.")
  496. #define TEXT_ENABLE_XML_RPC \
  497. _(" --enable-xml-rpc[=true|false] Enable XML-RPC server.\n" \
  498. " It is strongly recommended to set username and\n" \
  499. " password using --xml-rpc-user and --xml-rpc-passwd\n" \
  500. " option. See also --xml-rpc-listen-port option.")
  501. #define TEXT_XML_RPC_MAX_REQUEST_SIZE \
  502. _(" --xml-rpc-max-request-size=SIZE Set max size of XML-RPC request. If aria2\n" \
  503. " detects the request is more than SIZE bytes, it\n" \
  504. " drops connection.")
  505. #define TEXT_XML_RPC_USER \
  506. _(" --xml-rpc-user=USER Set XML-RPC user.")
  507. #define TEXT_XML_RPC_PASSWD \
  508. _(" --xml-rpc-passwd=PASSWD Set XML-RPC password.")
  509. #define TEXT_BT_EXTERNAL_IP \
  510. _(" --bt-external-ip=IPADDRESS Specify the external IP address to report to a\n" \
  511. " BitTorrent tracker. Although this function is\n" \
  512. " named 'external', it can accept any kind of IP\n" \
  513. " addresses.")
  514. #define TEXT_HTTP_AUTH_CHALLENGE \
  515. _(" --http-auth-challenge[=true|false] Send HTTP authorization header only when it\n" \
  516. " is requested by the server. If false is set, then\n" \
  517. " authorization header is always sent to the server.\n" \
  518. " There is an exception: if username and password\n" \
  519. " are embedded in URI, authorization header is\n" \
  520. " always sent to the server regardless of this\n" \
  521. " option.")
  522. #define TEXT_INDEX_OUT \
  523. _(" -O, --index-out=INDEX=PATH Set file path for file with index=INDEX. You can\n" \
  524. " find the file index using the --show-files option.\n" \
  525. " PATH is a relative path to the path specified in\n" \
  526. " --dir option. You can use this option multiple\n" \
  527. " times.")
  528. #define TEXT_DRY_RUN \
  529. _(" --dry-run[=true|false] If true is given, aria2 just checks whether the\n" \
  530. " remote file is available and doesn't download\n" \
  531. " data. This option has effect on HTTP/FTP download.\n" \
  532. " BitTorrent downloads are canceled if true is\n" \
  533. " specified.")
  534. #define TEXT_BT_TRACKER_INTERVAL \
  535. _(" --bt-tracker-interval=SEC Set the interval in seconds between tracker\n" \
  536. " requests. This completely overrides interval value\n" \
  537. " and aria2 just uses this value and ignores the\n" \
  538. " min interval and interval value in the response of\n" \
  539. " tracker. If 0 is set, aria2 determines interval\n" \
  540. " based on the response of tracker and the download\n" \
  541. " progress.")
  542. #define TEXT_ON_DOWNLOAD_COMPLETE \
  543. _(" --on-download-complete=COMMAND Set the command to be executed when download\n" \
  544. " completes.\n" \
  545. " See --on-download-start option for the\n" \
  546. " requirement of COMMAND.\n" \
  547. " See also --on-download-stop option.")
  548. #define TEXT_ON_DOWNLOAD_START \
  549. _(" --on-download-start=COMMAND Set the command to be executed when download\n" \
  550. " starts up. COMMAND must take just one argument and\n" \
  551. " GID is passed to COMMAND as a first argument.")
  552. #define TEXT_ON_DOWNLOAD_PAUSE \
  553. _(" --on-download-pause=COMMAND Set the command to be executed when download\n" \
  554. " is paused.\n"\
  555. " See --on-download-start option for the\n" \
  556. " requirement of COMMAND.")
  557. #define TEXT_ON_DOWNLOAD_ERROR \
  558. _(" --on-download-error=COMMAND Set the command to be executed when download\n" \
  559. " aborts due to error.\n" \
  560. " See --on-download-start option for the\n" \
  561. " requirement of COMMAND.\n" \
  562. " See also --on-download-stop option.")
  563. #define TEXT_ON_DOWNLOAD_STOP \
  564. _(" --on-download-stop=COMMAND Set the command to be executed when download\n" \
  565. " stops. You can override the command to be executed\n" \
  566. " for particular download result using\n" \
  567. " --on-download-complete and --on-download-error. If\n" \
  568. " they are specified, command specified in this\n" \
  569. " option is not executed.\n" \
  570. " See --on-download-start option for the\n" \
  571. " requirement of COMMAND.")
  572. #define TEXT_BT_STOP_TIMEOUT \
  573. _(" --bt-stop-timeout=SEC Stop BitTorrent download if download speed is 0 in\n" \
  574. " consecutive SEC seconds. If 0 is given, this\n" \
  575. " feature is disabled.")
  576. #define TEXT_XML_RPC_LISTEN_ALL \
  577. _(" --xml-rpc-listen-all[=true|false] Listen incoming XML-RPC requests on all\n" \
  578. " network interfaces. If false is given, listen only\n" \
  579. " on local loopback interface.")
  580. #define TEXT_BT_PRIORITIZE_PIECE \
  581. _(" --bt-prioritize-piece=head[=SIZE],tail[=SIZE] Try to download first and last\n" \
  582. " pieces of each file first. This is useful for\n" \
  583. " previewing files. The argument can contain 2\n" \
  584. " keywords:head and tail. To include both keywords,\n" \
  585. " they must be separated by comma. These keywords\n" \
  586. " can take one parameter, SIZE. For example, if\n" \
  587. " head=SIZE is specified, pieces in the range of\n" \
  588. " first SIZE bytes of each file get higher priority.\n" \
  589. " tail=SIZE means the range of last SIZE bytes of\n" \
  590. " each file. SIZE can include K or M(1K = 1024, 1M =\n" \
  591. " 1024K). If SIZE is omitted, SIZE=1M is used.")
  592. #define TEXT_INTERFACE \
  593. _(" --interface=INTERFACE Bind sockets to given interface. You can specify\n" \
  594. " interface name, IP address and hostname.")
  595. #define TEXT_DISABLE_IPV6 \
  596. _(" --disable-ipv6[=true|false] Disable IPv6.")
  597. #define TEXT_BT_SAVE_METADATA \
  598. _(" --bt-save-metadata[=true|false] Save metadata as .torrent file. This option has\n" \
  599. " effect only when BitTorrent Magnet URI is used.\n" \
  600. " The filename is hex encoded info hash with suffix\n" \
  601. " .torrent. The directory to be saved is the same\n" \
  602. " directory where download file is saved. If the\n" \
  603. " same file already exists, metadata is not saved.\n" \
  604. " See also --bt-metadata-only option.")
  605. #define TEXT_HTTP_NO_CACHE \
  606. _(" --http-no-cache[=true|false] Send Cache-Control: no-cache and Pragma: no-cache\n" \
  607. " header to avoid cached content. If false is\n" \
  608. " given, these headers are not sent and you can add\n" \
  609. " Cache-Control header with a directive you like\n" \
  610. " using --header option.")
  611. #define TEXT_BT_METADATA_ONLY \
  612. _(" --bt-metadata-only[=true|false] Download metadata only. The file(s) described\n" \
  613. " in metadata will not be downloaded. This option\n" \
  614. " has effect only when BitTorrent Magnet URI is\n" \
  615. " used. See also --bt-save-metadata option.")
  616. #define TEXT_HUMAN_READABLE \
  617. _(" --human-readable[=true|false] Print sizes and speed in human readable format\n" \
  618. " (e.g., 1.2Ki, 3.4Mi) in the console readout.")
  619. #define TEXT_BT_ENABLE_LPD \
  620. _(" --bt-enable-lpd[=true|false] Enable Local Peer Discovery.")
  621. #define TEXT_BT_LPD_INTERFACE \
  622. _(" --bt-lpd-interface=INTERFACE Use given interface for Local Peer Discovery. If\n" \
  623. " this option is not specified, the default\n" \
  624. " interface is chosen. You can specify interface\n" \
  625. " name and IP address.")
  626. #define TEXT_REUSE_URI \
  627. _(" --reuse-uri[=true|false] Reuse already used URIs if no unused URIs are\n" \
  628. " left.")
  629. #define TEXT_ALL_PROXY_USER \
  630. _(" --all-proxy-user=USER Set user for --all-proxy option.")
  631. #define TEXT_ALL_PROXY_PASSWD \
  632. _(" --all-proxy-passwd=PASSWD Set password for --all-proxy option.")
  633. #define TEXT_HTTP_PROXY_USER \
  634. _(" --http-proxy-user=USER Set user for --http-proxy option.")
  635. #define TEXT_HTTP_PROXY_PASSWD \
  636. _(" --http-proxy-passwd=PASSWD Set password for --http-proxy option.")
  637. #define TEXT_HTTPS_PROXY_USER \
  638. _(" --https-proxy-user=USER Set user for --https-proxy option.")
  639. #define TEXT_HTTPS_PROXY_PASSWD \
  640. _(" --https-proxy-passwd=PASSWD Set password for --https-proxy option.")
  641. #define TEXT_FTP_PROXY_USER \
  642. _(" --ftp-proxy-user=USER Set user for --ftp-proxy option.")
  643. #define TEXT_FTP_PROXY_PASSWD \
  644. _(" --ftp-proxy-passwd=PASSWD Set password for --ftp-proxy option.")
  645. #define TEXT_REMOVE_CONTROL_FILE \
  646. _(" --remove-control-file[=true|false] Remove control file before download. Using\n" \
  647. " with --allow-overwrite=true, download always\n" \
  648. " starts from scratch. This will be useful for\n" \
  649. " users behind proxy server which disables resume.")
  650. #define TEXT_ALWAYS_RESUME \
  651. _(" --always-resume[=true|false] Always resume download. If true is given, aria2\n" \
  652. " always tries to resume download and if resume is\n" \
  653. " not possible, aborts download. If false is given,\n" \
  654. " when all given URIs do not support resume or\n" \
  655. " aria2 encounters N URIs which does not support\n" \
  656. " resume (N is the value specified using\n" \
  657. " --max-resume-failure-tries option), aria2\n" \
  658. " downloads file from scratch.\n" \
  659. " See --max-resume-failure-tries option.")
  660. #define TEXT_MAX_RESUME_FAILURE_TRIES \
  661. _(" --max-resume-failure-tries=N When used with --always-resume=false, aria2\n" \
  662. " downloads file from scratch when aria2 detects N\n" \
  663. " number of URIs that does not support resume. If N\n" \
  664. " is 0, aria2 downloads file from scratch when all\n" \
  665. " given URIs do not support resume.\n" \
  666. " See --always-resume option.")
  667. #define TEXT_BT_TRACKER_TIMEOUT \
  668. _(" --bt-tracker-timeout=SEC Set timeout in seconds.")
  669. #define TEXT_BT_TRACKER_CONNECT_TIMEOUT \
  670. _(" --bt-tracker-connect-timeout=SEC Set the connect timeout in seconds to\n" \
  671. " establish connection to tracker. After the\n" \
  672. " connection is established, this option makes no\n" \
  673. " effect and --bt-tracker-timeout option is used\n" \
  674. " instead.")
  675. #define TEXT_DHT_MESSAGE_TIMEOUT \
  676. _(" --dht-message-timeout=SEC Set timeout in seconds.")
  677. #define TEXT_HTTP_ACCEPT_GZIP \
  678. _(" --http-accept-gzip[=true|false] Send 'Accept: deflate, gzip' request header\n" \
  679. " and inflate response if remote server responds\n" \
  680. " with 'Content-Encoding: gzip' or\n" \
  681. " 'Content-Encoding: deflate'.")
  682. #define TEXT_SAVE_SESSION \
  683. _(" --save-session=FILE Save error/unfinished downloads to FILE on exit.\n" \
  684. " You can pass this output file to aria2c with -i\n" \
  685. " option on restart. Please note that downloads\n" \
  686. " added by aria2.addTorrent and aria2.addMetalink\n" \
  687. " XML-RPC method are not saved.")
  688. #define TEXT_MAX_CONNECTION_PER_SERVER \
  689. _(" -x, --max-connection-per-server=NUM The maximum number of connections to one\n" \
  690. " server for each download.")
  691. #define TEXT_MIN_SPLIT_SIZE \
  692. _(" -k, --min-split-size=SIZE aria2 does not split less than 2*SIZE byte range.\n" \
  693. " For example, let's consider downloading 20MiB\n" \
  694. " file. If SIZE is 10M, aria2 can split file into 2\n" \
  695. " range [0-10MiB) and [10MiB-20MiB) and download it\n" \
  696. " using 2 sources(if --split >= 2, of course).\n" \
  697. " If SIZE is 15M, since 2*15M > 20MiB, aria2 does\n" \
  698. " not split file and download it using 1 source.\n" \
  699. " You can append K or M(1K = 1024, 1M = 1024K).")
  700. #define TEXT_CONDITIONAL_GET \
  701. _(" --conditional-get[=true|false] Download file only when the local file is older\n" \
  702. " than remote file. Currently, this function has\n" \
  703. " many limitations. See man page for details.")
  704. #define TEXT_ON_BT_DOWNLOAD_COMPLETE \
  705. _(" --on-bt-download-complete=COMMAND For BitTorrent, a command specified in\n" \
  706. " --on-download-complete is called when download\n" \
  707. " completes and seeding is over. On the other hand,\n" \
  708. " this option sets the command to be executed when\n" \
  709. " download completes but before seeding.\n" \
  710. " See --on-download-start option for the\n" \
  711. " requirement of COMMAND.")
  712. #define TEXT_ENABLE_ASYNC_DNS6 \
  713. _(" --enable-async-dns6[=true|false] Enable IPv6 name resolution in asynchronous\n" \
  714. " DNS resolver. This option will be ignored when\n" \
  715. " --async-dns=false.")
  716. #define TEXT_ENABLE_DHT6 \
  717. _(" --enable-dht6[=true|false] Enable IPv6 DHT functionality.\n" \
  718. " Use --dht-listen-port option to specify port\n" \
  719. " number to listen on. See also --dht-listen-addr6\n" \
  720. " option.")
  721. #define TEXT_DHT_LISTEN_ADDR6 \
  722. _(" --dht-listen-addr6=ADDR Specify address to bind socket for IPv6 DHT. \n" \
  723. " It should be a global unicast IPv6 address of the\n" \
  724. " host.")
  725. #define TEXT_DHT_ENTRY_POINT6 \
  726. _(" --dht-entry-point6=HOST:PORT Set host and port as an entry point to IPv6 DHT\n" \
  727. " network.")
  728. #define TEXT_DHT_FILE_PATH6 \
  729. _(" --dht-file-path6=PATH Change the IPv6 DHT routing table file to PATH.")
  730. #define TEXT_BT_TRACKER \
  731. _(" --bt-tracker=URI[,...] Comma separated list of additional BitTorrent\n" \
  732. " tracker's announce URI. These URIs are not\n" \
  733. " affected by --bt-exclude-tracker option because\n" \
  734. " they are added after URIs in --bt-exclude-tracker\n" \
  735. " option are removed.")
  736. #define TEXT_BT_EXCLUDE_TRACKER \
  737. _(" --bt-exclude-tracker=URI[,...] Comma separated list of BitTorrent tracker's\n" \
  738. " announce URI to remove. You can use special value\n" \
  739. " '*' which matches all URIs, thus removes all\n" \
  740. " announce URIs. When specifying '*' in shell\n" \
  741. " command-line, don't forget to escape or quote it.\n" \
  742. " See also --bt-tracker option.")
  743. #define TEXT_MAX_DOWNLOAD_RESULT \
  744. _(" --max-download-result=NUM Set maximum number of download result kept in\n" \
  745. " memory. The download results are completed/error/\n" \
  746. " removed downloads. The download results are stored\n" \
  747. " in FIFO queue and it can store at most NUM\n" \
  748. " download results. When queue is full and new\n" \
  749. " download result is created, oldest download result\n" \
  750. " is removed from the front of the queue and new one\n" \
  751. " is pushed to the back. Setting big number in this\n" \
  752. " option may result high memory consumption after\n" \
  753. " thousands of downloads. Specifying 0 means no\n" \
  754. " download result is kept.")