Skip to content

xrgtn/mag2tor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mag2tor - Convert magnet link to torrent file.

USAGE: mag2tor.py <magnet_link1> [<magnet_link2> ...]
    or mag2tor <magnet_link>

mag2tor tries to get .torrent file for each magnet link specified on
its commandline and write it into the current directory. For this it
needs working Internet connection and at least one active
seeder/leecher for the magnet/torrent. NOTE: waiting for magnet may
take days or even forever.

The mag2tor.py script has been inspired by the Magnet2Torrent from
https://github.com/danfolkes/Magnet2Torrent.git. It requires Python,
libtorrent-rasterbar, libboost and Python bindings for
libtorrent-rasterbar.

C++ version of mag2tor works almost the same way as mag2tor.py but
doesn't require Python and Python bindings for libtorrent-rasterbar.

https://www.rasterbar.com/products/libtorrent/tutorial-ref.html
https://www.rasterbar.com/products/libtorrent/manual-ref.html
https://github.com/arvidn/libtorrent/releases/tag/libtorrent-1_2_5
https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_2_5/libtorrent-rasterbar-1.2.5.tar.gz

XXX: Example interactive python session using libtorrent-rasterbar-1.something.something
(sorry, I don't remember which one exactly, should have been 1.1.x):

foo@bar:/tmp/baz$ python
Python 2.7.9 (default, Mar  1 2015, 12:57:24)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import libtorrent
>>> import os.path
>>> s = libtorrent.session()
>>> t = libtorrent.add_magnet_uri(s, 'magnet:?xt=urn:btih:11A2BB235D4A95FD0B1359E0BE403408C5C39750&tr=http%3A%2F%2Fbt4.t-ru.org%2Fann%3Fmagnet', {'save_path':os.path.abspath(os.path.curdir), 'paused':False, 'auto_managed':False, 'upload_mode':True})
>>> t.has_metadata()
False
>>> t.has_metadata()
False
>>> t.has_metadata()
True
>>>
foo@bar:/tmp/baz$ ls
foo@bar:/tmp/baz$ 

Example interactive python session using libtorrent-rasterbar-2.0.7 on Gentoo
Linux:

Python 3.10.9 (main, Dec 17 2022, 03:20:00) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import libtorrent as lt
>>> sess = lt.session()
>>> atp = lt.parse_magnet_uri("magnet:?xt=urn:btih:34C77A5EB7C1823F17589A90933360C6C5DBD8A6&tr=http%3A%2F%2Fbt.t-ru.org%2Fann%3Fmagnet&dn=%D0%92%D0%B0%D0%B2%D0%B8%D0%BB%D0%BE%D0%BD%205")
>>> atp.save_path = '.'
>>> atp.flags = lt.torrent_flags.upload_mode
>>> torr = sess.add_torrent(atp)
>>> torr.status().has_metadata
False
>>> torr.status().has_metadata
False
>>> torr.status().has_metadata
False
>>> torr.status().has_metadata
False
>>> torr.status().has_metadata
True

About

Convert magnet link to torrent file.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published