Code Monkey home page Code Monkey logo

rivr-search's Introduction

alt tag

RIVR

RIVR is the world's first open source torrent search engine. It scrapes torrent websites (Kickass, ThePirateBay, isoHunt, Limetorrents, 1337x), and gives fast results with a ranking based on torrent hash, seeders and leechers. For each torrent it provides a magnet link and when available a torrent file displaying its contents. RIVR is a personal project I decided to make open source with the hope of finding people to build a distributed torrent search engine with high quality results.

Features

  • Scrapers for Kickass, ThePirateBay, isoHunt, Limetorrents, 1337x
  • Fast search using Sphinx
  • Autocomplete suggestions
  • Movie & TV series info when the search query is relevant
  • View torrent contents

alt tag

Installation

  • Create a MySQL database and import schema.sql, sources.sql and trackers.sql from install folder.

  • Download and import the MySQL dump from https://goo.gl/vW0kqd. It contains ~13M torrents.

  • Edit includes/config.php with your MySQL host, username, password and database name.

  • Edit install/sphinx.conf.in (mysql_all source) with your MySQL host, username, password and database name and change all the file paths to yours.

  • Use install/sphinx.conf.in to create the Sphinx indexes:

    sudo -u sphinx indexer --config sphinx.conf.in --all

  • Access Sphinx indexes with MySQL client:

    mysql -h 0 -P 9306

  • Execute the following commands to attach regular indexes to real-time indexes:

    ATTACH INDEX orig TO RTINDEX rtindex;

    ATTACH INDEX mysql0 TO RTINDEX rtindex0;

    ATTACH INDEX mysql1 TO RTINDEX rtindex1;

    ATTACH INDEX mysql2 TO RTINDEX rtindex2;

    ATTACH INDEX mysql3 TO RTINDEX rtindex3;

  • Start the Sphinx search daemon.

  • Create a cron job to call admin/indexer.php for example every 12 or 24 hours.

  • admin/tupdater.php updates the seeds/leech of all torrents in groups of 73. The final numbers are the maximum among those found in all the trackers. If we have 10M torrents this makes ~960,000 requests in total to the 7 torrent trackers, so it is not recommended to run it at the moment until we define some criteria to limit the number of torrents we need to get stats every time (for example we don't want recently (re)indexed links).

To Do

  • Limit the torrents we need to update the seeds and peers in admin/tupdater.php
  • Improve the ranking formula
  • Add more search options
  • Make speed optimizations
  • Add user features (sign up, sign in, comments, votes)
  • Make the interface responsive

Donate

The search engine is at an early stage and many optimizations and expensive hardware are needed to put it live. The main problem is the refreshing of the torrents seeders and leechers that needs to be done for millions of torrents every 12 or 24 hours. That's why we need a few donations.

bitcoin:3EtjNVUcEc3fSab2U9JH9uHmr7aCoKcP5K

License

alt tag

You can redistribute and/or modify RIVR under the terms of the GNU General Public License v.3 as published by the Free Software Foundation.

rivr-search's People

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.