GithubHelp home page GithubHelp logo

todokku / sensorr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thcolin/sensorr

0.0 0.0 0.0 43.5 MB

πŸΏπŸ“Ό Sensorr - A movie release radar like CouchPotato, Radarr and Watcher3

License: GNU Lesser General Public License v3.0

JavaScript 99.20% CSS 0.48% HTML 0.06% Dockerfile 0.13% Shell 0.14%

sensorr's Introduction

πŸΏπŸ“Ό Sensorr

A simple movie release radar like CouchPotato, Radarr and Watcher3, written in Javascript with React

Features

Screenshot Description
Home
  • Trending
  • Discover (Popular)
  • Discover (By year)
  • Discover (By genre)
  • Discover (By studio)
  • Trending (stars)
Library
  • Manage your movies library (wished, pinned and archived)
Discover
  • Discover movies with many options
Movie
  • Display movie details
  • Consider movie as, πŸ”• ignored, 🍿 wished, πŸ“ pinned or πŸ“Ό archived
  • Find releases on sources (torznab / newznab) - requested with title (localized) and original_title
  • Grab a release (manual or auto)
Star
  • Display collection details
Calendar
  • Track upcoming movies from followed stars !
Following
  • Manage stars you're following
Star
  • Display star details
  • Follow star πŸ”• ignored, πŸ”” followed
Logs
  • See logs details
  • Every wished movie processed

Scripts

  • dev: launch development server for React frontend
  • server: launch server services without serving frontend
  • build: build frontend to dist folder
  • prod: run pm2 apps, Sensorr (web server) and Sensorr (record cron)
  • start: launch build and prod scripts
  • doc: launch docz documentation server

Docker

Checkout Sensorr Docker image, it let you skip every complex environment configuration and just run a clean installation, just open a terminal with docker installed and run:

# `/home/user/.sensorr` will be your config path
# `/home/user/downloads` will be your blackhole path
docker run -p 5070:5070 -v /home/user/.sensorr:/app/sensorr/config -v /home/user/downloads:/app/sensorr/blackhole --name="sensorr" thcolin/sensorr

Tips: Docker image is based on alpine, so you can add TZ env variable with -e TZ=Europe/Paris

Configure

  • Edit default configuration in config/config.json or http://localhost:5070/configure

CLI

Currently CLI tool is mainly designed to work with pm2 and ecosystem.config.js which launch ./bin/sensorr record -a everyday at 17:00 / 5:00PM and ./bin/sensorr stalk everyday at 00:00

🚨 Warning: CLI tool need to communicate with Sensorr web server at http://localhost:5070 to sync databases ! Be sure Sensorr web server is launched before launching record command.


     _________  __________  ___  ___
    / __/ __/ |/ / __/ __ \/ _ \/ _ \
   _\ \/ _//    /\ \/ /_/ / , _/ , _/
  /___/___/_/|_/___/\____/_/|_/_/|_|


🍿 πŸ“Ό - Movie release radar (CouchPotato, Radarr and Watcher3 alternative)

Usage: sensorr [command] [options]

Commands:
  πŸ“Ό record              Record wished movies from collection with best release
  πŸ’§ hydrate             Hydrate movies from collection and stalked stars data
  πŸ“… schedule            Schedule calendar with recents movies from stalked stars (+/- 2 years from now)
  πŸ”— pairwise            Pairwise Plex instance with Sensorr instance
  πŸ—‘οΈ clean               Clean oldest log sessions (if directory space exceeds configured value)

Options:
  -p, --port             Specify localhost <port> [default: 5070]
  -h, --help             Output usage information
  -v, --version          Output the version number
  # record
  -b, --blackhole <dir>  Download releases .torrent and .nzb to <dir> [default: /tmp]
  -f, --filter <regexp>  Filter releases returned by configured XZNAB
  -s, --sort <key>       Sort releases by <key> (among: seeders, peers or size) [default: seeders]
  -D, --descending       Sort releases in descending order


Tips: Sensorr will use your "config/config.js" and fallback on default

Roadmap

  • Feature Discover
    • Movie
      • Add link to Collection
    • Star
      • Add link to Discover with with_credits=[actor]
    • Improve AND + OR behavior
      • I want to see ComΓ©die AND Romance movies
      • I want to see ComΓ©die OR Romance movies
  • Feature Policies
    • Add "groups" Policy with "default" === current (groups like default or blockbuster for example)
      • Add configurable avoid terms on Movie (like /movie/515195 which got a 0.73 similarity score with /movie/582607)
      • Add configurable prefer terms on Movie (like /movie/447404 I want in FRENCH and not VOSTFR)
    • Add size property on Settings/blocks/Policy (how to handle it ? min/max ?)
    • Improve Documents.*.Filters
      • policies - multiple
    • Movie
      • Add policies
        • Checkbox displayed as grid or column
          • After Row ? - Bad UX, far away from state
        • Create policy option (will copy/paste default)
        • Edit policy link
    • Add List page
      • Grouped movies by "policy"
      • Same layout as Home page
  • Feature Review (fix manual)
    • Allow to review a record session
      • Review each record, one by one
      • Allow to post an issue on thcolin/oleoo
      • Allow to search for releases
  • Feature performance
    • Rename XZNAB to XYZNAB
    • Refactor Grid and List
      • Allow 4 "sources" / behaviors
        • props.items (array)
        • props.query (db)
        • props.uri/props.params (tmdb)
        • props.? (socket)
    • On Persona.State unfollow, delete calendar entities with only this as followed credits
    • Look at shipjs
    • oleoo
      • Refactor algorithm, split title and metadata with year|language|resolution|source ([0]/[1])
    • Server
    • CLI
      • Use cli-step
      • When stalk star, atomicUpsert it
      • Fix record command, filter movies with release date < +3 months (useless to search for movies still in production - make configurable)
    • Responsive design / mobile UI-UX
      • Take screenshots in small, medium and large breakpoints
  • Feature Config
  • Feature 1.0.0
    • πŸŽ‰
    • Fix docz
    • Improve README
  • Feature Notifications
    • Notify records summary (email, sms, etc...)
  • Feature UI/UX sugar
    • Translate (fr, en)
    • Discover
      • Add status in controls - how ?
      • Add Random button
    • Search
      • Animate height
      • Add remove suggestion button
    • Home
      • Polish discover row, load 2 page and filter with trending ones
      • Add Head Film ? (see inspiration)
      • Add "pre-configured" List like Oscars ?
    • Settings
      • Database
        • Allow to clean browser sensorr-* databases (doctor)
    • Grid
      • Select/Deselect all
    • Row
      • Load next page when scroll end on Row with uri props (like Grid but horizontal)
        • Better, display Grid when scroll end + entities.length > 10
    • Summary command result
      • record:
          ${found} Movies archived to ${sensorr.config.blackhole} ! πŸŽ‰
            * ${movie.title} (${movie.year}) with release ${release.generated}
          But ${notfound} still not found.. 😢
            * ${movie.title} (${movie.year}) : 0 releases found including 0 filtered
        
    • Loading page waiting sync of db with progress ?
      • Allow to clean database if waiting too much
    • Dark mode (react-theme-provider)
  • Feature Custom Home
    • Home
      • Customize
        • Pinned sortable Trending|Discover Rows
          • type=[Popular|Top|Calendar|Trending|Discover]
          • uri={...}
          • params={...}
        • Save from Discover "current" params
  • Feature Doctor
    • Replace Plex releases by better if available, like CouchPotato
      • Plex manage all medias, so we can get release (source, language, resolution, ...) and compute score
  • Feature Onboarding
    • Add Onboarding page
  • Feature Browser Plugin
    • IMDB, TMDB, SensCritique or AlloCinΓ© browser plugin "bookmark" (update state of current movie website tab on Sensorr instance)
  • Feature import/export
    • Synchronize with trakt.tv
  • Feature Mobile app
    • Connect to server with QR code
    • Streaming from Releases (how to know which file read ? - ask user)

Inspiration

Family

sensorr's People

Contributors

thcolin avatar dependabot-preview[bot] 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.