Popcorn Time in Russian

    On Habré Popcorn Time was already considered more than once ( here , here , here and here ).

    This project has one small flaw. There are no films in the Russian voice acting there. I tried to solve this problem.



    In fact, all this is said loudly, the functionality is implemented in a basic way, I ask you to take this as nothing more than proof of concept . For a couple of evenings, I threw a small parser of one quite popular torrent tracker with uploading data to the database and then issuing it in the form understandable for the Popcorn Time API .

    In technical terms, nothing interesting: nginx, Node.js, Express, MongoDB (Mongoose). Perhaps the most interesting thing you can talk about is converting a torrent file to a magnet link , but even this when using the bencode package becomes very simple:

    var metadata = bencode.decode(body),
        sha1 = crypto.createHash('sha1');
        sha1.update(bencode.encode(metadata.info));
    film['hash'] = sha1.digest('hex');
    film['magnet'] = 'magnet:?xt=urn:btih:' + film['hash'] + '&dn=' + metadata.info.name;
    

    All this is up and running. You can try it in 2 ways.

    1. Download the Popcorn Time collected by me. Unfortunately, only Linux 64 bit , thanks koot Mac .
    2. Download Popcorn Time with git , make changes in the code (under the spoiler below) and assemble the project, as it is written here .
    diff
    diff --git a/src/app/lib/models/movie_collection.js b/src/app/lib/models/movie_collection.js
    index bb73eaa..58f40e1 100644
    --- a/src/app/lib/models/movie_collection.js+++ b/src/app/lib/models/movie_collection.js@@ -11,7 +11,7 @@
     			return {
     				torrents: App.Config.getProvider('movie'),
     				subtitle: App.Config.getProvider('subtitle'),
    -				metadata: App.Trakt+				metadata: null
     			};
     		}
     	});
    diff --git a/src/app/settings.js b/src/app/settings.js
    index 291c07c..06fd21e 100644
    --- a/src/app/settings.js+++ b/src/app/settings.js
    @@ -66,8 +66,8 @@ Settings.deleteTmpOnClose = true;
     Settings.updateApiEndpoint = 'http://popcorntime.io/';
     /* TODO: Buy SSL for main domain + buy domain get-popcorn.re for fallback
     Settings.updateApiEndpointMirror = 'https://popcorntime.cc/'; */
    -Settings.yifyApiEndpoint = 'http://yts.re/api/';-Settings.yifyApiEndpointMirror = 'http://yts.im/api/';+Settings.yifyApiEndpoint = 'http://yts.lafin.me/api/';+Settings.yifyApiEndpointMirror = 'http://yts.lafin.me/api/';
     Settings.connectionCheckUrl = 'http://google.com/';
     // App Settings
    


    The source code for the backend part of http://github.com/lafin/ru-yts

    That’s probably all. Have a nice watching.



    PS I hope someone continues the idea.

    Up. Added a filter by genre and sorting by year and alphabet.

    Also popular now: