Coder Social home page Coder Social logo

letzei / torrentinim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sergiotapia/torrentinim

1.0 0.0 0.0 3.98 MB

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

License: MIT License

JavaScript 35.62% Nim 8.03% CSS 12.32% Makefile 0.09% HTML 43.75% Dockerfile 0.19%

torrentinim's Introduction

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.

torrentinim's People

Contributors

sergiotapia avatar anacrolix avatar scroot avatar srozb avatar

Stargazers

Hamzah Muhammad avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.