Java RMI Application for downloading, streaming not-so-totally legally acquired movies. Developped for our class of Distributed Systems.
Ahmad Mel
Ruben Ruperez
Remember that last time you were trying to watch that episode of Game of thrones on a streaming website? 500 pop ads, and
lots of clicks to get to the actual video, and bummer, you can't even download it for free. Just sitting there waiting for it
to buffer, and praying nothing goes wrong. That's by no mean a way to watch Arya Stark beating the shit out of the Lannisters.
Cry no more. God exists and he's here to save you from the devil's minions, those evil ads.
You send us a link for the movie hosted by selected file hosting websites, and the server return a link to the video, that you
can use to directly download it, or stream it with your favorite video player. You don't even have to go the website.
Just sit, chill, and enjoy!
The python code is the core of EVA. It utilizes selenium webdriver and phantomjs to crawl webservices to snatch the direct video link. Only few web hosting services are supported so far.Adding support for additional webservices will be slower, if I have time.
Now the code can be used seperately than the Java RMI application, just run it from the command line with weblink as an argument (or multiple arguments). Here is an example.
python pridown.py http://vodlocker.com/z9x78jygfhme
It will print the link to the video on the stdout.
Of course you need to install selenium and phantomjs.
An updated version of the core app, qeva and pleva, with more supported websites is also included in the repository.
qeva generate a qr-code and pleva add the download link to smplayer playlist.
An ultimate version was recently developed, based on eva.py
, but with a cleaner code and interface. Hence, Ultimate Video App was born, succeeding eva.py
.
The app is kinda of cli interface of primewire.ag, and offers an option to download openload link (only openload so far).
The app was developped for a class project, implementing Java RMI application. We set up 2 machines on the same network, a server and a client.
The client send the webservice link to the server and the server return the direct video link.
There are 2 client versions. Client and GuiClient, the former being a command-line program with only one functionality to print the returned direct video link, and the latter being an advanced version incorporating a graphical user interface and additional functionalities, like streaming the video, downloading it, or generating a qr code for streaming on mobile devices. The usage is listed in the file usage.
Clone the repo (download the files) and compile them
javac *.java
If everything goes smooth, run the java rmi registry
rmiregistry
Now run the server from another terminal session while specifiying the security policy
java -Djava.security.policy=java.policy Server
It will print the IP address of the server. Use that IP address to connect to the server when you're running Client or GuiClient. Now in another tab (or on another machine) start the Client or GuiClient.
java -Djava.security.policy=java.policy Client
Now enter the IP address you got from the server. And enter your web link. The program returns the direct video link. You can use download commands like the famous wget to download it, or players like smplayer to stream it. Your link, your choice.
If you want to run the GuiClient, stop the Client (usually by Crtl+C) and run
java -Djava.security.policy=java.policy GuiClient
I think you'll figure out how to use it. Enter the IP address and the link. If you press Enter, you will a link printed in the lower line. And press any of the button for more functionalities. You need to have smplayer and qrencode installed of course.
promptfile.com
vodlocker.com
briskfile.com
bestreams.com
vidzi.tv
streamin.to
We had lots of fun making this application, with brain crushing moments, especially serializing that image on java to send it over rmi, took nearly 6hrs to solve. Thanks to everyone involved :)