Skip to content

Commit

Permalink
Docs/add instructions (#7)
Browse files Browse the repository at this point in the history
* chg: chore: add linter

* chg: docs: add tutorial for deploying
  • Loading branch information
felipemarinho97 authored Apr 28, 2024
1 parent 98f1700 commit 2812c20
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 7 deletions.
98 changes: 96 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,103 @@ This is a simple torrent indexer that can be used to index torrents from HTML pa

## Test it

Visit [https://vlambdas.oci.darklyn.online/](https://vlambdas.oci.darklyn.online/) to test it.
Visit [https://torrent-indexer.darklyn.org/](https://torrent-indexer.darklyn.org/) to test it.

## Supported sites

- [comando-torrents](https://comando.la/)
- [bludv](https://bludvfilmes.tv/)
- [bludv](https://bludvfilmes.tv/)

## Deploy

If you have Docker + docker-compose installed, you can deploy it using the following command:

```bash
curl -s https://raw.githubusercontent.com/felipemarinho97/torrent-indexer/main/docker-compose.yml > docker-compose.yml
docker-compose up -d
```

The server will be available at [http://localhost:8080/](http://localhost:8080/).

## Integrating with Jackett

You can integrate this indexer with Jackett by adding a new Torznab custom indexer. Here is an example of how to do it for the `bludv` indexer:

```yaml
---
id: bludv_indexer
name: BluDV Indexer
description: "BluDV - Custom indexer on from torrent-indexer"
language: pt-BR
type: public
encoding: UTF-8
links:
- http://localhost:8080/

caps:
categorymappings:
- { id: Movie, cat: Movies, desc: "Movies" }
- { id: TV, cat: TV, desc: "TV" }

modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
allowrawsearch: true

settings: []

search:
paths:
- path: "indexers/bludv?filter_results=true&q={{ .Keywords }}"
response:
type: json

keywordsfilters:
- name: tolower

rows:
selector: $.results
count:
selector: $.count

fields:
_id:
selector: title
download:
selector: magnet_link
title:
selector: title
description:
selector: original_title
details:
selector: details
infohash:
selector: info_hash
date:
selector: date
size:
selector: size
seeders:
selector: seed_count
leechers:
selector: leech_count
imdb:
selector: imdb
category_is_tv_show:
selector: title
filters:
- name: regexp
args: "\\b(S\\d+(?:E\\d+)?)\\b"
category:
text: "{{ if .Result.category_is_tv_show }}TV{{ else }}Movie{{ end }}"
# json engine n/a
```

If you have more tips on how to integrate with other torrent API clients like Prowlarr, please open a PR.

# Warning

The instance running at [https://torrent-indexer.darklyn.org/](https://torrent-indexer.darklyn.org/) is my personal instance and it is not guaranteed to be up all the time. Also, for better availability, I recommend deploying your own instance because the Cloudflare protection may block requests from indexed sites if too many requests are made in a short period of time from the same IP.

If I notice that the instance is being used a lot, I may block requests from Jackett to avoid overloading the server without prior notice.
7 changes: 2 additions & 5 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
version: '3.7'
version: '3'

services:
torrent-indexer:
image:
build:
context: .
dockerfile: Dockerfile
image: felipemarinho97/torrent-indexer:latest
container_name: torrent-indexer
restart: unless-stopped
ports:
Expand Down

0 comments on commit 2812c20

Please sign in to comment.