python — Как создать торрент файл?
Мне кажется, у Вас возникает проблема из за того, что нет общей картины того, как работает bittorrent протокол и сеть торрентов вообще.
Поэтому я расскажу несколько вещей на примере, а Вы можете задать вопросы в комментариях.
Предположим, я хочу раздать файл с фильмом. Я создаю торрент (это одна из функций моего торрент — клиента) и публикую СТРАНИЦУ, посвященную этому фильму, на торрент — трекере.
Зачем я это делаю? Потому что другие пользователи ищут файлы по содержанию — названиям, ключевым словам и так далее.
При публикации страницы я отдал торрент — трекеру файл *.torrent
Пускай пользователь1 обратил внимание на этот фильм и захотел его себе скачать. Он забирате с трекера файл *.torrent. Этот то же файл, котрый я туда положил? Не совсем. К файлу подмешан так называемый passkey -эта штука, которая позволяет трекеру отличить одного пользователя от другого. Уникальный идентификатор пользователя трекера. Он нужен, чтобы считать на трекере статистику пользователей — кто сколько скачал и раздал.
Когда пользователь1 поставил фильм «на закачку», его торрент-клиент делает запрос к трекеру («анонс») и говорит «скажи, у кого есть этот фильм?». Так как сейчас единственный обладатель фильма — я, то трекер сообщает пользователю1 мой внешний IP и порт. Беэ этой информации — клиент пользователя1 не знал бы, куда надо подключаться.
Вот с этого момента я начинаю отдавать фильм пользователю1, небольшими кусочками, номер котрых выбиарется случайно.
Пускай в середине этого процесса еще кто то хочет скачать этот же фильм. Ему торрент — трекер даст адреса и порты уже двух клиентов, и им обоим можно будет посылать запросы на закачку кусочков фильма.
Что здесь важно? что трекер служит точкой обмена информацией между теми, у кого есть файл, и теми, кто хочет его себе скачать. Эта информация — не сам файл, а его уникальный иддентификатор и адреса и порты участников обмена. Таким образом, без торрент — трекера процесс обмена файлами не начнётся.
Окончательный ли это приговор? Не совсем. Дело в том, что есть еще механизм DHT, очень красивая штука, работающая по принципу «делай добро и бросай его в воду». DHT позволяет находить файлы по уникальному хешу. Таблица «хешей всех файлов на свете» виртуально существует, будучи «размазанной» по множеству клиентов, занимающихся раздачей файлов.
Поэтому при помощи DHT действительно можно обменяться файлами, не используя трекер. Его можно даже вообще не указывать. Но при этом сам torrent — файл или магнет — ссылку нужно передать от того, кто раздаёт файл тому, кто его хочет скачать каким то способом — послать по электронной почте, например.
Еще можно почитать здесь же, на СО вопрос про «ядро трекера». Еще — Вы можете конкретизировать свой вопрос, и можете поставить эксперимент с участием двух компьютеров — возможно, тогда Вам всё станет понятно.
Небольшое дополнение. «Вместо того что бы раздавать он пытается скачать его» -да, это так. Это одна из самых неочевидных и выносящих мозг особенностей терекера. Когад вы опубликовали файл, вы должны первым делом скачать именно этот торрент, но уже с трекера. Дело в том, что для трекера все клиенты — и тот, кто публикует, и тот, кто качает — равны между собой. Нет «автора» и «не автора», есть просто равноправные участники обмена, у каждого из которых есть части файла. А у вас с самого начала есть 100% частей файла. Поэтому одна из частей инструкции по публикации файлов — «После отправки фала на торрент трекер вам нужно его скачать, и поставить на закачку у самого себя в ту же директорию, где лежат оригинальные файлы. … Обратите свое внимание, что этот торрент отличается от того, который был залит на трекер. К нему добавился пасскей, по которому Вас будет узнавать трекер.»
Кстати, сами по себе FAQ даже не заблокированы, по моему: терминология
Еще одно дополнение. Случайо наткнулся на ссылку именно о том, как передать самому себе на другой компьютер файл через торрент — протокол (по моему, задача, похожая на ту, о которой Вы спрашивали): инструкция по передаче файлов
Успехов!
Как передать файлы с компьютера на компьютер с помощью торрент-клиента
Передача файлов через Интернет давно уже стала тривиальной задачей. А вот для переноса больших объемов информации уже понадобится внешний носитель или облачное хранилище. Просто скачать откуда-то объемные файлы несложно – в этом помогают торренты.
Яблык в Telegram и YouTube. Подписывайтесь! |
♥ ПО ТЕМЕ: Лучшие «облака» без регистрации, или как удобно передавать файлы между iPhone, Android, Mac и Windows.
Как передать большой файл с компьютера на компьютер?
Причем необязательно речь идет о распространении нелицензионного контента. Например, те же дистрибутивы Linux вполне официально распространяются с помощью торрентов. Неудивительно, что сегодня практически любой современный компьютер имеет установленный торрент-клиент.
Однако эта технология предназначена не только для односторонней передачи информации, с ее помощью можно и передавать файлы своим друзьям. Давайте представим, что у вас имеется архив в несколько десятков гигабайт. Там могут быть образы дисков, фото, видео, макеты, другие данные…
Чаще всего мы записываем все это на флешку или внешний жесткий диск и отправляемся с ними в поездку. Но иногда такой вариант просто невозможен (например, нет в наличии подходящего накопителя). Дожидаться же загрузки на какой-то хостинг или в облако тоже небыстрое дело, к тому же они еще и ограничены в бесплатных объемах и скорости загрузки. Но есть разумное решение – передать файлы с компьютера на компьютер с помощью торрент-клиента. Для этого необходимо создать соответствующий небольшой файл, передать его через мессенджер или почту, а потом просто дать возможность компьютеру раздавать информацию.
Данное решение не имеет никаких ограничений по скорости или объему передачи данных. И в случае обрыва связи не придется заново начинать загрузку. И вот как воспользоваться таким решением.
♥ ПО ТЕМЕ: Зависает компьютер на Windows? Горячие клавиши, которые помогут решить проблему.
![]()
Как создать раздачу?
Первым делом будет создание раздачи. Давайте попробуем передать папку с несколькими видеофайлами. Принцип действия всех торрент-клиентов будет примерно одинаковым. Мы рассмотрим на примере работы с бесплатным торрент-приложением qBittorrent для Windows, Mac и Linux.
1. Скачайте (ссылка), установите и запустите приложение qBittorrent на компьютере.
В случае, если при установке на Mac появится предупреждение (скриншот ниже), прочтите этот материал.
2. Перетяните папку с файлами в окно приложения. Приложение предложит создать на их основе раздачу.
Установите галочку напротив пункта «Начать раздачу сразу».
Стоит убедиться, что в настройках не будет стоять галочки напротив пункта «Приватный торрент» – нам потребуется работа децентрализованной сети DHT.
3. Нажмите кнопку «Создать торрент».
Клиент попросит ввести указать имя и место хранения создаваемого торрент-файла. Его можно поместить, к примеру, прямо на рабочий стол.
4. Дождитесь окончания процесса создания раздачи. Его скорость будет напрямую зависеть от планируемого к передаче объема информации, но обычно все занимает несколько минут. После появления сообщения о создании торрента нажмите ОК и закройте окно.
♥ ПО ТЕМЕ: 32- или 64-битная Windows: какая разница и какую систему нужно устанавливать?
Как передать торрент-файл другому пользователю
Результатом предыдущих действий станет появление на рабочем столе файла в формате .torrent.
Передайте его получателю любым удобным для него способом, это может быть электронная почта, Viber, Telegram и т.д. Получателю остается лишь открыть этот файл и дождаться начала загрузки. Это может занять всего пару минут.
Скриншот с раздающего компьютера:
Скриншот с принимающего компьютера:
Если вам не хочется передавать файл или нет такой возможности, то можно поступить иначе. Щелкните по своей раздаче правой кнопкой мыши и выберите «Копировать магнет‑ссылку».
Теперь скопированный текст можно передать получателю в виде сообщения. Ему надо будет в своем торрент-клиенте нажать кнопку «Добавить торрент‑файл» и в поле адреса указать полученную ссылку вида:
magnet:?xt=urn:btih:358b0e93a954ad1b12d1e4c80175b4767d557&dn=Yablyk
Осталось лишь договориться, чтобы у вас двоих были включены компьютеры на время передачи данных. Но никто не мешает одному из пары отключиться, а потом снова вернуться на раздачу – закачка возобновится точно с того места, на котором она была прервана. После того, как загрузка будет завершена, можно будет просто удалить файл или папку из списка раздач в торрент-клиенте. Но стоит быть внимательным и не удалить при этом сами данные.
С помощью такого простого способа можно на базе торрент-технологии быстро передавать друг другу большие объемы данных.
Смотрите также:
- Как ускорить Windows 10, 8 или 7, отключив ненужные службы операционной системы.
- Как автоматически переключать язык (раскладку) на клавиатуре в macOS или Windows.
- В каком смартфоне самая лучшая камера в 2021 году – Топ 10.
Пожалуйста, оцените статью
Средняя оценка / 5. Количество оценок:
Оценок пока нет. Поставьте оценку первым.
create-torrent — npm
Создание файлов .torrent
Этот модуль используется WebTorrent! Этот модуль работает в node.js и в браузере (с браузером).
установить
npm установить создать торрент
использование
Самый простой способ использования create-torrent
выглядит следующим образом:
импортировать createTorrent из 'create-torrent' импортировать фс из «фс» createTorrent('/путь/к/папке', (ошибка, торрент) => { если (!ошибка) { // `torrent` - это буфер с содержимым нового файла .torrent fs.writeFile('мой.торрент', торрент) } })
Автоматически будет выбрана разумная длина куска (около 1024 штук). для файла .torrent, или вы можете переопределить его, если хотите другой размер (см. документы API ниже).
API
createTorrent(ввод, [opts], обратный вызов функции (ошибка, торрент) {})
Создать новый файл .torrent
.
ввод
может быть любым из следующих:
- путь к файлу или папке в файловой системе (строка)
- Файловый объект W3C (из
<ввод>
или перетащите) - Объект W3C FileList (в основном массив из
объектов File
) - Объект буфера узла
- Поток узла. Читаемый объект
Или массив из строк
, File
, Buffer
или stream.Readable
объектов .
opts
является необязательным и позволяет вам установить специальные настройки для созданного файла . torrent.
{ name: String, // имя торрента (по умолчанию = базовое имя `path` или имя 1-го файла) comment: String, // произвольный текстовый комментарий автора createdBy: String, // имя и версия программы, используемой для создания торрента createDate: Дата // время создания в формате эпохи UNIX (по умолчанию = сейчас) filterJunkFiles: Boolean, // удалить скрытые и другие ненужные файлы? (по умолчанию = правда) private: логическое значение, // это частный .torrent? (по умолчанию = ложь) pieceLength: Number, // задаем пользовательскую длину куска (количество байтов) анонсList: [[String]], // пользовательские трекеры (массив массивов строк) (см. [bep12](http://www.bittorrent.org/beps/bep_0012.html)) urlList: [String], // исходные веб-адреса (см. [bep19](http://www.bittorrent.org/beps/bep_0019.html)) info: Object, // добавить нестандартные записи информационного словаря, например. info.source, соглашение о перекрестном посеве onProgress: функция // вызывается с количеством хешированных байтов и предполагаемым общим размером после каждой части }
Если объявлятьList
опущены, следующие трекеры будут включены автоматически:
- udp://tracker.
openbittorrent.com:80
- udp://tracker.internetwarriors.net:1337
- udp://tracker.leechers-paradise.org:6969
- udp://tracker.coppersurfer.tk:6969
- udp://exodus.desync.com:6969
- wss://tracker.btorrent.xyz
- wss://tracker.openwebtorrent.com
- wss://tracker.fastcast.nz
Трекеры, начинающиеся с wss://
, предназначены для пиров WebRTC. Видеть
WebTorrent, чтобы узнать больше.
callback
вызывается с ошибкой и Буфером торрент данных. Это зависит от вас
сохраните его в файл, если это то, что вы хотите сделать.
Примечание: Каждый торрент должен иметь имя. Если он явно не указан
через opts.name
один будет определен автоматически с использованием следующей логики:
- Если все файлы имеют общий префикс пути, он будет использоваться. Например, если весь файл
пути начинаются с
имя торрента будет /imgs/imgs
. - В противном случае имя торрента будет определять первый файл с именем. Например,
если первый файл
/foo/bar/baz.txt
, имя торрента будетbaz.txt
. - Если файлы не имеют имен (скажем, все файлы являются объектами Buffer или Stream), то имя например, будет создан «Безымянный торрент».
Примечание: Каждый файл должен иметь имя. Для путей файловой системы или файловых объектов W3C:
имя включено в объект. Для типов потоков Buffer или Readable свойство name
можно установить для объекта, например:
const buf = Buffer.from('Некоторое содержимое файла') buf.name = 'Имя файла'
командная строка
использование: create-torrent <каталог ИЛИ файл> {-o outfile.torrent} Создайте торрент-файл из каталога или файла. Если выходной файл не указан с `-o`, торрент-файл будет записывается в стандартный вывод.
лицензия
MIT. Авторское право (c) Feross Aboukhadijeh и WebTorrent, LLC.
Как настроить Utorrent и создать торрент
Это настройки для версий Utorrent до 2.0. Первая загрузка и установка Utorrent Эти уроки покажут вам, как: Позвольте мне начать с этого. На следующих снимках экрана я покажу вам, как настроить и настроить Utorrent. Demonoid является ОБЩЕСТВЕННЫМ САЙТОМ и варианты, которые я вам покажу, НЕ ТРЕБУЮТСЯ ДЛЯ ИСПОЛЬЗОВАНИЯ НА DEMONOID . ![]() Чтобы использовать Utorrent «как есть» после его установки для Demonoid, вы можете пропустить большую часть настроек конфигурации ниже. Я бы порекомендовал вам переадресовать свои порты, если вы используете маршрутизатор, прежде чем пытаться загружать и раздавать торренты. Если вы уверены, что ваши порты переадресованы и вы не планируете использовать какие-либо частные сайты, перейдите на страницу СОЗДАЙТЕ ТОРРЕНТ . Предупрежу, однако, если вы не настроили Utorrent так, как я описал ниже, не пытайтесь использовать его на приватных трекерах. ОНИ ЗАБАНЯТ ВАС , если вы используете Utorrent (или любой другой клиент) с DHT и Peer Exchange . (большинство, если не все) Настройка Utorrent, как я описал, обеспечивает безопасность вашей конфигурации utorrent для использования на всех других сайтах, а также Demonoid . Таким образом, нет вреда, нет фола, и вы всегда можете включить DHT в любое время, когда вам это нужно, одним щелчком мыши. Вы установили Utorrent. Что теперь? Вы новичок в торрентах и понятия не имеете, как НАСТРОЙКА UTORRENT 1. Откройте Utorrent. Перейдите в ОПЦИИ > ПРЕДПОЧТЕНИЯ Здесь вы можете выбрать любой или все нужные параметры. Все это зависит от личных предпочтений и не относится ни к одному трекеру. Однако разумно связать Utorrent с торрент-файлами и проверять ассоциации при запуске, поэтому убедитесь, что они отмечены. Вот скриншот моих общих настроек: 3. 4. Нажмите на вкладку ПОДКЛЮЧЕНИЕ. В Глобальное ограничение пропускной способности , ( область экрана Я заблокировал красным ) 5. Использование гида скорости в Utorrent A) В окне приложения Utorrent перейдите к OPTIONS>SPEED GUIDE B) Запустите «Тест скорости» и запишите скорость соединения для загрузки. Вы будете перенаправлены на веб-страницу, которая сообщит вам, правильно ли вы переадресовали порты utorrent или нет. E) И последнее, но не менее важное: он спрашивает, хотите ли вы «Включить шифрование». Если все в порядке, давайте вернемся в настройки Utorrent и завершим настройку для ВСЕ ТРЕКЕРЫ . ( ШАГ 6 ) 6. Область вверху, которую я выделил красным, будет настройками, которые вы только что создали УДАЛИТЬ все галочки в полях в области с именем Дополнительные функции BitTorrent Убедитесь, что в области с именем ШИФРОВАНИЕ ПРОТОКОЛА указано ВКЛЮЧЕНО 7. Перейдите на вкладку Очередь сейчас. В области Настройки очереди , заблокированной красным , ваши настройки будут снова определены РУКОВОДСТВОМ ПО СКОРОСТИ . В области SEED WHILE заблокировано в фиолетовый , измените значение по умолчанию на -1 В области Когда UTorrent достигает цели заполнения заблокировано в желтый , вы можете делать там все, что захотите. Вы также можете установить все, что захотите. 9. Перейти к ВКЛАДКЕ РАСШИРЕННЫХ . Просто сделайте все значения ТОЧНО , как показано на следующих снимках экрана. |