Looks cool. I like the use of the php://temp stream.
- mb_strlen() should only be used after checking extension_loaded(). Regular strlen() should be used if the extension is not loaded or add a new extension dependency to the package. You can make this forwards compatible by using a binary case.
- exception class documentation references Services_Digg
- class and file-level docblock lines should be indented by one space. ' * ', not '* '.
- class level documentation is missing and just repeats the class name
- contrary to the docs, the destructor can't throw an exception
- if the destructor is called after failure to connect to a tracker, fclose() will be called on false. This will raise an E_WARNING
- dependency on Validate is missing in package.xml