by Guest on 2024/12/07 12:35:38 PM
Depends on how good you are with computers.
I assume you are talking about raw tar file, not compressed .tar.*z. I assume that you know the exact name of the file.
tar format does not have an index of its contents, so you somehow need to learn the position of specific file data inside it. You can try asking someone who has the full file to look at debug output that may state the offset and length of data. Then you can use some kind of debug version of torrent client (say, an example client from libtorrent) to download specific segments that contain that part of the big file. Of course, it is much easier to just ask the same person to extract the file, and send it to you.
If you don't know that, you need to scan record headers in the whole file, or at least part of it. For that, you need to read first file length from the first header, calculate the offset for jumping to the second file header (including padding), calculate the segment number(s) to download, provide them to the same instrumented client, download the second header, and repeat. When the file gets found, its data can be downloaded.
Unfortunately, if there's a lot of files, you would need to download (and store locally) a lot of long segments, in other words, a significant part of the file. It might be possible to ignore the hash checks, and only request specific byte ranges from peers, but you need to alter the torrent client further for that. If you know that the files are sorted, you can try to pinpoint the location quicker using binary search. That won't really work if the archive has both very big and very small files. If there is no order, or files were added in batches at different moments in time, you have to scan the headers from the start to the location of your file.
With a regular client, the only optimisation you have is turning on sequential download, and trying to generate a listing of files inside the archive while it is downloading. If you're lucky, an the file is near the start, you won't need to download 4 TB. If you are unlucky, you'll need to get the whole thing.
Try searching the internet for partial re-uploads of that collection of files unpacked.
by Guest on 2024/12/07 01:40:19 PM
Also, there are Linux FUSE file systems that mount bittorrent file contents as directories, and download the data in background. If they properly handle arbitrary seek requests (instead of just sequentially downloading the file and hoping for the best), they can help you.
TAR is the worst possible file format for Bittorrent transfers. I urge you to comment under the original release for everyone else to see that the archive format to be used is SquashFS. You wouldn't need to extract anything if on Linux - you could simply mount it as a file system and browse the individual directories. It is supported by 7z on Windows too, like an ordinary archive.
However as far as your usage scenario is concerned, it is not simple at all (see previous replies). The archive must have been split initially for ease of use.