TLDR: Is there a way I can just choose files to seed automatically instead of downloading again first?
Pretty new to using torrents and I have a bunch of files I’ve been able to download over time through magnet links. Some of which I was unable to seed for long periods of time so removed but would like to be able to still seed them again.
It doesn’t look like I have torrent files for them and I tried copying the. Torrent file to another folder when using magnets to see if I could get it from that. I was able to get some from that but it seems to just start a Download again. Can anyone explain this process a little bit better for me so I can offer up my files at later times too?
I assume renames affect the “exact” part of it right?
Yes you’ll need everything to be exactly as you received it including extra things like .txt files and the like. This is to prevent someone from replacing a legitimate file with something malicious.
You’re wrong. Partially. Stand by while I illustrate.
File names are not included in content hashes.
Let’s first see how a torrent file is created, using quick-and-dirty bitmaps I just drew. File sizes will be in whole MiB (1 MiB = 1 pixel width) for convenience.
🚧 UNDER CONSTRUCTION 🚧
So you have a file tree you wanna share.

The client will arrange the files in some order. I think you can create a valid torrent file with any ordering but let’s just assume it’s by path, alphabetical. (Sizes are not to scale)

Now file contents are concatenated.

Then split into 14MiB chunks (in practice 16MiB but I forgot to account for border while drawing lol) and zero-padded (grey) to fill the last chunk.

🚧 FOR INTERNAL USE 🚧 cuz I'm too lazy to transfer the text to my PC using a more reasonable method
Externally, You can also omit .nfo files etc. but the whole chunk will not be seeded because
So when I download only some files from a torrent, it’s likely that I can’t seed all of those files to the next person? I have done partial leeches before and left them seeding under the impression that I could at least seed exactly those files if anyone else wanted them. If that’s impossible (or at least unlikely to work because of chunking), then I might download the whole thing next time (or just leave the swarm).
Your client must have downloaded entire chunks, including parts of adjacent files to those you wanted. I think most clients will discard them but it’s possible they are stored somewhere hidden to enable seeding them again.
It’s always better to seed something even if it’s not an entire file. Peers are usually upload-bandwidth-limited so being another person providing just a few chunks helps download speeds. Unless you meddle with their progress files, torrent clients will not announce (offer for download) chunks they cannot reassemble. Only people who have 100% of the data are listed as “seeders” in the swarm.
Renames are OK in pretty much all clients.
You can also use a torrent file editor to get the file names right before importing into a client. Useful for batch operations.
Yes. The hash has to be the same. They have to be identical files down to the last bit. Otherwise when you go to recheck the torrent, it’ll only be a partially completed torrent and you can only seed what you have finished.
Nope, file names can be different. It’s only the contents that are hashed. If there is a difference, the entirety of every affected chunk is unseedable and the chunk needs to be redownloaded (if allowed by the use). Then there’s the infohash that includes filenames but that’s not important.
This entirely depends on your client and the version of libtorrent that it uses. To say with exactitude you would need to know these things. Since we don’t, it’s more accurate to say that it breaks torrent verification.
Additionally, there are renames which can still break verification. Like changing file extensions.
I’m willing to take the risk. It’s like saying “your web browser supports WebGL”.
How does changing an extension break verification? It’s just a rename again. I have successfully changed an extension using qBittorrent before. Via its web interface, even!