every once in awhile i get a bug up my butt about sharing my massive, curated library… but every time i get distracted by the volume of steps it would take to create the necessary shit to seed and then find a place that would even take those seeds to index.
ami doin it wrong? why is it so hard? napster was easy.
I got into a private tracker and setup my stuff with radarr, sonarr, etc. to hardlink between my library and my tracked stuff. That way it’s quite nicely automated at least when downloading stuff there. I once moved my library to a new system which was a bit of a pain and I also dislike creating new stuff in the tracker… but I’m quite happy at how good automated it actually is for not being a product.
Walk us through the steps you’re taking. I’m curious how many there are and why you think there have to be that many.
im at ~36000 episodes and ~2800 movies in a hierarchical library primarily used for kodi and jellyfin. each series/movie is in its own folder… season of series are in their own folders… all have xml data regarding each file, created by mediaelch.
i already have a deluge container running over a vpn container so upload/download shouldnt be an issue… except i get a different ext address on the tunnel when i reconnect every once in awhile.
it just feels stupid i have this beautiful thing i cant share with the world without a mess of scripting
Hmmm, is your goal to share each season folder separately? Is that why you would need scripting?
Or are you looking to share everything at once without worrying about creating individual torrents? If this is what you’re looking for, then maybe Retroshare is what you’re looking for? I don’t know if stuff using eDonkey, Gnutella, or Kademlia are still around, but retroshare has file-sharing similar to those where you point the client at a folder and it just shares the entire thing.
IPFS would’ve been great for this, but they honestly screwed the pooch on that (it hogs resources, doesn’t have good clients, and doesn’t have a bridge to torrents or other networks i.e you can’t go “oh, I have a torrent file, let me see if the files for this are on IPFS and download them from there”).
id prolly be happy with it at the series level even, not necessarily the seasons… but one torrent seems like a pain to create… thousands seems arduous. without a lot of scripting that is. i’m checkin out retroshare also, thanks!
Hmm, creating torrents isn’t that hard.
for folder in * ; do transmission-create -o "$folder.torrent" "$folder" done
You can add a tracker by adding the
--tracker "$trackerUrl"
option. There isn’t much more scripting involved, AFAIK, unless you want to upload them to the tracker too. But if you join the DHT and share the magnet links somewhere, you should be done. Or is there more to the process I’m missing?that sounds easy enough, i’ll give it a try. i heard transmission was on the outs though…
You can use transmission just for creating the torrent. You don’t have to use the actual client. If qbittorrent is your client, it’s possible to add the torrents to the list at the same time with
for folder in * ; do transmission-create -o "$folder.torrent" "$folder" qbittorrent --save-path="$folder" "$folder.torrent" done
Then you create the torrent and start seeding it immediately. If you’ve already created the torrent files
for torrentFile in **/*.torrent ; do folderName="$(basename -s .torrent "$torrentFile")" folderParent="$(dirname "$torrentFile")" folderPath="$folderName/$folderParent" qbittorent --save-path="$folderPath" "$torrentFile" done
Depending on the setup, you could also just sym link the folder into
qbittorrent
’s download directory and copy your torrents into a folder thatqbittorrent
listens to. There are many ways to skin the cat. Check out the command line parameters for your torrent client.coool, thank you!
Can you show your exact folder structure?
very simple
//library/Movies/$movie_title //library/Series/%Series_title/%series_season
Then yes the solution of @onlinepersona@programming.dev is fine, no need for anything too complicated.
Most public trackers don’t take uploads from unknown people to combat spam/malware.
If you create a torrent and enable DHT/PEX it might get indexed by something like btdigg.com for people to find. It won’t be available on sites like 1337x.to. The advantage is your free to create a single torrent or any other organization you desire.
Private trackers generally accept uploads or make it simple to request upload access. But they have upload rules you must follow.
If you want to automate uploading there’s Upload-Assistant. UA makes it easy by creating a proper name and uploading to multiple trackers automatically.
In any case you must have port forwarding configured to greatly increase the likelyhood of others actually being able to download from you. If you don’t want to do that on your router a VPN with port forwarding is the private option (ProtonVPN, AirVPN, IVPN, njalla and few others).
this sounds promising. ive already got a vpn container (gluetun) to proton.
- Create Torrent
- Upload torrent to torrent cache website
- Torrent eventually propagates to DHT network
It’s easy. Create the torrent, upload it to a public tracker. Or send it to your friends. Or post the magnet link and rely on DHT.
what are the best tools to automagically create 40k torrent files from their xml metadata. are there tools to automatically bundle seasons/shows/collections?
Edit: OP actually has a simple folder structure, and
transmission-create
works fine, so no need for anything more than just looping over 1st level folders and files with a simple shell script.Basically you’d want to map seasons to folders within the torrent files. I found the
torf
python library on github that looks good, but there are two questions:- what’s the structure of those XML files, what do they contain?
- seeing the mass of torrents you want to create, it wouldn’t hurt to cache the cryptographic sum of the files’ blocks for the chosen block size, unless this is already in those XML files
Not that I’m implicitly saying I’d write a program to do this (I’m very unreliable), but looks like you’d need to go the programming route (you or someone else). It’s a matter of walking your folders, finding those XML files, parsing them with a library (python has a built in one), finding what to do with that info exactly, and passing it to torf. And preferably, saving the cryptographic sums, as well as the progress of the program. If you have the cryptographic sums in the XML files, it’d be worth it to make the program concurrent with threads, as it would be about reading and writing files as fast as possible, and this could be so fast saving progress would be pointless.
It depends. If you want to split the library by movies/shows/seasons/whatever, you can probably do that with a small shell script. If it’s by folder, that’s very easy. If for some reason you have an XML database and a flat file backend… well, you’d have to put the files into a folder tree for the torrents anyway. It would be much easier to actually move (or better yet, symlink or hard link) the files into that folder tree, unless there’s some kind of industrial-grade torrent software I’ve never heard of that can integrate with that, instead of just the filesystem. I’m sure they exist, given that bittorrent is used for stuff like video game updates, but that seems like a lot of work for not much gain.
the xml is just the media data usually ingested by kodi/jellyfin. its all already well structured in files and folders.
ill prolly start looking into a script i can use to generate the torrents and feed into my deluge container, but you have proven my point.
its not ‘easy’ to create and seed a library of files.
This tool sounds like something I could write if enough people need it.
Maybe you want something like a command line torrent client?
Get a filepath list of all the files you want to torrent, and use a text editor to paste the torrent executable and arguments to turn the file list into a script file, then run it?
I understand that Deluge can be operated via command line. https://forum.deluge-torrent.org/viewtopic.php?t=47831 I’m not sure whether that works on platforms other than Linux.
You should probably talk to the tracker admins about before you do this so that you don’t get mistaken as some kind of attack.
im all linux, and have a deluge container already working through a vpn… a scripted solution with symlink to an attached, read-only volume of my library kinda sounds like a start.
if anything, this all proves my point. its not easy to ‘just create a torrent and upload it’ as mentioned upthread
What are you trying to share?