Main menu in light and dark themes
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.
Download the latest build and you're done.
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
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