A free C++ BitTorrent/HTTP/FTP Download Client


Making torrents with BitComet

In order to share a single file or a file-set on the BitTorrent Network, the person who wants to share the content (and who will be the initial uploader/seeder) has to create first a small file called a “.torrent” file (e.g. MySharedContent.torrent). This file contains metadata about the shared files and the eventual trackers for the torrent (such as hash value, file size and name, piece size and hash, tracker IP etc.).

In order for the others to be able to access (download) the content you want to share they must possess the .torrent file you have just created for that content first. Therefore you'll have to make sure that you propagate it through some means. The most used and easy way is to upload the .torrent file on a torrent index web site, from where other users who are searching for the respective content will be able to download it and after that, their clients will automatically initiate BitTorrent downloads from you, by using the metadata information contained inside the .torrent file to locate the eventual tracker and eventually you as a seeder as well as the other peers in the swarm.

A question which often puzzles the minds of novice BitTorrent uploaders is the one about the trackers. At the creation time of the .torrent file you will be able to input (among other things) the URL of one or several trackers. While not mandatory anymore at present time (due to “trackerless torrents” being widely supported by most clients) this is still a robust and widely-used method of making sure that your torrent will have a classical and fully protocol-compliant means of tracking and sharing peers. Whether you choose to include tracker URLs or not in your .torrent file is entirely up to you. If you don't, it will fall entirely on the shoulders of DHT and PEX to track the peers in the swarm.

If you do not intend to upload the torrent on a private tracker index site then you should use only publicly open trackers which allow connections from anyone without requiring prior registration. Also in this case you shouldn't enable the private flag for your .torrent file, since that will prevent DHT and PEX from working in the future swarm and the torrent it's more likely to die sooner. You can easily get lists of the most used public tracker URLs from the Internet; we won't provide any URL here since the Internet is a highly dynamic environment and an eventual list would require constant maintenance in order to be up-to-date.

Once your .torrent file is created you'll come to the step of uploading it on a torrent index site. On each index site you should find detailed instructions on how to upload the .torrent file on their site; some of them will even have a running tracker which you may add in your .torrent file, so it's a good idea to check that first, before creating the .torrent file. Once you've uploaded the .torrent file you're pretty much done.

Therefore, as a bottom line remember that once the .torrent file is created, in order to actually start sharing the contents it defines, you'll need to make sure that these conditions are met:

  • you must make available the created .torrent file to the rest of the world (potential downloaders) since every person who will download the contents of the torrent will need the .torrent file first in order to initiate the download. This is easiest done by uploading the .torrent file on a torrent index site (use the on-site specific instructions for the detailed steps on doing that);
  • you must make sure that your BitComet client is running, that the .torrent file is added as a task in your Task List and that the respective task is running (seeding) as well (this will be indicated by an upward red arrow-like icon in front of your task).

The BitComet client has an embedded Torrent Maker dialog which will easily let you create the necessary .torrent file for starting to upload the desired content. At the end, after you input all the necessary info and choose all the desired options for the .torrent, when you hit the “Make Torrent” button, the torrent will be automatically added as a seeding task in your Task List.

After that all that's left for you to do, is to upload the .torrent file on one or more index sites and wait for other peers to find the stuff you shared on that site, download the .torrent file and start downloading from you. Therefore, don't forget to leave your client and the task running continuously for a while (at least until you can see another one or two additional seeds created inside the swarm).


If you upload your torrent on private trackers' index sites you'll be required to re-download the .torrent file you
uploaded and add it in your Task List before being able to seed (at least most of them will ask you this).
That is because they modify the .torrent file and embed pass-keys in it in order to permit access to the tracker only
for their members.

Therefore, make sure that you remove from your Task List the task which was added when you clicked on the "Make Torrent"
After that re-download the .torrent file which you uploaded to the index site, then in the Task Properties dialog
that pops up, point it to the location where the files of the torrent reside and after the automatic hash-check that
will follow, it will be added as a seeding task in your Task List.

Therefore, make sure that you read very attentively the uploading rules for every index site you will use.

Below you will find a detailed description of the Torrent Maker UI and it's options.

Open torrent maker Dialog

  • Method 1: Drag-and-drop source file or folder to BitComet main Window or floating Window.
  • Method 2: Click “File” then “Make Torrrent…”.
  • Method 3: Click the “Make” button on the BitComet toolbar (if it's not visible on the toolbar you can make it visible via the View → Toolbar Status → Buttons menu).

  • Torrent maker Dialog pops up:

Choose source file or folder to make torrent

Source File

Please first choose the type of source file, “single file” or “Directory(Muti-Files)”, and then click ‎ to navigate to the location where the source file resides and select the source file (folder).

Piece Size

Unless you have a special need, keeping the default setting “Auto” is recommended.

Note however, that for large files or file-sets (between a few GB and several tens of GB, or larger) the piece size in automatic mode may tend to become very large (2-4MB) in order to keep the .torrent file of a small size. This is not a very good thing, since a large piece size will often lead to slower piece propagation in the initial phase of the swarm, less efficient transactions inside the swarm and will often result in large amounts of garbage data for peers who have unreliable connections (the hash-check is performed only after the whole piece is received by a BitTorrent client).

Therefore if you see that the default setting results in large piece size, you could experiment with manual settings of the piece size (trying to keep it no bigger than 1MB). As long as your .torrent file doesn't get very big (it stays under, let's say, 1MB) that should be OK for very large file-sets. HTTP index sites can handle the download of .torrent files of this size, relatively easy, and a smaller piece size results in far more efficient transactions inside the swarm, faster initial propagation of the pieces and less rubbish data for other peers.

In general, you should try to find a compromise between the piece size and the resulting size of the .torrent file, but as a thumb rule try not to get over 1MB piece size even for very big file-sets. If your .torrent file gets too big, then it's a sign that you should probably split your file-set and upload it in different, related torrents (e.g. MyContent - Part I.torrent, MyContent - Part II.torrent etc.)

Tracker Server and DHT Network Node List

Fill in the URL of the tracker server and DHT network node list in the blank filed.

But there are some points you need to pay attention when entering URLs, therefore, please read further on:

BitComet Multi-server syntax specifications

This section describes the syntax for the case when you want to add multiple tracker URLs which share the same servers.

Server groups: BitComet connects to all servers according to groups. And those URLs that share the same tracker servers are classified as one group, or in another words, the same server with different ports is regarded as one group. And BitComet only connects to one of the URLs in every group. Keep reading for instructions about how to write in this field:

1. Torrent URLs: [ [Group A Server 1], [Group B Server 1], [Group C Server 1] ]. These URLs should be written like this in the blank field of Tracker Server and Node list:

  • Line 1: Group A Server 1
  • Line 2: Group B Server 1
  • Line 3: Group C Server 1

2. Torrent URLs:[ [Group A Server 1, Group A Server 2, Group A Server 3]] These URLs should be written like this in the blank field of Tracker Server and Node list:

  • Line 1: Group A Server 1
  • Line 2: |Group A Server 2 (Please remember this “|” can not be omitted).
  • Line 3: |Group A Server 3

3. Torrent URLs: [ [Group A Server 1, Group A Server 2], [Group B Server 1] ] These URLs should be written like this in the blank field of Tracker Server and Node list:

  • Line 1: Group A Server 1
  • Line 2: |Group A Server 2
  • Line 3: Group B Server 1

DHT Network Node: Every BitComet user in a DHT network is a node. Usually, you only need to tick the checkbox “Add DHT nodes to tracker list”. But if you need to enter some node's URL, please write it this way:

node://host:port/    or    node://ip:port/ . 
For example: node://router.bittorrent.com:6881/  or   node://router.bitcomet.net:554/


 Note: The default settings work well in most situations. If you want to know more 
 about the options, please read further:
  • Private Torrent: Attention! Use this option only if the tracker rules require it (i.e. you intend to upload this torrent on a private tracker). This option when checked, will enable the private flag in the torrent file which will automatically disable PEX, DHT, LT-Seeding, Torrent Exchange (Torrent Share in older versions) and downloading from the eDonkey and Kad Networks through the eMule plugin, for that specific torrent, in any BitComet client downloading it (as well as in all other clients which comply to the private flag specifications). Basically the only peers a client will be able to obtain when downloading the contents of this torrent, will be those provided by the tracker specified in the .torrent file. (Read more on private trackers)
  • Add DHT nodes to tracker list: This enables using the DHT Network to retrieve peers for this torrent. See Using DHT Tracker..
  • Align file to piece boundary: This option, when enabled, will create a set of padding files in order to avoid pieces overlapping 2 different files, for multi-file torrents. See Align File to Piece Boundary.
  • Enable search for Long-Time Seed when downloading: This option, when enabled, will enable using the LT-Seeding protocol in order to find and download from LT-Seeding peers additionally to the regular BitTorrent peers.See Long-Time Seeding.
  • Calculate ED2K link for each file: This option, when enabled, basically activates the eMule plugin and passes it the ED2K link for each file of the torrent, in order to attempt finding and downloading them concurrently, from the eDonkey and Kad Networks, as well. See Using eMule plugin. (This needs the eDonkey plugin to be enabled on the Options page).

Output (pathname for the generated .torrent file)

The default pathname is the same with the one of the source file. If you want to change the pathname, please click ‎ to navigate to the destination or enter a path manually.

Publisher Info

Publisher Info (Optional)

  • By ticking “Embedded Publisher Information, Modification Unavailable”, others will not be able to modify the information.

Web Seeding

Web Seeding (Optional)

Web seeding was implemented in 2006 as the ability of BitTorrent clients to download torrent pieces from an HTTP source in addition to the swarm. The advantage of this feature is that a site may distribute a torrent for a particular file or batch of files and make those files available for download from that same web server; this can simplify seeding and load balancing greatly once support for this feature is implemented in the various BitTorrent clients. In theory, this would make using BitTorrent almost as easy for a web publisher as simply creating a direct download while allowing some of the upload bandwidth demands to be placed upon the downloaders (which normally use only a very small portion of their upload bandwidth capacity). Read more here. BitComet implemented this feature from version 1.14, and supports the Getright Webseeding spec.

If you know the HTTP source of a file that is the same as the source file (or the URL of the source file), you can enter the URL here. This is helpful for downloaders to acquire data, or in other words, download, from the HTTP server, in this way improving the downloading speeds and torrent health.

  • When the torrent content is for a single file, a specific URL should be entered. For example:
  • If the published torrent is for a directory (muti-files), file name can be omitted in the URL you enter. But please note that the URL must end with a slash “/”. For example:

Tip: You can enter several mirror sites in the list. One for each line only.

After you finished all the settings and modifications, please do not forget to hit the “Make torrent” button, to finish.

 Note: Remember! When you have made a //.torrent// file, you must publish the torrent on a torrent site.
 And please make sure BitComet is started and seeding the task, so that others can download
 from you once they saved the //.torrent// file. 

Happy sharing!

-Previous Page -Next Page
-Main Index

making_torrents_with_bitcomet.txt · Last modified: 2015/08/15 04:21 (external edit)
[unknown button type]
Recent changes RSS feed Driven by DokuWiki