A simple movie release radar like CouchPotato, Radarr and Watcher3, written in Javascript with React
dev
: launch development server forReact
frontendserver
: launch server services without serving frontendbuild
: build frontend todist
folderprod
: runpm2
apps, Sensorr (web server
) and Sensorr (record cron
)start
: launchbuild
andprod
scriptsdoc
: launchdocz
documentation server
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
- Edit default configuration in
config/config.json
orhttp://localhost:5070/configure
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
- Feature
Discover
Movie
- Add link to
Collection
- Add link to
Star
- Add link to
Discover
withwith_credits=[actor]
- Add link to
- Improve
AND
+OR
behavior- I want to see
ComΓ©die
ANDRomance
movies - I want to see
ComΓ©die
ORRomance
movies
- I want to see
- Feature
Policies
- Add "groups"
Policy
with "default" === current (groups likedefault
orblockbuster
for example)- Add configurable
avoid
terms onMovie
(like/movie/515195
which got a0.73
similarity score with/movie/582607
) - Add configurable
prefer
terms onMovie
(like/movie/447404
I want inFRENCH
and notVOSTFR
)
- Add configurable
- Add
size
property onSettings/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 fromstate
- After
- Create
policy
option (will copy/pastedefault
) - Edit
policy
link
- Add
- Add
List
page- Grouped movies by "policy"
- Same layout as
Home
page
- Add "groups"
- Feature
Review
(fix manual)- Allow to review a
record
session- Review each
record
, one by one - Allow to post an
issue
onthcolin/oleoo
- Allow to search for
releases
- Review each
- Allow to review a
- Feature
performance
- Rename
XZNAB
toXYZNAB
- Refactor
Grid
andList
- Allow 4 "sources" / behaviors
props.items
(array)props.query
(db)props.uri/props.params
(tmdb)props.?
(socket)
- Allow 4 "sources" / behaviors
- On
Persona.State
unfollow
, deletecalendar
entities with onlythis
as followed credits - Look at
shipjs
oleoo
- Refactor algorithm, split
title
andmetadata
withyear|language|resolution|source
([0]
/[1]
)
- Refactor algorithm, split
Server
- Look at
WatermelonDB
- Fix RAM usage with
sessions
inio
- Look at
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)
- Use
- Responsive design / mobile UI-UX
- Take
screenshots
insmall
,medium
andlarge
breakpoints
- Take
- Rename
- Feature
Config
- Refactor
config
tosettings
using mozilla/node-convict
- Refactor
- Feature
1.0.0
- π
- Fix
docz
- Improve
README
- Feature
Notifications
- Notify
records
summary (email, sms, etc...)
- Notify
- Feature
UI/UX sugar
- Translate (
fr
,en
) Discover
- Add
status
incontrols
- how ? - Add
Random
button
- Add
Search
- Animate
height
- Add remove
suggestion
button
- Animate
Home
- Polish discover row, load 2 page and filter with trending ones
- Add
Head
Film
? (see inspiration) - Add "pre-configured"
List
likeOscars
?
Settings
Database
- Allow to
clean
browsersensorr-*
databases (doctor
)
- Allow to
Grid
- Select/Deselect all
Row
- Load next page when scroll end on
Row
withuri
props (likeGrid
but horizontal)- Better, display
Grid
when scroll end +entities.length > 10
- Better, display
- Load next page when scroll end on
- 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 ofdb
with progress ?- Allow to
clean
database if waiting too much
- Allow to
- Dark mode (
react-theme-provider
)
- Translate (
- Feature
Custom Home
Home
- Customize
- Pinned sortable
Trending|Discover
Rows
type=[Popular|Top|Calendar|Trending|Discover]
uri={...}
params={...}
- Save from
Discover
"current" params
- Pinned sortable
- Customize
- Feature
Doctor
- Replace
Plex
releases by better if available, likeCouchPotato
Plex
manage allmedias
, so we can getrelease
(source
,language
,resolution
, ...) and compute score
- Replace
- Feature
Onboarding
- Add
Onboarding
page
- Add
- Feature
Browser Plugin
IMDB
,TMDB
,SensCritique
orAlloCinΓ©
browser plugin "bookmark" (update state of current movie website tab onSensorr
instance)
- Feature
import/export
- Synchronize with
trakt.tv
- Synchronize with
- Feature
Mobile
app- Connect to server with QR code
- Streaming from
Releases
(how to know which file read ? - ask user)