Beispiel #1
0
function respond($arr)
{
    Yii::info("Response send");
    Yii::info($arr);
    $be = new BEncoder();
    $be->encode($arr);
    echo $be->encoded;
}
 /**
  * @param string $infoPath
  * @param string $mainTracker
  * @param array $backupTracker
  */
 public static function buildTorrentFile($infoPath, $mainTracker, $backupTracker)
 {
     $be = new BEncoder();
     $info = file_get_contents($infoPath);
     $info = $be->decode($info);
     if (empty($info)) {
         return null;
     }
     /** @var User $user */
     $user = User::findOne(Yii::$app->user->getId());
     $passkey = $user->passkey;
     $seed = [];
     $seed['announce'] = $mainTracker . "passkey={$passkey}";
     foreach ($backupTracker as $tracker) {
         $seed['announce-list'] = $tracker . "passkey={$passkey}";
     }
     $seed['created date'] = $seed['created by'] = time();
     $seed['comment'] = 'Welcome To NGPT';
     $seed['encoding'] = 'UTF-8';
     $seed['info'] = $info;
     return $be->encode($seed);
 }
Beispiel #3
0
<?php

/**
 * Created by PhpStorm.
 * User: ssj
 * Date: 16-1-1
 * Time: 上午2:30
 */
use common\library\BEncoder;
use frontend\models\Seed;
$arr = [];
$arr['file'] = [];
/** @var array $seeds */
/** @var Seed $seed */
foreach ($seeds as $seed) {
    $tmp = ['complete' => $seed->seeder_count, 'downloaded' => $seed->completed_count, 'incomplete' => $seed->leecher_count, 'name' => $seed->torrent_name];
    $arr['files'][hex2bin($seed->info_hash)] = $tmp;
}
Yii::info("Response send");
Yii::info($arr);
$be = new BEncoder();
$be->encode($arr);
echo $be->encoded;
 public function actionTorrent()
 {
     $from = '/tmp/torrentinfo/';
     $to = 'frontend/web/torrents/';
     $files = scandir($from);
     $be = new BEncoder();
     foreach ($files as $file) {
         if (substr($file, -4) != 'info') {
             continue;
         }
         if (file_exists($to . $file)) {
             continue;
         }
         $origin = file_get_contents($from . $file);
         $origin = 'd' . $origin . 'e';
         $arr = $be->decode($origin)['info'];
         if (empty($arr)) {
             echo 'Error: ' . $from . $file;
             return;
         }
         var_dump($arr);
         $res = $be->encode($arr);
         if (empty($res)) {
             echo 'Error: ' . $from . $file;
             return;
         }
         file_put_contents($to . $file, $res);
     }
 }