Skip to content

Get magnet links from internet without any effort! 🧲

License

Notifications You must be signed in to change notification settings

mzramna/MagicMagnet-Python

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

Made with Python

GitHub repo size Project Owner Project Owner GitHub stars GitHub forks

Get magnet links from internet without any effort! 🧲

Screenshots

Menu light Menu light

Main menu in light and dark themes

Getting started

How to use

Type what content you wanna links for, in the search box, select one or more of sources and click in the search button.

By now, supported sources are:

  • Google (Slow, but works fine for dubbed content)
  • The Pirate Bay (Fast, and works for every content)
  • 1337x (Fast, and works for every content)
  • Nyaa (Fast, focused in anime RAW's)
  • EZTV (Fast, focused in TV Shows)
  • YTS (Fast, focused in lightweight movies)
  • Demonoid (Fast, focused in TV Shows)
  • ETTV (Slow, focused in TV Shows)
  • viatorrent (fast,focused in brazilian portuguese dubed movies,series and animation)

After the search is finished, you can:

  • Save all links to a JSON
  • Open the selected magnet link with your default torrent client
  • Copy the magnet link to your clipboard

JSONS are saved to '/MagicMagnet/json/' by default.

We plan to add new features, such:

  • Save magnet links as a .torrent file
  • Get info about seeders and leechers and use it to rate torrents
  • Download torrents without a external client

For development, we plan to use the asyncio library (for a asynchronous code), since we are dealing with web requests to fetch our magnet links, and try to optimize the speed and stability. Futhermore, we plan to use regular expressions, since our API is a litte bit primitive.

From an executable (for Windows)

Download the latest build and you're done.

From source

In order to run this program from source, you'll need:

  • Latest version of Python3
  • Git (optional)
  • Install dependencies

To install Python3, please visit Python official website, download and install the latest package available. If you are using GNU/Linux, you may already have Python3 installed in your system. Type python3 --version to check.

To install Git, please visit Git official website, download and install the latest package available. Setup Git with your name and email. Clone the repository to your machine using the following command:

git clone https://github.com/pedrolemoz/MagicMagnet-Python.git

If you don't wanna install Git, just download the .zip from this repository (the green button above), and unzip it in your machine.

To install dependencies, type the following command in your command prompt or terminal (make sure to be in the project directory):

pip install -r requirements.txt

Building the application

If you forked this project and want to build your executable, there's a script to do it. I used cx_Freeze to build the program.

Install cx_Freeze using pip with the following command:

pip install cx-Freeze

To build the application:

python build_application.py build

It will create a folder called build with the executable inside.

Note 1: I don't know why, but cx_Freeze doesn't work for me in Python 3.8. I'm currently using Python 3.7.6 to build this project.

Note 2: If your executable fail to start, try rename the folder Tkinter in lib directory to tkinter.

to add new websites just edit the search_parameters.json file like this:

"google": { ##website reference for easy debug
    "need_param": true,                                                                 ##  parameter that defines if the folowing parameters will be needed
    "multiple_page":false,                                                              ##  parameter that determine if page 
    "alias": "Google",                                                                  ##  name shown in options
    "searchURL": "https://www.google.com/search?q={searchContent}+download+torrent",    ##  url with the tag {searchContent} that will be replaced by the searching keyords,and it necessary the {page} tag that symbolizes the result page if aplies to website
    "resultURL": "",                                                                    ##  url where the query result will be shown
    "start": "/url?q=",                                                                 ##  begining of the result url string
    "notIn": [                                                                          ##  will not accept results in this hostnames
      "accounts.google.com",
      ".org",
      "youtube.com",
      "facebook.com"
    ],
    "sliceString": [                                                                    ##  how to slice the result strings
      7,
      -88
    ],
    "urlEncode": ""                                                                     ##  define,if necessary,the url encode, probly if empty not work, replace with "utf-8"

the terminal commands are listed here:

usage: MagicMagnet.py [-h] [-w SEARCH_WEBSITES] [-n NUMBER_OF_PAGES]
                      [-s VALUE_TO_SEARCH] [-f OUTPUT_FILE] [-N DONT_SAVE]
                      [--silent SILENT]

utility to search multiple torrent websites at once,if none argument
parsed,will open in ui mode

optional arguments:
  -h, --help            show this help message and exit
  -w SEARCH_WEBSITES, --search-websites SEARCH_WEBSITES
                        the websites where will search, default 5
  -n NUMBER_OF_PAGES, --number-of-pages NUMBER_OF_PAGES
                        the amount of pages that will search in each
                        compatible website, default all
  -s VALUE_TO_SEARCH, --value-to-search VALUE_TO_SEARCH
                        the text wich will be researched
  -f OUTPUT_FILE, --output-file OUTPUT_FILE
                        the file where will be saved all the retrived websites
  -N DONT_SAVE, --dont-save DONT_SAVE
                        if this flag recive any value the console mode will
                        not save any output file
  --silent SILENT       if this flag recive any value the aplication will not
                        show any log,can be used with ui mode

About

Get magnet links from internet without any effort! 🧲

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%