Skip to main content

A torrent search engine based on qBittorrent's

Project description

# Standalone Novasearch

This is a fork of [qBittorrent's Nova search engine](https://github.com/qbittorrent/qBittorrent/tree/master/src/searchengine).

It has been patched to use modern [requests](http://docs.python-requests.org/en/master/) library, add a setuptools installer for standalone usage and support both Python2 and Python3 out of the box (though this should not be relied upon).

Please note that even though this works on Python2, development will only focus on Python3.

## How to use

* Install it

```shell
$ pip install nova6
```

* Get some engines from qBittorrent: https://github.com/qbittorrent/search-plugins

* Run it

```shell
$ nova6 -d search-plugins all all query
```

## Synopsis

Nova6 tries to maintain command-line compatibility with nova from qBittorrent. However, in order to make it distributable and still maintain compatibility with existing plugins, I had to make some changes.

Notably, `nova6` accepts one extra command line argument that `nova2` does not: `--engines-dir`, `-d`.

This argument can be specified multiple times with a list of directories to be scanned for plugins. If none is specified, it checks for an `engines` in the same directory of `nova6.py`, just like qBittorrent's.

### Positional arguments

* **engines**

Select the engines to be used for search, comma-separated, or "all". Use `--capabilities` to list available plugins.

* **category**

Select the category to be used for search, or "all". Available categories are `movies`, `tv`, `music`, `games`, `anime`, `software`, `pictures` and `books`.

* **keywords**

Search keywords

### Optional arguments

* **--capabilities**

Outputs an XML showing search engine plugins capabilities and exits immediately.

* **--engines-dir**, **-d**

See above. Specify custom directory for engine plugins. Can be specified multiple times.

## Output

### Search

Search results are meant to be machine readable. The format is the following:

```link|name|size|seeds|leech|engine_url```


* **link** → a string corresponding the the download link (points to the .torrent file)
* **name** → a unicode string corresponding to the torrent's name (i.e: "Ubuntu Linux 17.04")
* **size** → a string corresponding to the torrent size (i.e: "6 MB" or "200 KB" or "1.2 GB"...)
* **seeds** → the number of seeds for this torrent
* **leech** → the number of leechers for this torrent
* **engine_url** → the search engine url (i.e: http://www.mininova.org)
* **desc_link** (optional) → if the search plugin provides it, a human-readable page describing the torrent


### Capabilities

Outputs an XML listing all the engines found in search directories and their capabilities. For example:

```xml
<capabilities>
<myengine>
<name>My Super Torrent Engine</name>
<url>https://www.mytorrentengine.com</url>
<categories>movies anime books software games tv music</categories>
</myengine>
...
</capabilities>
```

## How to write plugins

Please see [qBittorrent's guide](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin).

## Credits and license

All this code has been taken from qBittorrent. It's been adjusted by [Davide Depau](https://github.com/Depaulicious) to make it standalone and reusable.

The license is the same as qBittorrent, GPLv2.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nova6-2.0.1.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

nova6-2.0.1-py2.py3-none-any.whl (24.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file nova6-2.0.1.tar.gz.

File metadata

  • Download URL: nova6-2.0.1.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for nova6-2.0.1.tar.gz
Algorithm Hash digest
SHA256 4624ac978af12ddc00b4553da6dd37da92ce986c16939e7aa82e866c076875a1
MD5 e88501f40cffb45a3ffaeaf4448568b2
BLAKE2b-256 80193027562d16301bc53161830e824967773a058d7dd366bbf9c2c32cb5a721

See more details on using hashes here.

File details

Details for the file nova6-2.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for nova6-2.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f80e3ccf7ea6511cd13b493a0904912814ad546b7a4da08e56ebcc51d71e3be8
MD5 4fc08ae7cf4e4c13907ee1df6019ee83
BLAKE2b-256 ef68384e547157493815ea6ed1519fd3cc6049eb9e46b9fd70b1d5ea01d5aae2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page