Coder Social home page Coder Social logo

glavin001 / torrentautomator Goto Github PK

View Code? Open in Web Editor NEW
9.0 5.0 3.0 109 KB

Automate the task of searching for Torrents and sending them to your Torrent Client to download.

License: MIT License

HTML 7.88% JavaScript 3.28% CoffeeScript 87.73% Shell 1.11%

torrentautomator's Introduction

Automate the task of searching for Torrents ( Kickass, YIFY, EZTV ) and sending them to Transmission or uTorrent to download.

Installation

1. Download the Project

Clone it with Git, and update with git pull.

2. Install Node.js and Dependencies

See Node.js's website.

After installing Node.js, install Bower and CoffeeScript.

npm install -g bower
npm install -g coffee-script

Now that you have Node.js and Bower, you can install the dependencies. Change into this downloaded project directory and run:

npm install
bower install

3. Configure Your Server

Create config.json in the project's directory.

Here is a sample config.json:

{
    "server": {
      "port": 8000
    },
    "transmission": {
        "host": "localhost",
        "port": 9091,
        "username": "USERNAME",
        "password": "PASSWORD"
    },
    "twilio": {
      "phone": "15555555555",
      "accountSid": "TWILIO_ACCOUNT_SID",
      "authToken": "TWILIO_AUTH_TOKEN"
    },
    "downloadDirs": {
      "Movies": "/Media/Movies",
      "TV Shows": {
        "template": "/Media/TV Shows/{{show_name}}/Season {{season}}",
        "default": null
      }
    }
}

Setup your Transmission server and change the above Transmission configuration.

Sign up for Twilio and change the above Twilio configuration. Configure your Twilio's phone number to send text messages to your TorrentAutomator server.

Usage

After you're completely done the setup above you can start the TorrentAutomator server.

coffee server/

Or

./server/index.coffee

The you can either:

Connect to the Web app

In your web-browser go to http://localhost:8000/. Modify your address for the correct server IP address and port number as configured above.

Text the Server with Twilio

Text your Twilio phone number with commands such as the following:

Search for <torrent search keyword>
Download <selection number from previous "Search for" request>
Show downloads

Disclaimer

There are obvious legal issues, with downloading copyrighted material you do not have a license for. We do not endorse such use cases and take no responsibility for the use people make of it.

torrentautomator's People

Contributors

glavin001 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

torrentautomator's Issues

Switch to CoffeeScript

CoffeeScript supports a really nice and easy implementation of Classes in JavaScript and will make things a lot cleaner when we start to implement things more object-oriented.

Changelog

I know, I hate constantly updating Changelogs. However, they have purpose and I agree with their goal: keeping track of new features and breaking changes. It's a "necessary evil". As much as I'd wish everyone would read through my many commit messages, it's not going to happen, even by me! So, it's time to start a Changelog!

Download with link or torrent hash

  • Download with link
[dD]ownload /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
  • Download with Torrent hash (/cc @dreid93 )

Setup and Configure with Web Admin interface

Instead of manually configuring the config.json file, there should be an endpoint with a basic web admin interface for interactively customizing the configuration options for the server, such as Twilio, Transmission, etc.

Optimize Dockerfile

Implement Base Classes to be reused

Base Classes:

  • TorrentProvider, such as Kickass, PirateBay, IsoHunt
    • search method that returns Torrents
  • Command
  • TorrentClient, such as Transmission or uTorrent
  • Torrent, class that represents each Torrent file
    • title
    • torrentUrl
    • link
    • date created
    • seeders
    • leechers
    • size (number in bytes)
    • verified
    • hash

Reimplement, current existing:

  • Commands
    • Search for Torrents
    • Download Torrent
    • Show Downloads
  • Torrent Providers
    • Kickass
  • Torrent Clients
    • Transmission

/cc @dreid93 @Frozenfire92

[Solved]Add torrent problem

Hi,
I got a little problem after fresh start to add torrent by webui, error is :
create {} { query: {} }
Error: Missing Torrent URL field.

EDIT : After I post and check your code I found the problem on app/scripts/main.js
line 15 : url: torrent.torrentLink instead of : url: torrent.torrentUrl
Well thanks for this api useable with twilio, I think I will get a closer look :D

Add documentation

  • Links to Transmission Daemon
  • Twilio
  • How to create your config.json
  • Usage, commands, etc
  • Screenshots

Interesting / Catchy Name

@Glavin001 please feel free to dismiss this issue. I was hoping we could brainstorm a more interesting name.

Potentials :

  • AuTorBot (pronounced Aw-Tor-Bot like Autobot)
  • TxTor (pronounced Text-Tor)

Add additional trackers per torrent

Torrents can be uniquely identified by a hash. It would be good to be able to search multiple site for torrents by hash. Adding a torrent already added to your torrent client generally causes the torrent client to consolidate the list of trackers. This makes the torrent faster.

This could be done by creating a TorrentProvider class with a getByHash function used to attain torrents by their hash. This may then return a Torrent object that could be added to the TorrentClient.

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.