Пиринговые клиенты: BitTorrent


BitTorrent
Пиринговый клиент
Сайт: www.bittorrent.com


Здесь будет рассказано о том, как поставить BitTorrent и облегчить себе жизнь при его использовании.

1. Ставим Python

Python — симпатичный скриптовый язык, на котором написан клиент BitTorrent. Свежую версию питона для OS/2 можно взять с сайта Andrew I. MacIntyre: www.pcug.org.au/~andymac. Для BitTorrent нужна версия 2.3.4 или выше. Какие-либо дополнительные модули не нужны.

Подробное описание процедуры установки приведено в файле README.os2emx. Нужно распаковать архив с питоном, прописать несколько строк в config.sys и перезагрузиться. Но, если вы собираетесь использовать питон только для запуска BitTorrent, и у вас достаточно свежая версия OS/2, которая умеет использовать переменную окружения BEGINLIBPATH (Warp3 с FP22+, Merlin с FP5+, Aurora, eCS), то можно обойтись без редактирования config.sys и перезагрузки.

Примечание: в том же файле README.os2emx описаны проблемы, которые могут возникнуть при использовании нефикшенного стека TCP/IP 4.3, и приведены два варианта их решения. В ACP2 я с этими проблемами не сталкивался.

2. Ставим BitTorrent

Нужно взять Python source с www.bittorrent.com и распаковать его. Заинтересовавшихся деталями работы BitTorrent отсылаю к Brian's BitTorrent FAQ and Guide.

3. Облегчаем себе жизнь

Для поиска в сети BitTorrent существуют специальные сайты (трекеры). Некоторые из них:
www.suprnova.org
www.torrentreactor.net
isohunt.com
(также можно поискать более новый список трекеров, начав с секции Useful BitTorrent Resources BT FAQ&Guide)

На этих сайтах можно скачать файлы с расширением .torrent, которые затем следует скармливать скрипту для даунлоада. Виндовая версия клиента начинает даунлоад при простом клике по нужной ссылке; мне захотелось реализовать такое же в OS/2. Пришлось родить небольшой скрипт на REXX, который заодно избавляет от необходимости что-то прописывать в config.sys при установке питона.

/* рекксс */

PythonPath    = 'C:/Python234'
	/* каталог с питоном, слеши прямые */
TorrentPath   = 'D:/Apps/BitTorrent_3.4.2'
	/* каталог с BitTorrent, слеши прямые */
DownloadDrive = 'F:'
DownloadDir   = '\download\torrent'
	/* диск и каталог для даунлоада, слеши обратные */

'@echo off'
Source = ARG(1)
IF (ARG() = 0) | (POS('?', Source) > 0) THEN DO
	SAY 'Скрипт для облегчения скачивания файлов по протоколу BitTorrent'
	SAY 'В качестве параметра ожидает увидеть .torrent-файл'
	SAY 'Подробности на http://os2.in.ru/software/internet/bittorrent/index.html'
	EXIT 1
END
FileName = FILESPEC('name', Source)
FileName = TRANSLATE(FileName, '_', ' ')
Target = DownloadDrive''DownloadDir'\'FileName
'copy 'Source' 'Target
'del 'Source
DownloadDrive
'cd 'DownloadDir
'mode 100,20'

'SET PYTHONHOME='PythonPath
'SET PYTHONPATH='PythonPath'/Lib;'PythonPath'/Lib/plat-os2emx;'PythonPath'/Lib/lib-dynload;'PythonPath'/Lib/site-packages;'TorrentPath
'SET TERMINFO='PythonPath'/Terminfo'
'SET TERM=os2'
'SET BEGINLIBPATH='PythonPath

PythonPath = TRANSLATE(PythonPath, '\', '/')
TorrentPath = TRANSLATE(TorrentPath, '\', '/')
PythonPath'/python.exe 'TorrentPath'/btdownloadcurses.py --responsefile 'Target
'del 'Target

Загрузить скрипт: download.zip.

В этом скрипте следует изменить значения перечисленных в начале переменных: PythonPath (полный путь к каталогу, в который распакован питон), TorrentPath (полный путь к каталогу, в который распакован BitTorrent), DownloadDrive и DownloadDir (диск и каталог, в который будут складываться скачанные файлы). Пропишите там ваши значения, обращая внимание на наклон слешей (это важно).

Далее следует ассоциировать этот скрипт с .torrent-файлами в браузере. Кликните по ссылке на .torrent-файл и в появившемся диалоговом окне проделайте манипуляции, показанные ниже:
Настройка мозиллы
Теперь скачивание файлов из сети BitTorrent будет запускаться автоматически:
Скачивание

Благодарности

Вадиму Егорову (VYX) и Евгению Романенко (ErOs2) за введение в тему, ссылки, полезные советы и кротость, с которой они выслушивали мои комментарии по поводу языка REXX.

Dmitry Ban


Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ