gromnitsky / bencview

View .torrent files; JSON export/import

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bencview

bencview - a .torrent files viewer for terminal pagers.
json2bencode - a converter from JSON to the torrent files format.

(Bencode is a data serialization format used by the BitTorrent network.)

Installation

(Ruby 2.3.0+)

$ gem install bencview

Add to your lesspipe.sh:

case "$1" in
...
    *.torrent) bencview "$1" ;;
...
esac

Optionally:

$ npm -g i json

Usage

View a torrent file:

$ bencview gimp.torrent
*info-hash: a85b7e7f035c55f684238d0e252b273fe2a1ccf5
*uri: magnet:?xt=urn:btih:a85b7e7f035c55f684238d0e252b273fe2a1ccf5&dn=gimp-2.8.14-setup-1.exe
announce: udp://tracker.publicbt.com:80
announce-list: 2
 udp://tracker.publicbt.com:80
 udp://tracker.openbittorrent.com:80
comment: GIMP 2.8.14 Installer for Microsoft Windows - updated
created by: mktorrent 1.0
creation date: Tue, 2 Sep 2014 22:05:50 +0000
url-list: 34
 http://gimper.net/downloads/pub/gimp/v2.8/windows
 http://gimp.afri.cc/pub/gimp/v2.8/windows
 [...]
info/name: gimp-2.8.14-setup-1.exe
info/pieces: 351 x 262,144
info/files: 1
 91,931,728 gimp-2.8.14-setup-1.exe
info/*files size: 91,931,728

Properties prefixed w/ '*' don't exist in the torrent file.

Remove all trackers from it:

$ bencview -j gimp.torrent | json -e 'delete this.announce; delete this["announce-list"]' | json2bencode > file.torrent

$ file file.torrent
file.torrent: BitTorrent file

$ bencview file.torrent
*info-hash: a85b7e7f035c55f684238d0e252b273fe2a1ccf5
*uri: magnet:?xt=urn:btih:a85b7e7f035c55f684238d0e252b273fe2a1ccf5&dn=gimp-2.8.14-setup-1.exe
comment: GIMP 2.8.14 Installer for Microsoft Windows - updated
created by: mktorrent 1.0
creation date: Tue, 2 Sep 2014 22:05:50 +0000
url-list: 34
 http://gimper.net/downloads/pub/gimp/v2.8/windows
 http://gimp.afri.cc/pub/gimp/v2.8/windows
 [...]
info/name: gimp-2.8.14-setup-1.exe
info/pieces: 351 x 262,144
info/files: 1
 91,931,728 gimp-2.8.14-setup-1.exe
info/*files size: 91,931,728

Note that the infohash hasn't changed.

History

This is a complete rewrite of the original bencview-0.0.x. bencview_clean util is gone, for bencview can export torrent files into JSON.

1.0.0 version is also ~2 times smaller.

Bugs

  • Both utils assume the UTF8 locale.

License

MIT.

About

View .torrent files; JSON export/import


Languages

Language:Ruby 100.0%