Как создать торрент без трекера на передачу? - PullRequest
0 голосов
/ 20 апреля 2019

Я пытаюсь создать торрент без трекера. Я просто хочу отправить некоторые кадры GoPro моему другу, но я не могу заставить его работать. Я создал торрент (в поле трекера ничего нет и установил торрент как общедоступный, приватный не проверен) и отправил себе файл для тестирования на другом компьютере. Я не могу заставить его работать. Я открыл свой порт, когда я запускаю тест, он говорит, что открыт на моем ноутбуке и настольном компьютере. У меня на рабочем столе статический IP-адрес, на котором был создан торрент, и я делюсь им по электронной почте. Я запускаю Transmission на обоих, но один - Windows, а другой - Mac.

Есть идеи, почему я не могу заставить его работать? DHT включен на обоих.

Извините, если меня об этом спрашивали раньше, я не могу найти в поиске на этом форуме ничего, что могло бы помочь. Если кто-то может указать мне на тему, которая помогла бы, это также будет оценено.

1 Ответ

0 голосов
/ 29 апреля 2019

Передача - не лучший вариант для этого, я советую вам использовать mktorrent быстрее и надежнее, все время использую его, он никогда не подводил но если вы хотите использовать передачу в качестве отправителя или клиента загрузки, вы можете использовать этот php-скрипт и просто отредактировать его, чтобы сохранить торрент-файлы в папке просмотра передачи или в любой папке, которую вы хотите

<?php

define('ROOT_DIR', '/home');
define('SCAN_DIR', ROOT_DIR.'/scan');
define('COMPLETE_DIR', ROOT_DIR.'/complete');
define('TORRENT_DIR', ROOT_DIR.'/torrent');
define('ANNOUNCE_URL', 'YOUR-TRACKER-ANNOUNCE-AND-PASSKEY-HERE');
define('PIECE_SIZE', '21');
function move($source, $dest) {
    $cmd = 'mv "'.$source.'" "'.$dest.'"'; 
    exec($cmd, $output, $return_val); 
    if ($return_val == 0) return 1;
    return 0;
}
function make_torrent($file_full, $new_dir, $file) {
    $file = pathinfo($file_full, PATHINFO_BASENAME);
    $move_file = $new_dir.'/'.$file;

    $rez = move($file_full, $move_file);
    if (!$rez) die('Cannot move file!');

    $info = pathinfo($file);
    $output = TORRENT_DIR.'/'.$info['basename'].'.torrent';
    if (file_exists($output)) unlink($output);
    $cmd = "mktorrent '$move_file' -o '$output'-l".PIECE_SIZE." -a ".ANNOUNCE_URL;
    echo $cmd."<br /> <br /> \n \n";
    exec($cmd);
    if (file_exists($output)) return $output;
    else die('Cannot make torrent!');
}
function scan_folder() {
    $dir = SCAN_DIR;
    $dir_done = COMPLETE_DIR;

    if (!is_dir($dir_done))
    {
        $ok = mkdir($dir_done);
        if (!$ok) die('Cannot create destination folder!');
    }

    $dh = opendir($dir);
    while ( $file = readdir($dh) )
    {
        if ($file == '.' || $file == '..') continue;
        $file_full = $dir.'/'.$file;
        if ($file_full == COMPLETE_DIR) continue;
        make_torrent($file_full, $dir_done, $file);
    }
}
scan_folder();
?>

Вы можете игнорировать линии трекера или просто удалить их, скрипт более или менее понятен, если вам нужна помощь, пожалуйста, спросите

iCODEiT 0UT

...