Torrent file készítése konzolon

Sziasztok!

Régen volt szükségem ilyesmire és akkor a

btmakemetafile.py [trackerurl] [file_or_directory_path] --comment "Ez jelenik meg a kliensekben" --target proba.torrent

paranccsal készítettem torrent file-t.

Most úgyanezzel készítve a torrent file-ban látszik, hogy a file-ok elérési útja nem úgy néz ki, hogy directory/file hanem csak file.

Azaz ez a szerkezet:

$ ls -l uj
total 0
-rw-r--r-- 1 fifi fifi 0 2007-07-16 11:25 proba
-rw-r--r-- 1 fifi fifi 0 2007-07-16 11:25 proba2
-rw-r--r-- 1 fifi fifi 0 2007-07-16 11:25 proba3

Ez meg lett a torrent file tartalma:
d8:announce10:trackerurl7:comment18:Ez itt a kommentem13:creation datei1184580621e4:infod5:filesld6:lengthi0e4:pathl5:probaeed6:lengthi0e4:pathl6:proba2eed6:lengthi0e4:pathl6:proba3eee4:name2:uj12:piece lengthi32768e6:pieces0:ee

Azaz, ha valaki majd letölti, annak nem hozza létre az uj katalógust. :(

Debian GNU/Linux alatt a bittornado csomagom verziója: 0.3.17-1

Az általam használt kliens (rtorrent) nem tud még torrent file-t készíteni, ezért használom a btmakemetafile.py-t, de nem ragaszkodom hozzá.

Szóval ki mit használ konzolon erre, ami működik is?

Hozzászólások

Pontosan mit szeretnel es milyen parancsot futtatsz is le?

Ez nem tul sok info igy, ennyi erovel a mant is vaghattad volna.

Az szeretném, hogy van egy könyvtár (most legyen a neve: uj).
Ebben vannak file-ok (most legyen: proba, proba2, proba3).

Erről a könyvtárról készíteni torrent file-t, mely a könyvtárstruktúrát megtartja.
Azaz aki letölti majd annak hozzon létre egy uj nevű könyvtárat és abba tegye a file-okat.
Most a könyvtár létrehozása elmarad szerintem, ahogy nézem a létrejött torrent file-t.

Amit próbáltam:
btmakemetafile.py trackerurl uj --comment "Ez itt a kommentem" uj.torrent

Próbáltam a createtorrentet is:


$ createtorrent  -a announceurl uj new.torrent
adding uj/proba
adding uj/proba2
adding uj/proba3

, de itt is hasonló lett a torrent file:
d8:announce25:announceurl:6881/announce13:creation datei1184582187e4:infod5:filesld6:lengthi0e4:pathl5:probaeed6:lengthi0e4:pathl6:proba2eed6:lengthi0e4:pathl6:proba3ee4:name2:uje12:piece length:262144eee

Bye, Fifi

Még nem, mert trackerre sem töltöttem fel, mert szerintem a fentinek így kellene kinéznie:
d8:announce25:announceurl:6881/announce13:creation datei1184582187e4:infod5:filesld6:lengthi0e4:pathl5:uj/probaeed6:lengthi0e4:pathl6:uj/proba2eed6:lengthi0e4:pathl6:uj/proba3ee4:name2:uje12:piece length:262144eee

Azaz, ha nincs bent a könyvtár neve a path-ban, akkor szerintem nem is oda teszik majd a kliensek, hanem a kliensprogramban megadott root dir-be.
Vagy rosszul gondolom?

Azt javaslom olvass el egy bencode leirast, vagy pl a python filet, en irtam torrent keszti progit rubyban, es sajnos nem ilyen egyszeru a moka.

Amugy ha jol elovasod es ertelmezed a leirtakat latszik am a konyvat, csak nem trivialis:

d8:announce25:announceurl:6881/announce13:creation datei1184582187e4:infod5:filesld6:lengthi0e4:pathl5:probaeed6:lengthi0e4:pathl6:proba2eed6:lengthi0e4:

pathl6:proba3ee4:name2:uje12:piece length:262144eee

Mint latszik van egy olyan resze hogy path, ami egy lista, es ott irja h proba3, es uj konyvatarak vannak.

Ha gondolod tudok linkelni egy bovebb leirast, mi hogy mukodik, protocol szinten, nem mondom h egyszeru es elso olvasasra megerted, de kis olvasgatas utan at lehet latni.

Nekem elég lenne egy jó leírás arra vonatkozóan, hogy hogyan épül fel a torrent file és azt hogyan állíthatom elő ;)

Azért köszi.

Kipróbálom a legenerált torrent file-om, de remélem a gyanúm nem igazolódik be és szépen ott lesznek a file-ok a megadott dirben ...

Bye, Fifi

Hali,

Nos a torrent vegulis bencodel allitod elo.

Lenyegeben adatszerkezeteket irsz bele, hasonlo a serializehez:

Example: 4:spam represents the string "spam"
Example: i3e represents the integer "3"
Example: l4:spam4:eggse represents the list of two strings: [ "spam", "eggs" ]
Example: d3:cow3:moo4:spam4:eggse represents the dictionary { "cow" => "moo", "spam" => "eggs" }
Example: d4:spaml1:a1:bee represents the dictionary { "spam" => [ "a", "b" ] }
Example: d9:publisher3:bob18:publisher.location4:home17:publisher-webpage15:www.example.come

Remelem kiveheto a lenyeg.

A torrentfile pedig maga ugy nez ki:

Kell egy announce url, es emellett persze a tobbi valtozo, mint pl private stb...

Az info dictionary tartalmazza a fileokat:

Ezeket egy files listaban tarolja(lsd feljebb a peldat), minden filehoz tartozik egy meret is.

files
l
d6:length
i561254e
4:path
l5:COVER
8:file.ext
e
e
e

Az info meg tartalmaza a piece meretet(ezt meret alapjan dinamikusan erdemes kivalasztani, ha tul kicsi tul nagy lesz a file), es tartlmazza a piecek hash-et is, amit ugy csinal h gyakorlatilag tobb filenel egyetlen nagy filekent olvassa a fileokat egymas utan, a sorrend azt hizsem az amit a filesnel ir.
(pl 5 6kbos filenal, ahol a piece meret 13kb, akkor beolvassa az elso 2 filet, es 1 kbyteot a 3ikbol, hash, es utana megy tovabb.)

Ha sajat magad akarod generalni, ajanlom a forraskod olvasgatasat.

Ha valamit nem jol irtam volna, javitson ki nyugodtan barki, mar regota foglalkoztam vele.

Kipróbáltam a torrentet, feltöltöttem a trackerre és jó lett ;)

Ha egy könyvtárban csak egyetlen file van, akkor viszont nem lesz jó, akkor nem hozza létre a könyvtárstruktúrát és én elsőre egyetlen file-lal próbáltam. Lehet, hogy bug vagy csak szimplán én néztem be valamit?

Mindegy, valószínű nagyon sokáig nem lesz rá ismét szükségem.

Bye, Fifi

Igaz már megoldódott 16-án a gond, illetve nem is volt, csak én nem tudtam jól értelmezni az elkészült torrent file-t, de azért kielégítem a kíváncsiságod ;)


fifi@silent:~$ apt-file search usr/bin/btmakemetafile
bittornado: usr/bin/btmakemetafile.bittornado
bittorrent: usr/bin/btmakemetafile.bittorrent
torrentflux: usr/bin/btmakemetafile.torrentflux

fifi@silent:~$ dpkg -l bittornado bittorrent torrentflux
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                     Version                  Description
+++-========================-========================-================================================================
ii  bittornado               0.3.17-1                 bittorrent client with enhanced curses interface
pn  bittorrent               <none>                   (no description available)
pn  torrentflux              <none>                   (no description available)

fifi@silent:~$ /usr/bin/btmakemetafile | head -1
Usage: btmakemetafile <trackerurl> <file> [file...] [params...]

Bye, Fifi

Bár tudom, hogy neked nem ez kéne, de az rtorrent helyett próbáld ki a deluge torrent klinest, én használom, bevált. Kb a windows-os utorrent-hez tudnám hasonlítani, kicsi, gyors, egyszerű, és jól működik. ->http://deluge-torrent.org/

Ha ez valamiért nagy lenne, akkor a másik ajánlat a transmission, ez még kissebb, xfce alatt használtam, gond nélkül. -> http://transmission.m0k.org/

----------------------------------------------------------------------------
Az emberek 66 százaléka nem tud számolni! Gondoljatok bele, ez majdnem a fele!!

A ctorrentet, ami egy éve hivatalosan discontinued, az utolsó stable majdnem 3 éves, és lassan már az összes tracker visszautasítja "obsolete protocol" miatt?

Bocs, nem flame-nek, de ez rekeszizomgörcs ;)

A transmission a legdinamikusabban fejlődő konzolos(an is használható) kliens.

Woot.

Megkernem a kedves usert googlezzon ra a ctorrent szora.

Igen 3ik talalat.

Ha mar a dinamikus fejlesztesrol beszelunk:

Transmission 0.72 Released!

Posted by John Clay on 30/04/07
0.72 (2007/04/30)
Reset download/upload rates when sending *started*
Fix rare XML parsing bug

Ctorrent:

2007-06-10
A possible crash when exiting the program has been corrected. The bug is essentially harmless except that you might have a core file
created as a result. The dnh3.1 release package has been updated below to correct this.

Nem flame kedveert, csak ugy.

http://ctorrent.sourceforge.net/

első találat

Latest stable release: CTorrent v1.3.4 (2004-09-07)

News
Enhanced CTorrent -- 2006-06-27 03:23:40
I just stumbled across Enhanced CTorrent, which appears to be a branched version of CTorrent with numerous new features, improvements and bug fixes. It also incorporates many of the patches queued up here on the CTorrent Sourceforge page. I have not been able to reach the author, nor have I personally evaluated his work, but it looks really good! You might want to check it out as a better alternative.

CTorrent discontinued -- 2006-06-07 15:46:51
While this is old news, I thought I'd put it up on the webpage as an official annoucement. The ctorrent project has been cancelled (finally!). Ever since the main developer, YuHong, left the project back in 2004 there has not been a single release.
The homepage and its content (files) will remain online for anyone wanting to take a peak at the sourcecode (for whatever purpose) or simply use the application. Up till today the homepage has been semi-broken, as some of you have noticed (and pointed out). The reason for this was a structural change to SourceForges MySQL cluster, which made our database connection invalid. This has been corrected, however, all old records has unfortunately been lost. This means that all previous news records and more importantly, all FAQ entries, are lost. Forever!

Az általad idézett hír hol volt?

Ahogy elobb is irtam 3ik talalat.

EDIT:
Amugy nem olyan nagy dolgokat nyomat benne a srac, de respect neki, ugy remlik egyedul tolja, es a project nagyon jol halad, szepen dokumental bugfixel segitokesz.

Ami nagyon tetszett h csak kis dolgokat frissit de gyakran.

Amugy nem azt mondom h transmission nem dinamikus, csak nekem nem jott be, en torrentfluxba integraltam.

Lehet am hogy az en hibam volt, de az nem volt jo mikor minden torrentre forkolt kb 5 processt...

A transmission GUI-t nem használom, nincs tapasztalatom (arra KTorrent)
A CLI viszont tetszik, kevés erőforrást eszik a pythonos kliensekhez képest (non-interactive persze, csak a dolgát csinálja, de azt meg teszi rendesen) fluxhoz pedig messze a legjobb szolgáltatásokat nyújtó backend, az azureus integration daemon nevű szörnyszülöttről nem beszélünk...

Nem is tudtam h van guija :o)

A ktorrent meg nalam olyan instabil volt, hogy azt se birta ki hogy letoltsek vele egy ISO-t, mondjuk gentooban unstablenek volt markolva, ugy latszik okkal.

Amugy a cli resze kurvajo volt, az pl jobb mint a ctorrent cli-je, ertelmezhetoseg szempontbol.

A fluxhoz telleg az a legjobb, mert ctorrentre senki nem haxolt, de teny h jobb mint a pythonos alapbol. Bar kinek mi, 10k/s-el kb mind1 mivel seedelsz.

Ami meg jo kliens volt, es tetszett, kicsit kezdeti stadiumban volt, de az egy gyonyoru projectnek nez ki: btg

Tud torrentet kesziteni, web/gui/cli interface, a cli eleg hc de turheto.

A webes jol nez ki, ajaxos, az egesz kod libtorrentre(nem nem az rtorrent libtorrentje, es rb-libtorrent) alapszik, boost libekkel, es baromi gyors.

Harom gondom volt vele, a userkezelese:

Lehet hozzapakolni usert, de max annyi h 1 kliens tobb user er el, nincs torrent lathatosag limitalas, ertsd kisgeza felrakott torrentjet kisgizi nem latja, nemtudja leallitani stb....

Es a global limit, na az a nem trivialis, az 2nap haxolas

Plusz randomra meghalt az uija(webui), 2percig hasznalhatatlan volt, apache 99%on, es utana vissza a regi kerekvagasba, ki nem fagyott de azert ez sem jo...

Ami viszont nagy elonye volt, azt hiszem nemtudok masik torrent klienst mondani ami ennyi ui-val rendelkezne, es daemon/client alapon mukodne.

A transmission GUI-t nem használom, nincs tapasztalatom (arra KTorrent)
A CLI viszont tetszik, kevés erőforrást eszik a pythonos kliensekhez képest (non-interactive persze, csak a dolgát csinálja, de azt meg teszi rendesen) fluxhoz pedig messze a legjobb szolgáltatásokat nyújtó backend, az azureus integration daemon nevű szörnyszülöttről nem beszélünk...

Köszönöm torrent kliensnek az rtorrent nekem 100%-ig megfelel, nem kell gui.

Viszont a torrent készítés funkciója hiányzik belőle és ezt szeretném megoldani más programmal távolról ssh-n keresztül és nem szeretnék egy gui-t ezért rángatni adsl-n.