Where the chromecast gets its app list?

Search This thread

nano351

Member
Oct 30, 2013
10
5
So the official SDK is released! But the app list doesn't seem to come from: https://clients3.google.com/cast/chromecast/device/config anymore.

I've looked around some and there doesn't seem to be any documentation of how the new configs are being retrieved and even how the serial information from the chromecast is being transmitted either. I know it's definitely not the old config URL anymore because that doesn't list new apps like AllCast which works on my chromecast perfectly fine. Anyone know how the new app list is constructed?
 

bhiga

Inactive Recognized Contributor
Oct 13, 2010
2,501
1,018
So the official SDK is released! But the app list doesn't seem to come from: https://clients3.google.com/cast/chromecast/device/config anymore.

I've looked around some and there doesn't seem to be any documentation of how the new configs are being retrieved and even how the serial information from the chromecast is being transmitted either. I know it's definitely not the old config URL anymore because that doesn't list new apps like AllCast which works on my chromecast perfectly fine. Anyone know how the new app list is constructed?

Are you rooted or stock?

If you're rooted, probably you are using the Team Eureka whitelist which is the Google whitelist + Team Eureka.
You can go into the web panel and switch to the Google whitelist if you want to test.
 

nano351

Member
Oct 30, 2013
10
5
Are you rooted or stock?

If you're rooted, probably you are using the Team Eureka whitelist which is the Google whitelist + Team Eureka.
You can go into the web panel and switch to the Google whitelist if you want to test.
So I'm using stock but the reason why I'm interested is that I'm the author of a chromecast receiver emulator with the goal of allowing any device that can run desktop chrome can run this app and be a chromecast receiver. However, the method by which a chromecast builds its app list isn't as simple as querying https://clients3.google.com/cast/chromecast/device/config since that doesn't contain all the apps that are available on the device and I've never found any documentation about how the serial of the device is transmitted
 

bhiga

Inactive Recognized Contributor
Oct 13, 2010
2,501
1,018
So I'm using stock but the reason why I'm interested is that I'm the author of a chromecast receiver emulator with the goal of allowing any device that can run desktop chrome can run this app and be a chromecast receiver. However, the method by which a chromecast builds its app list isn't as simple as querying https://clients3.google.com/cast/chromecast/device/config since that doesn't contain all the apps that are available on the device and I've never found any documentation about how the serial of the device is transmitted
Ahh, I see. You're beyond my knowledge. Maybe @Team-Eureka can help.
 

Asphyx

Senior Member
Dec 19, 2007
2,158
378
Android Wear
Google Pixel Watch
So I'm using stock but the reason why I'm interested is that I'm the author of a chromecast receiver emulator with the goal of allowing any device that can run desktop chrome can run this app and be a chromecast receiver. However, the method by which a chromecast builds its app list isn't as simple as querying https://clients3.google.com/cast/chromecast/device/config since that doesn't contain all the apps that are available on the device and I've never found any documentation about how the serial of the device is transmitted

What apps do you think are missing from the list returned in the json.txt?

It seems like they are all there to me....
 

nano351

Member
Oct 30, 2013
10
5
Last edited:

Asphyx

Senior Member
Dec 19, 2007
2,158
378
Android Wear
Google Pixel Watch
Which app corresponds to AllCast by Koushik Dutta? https://play.google.com/store/apps/details?id=com.koushikdutta.cast

Also the homescreen app in that url points to: https://clients3.google.com/cast/chromecast/home?chs=1

Whereas the current official homescreen is at: https://clients3.google.com/cast/chromecast/home/v/c9541b08

Well the Homescreen stuff is built into the ROM I'm pretty sure.

As for AllCast are we sure he is using a Player App that gets loaded to the CCast or is he merely sending a link to directly connect to the unit running Allcast?

Koush would be the best one to answer that.
 

mathorv

Senior Member
Jun 5, 2011
392
281
Which app corresponds to AllCast by Koushik Dutta? https://play.google.com/store/apps/details?id=com.koushikdutta.cast

Also the homescreen app in that url points to: https://clients3.google.com/cast/chromecast/home?chs=1

Whereas the current official homescreen is at: https://clients3.google.com/cast/chromecast/home/v/c9541b08

If I were you I'd go for:
android SDK sources
https://www.youtube.com/watch?v=Qsw9Ogb6t4Y#t=92
https://developers.google.com/cast/docs/sender_apps
https://developers.google.com/cast/docs/receiver_apps
https://developers.google.com/cast/android/reference/com/google/android/gms/cast/package-summary
and then is not satisfied contact Team-Eureka info@team-eureka.com

Eventually:
Reverse android apk code of allcast(this tool is widely discussed on xda):
https://code.google.com/p/android-apktool/

Look at posted sourcecode:
https://github.com/googlecast/
https://code.google.com/p/chromecast-mirrored-source/
https://github.com/team-eureka/

Also if you are really bored you can sniff communication between Chromecast and any app for instance AllCast with wireshark on linux distro.
 
Last edited:

nano351

Member
Oct 30, 2013
10
5
So I talked to one of the Team Eureka members and he gave me some very useful information.

The current URL for looking up available apps is this:
https://clients3.google.com/cast/chromecast/device/baseconfig

The response is the same format s the old URL except this one has an extra field in it called "enabled_app_ids". This is a list of IDs that the chromecast device should show as existing. Once the app is requested to load, the metadata for the app is loaded from:
https://clients3.google.com/cast/chromecast/device/app?a={appid}
where {appid} is the id of the app.

It seems google opted for this to increase the number of apps that can be loaded into the manifest before they reach the limit
 

Averix

Senior Member
Jun 18, 2010
232
127
Kahului
So I talked to one of the Team Eureka members and he gave me some very useful information.

The current URL for looking up available apps is this:
https://clients3.google.com/cast/chromecast/device/baseconfig

The response is the same format s the old URL except this one has an extra field in it called "enabled_app_ids". This is a list of IDs that the chromecast device should show as existing. Once the app is requested to load, the metadata for the app is loaded from:
https://clients3.google.com/cast/chromecast/device/app?a={appid}
where {appid} is the id of the app.

It seems google opted for this to increase the number of apps that can be loaded into the manifest before they reach the limit

Nano, which computer app project are you working on? Leapcast or another one?
 

EarlyMon

Senior Member
Jun 23, 2010
1,685
1,295
Is there a stock list?

Not in human readable form so far as I know, so I parsed the file linked above, maybe this is sort of readable -

Code:
"app_id":"00000000-0000-0000-0000-000000000000","url":"chrome://home?remote_url\u003dhttps%3A%2F%2Fclients3.google.com%2Fcast%2Fchromecast%2Fhome%3Fchs%3D1"
"app_id":"06ee44ee-e7e3-4249-83b6-f5d0b6f07f34","url":"http://plexapp.com/chromecast/qa/index.html"
"app_id":"06ee44ee-e7e3-4249-83b6-f5d0b6f07f34_1","url":"http://plexapp.com/chromecast/production/index.html"
"app_id":"1812335e-441c-4e1e-a61a-312ca1ead90e","url":"http://api.viki.io/mobile/receiver.html"
"app_id":"18a8aeaa-8e3d-4c24-b05d-da68394a3476_1","url":"http://www.beyondpod.mobi/android/chromecast/prod.aspx"
"app_id":"2be788b9-b7e0-4743-9069-ea876d97ac20","url":"http://vevo.com/googlecastplayer"
"app_id":"CC1AD845","url":"https://www.gstatic.com/eureka/player/player.html?skin\u003dhttps://www.gstatic.com/eureka/player/0000/skins
"app_id":"ChromeCast","url":"https://www.gstatic.com/cv/receiver1.html?${POST_DATA}"
"app_id":"GoogleMusic","url":"https://play.google.com/music/cast/player"
"app_id":"GoogleSantaTracker","url":"http://www.gstatic.com/santatracker_chromecast_receiver/santacast.html"
"app_id":"HBO_App","url":"https://devicecast.hbogo.com/chromecast/player.html?${POST_DATA}"
"app_id":"Hulu_Plus","url":"https://secure.hulu.com/dash/chromecast_player?${POST_DATA}"
"app_id":"Netflix"
"app_id":"Pandora_App","url":"https://tv.pandora.com/cast?${POST_DATA}"
"app_id":"PlayMovies","url":"https://play.google.com/video/avi/eureka?${POST_DATA}"
"app_id":"Post_TV_App","url":"http://rcvr.washingtonpost.com/Receiver/index.html?${POST_DATA}"
"app_id":"Revision3_App","url":"http://revision3.com/receiver/revision3"
"app_id":"Songza_App","url":"http://songza.com/devices/google-cast/receiver/1/"
"app_id":"TicTacToe","url":"http://www.gstatic.com/eureka/sample/tictactoe/tictactoe.html"
"app_id":"YouTube","url":"https://www.youtube.com/tv?${POST_DATA}"
"app_id":"a7f3283b-8034-4506-83e8-4e79ab1ad794_2","url":"http://chromecast.real.com/cloudcast.html"
"app_id":"aa35235e-a960-4402-a87e-807ae8b2ac79","url":"http://receiver.aviatheapp.com/"
"app_id":"edaded98-5119-4c8a-afc1-de722da03562","url":"http://chromecast.redbull.tv/receiver.php"

I just kinda winged that. Maybe not complete. I'm not seeing BubbleUPnP or RemoteCast or RealPlayer Cloud or Allcast and maybe a few others. Or if they're there, I'm blind and what else is new.

You can search the Play Store for Chromecast or maybe check out https://play.google.com/store/apps/details?id=goko.gcs
 
Last edited:

nano351

Member
Oct 30, 2013
10
5
Nano, which computer app project are you working on? Leapcast or another one?
I'm not working on leapcast. Mine is called CR Cast. It's designed as a chrome packaged app, but I haven't been able to figure out the casts:// protocol that is used by the new chromecast API

Not in human readable form so far as I know, so I parsed the file linked above, maybe this is sort of readable -

snip snip snip

I just kinda winged that. Maybe not complete. I'm not seeing BubbleUPnP or RemoteCast or RealPlayer Cloud or Allcast and maybe a few others. Or if they're there, I'm blind and what else is new.

You can search the Play Store for Chromecast or maybe check out https://play.google.com/store/apps/details?id=goko.gcs

this one:
Code:
"app_id":"a7f3283b-8034-4506-83e8-4e79ab1ad794_2","url":"http://chromecast.real.com/cloudcast.html"
is for real player. Although for apps that have been published post public SDK launch you have to look up their details via the method described by a post earlier in this thread by me
 
  • Like
Reactions: EarlyMon

EarlyMon

Senior Member
Jun 23, 2010
1,685
1,295
I see.

I saw your reference but didn't employ actual reading. Adding in one of the IDs at random from your supplied link yields -

{"display_name":"TestCustom","uses_ipc":true,"app_id":"FF4499FC","url":"https://phdesign.com.br/guilherme/receiver/"}

Got it, very useful, thanks! :)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    So I talked to one of the Team Eureka members and he gave me some very useful information.

    The current URL for looking up available apps is this:
    https://clients3.google.com/cast/chromecast/device/baseconfig

    The response is the same format s the old URL except this one has an extra field in it called "enabled_app_ids". This is a list of IDs that the chromecast device should show as existing. Once the app is requested to load, the metadata for the app is loaded from:
    https://clients3.google.com/cast/chromecast/device/app?a={appid}
    where {appid} is the id of the app.

    It seems google opted for this to increase the number of apps that can be loaded into the manifest before they reach the limit
    1
    Nano, which computer app project are you working on? Leapcast or another one?
    I'm not working on leapcast. Mine is called CR Cast. It's designed as a chrome packaged app, but I haven't been able to figure out the casts:// protocol that is used by the new chromecast API

    Not in human readable form so far as I know, so I parsed the file linked above, maybe this is sort of readable -

    snip snip snip

    I just kinda winged that. Maybe not complete. I'm not seeing BubbleUPnP or RemoteCast or RealPlayer Cloud or Allcast and maybe a few others. Or if they're there, I'm blind and what else is new.

    You can search the Play Store for Chromecast or maybe check out https://play.google.com/store/apps/details?id=goko.gcs

    this one:
    Code:
    "app_id":"a7f3283b-8034-4506-83e8-4e79ab1ad794_2","url":"http://chromecast.real.com/cloudcast.html"
    is for real player. Although for apps that have been published post public SDK launch you have to look up their details via the method described by a post earlier in this thread by me