Looks like an interesting project! I have a couple of answers to some of the questions you posed on the page:
1) Upload queues return a 503 if the file is there but the queue is full, so if you get a 404 you can be sure that the file is in fact not available. Shareaza never sends a 404 unless the file actually isn't there.
2) It's fine to have sources embedded in the magnet link of the form "/get/NNN/filename", but this is not always too convenient as you have to know the index number. On Shareaza nodes (and I think some other vendor), you can just skip the "/get/NNN" part altogether, and just link to, eg, "http://0.0.0.0:6346/filename.ext", and it will find the file automatically.
3) To use the method above, you still need to have completed downloading the file. To add a source to the magnet URL which could be partial OR fully downloaded, you can use a uri-res URL. For example:
magnet:?xt=urn:sha1:YNCKHTMCFBTRNJIV4GNAE52SJUQCZO5C&dn=In.The.Begining.bin&xs=http:/ /0.0.0.0:6346/uri-res/N2R?urn:sha1:YNCKHTMCFBTRNJIV4GNAE52SJUQCZO5C
The "/uri-res/N2R?" request is a standard that allows a resource to be requested by hash, independent of the name (so it will even work if the user renames the file!) It will also work with partial or full files, and is the method used by Shareaza internally with PFS and source mesh sharing. I believe some other clients support uri-res too, but I can't confirm that.
Good luck!
-----------------------------------------------
*Excerpt from
UTC forum discussion
in response to the
Leaf Blower Project*