Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/farishijazi/rarbgcli
RARBG command line interface for scraping the rarbg.to torrent search engine
https://github.com/farishijazi/rarbgcli
crawler rarbg rarbg-torrentapi torrent torrents torrents-crawler
Last synced: 9 days ago
JSON representation
RARBG command line interface for scraping the rarbg.to torrent search engine
- Host: GitHub
- URL: https://github.com/farishijazi/rarbgcli
- Owner: FarisHijazi
- Created: 2022-07-11T00:21:02.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-09-04T02:48:27.000Z (about 1 year ago)
- Last Synced: 2024-10-15T01:23:21.924Z (22 days ago)
- Topics: crawler, rarbg, rarbg-torrentapi, torrent, torrents, torrents-crawler
- Language: Python
- Homepage:
- Size: 3.56 MB
- Stars: 50
- Watchers: 6
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [RARBG-CLI `rarbgcli`](https://github.com/FarisHijazi/rarbgcli)
⚠⚠⚠⚠⚠
Sadly the official [rarbg.to](https://rarbg.to) is down for good, but this script will continue to work on similar mirrors like [https://rargb.to/](https://rargb.to/)
⚠⚠⚠⚠⚠---
RARBG command line interface for scraping the [rarbg.to](rarbg.to) torrent search engine.
Outputs a torrent information as JSON from a [rarbg.to](rarbg.to) search.
![usage interactive](assets/usage_interactive.gif)
---
You can even pipe `|` the magnet links to your favorite bittorrent client
![usage pipe](assets/usage_pipe_to_client.gif)
## Installation
From PyPi (stable)
pip install rarbgcli
From source (latest)
pip install git+https://github.com/FarisHijazi/rarbgcli
## Usage
Both aliases are valid for the same command: `rarbg` or `rarbgcli`
usage:
[-h] [--category {movies,xxx,music,tvshows,software,games,nonxxx,}] [--limit LIMIT] [--domain DOMAIN] [--order {data,filename,leechers,seeders,size,}] [--descending] [--interactive] [--download_torrents] [--magnet] [--sort {title,date,size,seeders,leechers,}]
[--block_size SIZE] [--no_cache] [--no_cookie]
searchpositional arguments:
search Search termoptional arguments:
-h, --help show this help message and exit
--category {movies,xxx,music,tvshows,software,games,nonxxx,}, -c {movies,xxx,music,tvshows,software,games,nonxxx,}
--limit LIMIT, -l LIMIT
Limit number of torrent magnet links (default: inf)
--domain DOMAIN Domain to search, you could put an alternative mirror domain here (default: rarbgunblocked.org)
--order {data,filename,leechers,seeders,size,}, -r {data,filename,leechers,seeders,size,}
Order results (before query) by this key. empty string means no sort (default: )
--descending Order in descending order (only available for --order) (default: False)
--interactive, -i Force interactive mode, show interctive menu of torrents (default: None)
--download_torrents, -d
Open torrent files in browser (which will download them) (default: None)
--magnet, -m Output magnet links (default: False)
--sort {title,date,size,seeders,leechers,}, -s {title,date,size,seeders,leechers,}
Sort results (after scraping) by this key. empty string means no sort (default: )
--block_size SIZE, -B SIZE
Display torrent sizes in units of SIZE (default: auto)
--no_cache, -nc Don't use cached results from previous searches (default: False)
--no_cookie, -nk Don't use CAPTCHA cookie from previous runs (will need to resolve a new CAPTCHA) (default: False)Example
```sh
rarbgcli "the stranger things 3" --category movies --limit 10 --magnet
```### Piping `|`
The program is pipe-friendly, so you could use this tool in conjunction with the [jq](https://stedolan.github.io/jq/) command to filter the JSON output, and then pipe it to your favorite torrent client.
The `--magnet` option is a convenience option instead of filtering it every time with `jq`, the bellow 2 lines are equivalent:
```sh
rarbgcli "the stranger things 3" --category movies --limit 10 | jq .[].magnet | xargs qbittorrent
rarbgcli "the stranger things 3" --category movies --limit 10 --magnet | xargs qbittorrent
```## CAPTCHA
CAPTCHA should automatically be solved using Selenium Chrome driver and `tesseract`.
In the case that it doesn't, see the instructions at the bottom to manually solve the CAPTCHA and save the cookies.
~To get around the captcha, the user will be prompted to solve it and enter the cookie in the terminal.~
~I tried many ways to automate this process (using selenium and tesseract), but it just ends up being overkill, hard to maintain across platforms, and I still didn't get it to work.~
~This might be automated one day, because it is possible.~
![](assets/solvingCAPTCHA.gif)
## Development
- make changes
- `./test.sh` # make sure tests pass
- `git commit ...`
- `./build.sh` # will push automatically### To-do list
- [x] add interactive mode
- [x] add option to download the .torrent files
- [ ] add api options (for importing using python)