• Extend server with:
    • Ask for documents on multiple connections simultaneously (e.g., three connections at the same time).
    • Do not ask for documents exhaustively to all connections.
    • Drop hashes and connections to conform to a given resource consumption level.
  • Extend the basic client with:
    • Console showing received and stored documents.
    • Handles thout://hash_function/hash URIs.
    • Hash blacklisting, meaning certain documents known to the user can be explicitly refused to be stored.
    • Pluggable handling of MIME types.
  • (New) Node.js client
    • Serves documents from a particular folder. It is intended to work together with a regular HTTP server folder.
    • This process is quite complex, as internal URIs need to be changed to thout://hash_function/hash URIs.
      For example: 
      * Page index -links-to-> pages A, B, C
      * Page A -links-to-> pages B, D
      * Page B -links-to-> page C, A, index
      * Page C -links-to-> page D, index
      * Page D -links-to-> index

      The graph needs to be made into a tree, by dropping some nodes:
      * Page index -links-to-> pages A, B, C
      * Page A -links-to-> pages B, D
      * Page B -links-to-> page C
      * Page C -links-to-> page D
      * Page D

      Then topologically sorted: {D, C, B, A, index} and hashed in
      order with the links changed to thout://hash_function/hash
    • Also caches in memory a number of documents for the thout network.