
In most cases, the quality of the illegal distribution of a movie begins to appear only after the digital release (do not confuse digital releases with movie premieres), i.e. in VOD services or on Blu-ray. Quality means BDRip 1080p, BDRemux and UHD BDRemux, the very minimum is WEB-DL 1080p (most often from iTunes), with Russian-language audio tracks from the licensed edition of Blu-ray or from iTunes. And before that, a mess was going on with the distribution of the film with a combination of moss and sawdust, which can mislead the viewer who wants to watch new items with good quality.
By the way, did you know that some guys recently hacked Apple TV 4K? Now all 4K releases with HDR and Dolby Atmos tracks from iTunes will hit the net, as the Aquaman release (WEB-DL 2160p HDR) recently hit. The bitrate there is shameful, but better than nothing before the release (UHD) of Blu-ray. The Apple TV box has been cracked a long time ago, and iTunes serves as a pipeline supplier of quality Dolby Digital 5.1 tracks with Russian dubbing.
ATTENTION! The article deals with illegal content. But there are no references to this illegal content, as well as the most illegal content in the article.')
ATTENTION! The note does not justify the use of illegal content. Illegal content is bad, without any controversy.ATTENTION! The note contains information on using the two methods of the Private API Movie Search (/ k / v1 / films / releases / digital and / IOS / 5.0.0/getKPFilmDetailView), which violate the rules of using the Movie Search service. Although different methods from the KinoPoisk API are used in hundreds of programs and on sites outside the rules, this is a formal reason to remove a note from the publication when requested.I made a program from a note (in Python, guaranteed to work on version 3.6.x and later, for example, on the last one at the time of publication 3.7.2) for myself in a couple of evenings. I share it, because it may be useful to someone.
The essence is as follows ... The program once a day downloads a list of all digital releases for the last 60 days (from KinoPoisk). For each release on the rutor are looking for distribution of high quality. rutor is an open torrent tracker with good tagging in distributions. If there are no quality hands yet, then the release is excluded. No copyright or handicraft translations, no Line. Only BDRip 1080p (or BDRip-HEVC 1080p), BDRemux and UHD BDRemux with Russian tracks from a licensed disc or iTunes, or any other official dubbing. In the case when the release is not yet BD, displays links to WEB-DL 1080p and WEB-DL 2160p (most often from iTunes). From several distributions of the same type, one is selected with a large number of siders (for example, there are two distributions of one type from two popular release groups at once). All releases are sorted by arithmetic mean between the KinoPoisk rating and IMDb. For all releases the information is loaded from KinoPoisk. The program generates a convenient HTML, just in the browser open the link and choose what to see from the new products in excellent quality - press the button and get the current torrent file. You no longer need to sort out and search for the right distribution, to study whether there is already a movie with excellent video quality and dubbing - open the page and everything is in front of you.
Here is
an example of the result of 03/13/2019, which you will get (the links to torrent files in the example are distorted so as not to break anything).

Ideally, WEB-DL 1080p and WEB-DL 2160p (SDR, HDR) should be excluded. But the point is that some releases will never come out on Blu-ray, while they are available in iTunes with an acceptable quality and high-quality sound track. So to abandon the WEB-DL 1080p and WEB-DL 2160p can not. Moreover, Apple fans (Apple TV owners) consume content of such quality and do not complain. For example:

The program is in Python and can work anywhere - on a computer, on a dedicated server, on a router with support for a software package manager (for example, OpenWrt or with support for Entware), on an iron.
In this note, I will consider the case when the program will spin on a router with Entware support. In my case, Keenetic. It is very simple, convenient and efficient.
Installing Required Packages on the Router
opkg update opkg install wget ca-certificates mc python3 python3-pip lighttpd-mod-cgi cron
wget is a program for downloading files. It is only needed for the initial setup.
ca-certificates - certificates for wget.
mc is the Midnight Commander file manager. It is needed only because of the convenient editor mcedit. If you are used to using another text editor, then you can not install mc.
python3 is a python interpreter.
python3-pip is a Python package manager.
lighttpd-mod-cgi - web server lighttpd.
cron - task scheduler.
Download the main program file
mkdir -p /opt/etc/movies wget --no-check-certificate -O /opt/etc/movies/digitalreleases.py https://raw.githubusercontent.com/Kyrie1965/torrentReleases/master/digitalreleases.py
You
can view its
contents on GitHub .
The program itself consists of 5 functions:
digitalReleases (days) returns an array with filmID elements, digital releases for a number of days days.
filmDetail (filmID) returns a dictionary with information on the film corresponding to filmID.
rutorLinks (filmID) returns a dictionary with distributions matching filmID.
saveHTML (movies, filePath) generates an HTML file along the filePath path from the movies array.
main () - connects everything together.
In the program itself, if you plan to use it for its intended purpose, you will only be interested in three variable parameters: DAYS, HTML_SAVE_PATH, SOCKS_IP, SOCKS_PORT. DAYS - for how many last days to download digital releases. The default is 60. I will tell you about SOCKS_IP, SOCKS_PORT later when it comes to bypassing locks. If you want to change the parameters in the program, then open the file in the editor, for example, mcedit, change and save (F2 - save, F10 - exit).
mcedit /opt/etc/movies/digitalreleases.py
Web server configuration and launch
A web server is needed so that devices on the local network can retrieve the generated releases.html file via a browser. Open the
/opt/etc/lighttpd/lighttpd.conf file:
mcedit /opt/etc/lighttpd/lighttpd.conf
To paste from the buffer, use Shift + Insert, save - F2, exit - F10.
Change the line
# server.port = 80 to:
server.port = 81
Start the web server:
/opt/etc/init.d/S80lighttpd start
Adding job to cron
Add a task to cron, which will run digitalreleases.py every day at 6 am and generate the actual file with releases.
Open the
/ opt / etc / crontab file in the editor:
mcedit /opt/etc/crontab
Add at the end:
00 06 * * * root /opt/bin/python3 /opt/etc/movies/digitalreleases.py
If you wish, you can comment out all the other template tasks. Run cron:
/opt/etc/init.d/S10cron start
Final setup
Run the program manually for the first time so that it generates the file
/opt/share/www/releases.html :
python3 /opt/etc/movies/digitalreleases.py

In the future, using cron, the releases.html file will be updated once a day automatically.
All is ready! Open the browser on any device on your local network link
http://192.168.0.1:81/releases.html (replace 192.168.0.1 with the address of your router).

Lock Bypass Supplement
The note implies that the site rutor.info is available from your router. If it is not, for example, it is blocked, then when you run digitalreleases.py you will receive a corresponding message.
This is very easy to solve. If you don’t have Tor installed on your router, install it:
opkg update opkg install tor tor-geoip
If Tor has already been installed, then in the configuration file (/ opt / etc / tor / torrc) just add the line:
SOCKSPort 127.0.0.1:9050
If Tor has not been installed before, then delete the contents of the Tor configuration file:
cat /dev/null > /opt/etc/tor/torrc
Open the Tor configuration file in the editor:
mcedit /opt/etc/tor/torrc
Insert (Shift + Insert) content:
User root PidFile /opt/var/run/tor.pid ExcludeExitNodes {RU},{UA},{AM},{KG},{BY} StrictNodes 1 SOCKSPort 127.0.0.1:9050 ExitRelay 0 ExitPolicy reject *:* ExitPolicy reject6 *:* GeoIPFile /opt/share/tor/geoip GeoIPv6File /opt/share/tor/geoip6 DataDirectory /opt/var/lib/tor
A brief description of the configuration:
- Exclude weekend nodes: Russia, Ukraine, Armenia, Kyrgyzstan, Belarus.
- Hang SOCKS proxy to the address 127.0.0.1, port 9050.
- Disallow being an exit point.
Start / restart Tor:
/opt/etc/init.d/S35tor restart
Now it is necessary to make so that in the function rutorLinks the requests go through a running proxy server. To do this, install the pysocks library:
pip3 install --upgrade pip setuptools pip3 install pysocks
Open digitalreleases.py and change:
SOCKS_IP = "127.0.0.1" SOCKS_PORT = 9050
Done, now there are no problems with the rutor locks for the program.
PS
If you want to change the static sorting of the output releases, for example, to sort by release date, not by rating, then in the main () program of digitalreleases.py replace:
movies.sort(key = operator.itemgetter("ratingFloat"), reverse = True)
on:
movies.sort(key = operator.itemgetter("releaseDate"), reverse = True)
Here is
an example of the result from 03/14/2019, sorted by the date of the digital release (links to torrent files in the example are distorted so as not to break anything).