用于PHP中的修改的Torrent编辑器的UDP Scraper

时间:2014-01-23 03:23:06

标签: php bittorrent seeding tracker peer

我们正在建立一个网站,您可以在其中编辑种子文件的跟踪器。

我们目前正在搜索SEEDS的{​​{1}}和PEERS

我们很困惑它是如何运作的。是否有人知道如何在TRACKER中显示torrent文件的SEEDSPEERS

就像在PHP中一样,我们已经看到了这样的代码,但我们不明白它是如何工作的,请帮助我们。

TORRENTEDITOR.COM

1 个答案:

答案 0 :(得分:1)

所以我研究了一下,看起来你可以解码.torrent文件:$

<?php
include 'functions.php';

$torrent_data = bdec(file_get_contents('test.torrent'));

$info=strtolower(sha1(benc($torrent_data['info'])));
$scrape=str_replace('announce','scrape',$torrent_data['announce']);
$sources=bdec(@file_get_contents($scrape.'?info_hash='.urlencode(hex2bin($info))));

$c=count($torrent_data['info']['files']);
echo '<h2>Files</h2>';

$files=array();
if($c > 1)
{
    for ($i = 0; $i < $c; $i++) $files[]=$torrent_data['info']['files'][$i]['path']['1'];
    sort($files);
    foreach($files as $file) echo $file."<br>";
}
else echo $torrent_data['info']['name']."<br>";

$seeds = $sources['files'][hex2bin($info)]['complete'];
$leechs = $sources['files'][hex2bin($info)]['incomplete'];
$downloads = $sources['files'][hex2bin($info)]['downloaded'];

echo '<h2>Sources</h2>'.
    '<b>Seeds:</b> '.$seeds.'<br/>'.
    '<b>Leechs:</b> '.$leechs.'<br/>' .
    '<b>Downloads:</b> '.$downloads.'<br/>';
?>

要使用此代码,首先需要包含benc,bdec和hex2bin函数的文件。您可以从Here

获取这些功能

我准备了一个测试用例,可以找到Here

希望这会有所帮助。