Before the file is sent the server should sent you a Content-Length line contained within the header telling you filesize in bytes of the requested file. So you can store this value somewhere, perhaps use /sockmark to assign it to the socket itself. Then as you said $sock().rcvd will give you the number of bytes received, and $sock().to the number of seconds the socket has been open. You can then calculate the ratio of bytes received against total bytes with $calc($sock(name).rcvd / $sock(name).mark) to know how the progress of the download. For download speed you could use $calc($sock(name).rcvd / $sock(name).to / 1000) for kb/s and $duration($calc(($sock(name).mark - $sock(name).rcvd) * $sock(name).to / $sock(name).rcvd)) for expected time remaining