Announcement

Collapse
No announcement yet.

How to cross-seed: The right way

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to cross-seed: The right way

    Difficulty: 4/10
    Time: <30 minutes
    Requirements: Two private trackers with the same content, a torrent client, and a POSIX-compliant operating system
    Supplies: Two torrent files for the same torrent from separate trackers

    INTRODUCTION

    For those of you that are not familiar with this topic, cross-seeding is where you seed the same torrent on two or more trackers. This is a very useful way to help increase your ratio. The problem involved with cross-seeding is that the entire file structure, including file names need to be identical. You also need to seed the full and complete torrent to make sure you get those handy bonus points.

    The technique I am going to show you will allow you to have the file stored wherever you want and named in any convention you wish, whether it be scene or something entirely different. This technique solely relies on the use of hard links. Hard links allow you to have multiple pointers all directed to the same file. This means that if you change the file from one pointer, the original source is also changed. On the plus side, if you delete the hard linked “file,” your source file will rename unharmed. You can also name the link to be something entirely different from the source. The only downside of hard links is that they require the file and link to be on the same partition. Hard links are supported in all POSIX and partially POSIX compliant operating systems, this includes Linux, Mac, and all Windows NT operating systems and later. The actual way to use them will be different, obviously, so for the purposes of this tutorial I will be demonstrating how to do this in Windows 7. The torrent client I will be using will be µTorrent.

    PROCEDURE

    Step 1:

    Find a file that has a torrent on at least two trackers. For fun, rename the file to something else (this is only for demonstration purposes). If you were currently seeding the torrent, remove it from your client. You can alternatively tell it to “move,” but I’ve had varying degrees of success with that and found it to be slower than just removing it and adding it again.

    Make sure to write down the full path to the file, including the file’s name and extension.

    Step 2:

    On the same partition as the drive where the file is stored, create a directory to store your links and whatever remaining files the torrent requires, such as pictures, .nfo files, samples, etc…

    Step 3:

    Configure your client to be in upload only mode. This is a good idea, because if it turns out that the file is not the same across both trackers then you won’t accidentally start to download it and overwrite the file. Once it passes the check you can turn on downloading again, you might need to download some remaining bits, but this will be fine, as usually they are small amounts.

    There are a couple of ways to do this in µTorrent. My favorite way is to do it through the scheduler. The quickest way to access the scheduler is to right click on the bar at the bottom of the window, to the left of the download speed and click on “Enable Scheduler”.



    After you’ve done that you should see it say something like limited by scheduler or seeding only or something similar. Double click on that text to open up the scheduler. In the window that pops up, make all of the squares pink by clicking on one square until it becomes pink and dragging across all the others. It should look like this when you’re done:



    Click on “OK” and make sure that your bar now says, “Seeding only”. At this point you will only be able to seed files. To undo this process, simply right click on the “Seeding only” text and click on “Enable Scheduler”. The label at the bottom of the screen should disappear.

    Step 4:

    NOTE: Before doing this step, if you have enabled some sort of default – do ___ when torrents are added, turn it off. The Add New Torrent screen needs to come up when you add a torrent.

    Open up one of your torrents. You should see a screen like the following, if you don’t see the above note:



    In this picture you need to take notice of a couple of important things. First off, at the top where it says “Save As” you will see the directory structure. For this example it should be obvious that there are no subdirectories or additional files included. I just so happened to get lucky with this torrent, as these are the easiest to demonstrate. If the directory structure does not end in a file extension, i.e. “.mkv” then you are not pointing directly to the file, but rather a directory that contains the file. The second thing to pay attention to is the file you are wishing to cross-seeds name, as well as any other files that need to be included. It will make more sense how to deal with different directory structures and what to do with other files once I finish this example.

    Open up command prompt. This is done by clicking on the start orb and typing “cmd” and pressing enter. Note, it may be easier to first type the text into a text editor and then paste it into command prompt. At this point, we are now going to create a hard link. To create a hard link the command “mklink” is used. It should be used in the following format:

    mklink /H “Path\To\Link Directory\Linked File Name” “Path\To\Source File\Source file Name”

    The switch “/H” tells the command that you wish to create a hard link. To learn more about the command you can type “mklink /?”. It is very important to include double quotes around both of your path names, this ensures that spaces and special characters are dealt with appropriately. The path to the link directory will be the directory created in Step 2 followed by whatever directory is needed to get to the file. For example, if your link directory was C:\Link and in your “Save As” prompt it pointed to the directory “Animal House”, then the link directory will be C:\Link\Animal House. The linked file name will be the file name as the torrent requires. For this example, the full path and file name will be “C:\Link\Animal House.1978.mkv”. Similarly, the path to the source file will point to your source file (the already downloaded torrent) in Step 1. The name of my file is “Animal House [1978] (720p).mkv”.

    The full command for this example is:

    Code:
    mklink /H “C:\Link\Animal House.1978.mkv” “C:\HD Movies\Animal House [1978] (720p).mkv”
    If you executed the command correctly, you will now see the file in the directory that you created in Step 2. At this point, you should copy over any of the other relevant files to the same exact location that are shown in the torrent.

    Click on the ellipsis in the “Save As” field and navigate to either the file or the directory (this is completely dependent upon the torrent). In this example, I will navigate directly to the file, had it been in a directory, I would navigate to the directory. Click on “OK”.

    If all has worked out correctly, you will see your client checking to make sure that the file is the same as the torrent, as shown below. If it finishes the check and fails, meaning that the files are not the same, you should remove the torrent. If the torrents are the same then it will either go straight to seeding or will be stopped at 99% because you may be missing some small pieces. If you are, disable the scheduler and download them.

    Repeat this step (Step 4) for the other torrent. If the file names and structure are the same you will not need to create links, if the names are different than you will have to make another hard link. Remember that by just making links you are not using any disk space, whatsoever. Also, if you have to download extra bits it will be worth it in the bonus points alone, if not the seeding that you will be doing.

    CONCLUSION

    By following this tutorial you should be able to cross-seed successfully without consuming any extra disk space. I used this technique to add 40+ movies to a new tracker and after only 2 weeks I have already uploaded 100 GB from my home (non-seedbox) connection.

    Hopefully this will help you get that extra ratio boost that you need.
    Last edited by SuperN3rd; February 1, 2014, 09:59 AM. Reason: Fixed broken images

  • #2
    Bravo! my solution is not nearly as elegent.
    in screen...
    ctrl+a->1->./symlink.sh Beginnin.of.foldername->tab->tracker->enter
    ctrl+a->2->wget http://path.to.torrent->enter
    ctrl+a->0

    Comment


    • #3
      Thank you :), this will come in handy, have had problem cross seeding before.

      Comment


      • #4
        Thanks, nice tuto

        Comment


        • #5
          Cross-seeding is definitely worth the effort. Great tutorial!

          Comment


          • #6
            Say i have file/folder "A" and i just finished downloading it from one tracker but i want to seed it to another tracker right after; keeping in mind that they're BOTH the exact same file (name/size).

            Can i just add the .torrent file for tracker #2 while the file is still seeding from tracker 1? Or should i stop the torrent first?

            also, does one face any complications doing this via a seedbox?

            Comment


            • #7
              Originally posted by ccb03 View Post
              Say i have file/folder "A" and i just finished downloading it from one tracker but i want to seed it to another tracker right after; keeping in mind that they're BOTH the exact same file (name/size).

              Can i just add the .torrent file for tracker #2 while the file is still seeding from tracker 1? Or should i stop the torrent first?
              The only reason why you would want to stop the first tracker would be if you wanted to change the directory or file structure. Then you would need to remove the torrent, follow my above procedure to make the hard links and then re-add the torrent. There is actually no real need to ever stop seeding the torrent. I still recommend that you put your client into seed only mode, this way if your second tracker is not identical then you don't have to worry about overwriting the original files. If everything is identical and you don't want to move files around and change things, then it is literally as simple as just adding the new torrent and pointing it to your existing file/directory.

              Originally posted by ccb03 View Post
              also, does one face any complications doing this via a seedbox?
              When simply cross seeding identical torrents, as I just mentioned, there are never any complications. When it comes to following my procedure, the techniques are going to be the same; however, the actual operation will be different. This will be for a few of reasons:

              1) Your seedbox is most likely running a linux distro, so the commands to create hard links will be different.
              2) If it is not a VPS then you might not be able to create hard links. This entirely depends on your seedbox. I've seen a number of different seedboxes offering many different solutions, so it just depends on how bare bones your seedbox is. In other words, if all you have access to is a web client and you can only add/remove torrents and transfer files to and from your home computer, then you probably will not be able to add hard links. If you are able to SSH in, and thus have a terminal that you can use, then you most likely will be able to.
              3) Your torrent client will most likely not be µTorrent, so the steps I showed on how to set the client into seed only mode and how to see in the info about the torrent contents will be slightly different.

              Comment


              • #8
                Thanks for the guide SuperN3rd, well laid out. I'd like to add if its a torrent with a directory you need this code.
                Code:
                 mklink /J "C:\Path to New Link" "C:\Path to Real Files"

                Comment


                • #9
                  Originally posted by strobus View Post
                  Thanks for the guide SuperN3rd, well laid out. I'd like to add if its a torrent with a directory you need this code.
                  Code:
                   mklink /J "C:\Path to New Link" "C:\Path to Real Files"
                  Yeah, that's another one that I frequently use; however, it's important to note that you are not making a hard link in this case, but rather a junction. A junction is just a fancy way of saying a symlink for directories. Be careful when using symlinks, I've found that they work fine for directories, but for individual files I've had issues with my DC++ client not seeing the files. I haven't tested symlinks with torrents, but I'd imagine they both work in a similar fashion.

                  I also like to use "/d /j" instead of just "/j"; both should work, but I like to go ahead and explicitly state that it's a directory.

                  This was a good addition to add to this thread, thanks.

                  Comment


                  • #10
                    Thanks for this tutorial, when I first joined private trackers and my ratio sucked I searched for the longest time for something like this, hope new members find it.

                    Comment


                    • #11
                      For some reason, seeding in general takes way too long for me. I would love to try cross-seeding but I've never successfully seeded a file because it never finishes, it just keeps going and going. Thanks for the tutorial though, when I get this problem fixed I'll definitely try this.

                      Comment


                      • #12
                        A note about symlinks

                        I figured I should probably say something in this thread about them. Symbolic links (symlinks) are essentially pointers that point directly to the file. They are not shortcuts, but are similar. The advantage of symlinks over hardlinks is that you can create symlinks across different partitions. I started playing around a bit with symlinks and learned somethings that I wanted to warn you about.

                        Symlinks should work just fine for cross-seeding torrents; however, µTorrent's support for them is shoddy at best. µTorrent will follow the link if you force it to. This is done by forcing it to re-check and then clicking play while it is re-checking. This will get the torrent seeding; however, if you have to stop the torrent for any reason or close your client, you have to repeat that process all over again. As you can imagine, this would quickly get irritating and be extremely time consuming, especially if you have hundreds of torrents running. The developers of µTorrent know of this issue and do not seem to care, so I would not count on this getting fixed.

                        I'm sure symlinks work in other clients and OS', but for use with µTorrent, I strongly advise avoiding them.

                        Comment


                        • #13
                          very useful man
                          i'll certainly give it a try

                          Comment


                          • #14
                            I'm getting the following error:
                            Code:
                            The syntax of the command is incorrect
                            Here's what I'm entering:
                            Code:
                            mklink /H “D:\Users\Public\Videos\Men in Black 3 CS” “D:\Users\Public\Videos\Men In Black 3 [2012] [DVDRiP] [XViD] [CS]”
                            The problem seems to me that I'm connecting folders not just files, the thing is though that the torrent is more than just one file... am I supposed to do this for each file separately?
                            Scratch that I just tried this still no dice:


                            Code:
                            mklink /H “D:\Users\Public\Videos\Men in Black 3 CS\MIB3.avi” “D:\Users\Public\Videos\Men In Black 3 [2012] [DVDRiP] [XViD] [CS]\MIB3.avi”
                            Thanks.


                            Never mind I did what people earlier suggested and it worked (the /d/j thing in place of /h)
                            Last edited by Vaccine; September 6, 2012, 10:44 PM.

                            Comment


                            • #15
                              Originally posted by Vaccine View Post
                              I'm getting the following error:
                              Code:
                              The syntax of the command is incorrect
                              Here's what I'm entering:
                              Code:
                              mklink /H “D:\Users\Public\Videos\Men in Black 3 CS” “D:\Users\Public\Videos\Men In Black 3 [2012] [DVDRiP] [XViD] [CS]”
                              The problem seems to me that I'm connecting folders not just files, the thing is though that the torrent is more than just one file... am I supposed to do this for each file separately?
                              Scratch that I just tried this still no dice:


                              Code:
                              mklink /H “D:\Users\Public\Videos\Men in Black 3 CS\MIB3.avi” “D:\Users\Public\Videos\Men In Black 3 [2012] [DVDRiP] [XViD] [CS]\MIB3.avi”
                              Thanks.


                              Never mind I did what people earlier suggested and it worked (the /d/j thing in place of /h)
                              Yeah for directories just use /J or /D /J. That being said, what you have for your second piece of code should have worked just fine, as you were making a hardlink for a file not a directory. Just make sure you have the commands in the right order. The first location is the link (the renamed file) and the second is the target (the original source). Also, you will need to have any required directories created. Making a hardlink will not automatically create a directory.

                              Comment

                              Working...
                              X