<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Linux_Torrent</id>
	<title>Linux Torrent - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Linux_Torrent"/>
	<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Linux_Torrent&amp;action=history"/>
	<updated>2026-05-07T03:46:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://aznot.com/index.php?title=Linux_Torrent&amp;diff=5192&amp;oldid=prev</id>
		<title>Kenneth: /* rTorrent */</title>
		<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Linux_Torrent&amp;diff=5192&amp;oldid=prev"/>
		<updated>2019-06-05T13:50:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;rTorrent&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== rtorrent ==&lt;br /&gt;
&lt;br /&gt;
See [[rtorrent]]&lt;br /&gt;
&lt;br /&gt;
== mktorrent ==&lt;br /&gt;
&lt;br /&gt;
mktorrent - http://borg.uu3.net/~borg/?mktorrent&lt;br /&gt;
&lt;br /&gt;
mktorrent - Console .torrent file creator. It support Multi Trackers (tier groups).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Download: ftp://borg.uu3.net/pub/unix/mktorrent/mktorrent-0.9.9.tgz&lt;br /&gt;
mktorrent GIT repository: git://borg.uu3.net/mktorrent.git&lt;br /&gt;
mktorrent SVN repository (not updated anymore): svn://borg.uu3.net/devel-src/mktorrent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p ~/.src ; cd ~/.src&lt;br /&gt;
wget ftp://borg.uu3.net/pub/unix/mktorrent/mktorrent-0.9.9.tgz&lt;br /&gt;
tar -zvxf mktorrent-0.9.9.tgz&lt;br /&gt;
cd mktorrent&lt;br /&gt;
make&lt;br /&gt;
sudo cp mktorrent /usr/local/bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 mktorrent -a [ANNOUNCE_URL] -o [OUT_FILE.torrent] [FILE/FOLDER...]&lt;br /&gt;
 # mktorrent -a http://mytorrent.com -o mytorrent.torrent mytorrent/&lt;br /&gt;
&lt;br /&gt;
Makefile:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CC=gcc&lt;br /&gt;
&lt;br /&gt;
# Default&lt;br /&gt;
CFLAGS = -w -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFS64&lt;br /&gt;
LFLAGS =&lt;br /&gt;
LIBS = -lcrypto&lt;br /&gt;
&lt;br /&gt;
# no large file support&lt;br /&gt;
#CFLAGS = -w -O2&lt;br /&gt;
#LFLAGS =&lt;br /&gt;
#LIBS = -lcrypto&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
APPN = mktorrent&lt;br /&gt;
OBJS = mktorrent.o&lt;br /&gt;
&lt;br /&gt;
.c.o:&lt;br /&gt;
	$(CC) $(CFLAGS) -c $?&lt;br /&gt;
&lt;br /&gt;
all: $(OBJS)&lt;br /&gt;
	$(CC) $(LFLAGS) -o $(APPN) $(OBJS) $(LIBS)&lt;br /&gt;
&lt;br /&gt;
clean:&lt;br /&gt;
	rm *.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Enhanced CTorrent ==&lt;br /&gt;
&lt;br /&gt;
Enhanced CTorrent - http://www.rahul.net/dholmes/ctorrent/&lt;br /&gt;
&lt;br /&gt;
CTorrent is a BitTorrent client implemented in C++ to be lightweight and quick. The original has fallen a little behind in updates and bug fixes though.&lt;br /&gt;
&lt;br /&gt;
The files here contain the good work of those who wrote the original CTorrent base code and a number of patches that provide fixes and enhancements, as well as additional fixes and enhancements that I am contributing. I am not the original author, current maintainer, or any other official representative of CTorrent. The files on this page are not the original or official CTorrent distribution. I encourage you to visit the CTorrent project page on SourceForge for further information.&lt;br /&gt;
&lt;br /&gt;
Enhanced CTorrent now has a SourceForge project page with forums, bug reporting, and downloads. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create .torrent with ctorrent: [http://lists.freebsd.org/pipermail/freebsd-questions/2006-December/138058.html]&lt;br /&gt;
 one tool you could use is ctorrent.&lt;br /&gt;
 /usr/ports/net-p2p/ctorrent/&lt;br /&gt;
 ctorrent -t -u tracker_url -s torrent_name source&lt;br /&gt;
&lt;br /&gt;
== BitTorrent ==&lt;br /&gt;
&lt;br /&gt;
[http://download.bittorrent.com/dl BitTorrent Official Linux Client]&lt;br /&gt;
&lt;br /&gt;
== py3createtorrent ==&lt;br /&gt;
&lt;br /&gt;
en:coding:py3createtorrent [RobertNitsch.de - Wiki] - http://wiki.robertnitsch.de/doku.php?id=en:coding:py3createtorrent&lt;br /&gt;
&lt;br /&gt;
Create torrents via command line!&lt;br /&gt;
&lt;br /&gt;
py3createtorrent is a comprehensive shell/commandline utility for creating torrents (Linux &amp;amp; Windows). It&amp;#039;s a GPL-licensed Python v3.1 script. I tested it with Ubuntu 8.04 / rTorrent and Windows 7 / µTorrent.&lt;br /&gt;
&lt;br /&gt;
Some of the features:&lt;br /&gt;
&lt;br /&gt;
* you can create huge torrents for any amount of data&lt;br /&gt;
* you can add a comment to the torrent file&lt;br /&gt;
* you can create private torrents (disabled DHT, …)&lt;br /&gt;
* you can create torrents with multiple trackers&lt;br /&gt;
* you can exclude specific files/folders&lt;br /&gt;
* you can exclude files/folders based on regular expressions&lt;br /&gt;
* you can specify custom piece sizes&lt;br /&gt;
* you can specify custom creation dates&lt;br /&gt;
&lt;br /&gt;
== bittorrent file parser in php ==&lt;br /&gt;
&lt;br /&gt;
bittorrent file parser in php [php] [torrent] - http://snippets.dzone.com/posts/show/3289&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// parser function to recursively convert torrent file into array&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// bit torrent parser function by techtonik // php.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if ($argc != 2) exit(&amp;quot;usage: &amp;quot;.$argv[0].&amp;quot; &amp;lt;torrent&amp;gt;&amp;quot;);&lt;br /&gt;
$input = $argv[1];&lt;br /&gt;
if (!file_exists($input)) { exit(&amp;quot;input file $input doesn&amp;#039;t exists&amp;quot;); }&lt;br /&gt;
&lt;br /&gt;
$str = file_get_contents($input);&lt;br /&gt;
&lt;br /&gt;
function parse_torrent($s) {&lt;br /&gt;
    static $str;&lt;br /&gt;
    $str = $s;&lt;br /&gt;
&lt;br /&gt;
//    echo $str{0};&lt;br /&gt;
&lt;br /&gt;
    if ($str{0} == &amp;#039;d&amp;#039;) {&lt;br /&gt;
       $str = substr($str,1);&lt;br /&gt;
       $ret = array();&lt;br /&gt;
       while (strlen($str) &amp;amp;&amp;amp; $str{0} != &amp;#039;e&amp;#039;) {&lt;br /&gt;
          $key = parse_torrent($str);&lt;br /&gt;
          if (strlen($str) == strlen($s)) break; // prevent endless cycle if no changes made&lt;br /&gt;
          if (!strcmp($key, &amp;quot;info&amp;quot;)) {&lt;br /&gt;
              $save = $str;&lt;br /&gt;
          }&lt;br /&gt;
//          echo &amp;quot;.&amp;quot;,$str{0};&lt;br /&gt;
          $value = parse_torrent($str);&lt;br /&gt;
          if (!strcmp($key, &amp;quot;info&amp;quot;)) {&lt;br /&gt;
              $tosha = substr($save, 0, strlen($save) - strlen($str));&lt;br /&gt;
              $ret[&amp;#039;info_hash&amp;#039;] = sha1($tosha);&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          // process hashes - make this stuff an array by piece&lt;br /&gt;
          if (!strcmp($key, &amp;quot;pieces&amp;quot;)) {&lt;br /&gt;
              $value = explode(&amp;quot;====&amp;quot;,&lt;br /&gt;
                         substr(&lt;br /&gt;
                           chunk_split( $value, 20, &amp;quot;====&amp;quot;),&lt;br /&gt;
                           0, -4&lt;br /&gt;
                         )&lt;br /&gt;
                       );&lt;br /&gt;
          };&lt;br /&gt;
          $ret[$key] = $value;&lt;br /&gt;
       }&lt;br /&gt;
       $str = substr($str,1);&lt;br /&gt;
       return $ret;&lt;br /&gt;
    } else if ($str{0} == &amp;#039;i&amp;#039;) {&lt;br /&gt;
//       echo &amp;quot;_&amp;quot;;&lt;br /&gt;
       $ret = substr($str, 1, strpos($str, &amp;quot;e&amp;quot;)-1);&lt;br /&gt;
       $str = substr($str, strpos($str, &amp;quot;e&amp;quot;)+1);&lt;br /&gt;
       return $ret;&lt;br /&gt;
    } else if ($str{0} == &amp;#039;l&amp;#039;) {&lt;br /&gt;
//       echo &amp;quot;#&amp;quot;;&lt;br /&gt;
       $ret = array();&lt;br /&gt;
       $str = substr($str, 1);&lt;br /&gt;
       while (strlen($str) &amp;amp;&amp;amp; $str{0} != &amp;#039;e&amp;#039;) {&lt;br /&gt;
          $value = parse_torrent($str);&lt;br /&gt;
          if (strlen($str) == strlen($s)) break; // prevent endless cycle if no changes made&lt;br /&gt;
          $ret[] = $value;&lt;br /&gt;
       }&lt;br /&gt;
       $str = substr($str,1);&lt;br /&gt;
       return $ret;&lt;br /&gt;
    } else if (is_numeric($str{0})) {&lt;br /&gt;
//       echo &amp;quot;@&amp;quot;;&lt;br /&gt;
       $namelen = substr($str, 0, strpos($str, &amp;quot;:&amp;quot;));&lt;br /&gt;
       $name = substr($str, strpos($str, &amp;quot;:&amp;quot;)+1, $namelen);&lt;br /&gt;
       $str = substr($str, strpos($str, &amp;quot;:&amp;quot;)+1+$namelen);&lt;br /&gt;
       return $name;&lt;br /&gt;
    }                                &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$bencode = parse_torrent($str);&lt;br /&gt;
&lt;br /&gt;
print_r( $bencode );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Others:&lt;br /&gt;
* bittorrent - PHP Module for reading torrent files - Stack Overflow - http://stackoverflow.com/questions/167206/php-module-for-reading-torrent-files&lt;br /&gt;
* php - Problem creating info hash of torrent file - Stack Overflow - http://stackoverflow.com/questions/6527357/problem-creating-info-hash-of-torrent-file&lt;br /&gt;
* bittorrent - Getting the SHA hash from info dictionary in torrent file in Erlang - Stack Overflow - http://stackoverflow.com/questions/4005005/getting-the-sha-hash-from-info-dictionary-in-torrent-file-in-erlang&lt;br /&gt;
* python - Extract the SHA1 hash from a torrent file - Stack Overflow - http://stackoverflow.com/questions/2572521/extract-the-sha1-hash-from-a-torrent-file&lt;br /&gt;
&lt;br /&gt;
== keywords ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Torrent]]&lt;/div&gt;</summary>
		<author><name>Kenneth</name></author>
	</entry>
</feed>