Git Product home page Git Product logo

leapcast's Introduction

leapcast

Flattr this git repo Build Status Stats

Chromecast API v2

API was compleatly changed, 17. of march is also the date that old apps and apis are no longer supported and will be gradualy upgraded to new API.

In order to get it working again, we need to:

  • Implement MDNS discovery (DIAL has be deprecated)
  • Implement encryption of packets (mayor pain, because android SDK and web, now check for certificate issuer)
  • RAMP protocol has been extended and most of the old methods are no longer used (ping is the only one remaining)
  • Websocket technology is still used, but packets are encypted using public key cryptography (public key is advertised during discovery)

Simple ChromeCast emulation app.

Working:

On real device enabled apps are fetched from https://clients3.google.com/cast/chromecast/device/config . Bugs in ChromeCast SDK are listed at https://code.google.com/p/google-cast-sdk/issues/list?can=2&q=&sort=priority&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary

Some known bugs in ChromeCast SDK:

  • Discovery fails on some devices with multiple unactive network interfaces
  • Scanning crashes device or app with ConcurrentModificationException

Authors

The following persons have contributed to leapcast.

  • Janez Troha
  • Tyler Hall
  • Edward Shaw
  • Jan Henrik
  • Martin Polden
  • Thomas Taschauer
  • Zenobius Jiricek
  • Ernes Durakovic
  • Peter Sanford
  • Michel Tu
  • Kaiwen Xu
  • Norman Rasmussen
  • Sven Wischnowsky

How to install

Simple

Clone this directory, then run python setup.py develop or pip install leapcast

Better

git clone https://github.com/dz0ny/leapcast.git
cd ./leapcast
sudo apt-get install virtualenvwrapper python-pip python-twisted-web python2.7-dev
mkvirtualenv leapcast
pip install .

Windows

For those on Windows(tm) follow this guide https://gist.github.com/eyecatchup/6219118 or https://plus.google.com/100317092290545434762/posts/8RjWfMXxje8

usage: leapcast [-h] [-d] [-i IPADDRESS] [--name NAME]
                [--user_agent USER_AGENT] [--chrome CHROME] [--fullscreen]
                [--window_size WINDOW_SIZE] [--ips IPS] [--apps APPS]

optional arguments:
  -h, --help            show this help message and exit
  -d, --debug           Debug
  -i IPADDRESS, --interface IPADDRESS
                        Interface to bind to (can be specified multiple times)
  --name NAME           Friendly name for this device
  --user_agent USER_AGENT
                        Custom user agent
  --chrome CHROME       Path to Google Chrome executable
  --fullscreen          Start in full-screen mode
  --window_size WINDOW_SIZE
                        Set the initial chrome window size. eg 1920,1080
  --ips IPS             Allowed ips from which clients can connect
  --apps APPS           Add apps from JSON file

Bitdeli Badge

leapcast's People

Contributors

dz0ny avatar tylerwhall avatar normanr avatar ywrt avatar kevinxucs avatar bitdeli-chef avatar edshaw avatar turl avatar ernes32 avatar jhbruhn avatar mpolden avatar neumino avatar vapier avatar psanford avatar tomtasche avatar airtonix avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.