Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thcolin/sensorr
πΏπΌ Sensorr - Your Friendly Digital Video Recorder
https://github.com/thcolin/sensorr
couchpotato dvr movie-release-radar newsgroup newznab pvr radarr react release scene torrent torznab warez watcher3
Last synced: 7 days ago
JSON representation
πΏπΌ Sensorr - Your Friendly Digital Video Recorder
- Host: GitHub
- URL: https://github.com/thcolin/sensorr
- Owner: thcolin
- License: lgpl-3.0
- Created: 2018-10-29T16:11:31.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-14T22:16:18.000Z (7 months ago)
- Last Synced: 2024-04-15T07:23:54.268Z (7 months ago)
- Topics: couchpotato, dvr, movie-release-radar, newsgroup, newznab, pvr, radarr, react, release, scene, torrent, torznab, warez, watcher3
- Language: JavaScript
- Homepage:
- Size: 50.3 MB
- Stars: 100
- Watchers: 7
- Forks: 7
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# β¨ 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
andarchived
)
Discover
-
Discover
movies with many options
Movie
- Display
movie
details - Consider movie as,
π
ignored
,πΏ
wished
,π
pinned
orπΌ
archived
- Find
releases
onsources
(torznab
/newznab
) - requested withtitle
(localized) andoriginal_title
- Grab a
release
(manual
orauto
)
Collection
- 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
# ποΈ Quick Start
Best way to get a **Sensorr** fresh install is with the Docker image, you just need a terminal with [`docker`](https://www.docker.com/get-starteds) installed !
## π³ Docker
Checkout Sensorr Docker image at [thcolin/sensorr/](https://hub.docker.com/r/thcolin/sensorr/)
```
# `/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 at `http://localhost:5070/settings` (or `config/config.json`)
## β° Jobs
Some necessary cron jobs will be launched in background every day:
* _16:03_ `sensorr:purge`: Clean oldest log sessions (if directory space exceeds configured value)
* _17:00_ `sensorr:record`: Record wished movies from collection with best release
* _01:03_ `sensorr:schedule`: Schedule calendar with recents movies from stalked stars (+/- 2 years from today)
* _03:03_ `sensorr:pairwise`: Pairwise Plex instance with Sensorr instance (if configured)
* _05:03_ `sensorr:hydrate`: Hydrate -or refresh- collected movies and stalked stars data
# πΊοΈ Roadmap
* Fix `Home` rows issues
* `Upcoming` / `Records` empty
* Display other `Person` behind each `Movie` on `Details` page (`:hover` only)
* Load every followed stars from database on component mount
* 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)
* Summary command result
* `record`:
```
From ${wished} wished πΏ movies, ${found} where recorded πΌ to ${sensorr.config.blackhole} !
* ${movie.title} (${movie.year}) with release ${release.generated}
${filtered} were filtered π« according to your policies
* ${movie.title} (${movie.year})
* ${release} (${reason})
But ${missing} still missing π (with no releases found)
* ${movie.title} (${movie.year})
You should look at these ${error} errors π¨
* ${movie.title} (${movie.year}) : ${err}
```
* Refactor `Logs`
* Left panel with `session` list with summary
* `Records`
* Summary
* πΏ Wished
* πΌ Recorded
* π« Filtered (reviewable)
* π Missing (reviewable)
* π¨ Error (reviewable)
* Review
* Review each `record`, one by one, autoscroll on validation
* Record
* Allow to post an `issue` on `thcolin/oleoo`
* With data : { movie, records: records.map(record => record.meta ) }
* Allow to search for `releases` manualy
* Allow to search custom titles - like `The.92nd.Annual.Academy.Awards.2020.FRENCH.1080p.HDTV.H264-SH0W` - out of `releases` scope
* Allow to **ban** `releases` (like a `release` with hardcoded `subtitles` downloaded that i don't want)
* `Purge`
* `Pairwise`
* `Hydrate`
* Feature `performance`
* Rename `XZNAB` to `XYZNAB`
* On `Person.State` `unfollow`, delete `calendar` entities with only `this` as followed credits
* Look at [`shipjs`](https://github.com/algolia/shipjs)
* `oleoo`
* Refactor algorithm, split `title` and `metadata` with `year|language|resolution|source` (`[0]`/`[1]`)
* `Server`
* Look at [`WatermelonDB`](https://github.com/Nozbe/WatermelonDB)
* Or only use **remote** `PouchDB` server with `rxdb`
* Fix RAM usage with `sessions` in `io`
* `CLI`
* Use [`cli-step`](https://github.com/poppinss/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)
* Compile binary (reduce Docker image size by removing useless dependecies)
* Responsive design / mobile UI-UX
* Take `screenshots` in `small`, `medium` and `large` breakpoints
* Feature `Config`
* Refactor `config` to `settings` using [mozilla/node-convict](https://github.com/mozilla/node-convict)
* Refactor with [nrwl/nx](https://github.com/nrwl/nx)
* Look at `Prisma` for database
* 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
* `Home`
* Add `Head` `Movie` ? (see [inspiration](https://dribbble.com/shots/2813716-BookMyShow-Movies-Concept))
* Add "pre-configured" `List` like `Oscars` ?
* Weekly movies selection (?)
* Allow user to send PR with own movies selection
* Make sensorr a social network (?)
* Look at `Mastodon` example and `ActivityPub` spec
* Make it private by default, if public will only show non-user related informations (home, discover, calendar (?), following (?))
* Multi user (?)
* `Settings`
* `Database`
* Allow to `clean` browser `sensorr-*` databases (`doctor`)
* `Grid`
* Select/Deselect all
* Actions on selection
* `Loading` page waiting sync of `db` with progress ?
* Allow to `clean` database if waiting too much
* Dark mode (`theme-ui`)
* 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
* Add demo on a server
* 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
* CLI
* [minimist](https://github.com/substack/minimist)
* [Inquirer.js](https://github.com/SBoudrias/Inquirer.js)
* [commander.js](https://github.com/tj/commander.js)
* [oclif](https://github.com/oclif/oclif)
* [ink](https://github.com/vadimdemedes/ink)
# π Alternatives
* [CouchPotato](https://github.com/CouchPotato/CouchPotatoServer)
* [Radarr](https://github.com/Radarr/Radarr)
* [Watcher3](https://github.com/nosmokingbandit/Watcher3)