aget - A small and performant HTTP/HTTPS/Gemini download tool Usage: > aget ? URL/A,TO,BUFSIZE/K/N,TIMEOUTSECONDS/K/N,TOSTDOUT/S,ONLYPROGRESS/S,QUIET/S: URL: The URL to download. TO: Optional destination path. The default is to download to the current directory to the URL file name. If a drive or directory is specified, it will download to the URL file name. If a complete path with file name is specified, it will download to that. BUFSIZE: Total buffer size in Bytes. This will be rounded to a size which makes sense for writing to a file system. TIMEOUTSECONDS: How many seconds to wait until connection times out. The default is whatever the connect timeout is in the TCP/IP stack uses. TOSTDOUT: Print the downloaded file to the standard output instead of downloading it to disk. ONLYPROGRESS: Only show the progress bar during download. QUIET: Be completely quiet, except if an error is encountered. Example: 1> aget https://uhc.a1k.org/UHCTools.lha Buffer size: 128kB Connected to uhc.a1k.org:443 TLS/SSL connection using 'TLS_CHACHA20_POLY1305_SHA256' Sent GET request! Server response: 200 OK Receiving file: 0% - [oooooooooooooooooooooooooooooooo] - 100% (39.15kB) 39.15kB received in 1.22s - 31.93kB/s Additional usage details: - A HTTP proxy can be used by setting the ENV-variable http_proxy to the URL of the proxy. - Using aget for HTTPS or Gemini requires AmiSSL 4+. Relevant info: It uses double buffering and asynchronous writes - downloads from the network to one buffer at the same time as it writes the other buffer to disk. This more or less removes the effect seek times and slow disks has on the download speed (as long as the disk is at least as fast as the network). This will be most effective if you have a real DMA disk controller, as then the disk writes taking place at the same time as the network download will steal a minimum of CPU time from the TCP/IP stack.