• Stars
    star
    779
  • Rank 58,364 (Top 2 %)
  • Language
    Nim
  • License
    MIT License
  • Created almost 5 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A very low memory-footprint, self hosted API-only torrent search engine. Sonarr + Radarr Compatible, native support for Linux, Mac and Windows.

image

Torrentinim

Torrentinim is a self-hosted API-only, low memory footprint, torrent search engine and crawler.

Native support for Linux, Mac and Windows. You can find a release for your platform in our releases.

Community

Want to talk about Torrentinim or suggest features? We have an official Discord server.

Click to join our official Discord server

Goals

  • API-only
  • Native support for: Linux, Mac and Windows.
  • Crawl multiple index sites for torrents and magnet links.
  • [TODO] Easily integrates with both Sonarr and Radarr.
  • Run without ceremony. You download a binary, run it, that's it. Really.
  • Easy to understand source code. Special care is taken to keep code lean and understandable. No code golf here.
  • High performance, extremely low memory footprint.
    • RAM usage (avg.): 24MB
    • Binary application size: 700KB

We work closely with other providers and search engines to be respectful of their hardware and minimize our impact to their systems. Want torrentinim to support your site? Please open a Github Issue in this repo.

Usage Guide

Torrentinim was designed to be painless to run. You download an executable, and run it. Done. It will start slurping up data from supported sources automatically.

The NUKE_MY_DATABASE environment variable initializes the database. All subsequent runs should not include NUKE_MY_DATABASE or you will nuke your entire database.

$ NUKE_MY_DATABASE=true ./torrentinim
[system] Database nuke requested. Clearing all database tables and data.
[system] Initializing database
Torrentinim is running, bambino. http://localhost:50123

Subsequent runs, don't use the NUKE_MY_DATABASE flag!

$ ./torrentinim
Torrentinim is running, bambino. http://localhost:50123

Environment variables:

  • TORRENTINIM_PORT - what port the app will run on.
  • ALLOW_ORIGINS - CORS allowed origins.

Example:

TORRENTINIM_PORT=60000 ALLOW_ORIGINS="https://example.com" ./torrentinim

Use the search JSON endpoint to perform searches against all the scraped torrents you have saved locally.

http://localhost:50123/search?query=the other guys&page=1

Development

You need at least Nim 1.2.0

  1. Clone the project
  2. asdf install (to install the version of Nim in .tool-versions)
  3. make deps
  4. make run

To compile release:

  1. make build

Github Releases

  1. Update torrentinim.nimble package version with the tag version.
version       = "0.4.0"
git tag v0.4.0
  1. Push up your tags
git push origin --tags

Supported websites

The following websites are fully supported.

  • eztv
  • 1337x
  • nyaa
  • rarbg
  • torrentdownloads.me
  • yts

These websites were supported but they have gone down.

  • thepiratebay

Thank you's:

  • @chhdamian for the Torrentinim logo
  • @scroot
  • @srozb
  • @anacrolix
  • The Nim discord server and the people who volunteer their time.

More Repositories

1

magnetissimo

Web application that indexes all popular torrent sites, and saves it to the local database.
Elixir
2,996
star
2

nimlings

Learn the Nim programming language by fixing tiny broken programs.
Nim
48
star
3

golden

A sample Phoenix 1.6.0 LiveView application using esbuild, alpinejs and tailwind jit.
Elixir
22
star
4

gophers

Gophers is a tool you can use to scrape user information from a Github organisation or search results collection.
Go
21
star
5

rails4-dropzone-carrierwave-demo

Ruby on Rails 4 with Dropzone and Carrierwave Integration.
Ruby
16
star
6

ekeko

Ekeko is a tool that helps you save all of your favorited memes, videos and other online resources.
Nim
15
star
7

kryten

Kryten is a CLI tool to ask questions and get sourced answers from any .pdf, .doc, .docx, and many more documents.
Nim
14
star
8

curltime

curltime is an Elixir package allows you to easily get website response times.
Elixir
11
star
9

ASP.Net-MVC3-Persona-Demo

A demo MVC3 web application using Mozilla Persona for authentication.
11
star
10

smitego

SmiteGo is an API wrapper for the Smite game from HiRez. It is written in Go!
Go
11
star
11

hidemyass-proxy-lister

Easily fetch a list of Hidemyass's free proxy list as easy to use structs.
Elixir
7
star
12

Streamtastic

Streamtastic is a .NET (C#) library that provides information for streams hosted on a wide variety of websites including Own3d and Twitch.tv.
C#
7
star
13

filesize

A Nim package to convert filesizes into other units, and turns filesizes into human readable strings.
Nim
5
star
14

task-list-kata

Just a lil friday kata. Writing a task list using React and Mobx.
JavaScript
5
star
15

subreddit-advisor

Terminal application that analyses top submissions and tells you when it's best to submit your link.
Go
4
star
16

CherryTomato

CherryTomato makes using information provided by RottenTomatoes.com very simple. It's aim is to allow developers to quickly and safely create powerful applications with the JSON api provided for free by RottenTomatoes. Full C# POCO objects allow you to concentrate on creating a great application and not parsing random JSON from a source.
C#
4
star
17

sigma

Sigma is an Elixir package that gives you the current status of companies online.
Elixir
3
star
18

atom-darcula

Atom editor theme inspired by RubyMine's Darcula.
CSS
2
star
19

initial-avatar-generator

This little script will generate an avatar image for a user based on their initials.
Nim
1
star
20

octomixer

Octomixer is the easiest way to find Github information on users and organizations for Elixir apps.
Elixir
1
star
21

mailtester

Elixir
1
star
22

nextjs13-test

CSS
1
star
23

sergiotapia

readme
1
star
24

kotlin-hello-world

Kotlin
1
star
25

lostinthegc.com

Hugo blog for my website
CSS
1
star
26

UVM-Blog-Parser

Simple blog parser for Universidad ViΓ±a del Mar's blog.
PHP
1
star