I think TCP would probably time out on the receiving side before you even established the 3 way handshake. You'd have to set up some kind of store-and-forward proxy on Earth using UDP or something with a cache on the Mars side.
You could auto-crawl sites via RSS feed, transmitting the contents many links deep. Each colonist could then subscribe to whatever sites interested them, including RSS feeds from sites such as HN. All the crawling would be done by a server on Earth which has a reliable (but delayed) channel to Mars.
The transmission between Earth and Mars would not be TCP/IP - it would be a protocol designed to maximise data recoverability without re-sending packets. It could use techniques such as 2d hamming codes for this (hashes within each packet and across many packets).