[HOWTO] Emulate a Chromecast update check - Google Chromecast

For those of you who have a need for the URLs of new Chromecast updates without actually updating your device, you can manually perform a checkin by POSTing the following XML to https://tools.google.com/service/update2 (make sure to set Content-Type to text/xml):
Code:
<?xml version="1.0" encoding="UTF-8"?>
<o:gupdate xmlns:o="http://www.google.com/update2/request" version="GoogleTvEureka-0.1.0.0" updaterversion="GoogleTvEureka-0.1.0.0" protocol="2.0" ismachine="1">
<o:os version="3.0.8" platform="Linux" sp=""></o:os>
<o:app appid="{45ab3f62-be86-44be-9799-faa6a1229396}" version="12940" lang="en-US" track="stable-channel" board="eureka-b3"
hardware_class="">
<o:updatecheck targetversionprefix=""></o:updatecheck>
</o:app>
</o:gupdate>
The fields are pretty self-explanatory. If you use Linux, you can save the XML to a file called update2.req and make the request using the command
Code:
curl -s https://tools.google.com/service/update2 -d [PLAIN]@update2.req[/PLAIN] -H 'Content-Type: text/xml'
Note: build 13300 is rolling out slowly, so don't complain if you don't get the URL right away. It's entirely up to Google who gets it and who doesn't.

anyone gotten this yet and unpacked it to see what files have changes made to them?

Thank you! I wish I would have seen this sooner.
Now, with a little bit of python, I can automate the making of my rooted images

Ashcunak said:
anyone gotten this yet and unpacked it to see what files have changes made to them?
Click to expand...
Click to collapse
Here's the update if anyone wants it...
http://wreckage.johndenverschooloff....1f63ef63d1f43c6222116806e5bea38a47e9f124.zip

dev-channel ota?
Any idea how to get the dev-channel update zip?
I tried changing to track="beta-channel" in the xml, but that doesnt help.
It seems like there should be atleast one zip file for the below channels
stable-channel
beta-channel
canary-channel
dev-channel
developer-channel
dogfood-channel
Also found this interesting link in the updater binary.
http://omaha.sandbox.google.com/service/update2

morchu said:
Any idea how to get the dev-channel update zip?
I tried changing to track="beta-channel" in the xml, but that doesnt help.
It seems like there should be atleast one zip file for the below channels
stable-channel
beta-channel
canary-channel
dev-channel
developer-channel
dogfood-channel
Also found this interesting link in the updater binary.
http://omaha.sandbox.google.com/service/update2
Click to expand...
Click to collapse
As far as I can tell, none of those channels (except for beta which seems to just be an alias for stable) are active for a stock device. I'm guessing that to receive updates from those channels, your device has to be configured to send its serial number, which also has to be whitelisted on Google's servers. If you want to send a request with a serial number, just add a line like
Code:
serial_num="XXXXXXXXXXXX"
after line 4 (<o:app ...) in the XML. Unless you have access to a development unit's serial number, I doubt it will do much good though.

I had requeseted for whitelisting my device some time back. But never got a response from google.
Can anybody who already had their device whitelisted try the download using your device serial number, and let me know if it works?
I dont think there is anything device specific in the dev-channel system image. So I wonder why that system image is not shared already?
tchebb said:
As far as I can tell, none of those channels (except for beta which seems to just be an alias for stable) are active for a stock device. I'm guessing that to receive updates from those channels, your device has to be configured to send its serial number, which also has to be whitelisted on Google's servers. If you want to send a request with a serial number, just add a line like
Code:
serial_num="XXXXXXXXXXXX"
after line 4 (<o:app ...) in the XML. Unless you have access to a development unit's serial number, I doubt it will do much good though.
Click to expand...
Click to collapse

Just to conclude, it seems like there is no more separate dev-channel firmware download. Emulated my whitelisted devices update request, and received the regular stable-channel update.
morchu said:
I had requeseted for whitelisting my device some time back. But never got a response from google.
Can anybody who already had their device whitelisted try the download using your device serial number, and let me know if it works?
I dont think there is anything device specific in the dev-channel system image. So I wonder why that system image is not shared already?
Click to expand...
Click to collapse

If you are on Windows, then use same XML update2.req file, as @tchebb on 1st post and download cURL for Windows here.
Then use following command, since Linux one is not working in Windows (just place update2.req file in same directory as curl.exe):
Code:
curl -k https://tools.google.com/service/update2 -d @update2.req -H "Content-Type: text/xml"

Related

**UPDATE**SuperG1-Computer 9/8/09 4:03am

Here is basic program for your windows computer that just does basic stuff.
It can reboot your phone to wherever you want like recovery, bootloader.
It will wipe your ext2/3 from recovery if you choose and it will repair your ext2/3.
This is still beta, so far everything that is on the app works. But when I say beta I mean I still to implement alot more features so just use it and then tell me what you guys want. I am working on implementing switchrom into it.
This is just about 3 hours of work so you will see alot more in the future.
Screenshots Below!
*(For those of you wondering it is writen in a mix of C++,vb.net,python,and MS-DOS)*
Twitter: http://twitter.com/kickfliprock13
** Oh I forgot to mention you need to have adb set up for this to work if you don't have it set up than it wont work. So if you want to set up just go here: http://punk-in.com/driver_vista.html
Continued
Changelog:
9/8/09: Added a link to tell you how to install usb drivers for your phone
Added links to our twitter's and plurk's
Fixed a few small bugs
Continued Again
This is for problems and things I am changing!
Problems:
Can't get it to put arguments into adb commands, for example adb shell sh /system/sd/switchrom -s (then the name they want to name it)
I suck with ShellExecute commands so I need to get better at those
Need to learn how to add .exe's and other files into a C++ file and then run it.
Changing:
I will probably be changing the layout in the next update
I will be learning ShellExecute commands hopefully. So then it can set up adb for you and do a switchrom.sh for you
looks good dling now btw how many programming languages do you know lol
Languages
I know a couple. This program is written in C++. I have only done C++ for about a week so I am still kind of a noob. But other than that I know: html, MS-DOS,Python, I am learning java, I know some C and C#.
I am taking some visual stuff right now, like blender and game development.
After that I want to learn CSS, and learn the reset of java and C++
do you think you can make it that the program can flash the new spl and radio so the phone won't brick. Anyway awesome program
It looks like it's just issuing the non-response ADB commands. Do you have anything there to capture the commandline output from ADB? I'm trying to get the push and pull confirmations for mine. It seems the stream is immedately written as blank and then changed to the confirmation but the change is not rewritten to the stream.
Also ADB does not have to be in a specific directory in order to work. Just change the working direcory of your process to the folder where you have them stored. I bundled the files with mine so I didn't have to worry about if someone didn't have them in the right place.
M..N said:
do you think you can make it that the program can flash the new spl and radio so the phone won't brick. Anyway awesome program
Click to expand...
Click to collapse
Yes, we are working on making that happen very soon. It is difficult but yeah, we already figured out a way to apply new radio,spl and get to hero in about a minute now we just need to implement that into the app but I just can't figure out exactly how to include multiple files in my C++ project but once I figure that out I will tell you.
Excellent thanks very much
Hi so how is this program coming along
Very well I almost have rooting figured out
Cool would this work on uk phones and when is the estimated release time

$10 BOUNTY!!! Fix my OpenVPN

I'm offering up a bounty of $10, payable immediately by Paypal, to anyone who can help me figure out how to make OpenVPN (using Hidemyass Pro) correctly run on my HTC Incredible with Virtuous 3.2 Rom installed.
I used the following directions from this site to set up OpenVPN:
Easy way - OpenVPN on rooted/S_OFF Incredible with BusyBox installed:
This is by far the easiest way to set up OpenVPN. Make sure you copy your config file and any relevant keys to a folder on your sdcard.
If you do not have tun.ko on your system, then you can download it for 2.2 (tun.zip) or 2.1 (inside openvpn.zip) attached to this post.
Next, download the following two apps from the Android Market:
OpenVPN Installer
OpenVPN Settings
Next, run OpenVPN installer, click install, give it an install path (I prefer /system/xbin), and give it the path to BusyBox.
Finally, run OpenVPN Settings. Go to Menu -> Advanced, make sure "Load tun kernel module" is checked.
Click on "TUN module settings"
Change "Load module using" to insmod
Change "Path to tun module" to... the path to your tun.ko file. Click back.
Update "Path to configurations" and "Path to openvpn binary".
That should be it!
Okay, so let me be clear in explaining exactly what I've done:
1) I used OpenVPN installer, clicked install, and pointed the install path to /system/xbin and then to Busy box - Binaries installed perfectly without a problem
2) I put all the Hide My Ass Config files into a folder on my SD card called Openvpn (/sdcard/openvpn)
3) I opened the advanced menu and checked "Load tun kernal module"
4) Changed the "Load Module Using" to insmod
5) Changed the Path to tun to (/sdcard/openvpn/tun.ko) - this is the folder where I put all my config files, including tun.ko
6) Changed "Path to configurations" to (/sdcard/openvpn) - which, just like the tun.ko file, is where the config files are located, along with the keys
7) Kept "Path to Binaries" as default setting (/system/xbin/openvpn)
So, after all this has been accomplished, it lists my VPN's servers and I click on one of them. It asks me for my login credentials, and when I put them in, I get the following error:
Fatal;"Cannot load certificate file./keys/hmauser.crt: error:02001002:systemlibrary:fopen:No such file or directory: error: 20074002:BIO.routines:File_CTRL.system lib: error:140AD002:SSL routines: SSL_CTX_use_certicate_file:system lib
Don't know what this means and don't know where to begin to fix the problem. But as I said, first person who gets me online using openvpn will get $10 by Paypal immediately. Who's in?!
If this helps, here's where I got the Hide My Ass Config files:
http://hidemyass.com/vpn-config/
Virtuous 3.2?
digitalicecream said:
Virtuous 3.2?
Click to expand...
Click to collapse
Yes, Virtious 3.2
lol
10ch
EDIT: Think I found your problem. Open the .ovpn file and look for
ca ./keys/ca.crt
cert ./keys/hmauser.crt
key ./keys/hmauser.key
change ./keys/ to where you are storing the files.
FredMan said:
EDIT: Think I found your problem. Open the .ovpn file and look for
ca ./keys/ca.crt
cert ./keys/hmauser.crt
key ./keys/hmauser.key
change ./keys/ to where you are storing the files.
Click to expand...
Click to collapse
It looks like the .ovpn files are all the same, more or less. I don't know where to find what you're mentioning above.
Here are all the files HMA provides. Which of these should i change?:
http://hidemyass.com/vpn-config/
Pick one that is closest to you.
Open it up and look for
Code:
ca ./keys/ca.crt
cert ./keys/hmauser.crt
key ./keys/hmauser.key
Change ./keys/ to ./sdcard/openvpn/
FredMan said:
Pick one that is closest to you.
Open it up and look for
Code:
ca ./keys/ca.crt
cert ./keys/hmauser.crt
key ./keys/hmauser.key
Change ./keys/ to ./sdcard/openvpn/
Click to expand...
Click to collapse
I changed it, but now I get the same error message but with the above thread:
Fatal;"Cannot load certificate file./sdcard/Openvpn/hmauser.crt: error:02001002:systemlibrary:fopen:No such file or directory: error: 20074002:BIO.routines:File_CTRL.system lib: error:140AD002:SSL routines: SSL_CTX_use_certicate_file:system lib
What does the "." before "/sdcard" mean? Am I manipulating the data incorrectly or is there something else I should try?
it's case sensitive Make sure the folders match. Try it with and without the "."
FredMan said:
it's case sensitive Make sure the folders match. Try it with and without the "."
Click to expand...
Click to collapse
You are so close to getting that $10!!
I changed the sequence to /sdcard/Openvpn and for the first time, it actually tried to authenticate and login. But now I got a new error.
It goes through the following:
Auth
Get Config
A quick Ip number that I can't read
then, the following error:
"FATAL: Linux ifconfig failed: could not execute external program"
Any idea how to fix this? I feel like we're very close!!
i dont want the bounty. Just helping out.
open terminal emulator and do
ls /system/xbin
Click to expand...
Click to collapse
look to see if 'ifconfig' is there
FredMan said:
i dont want the bounty. Just helping out.
open terminal emulator and do
look to see if 'ifconfig' is there
Click to expand...
Click to collapse
Thanks for helping out...
Since I have s-off, I'm guessing I'd have to boot into recovery to do anything in terminal emulator (earlier I was told I'd need to do this to use ADB Shell). Is this correct?
I have Astro file viewer on my phone, can I accomplish the same thing by just looking in the folder with that?
You can use astro, just make sure it's there.
FredMan said:
You can use astro, just make sure it's there.
Click to expand...
Click to collapse
Just checked. Yes, it's there. I noticed in the original post on how to set up OpenVPN, posts # 5-8 deal with this exact issue.
http://forum.xda-developers.com/showthread.php?t=702634
I'm not sure what, if anything, I should do with the file the OP posted in post #8, since this was months ago, and the version of OpenVPN I downloaded came out of the market this week. Also, from his original post, it looks like the OpenVPN he attached is for 2.1 not 2.2.
Any ideas?
Stockmoose16 said:
Just checked. Yes, it's there. I noticed in the original post on how to set up OpenVPN, posts # 5-8 deal with this exact issue.
http://forum.xda-developers.com/showthread.php?t=702634
I'm not sure what, if anything, I should do with the file the OP posted in post #8, since this was months ago, and the version of OpenVPN I downloaded came out of the market this week. Also, from his original post, it looks like the OpenVPN he attached is for 2.1 not 2.2.
Any ideas?
Click to expand...
Click to collapse
I GOT IT!!!!!
I had followed the original directions, which said to put ifconfig in system/xbin/bb, but I just reinstalled the binaries in system/xbin and it connected.
Don't know why the original directions were off, but I am so happy. Thank you so much.
Congrats! Have Fun.
FredMan said:
Congrats! Have Fun.
Click to expand...
Click to collapse
Since you were so helpful, can I trouble you for one more question that you may or may not know the answer to?
I have Tasker on my Android and I need it to kill the OpenVPN session when I'm using a certain wifi. This was easy to do with the VPN 1 plugin for PPTP, but I don't know how to make it kill an OpenVPN session (tried to set it up, but it seems to keep trying to reconnect and less I manually toggle off "OpenVPN" in "OpenVPNSettings."
Wanna take a crack?
I will look into it. Love Tasker.

[DEVELOPMENT] FlashCast developer support thread

This thread is for FlashCast image developers ONLY. If you are not developing a FlashCast image, please do not post here. Post in the main thread instead.
Hello developers! I hope that this thread can serve as a place for you to ask any questions you may have about FlashCast development or internals, make feature requests, and report issues you're having. I will edit this post with FAQs as they come up. Until then, take a look at my documentation on GitHub, which contains documentation and sample code to help you create FlashCast mods.
tchebb said:
This thread is for FlashCast image developers ONLY. If you are not developing a FlashCast image, please do not post here. Post in the main thread instead.
Hello developers! I hope that this thread can serve as a place for you to ask any questions you may have about FlashCast development or internals, make feature requests, and report issues you're having. I will edit this post with FAQs as they come up. Until then, take a look at my flashcast-samples repository on GitHub, which contains documentation and sample code to help you create FlashCast mods.
Click to expand...
Click to collapse
So far its working great! Plan on releasing a rooted 13300 system image with this soon, but I was wondering, is there a possibility you could create a partition backup option? so like
Code:
backup_mtd_partition 'rootfs' 'system.img'
Where it will make a folder called backup on the jump drive, and store the rootfs file system with the name of system.img? also a md5 for each file would be nice. I know I could just have a script dd the mount point, but would be nice to see a function to call.
ddggttff3 said:
So far its working great! Plan on releasing a rooted 13300 system image with this soon, but I was wondering, is there a possibility you could create a partition backup option? so like
Code:
backup_mtd_partition 'rootfs' 'system.img'
Where it will make a folder called backup on the SD card, and store the rootfs file system with the name of system.img? also a md5 for each file would be nice. I know I could just have a script dd the mount point, but would be nice to see a function to call.
Click to expand...
Click to collapse
This would definitely be a useful feature. I can see a few implementation details that would need to be worked out in a non-obvious fashion, though:
There is currently no way for a imager script to directly access the root of the user partition. This is intended to prevent multiple scripts from having access to the same filesystem and possibly overwriting each others' files. Instead, scripts are executed in a temporary directory whose contents are discarded on device shutdown. It seems like the solution to this would be to create numbered backup directories, like there are numbered logs now, for mods to place their backups in.
It wouldn't be desirable for a mod to take a backup every time it was flashed, as not everyone cares about backups and they take up lots of space. There would need to be some way for the user to decide whether or not they wanted backups. Maybe another flag file?
Finally, taking a backup of an MTD partition using nanddump (dd should not be used to image NAND partitions, since it is not bad-block aware) images the entire partition, when (in the case of squashfs) only a small part actually has a filesystem on it. This means that a single rootfs backup will take up 400MB on the USB drive. I would want to implement something which can back up only the part of a partition which squashfs is using before I release backup functionality.
Obviously, this is a prime candidate for a new helper function, because of these non-trivial complications. I'll see if I can make the necessary changes to FlashCast and release backup functionality as part of v1.1. Thanks for the suggestion!
One more suggestion, if you do not mind.
How about the ability to flash multiple zips at once? So, if I have 2 files I want to flash, first one will stay eureka_image.zip, and then the next one would be eureka_image1.zip, or some similar process to allow multiple zips.
The issue here would be a naming scheme that would be easy for users to use and understand. so maybe if you flash a single file, just use eureka_image.zip, and if multiple, each would have a number added, starting from 1 and counting up in the order you want them flashed?
ddggttff3 said:
One more suggestion, if you do not mind.
How about the ability to flash multiple zips at once? So, if I have 2 files I want to flash, first one will stay eureka_image.zip, and then the next one would be eureka_image1.zip, or some similar process to allow multiple zips.
The issue here would be a naming scheme that would be easy for users to use and understand. so maybe if you flash a single file, just use eureka_image.zip, and if multiple, each would have a number added, starting from 1 and counting up in the order you want them flashed?
Click to expand...
Click to collapse
This is something I intend to implement. My current plan is to support a eureka_images directory, which can contain any combination of zipped and unzipped mods which will be flashed in alphabetical order. Mod authors can distribute their mods with a prefixed number, so, for example, you could distribute 00_13300_rooted.zip and 59_unlocator_dns.zip. I'll write a standard for how to determine the numbers (e.g. full system images get 00-09, major/minor filesystem changes get 40-49/50-59 respectively depending on how many files they affect, etc). It's not perfect and there can still be conflicts, but it should allow most mods to be flashed in a mostly sane order. I'm open to any suggestions or improvements you might have.
tchebb said:
This is something I intend to implement. My current plan is to support a eureka_images directory, which can contain any combination of zipped and unzipped mods which will be flashed in alphabetical order. Mod authors can distribute their mods with a prefixed number, so, for example, you could distribute 00_13300_rooted.zip and 59_unlocator_dns.zip. I'll write a standard for how to determine the numbers (e.g. full system images get 00-09, major/minor filesystem changes get 40-49/50-59 respectively depending on how many files they affect, etc). It's not perfect and there can still be conflicts, but it should allow most mods to be flashed in a mostly sane order. I'm open to any suggestions or improvements you might have.
Click to expand...
Click to collapse
Sounds great to me! Only other suggestion I have is to add another flag file which would allow Flashcast to continue flashing the multiple zips, even if one errors out.
So, by default if multiple zips are going to be flashed, and it errors on the first, it would stop, get a red LED, and then reboot.
with a flag file present, maybe ignore_errors, even if it errors out on the first zip, it would continue down the chain of zips until it finishes all of them.
Anyone got any idea how to get started with some themes for the chromecast? Will be more than happy to help, as soon i know where to start.
bormeth said:
Anyone got any idea how to get started with some themes for the chromecast? Will be more than happy to help, as soon i know where to start.
Click to expand...
Click to collapse
Most of the resources seem to be kept in the .pak files contained in /chrome. The first step to theming would be figuring out what format those are in and how to unpack and repack them. You might want to start by taking a look at the content_shell source code, as it might have some documentation or scripts for working with .pak files.
tchebb said:
Most of the resources seem to be kept in the .pak files contained in /chrome. The first step to theming would be figuring out what format those are in and how to unpack and repack them. You might want to start by taking a look at the content_shell source code, as it might have some documentation or scripts for working with .pak files.
Click to expand...
Click to collapse
Im gonna dive into it
Have a little bug report.
If a person has more then 85~MB in their eureka_image folder, and then they start a SquashFS File system edit, flashcast will report an error saying out of space. Now, here is the error part. Even though it failed to mount with an error, the imager.sh file will continue to run, and will then attempt to flash back a corrupt file, causing a non-bootable chromecast until the system partition is re-flashed.
bormeth said:
Anyone got any idea how to get started with some themes for the chromecast? Will be more than happy to help, as soon i know where to start.
Click to expand...
Click to collapse
The first script on THIS SITE will unpack the .PAK files, although it unpacks everything as a .png as it was made for a different Chromium device. So you would have to manually go rename all the files to their correct extension for the files, but because it expects everything to be a .png it won't pack back properly. The second script, technically should unpack/pack as proper file extensions, but I never got it to work right as I have little to no knowledge of Python.
The chromium source has a script,data_pack.py (which I can't link to since I'm a new user ATM) which can be used to pack and unpack .PAK files. The script posted above seems to be lifted from this source and modified to detect a few filetypes and write the unpacked files. But if you want to modify or add images and need to repack them, this script will help you figure it out. I'll work on adding and making some changes to the theme and give some instructions.
how to mount usb drive
Haven't used linux in years. Thanks!
Hey, want to do some poking around in the flashcast .bin file...how do I go about doing that? What is the file format, and is the image mountable in linux? Even better might be to extract files/folders from the image...what tool can I use to do that?
Ok, so I'm doing some dinking around...I've looked into buildroot, and I think for the most part I understand what is going on. I also tried building from source, and it appears to have worked. So, from this poking around I have a few assumptions I've made and a few questions. Correct me if I'm wrong anywhere but.......
Basically, you've built a generic bootloader for the device using buildroot. This is not related at all to the stock CC bootloader (although maybe you borrowed a few drivers, etc). I would guess that the buildroot bootloader has just what you need to display a picture on the TV and do some basic file system operations, and I would also guess that the buildroot bootloader is missing a few features that the stock bootloader has - therefore, it wouldn't be possible to run a full-fledged ROM off of this bootloader. Am I right so far? If so, what is missing from the buildroot bootloader? Libraries? Binaries? No idea?
Also, to access something like USB storage, the buildroot bootloader is able to include the required /dev devices, whereas it wouldn't be possible to include this on CC's stock bootloader without the source. So, doing something like accessing a ROM from an external flash drive isn't feasible because of these limitations? Basically, all that is possible with the current bootloader (of course, the insecure one which allows for unsigned code to run) is to add a few binaries to the stock CC ROM (things like adb, dropbear, etc), maybe add some access to those binaries through Web GUI, etc.
Am I on the right track? Is there anything you would add/correct? Thanks for the help. I'm trying to understand
tomg09 said:
Ok, so I'm doing some dinking around...I've looked into buildroot, and I think for the most part I understand what is going on. I also tried building from source, and it appears to have worked. So, from this poking around I have a few assumptions I've made and a few questions. Correct me if I'm wrong anywhere but.......
Basically, you've built a generic bootloader for the device using buildroot. This is not related at all to the stock CC bootloader (although maybe you borrowed a few drivers, etc). I would guess that the buildroot bootloader has just what you need to display a picture on the TV and do some basic file system operations, and I would also guess that the buildroot bootloader is missing a few features that the stock bootloader has - therefore, it wouldn't be possible to run a full-fledged ROM off of this bootloader. Am I right so far? If so, what is missing from the buildroot bootloader? Libraries? Binaries? No idea?
Also, to access something like USB storage, the buildroot bootloader is able to include the required /dev devices, whereas it wouldn't be possible to include this on CC's stock bootloader without the source. So, doing something like accessing a ROM from an external flash drive isn't feasible because of these limitations? Basically, all that is possible with the current bootloader (of course, the insecure one which allows for unsigned code to run) is to add a few binaries to the stock CC ROM (things like adb, dropbear, etc), maybe add some access to those binaries through Web GUI, etc.
Am I on the right track? Is there anything you would add/correct? Thanks for the help. I'm trying to understand
Click to expand...
Click to collapse
Buildroot does not let us build a bootloader, it lets us build a custom linux distribution that runs on the chromecast. The reason it is unable to do anything "graphical" minus the static image is due to licensing of the marvell GPU driver the chromecast uses. It is currently closed source, so it is unable to be compiled. We can use the blob from the stock OS, but ATM there is no need, and this can cause licensing issues.
Also, you can still access /dev and such on the stock OS. The big thing is the stock OS has usb input disabled at a kernel level, so it doesn't mount or detect any devices plugged in when the OS is running. This is circumvented though if you build and use your own custom kernel. For the features Eureka-ROM adds to the stock OS, we add those by using googles open source cross compiler for the device to build supported binaries.
Hmm...interesting. So, if I understand the booting process properly, upon power-on, a small bit of code called the bootloader is run, loading the kernel into memory (where, among other things, the graphics driver is located). From there, other components of the operating system are loaded on "top" of the kernel. So, it's not the bootloader that's rebuilt - but the kernel - with buildroot. Now, what sort of things would be possible if an open source alternative for the graphics driver were available (bear with me in the hypothetical), or even if one were to take the blob from the stock CC kernel? Turn CC into an android stick, complete with USB input device compatibility maybe?
Now on another note. I want to learn about cross-compiling. I am thinking of trying my hand at cross-compiling samba for the chromecast. Now if I understand the buildroot compiling process correctly, the right compiler for making chromecast-runnable binaries is compiled (or do you include it externally), and in theory, it should be possible to compile samba, right? I've been poking around the buildroot directory tree with the chromecast source superimposed over the top, and as of yet, I havent found the compiling binary (gcc, maybe?). I will look in a bit more depth. Once I find this, it should be as simple as specifying host and target architecture, putting the compiler for the CC in PATH, and compiling, right?
Thanks again for your help, and if you feel this isn't the appropriate place to post this, let me know.
tomg09 said:
Hmm...interesting. So, if I understand the booting process properly, upon power-on, a small bit of code called the bootloader is run, loading the kernel into memory (where, among other things, the graphics driver is located). From there, other components of the operating system are loaded on "top" of the kernel. So, it's not the bootloader that's rebuilt - but the kernel - with buildroot. Now, what sort of things would be possible if an open source alternative for the graphics driver were available (bear with me in the hypothetical), or even if one were to take the blob from the stock CC kernel? Turn CC into an android stick, complete with USB input device compatibility maybe?
Now on another note. I want to learn about cross-compiling. I am thinking of trying my hand at cross-compiling samba for the chromecast. Now if I understand the buildroot compiling process correctly, the right compiler for making chromecast-runnable binaries is compiled (or do you include it externally), and in theory, it should be possible to compile samba, right? I've been poking around the buildroot directory tree with the chromecast source superimposed over the top, and as of yet, I haven't found the compiling binary (gcc, maybe?). I will look in a bit more depth. Once I find this, it should be as simple as specifying host and target architecture, putting the compiler for the CC in PATH, and compiling, right?
Thanks again for your help, and if you feel this isn't the appropriate place to post this, let me know.
Click to expand...
Click to collapse
If we had a fully working open source graphics driver, lots could be accomplished. Full custom linux distributions could run x11 shells, we could have xbmc working with hardware decoding, and yes android would technically be possible if enough people wanted to put the time and effort into it. You can take the blob from the rom to do some of this, but things like hardware accelerated decoding will still not be possible due to the fact there is no documentation on how to use the blobs properly for things like that. (this is my understanding so I may be off on some small details, @tchebb can probably explain it more in depth.)
As for cross compiling, you just need to use googles prebuilt toolchain as the compile source.
Link: https://code.google.com/p/chromecast-mirrored-source/source/browse?repo=prebuilt
Mind if I ask why you want to compile samba? do you want to host media or files from a chromecast device? I actually have CIFS added to the eureka-kernel configs on our repo, so if you compile our kernel from source, you can mount samba shares on the chromecast device using the CLI.
ddggttff3 said:
As for cross compiling, you just need to use googles prebuilt toolchain as the compile source.
Link: https://code.google.com/p/chromecast-mirrored-source/source/browse?repo=prebuilt
Mind if I ask why you want to compile samba? do you want to host media or files from a chromecast device? I actually have CIFS added to the eureka-kernel configs on our repo, so if you compile our kernel from source, you can mount samba shares on the chromecast device using the CLI.
Click to expand...
Click to collapse
Cool. Thanks for the link. Basically, I'm just looking to learn about cross compiling for mobile devices. I figure samba seems easy enough. It was the first thing that came to mind. Any other ideas for something to cut my teeth on? Other binaries that would be well suited to CC, but are easy to compile?
tomg09 said:
Cool. Thanks for the link. Basically, I'm just looking to learn about cross compiling for mobile devices. I figure samba seems easy enough. It was the first thing that came to mind. Any other ideas for something to cut my teeth on? Other binaries that would be well suited to CC, but are easy to compile?
Click to expand...
Click to collapse
One more question...I've looked through the toolchain...the way it's set up is somewhat confusing. In the root directory of the toolchain: bin=gcc, g++, everything else I need to compile. What are the two folders entitled "arm-unknown-linux-gnueabi" and "target-arm-unknown-linux-gnueabi"? They seem to have relevant stuff (one has gcc, g++, etc except without the arm-unk... prefix, and other binaries which seem important). How do I use these/should I use these/why are they kept separate?
Thanks for the help.

[Emulator][Unnoficial] Leapcast the Chromecast Emulator All-In-One File

After several hours of tinkering and editing, I think I've finally managed to make an easy way to emulate a Chromecast on your PC. Iv'e only worked on x64 based systems so far, but I'll do x32 if anyone needs it. All you have to do is download the file, place it on your desktop (or it won't work), extract the .tar (don't make a new folder) and follow the directions in INSTALL.txt. It shouldn't require any extra files except Google Chrome, but if it does or you have any other errors or advice, feedback is very appreciated.​
I take no responsibility for any damages done by this. USE AT YOUR OWN RISK. Leapcast is the property of dz0ny at GitHub, not me. All I did was make an all-in-one install script.​
I already have Python installed....Can I just run the Bat file?
Error running LeapCast.bat
I completed the installation but when I run LeapCast.bat got this error (see the image)
Edit: I found the problem, I need to Edit "PATH" environment variable to include this "C:\Python27" and this "C:\Python27\Scripts".
Good job!!!!
Only youtube detected the leapcast, I check Plex, Avia, Crackle and Allcast and they don't.
lordkain2 said:
I completed the installation but when I run LeapCast.bat got this error (see the image)
Edit: I found the problem, I need to Edit "PATH" environment variable to include this "C:\Python27" and this "C:\Python27\Scripts".
Good job!!!!
Only youtube detected the leapcast, I check Plex, Avia, Crackle and Allcast and they don't.
Click to expand...
Click to collapse
It's probably an error in my install script. It should have edited your PATH automatically, so I'll look into it. The compatibility problem is probably just an issue with the emulator itself. I'll keep an eye on the github page and update this as soon as its available. Thanks for the feedback!
Did you use the Chromecast app on your phone/tablet to detect it before you tried the other apps?
Asphyx said:
I already have Python installed....Can I just run the Bat file?
Click to expand...
Click to collapse
That's part of what the script does. If you want, you can ignore the basic Python install if you specifically have Python 2.7.5 installed, but you definitely need to let setuptools and pip install. Won't work without them I'm afraid. Thanks for the feedback!
thatscottguy93 said:
That's part of what the script does. If you want, you can ignore the basic Python install if you specifically have Python 2.7.5 installed, but you definitely need to let setuptools and pip install. Won't work without them I'm afraid. Thanks for the feedback!
Click to expand...
Click to collapse
Thanks Kind of what I expected....Will try this later tonite
Thanks for the effort!
Unfortunately, this doesn't seem to work. The .bat file it leaves on the desktop has a strange trailing ascii-character, but it still doesn't run correctly even after you remove it. I don't know why you would run it from desktop anyway rather than c:\python27\scripts anyway... It should run from anywhere if the PATH is set correctly, but this script didn't seem to do that. Finally, it would be smarter to use the .vbs provided by the leapcast dev instead of your errant .bat on the desktop. Again though, thanks for the attempt.
It would be great if someone could put together a full install using install-shield and all, or at least a working batch script that has been tested on a fresh install of WinXP/Win7/Win8.1 Maybe I will try to.
NOTE: If this works for others, please let us know, but I am fairly certain it has at least a few minor errors preventing it from working by following the instructions alone.
thatscottguy93 said:
It's probably an error in my install script. It should have edited your PATH automatically, so I'll look into it. The compatibility problem is probably just an issue with the emulator itself. I'll keep an eye on the github page and update this as soon as its available. Thanks for the feedback!
Did you use the Chromecast app on your phone/tablet to detect it before you tried the other apps?
Click to expand...
Click to collapse
i have tried editing my system variables, but after running Leapcast.bat it say:
'leapcast' is not recognized as an internal or external command,operable program or batch file.
Please guide me through. AND github is down in my country right now
---------- Post added at 01:17 PM ---------- Previous post was at 12:49 PM ----------
Okay I got this post on google+
https://plus.google.com/+NicandrosNicolaou/posts/8RjWfMXxje8
it help me do a complete install of LEAPCAST...
-------------------------------------------------------------------
I just wanted to ask if there will be any update for V2 chromecast ? @thatscottguy93
link is not working
can you post a mirror link please?
thatscottguy93 said:
After several hours of tinkering and editing, I think I've finally managed to make an easy way to emulate a Chromecast on your PC. Iv'e only worked on x64 based systems so far, but I'll do x32 if anyone needs it. All you have to do is download the file, place it on your desktop (or it won't work), extract the .tar (don't make a new folder) and follow the directions in INSTALL.txt. It shouldn't require any extra files except Google Chrome, but if it does or you have any other errors or advice, feedback is very appreciated.​
I take no responsibility for any damages done by this. USE AT YOUR OWN RISK. Leapcast is the property of dz0ny at GitHub, not me. All I did was make an all-in-one install script.​
Click to expand...
Click to collapse
punkmexic said:
can you post a mirror link please?
Click to expand...
Click to collapse
Just tried, and works for me....
punkmexic said:
can you post a mirror link please?
Click to expand...
Click to collapse
Its attached to the first post... no need for a mirror...
Installation files for 32 bit system
can you make a setup for 32 bit computer?
Can i run xbmc/kodi on my windows pc and use leapcast to send the video feed to my android phone - this way I can use the laptop as a remote and the phone as existing hardware - lowering my android tv experience to a cost of zero - or should I stick with remote desktop... lag could be an issue as leapcast is light weight via python - minus the $5 mhl
Nope
mikeymackinon said:
Can i run xbmc/kodi on my windows pc and use leapcast to send the video feed to my android phone - this way I can use the laptop as a remote and the phone as existing hardware - lowering my android tv experience to a cost of zero - or should I stick with remote desktop... lag could be an issue as leapcast is light weight via python - minus the $5 mhl
Click to expand...
Click to collapse
Leapcast does not work that way, its mainly for youtube etc... web based viewings. Why not run the laptop/ desktop to the TV set and remote in from the Android phone/ tablet via a remote control app or team view etc... You would defiantly have lagging issues if reversed. Plus you do not have the buy the micro usb to hdmi adapter? Kewl story bro!
Seriously smart, as you will not have to get up to change from one episode to the next and at no cost.
thatscottguy93 said:
After several hours of tinkering and editing, I think I've finally managed to make an easy way to emulate a Chromecast on your PC. Iv'e only worked on x64 based systems so far, but I'll do x32 if anyone needs it. All you have to do is download the file, place it on your desktop (or it won't work), extract the .tar (don't make a new folder) and follow the directions in INSTALL.txt. It shouldn't require any extra files except Google Chrome, but if it does or you have any other errors or advice, feedback is very appreciated.​
I take no responsibility for any damages done by this. USE AT YOUR OWN RISK. Leapcast is the property of dz0ny at GitHub, not me. All I did was make an all-in-one install script.​
Click to expand...
Click to collapse
Thank you very much!!! Nice Work! I love you <3 #nohomo
Hi,
i wanted to try this but iam stucking at this error
C:\Users\Administrator\Desktop\LeapcastForWindows\leapcast>leapcast --name Leapcast --chrome "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" --fullscreen
Traceback (most recent call last):
File "C:\Python27\scripts\leapcast-script.py", line 9, in <module>
load_entry_point('Leapcast==0.1.3', 'console_scripts', 'leapcast')()
File "C:\Python27\lib\site-packages\pkg_resources.py", line 356, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "C:\Python27\lib\site-packages\pkg_resources.py", line 2431, in load_entry_point
return ep.load()
File "C:\Python27\lib\site-packages\pkg_resources.py", line 2147, in load
['__name__'])
ImportError: No module named leapcast.__main__
Anyone know how to fix this?
Managed to got it almost working IT's an old thread but I will give it a go.
Had to update Python to 2.7.9 for the SSL thing.
This is my issue :
Code:
C:\Users\d3x\Desktop\LeapcastForWindows\leapcast>leapcast --name Leapcast --chrome "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" --fullscreen
INFO:root:Starting SSDP server
INFO:root:Starting LEAP server
INFO:root:Loading Config-JSON from Google-Server
Traceback (most recent call last):
File "C:\Python27\Scripts\leapcast-script.py", line 9, in <module>
load_entry_point('Leapcast==0.1.3', 'console_scripts', 'leapcast')()
File "c:\leapcast\leapcast\__main__.py", line 38, in main
leap_server.start()
File "c:\leapcast\leapcast\services\leap.py", line 35, in start
resp = requests.get(url=app_dict_url)
File "C:\Python27\lib\site-packages\requests-2.18.4-py2.7.egg\requests\api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "C:\Python27\lib\site-packages\requests-2.18.4-py2.7.egg\requests\api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python27\lib\site-packages\requests-2.18.4-py2.7.egg\requests\sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "C:\Python27\lib\site-packages\requests-2.18.4-py2.7.egg\requests\sessions.py", line 618, in send
r = adapter.send(request, **kwargs)
File "C:\Python27\lib\site-packages\requests-2.18.4-py2.7.egg\requests\adapters.py", line 506, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='clients3.google.com', port=443): Max retries exceeded with url: /cast/chromecast/device/config (Caused by SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)'),))
Would that mean that google changed something and this no longer works?
-chrizz- said:
Hi,
i wanted to try this but iam stucking at this error
C:\Users\Administrator\Desktop\LeapcastForWindows\leapcast>leapcast --name Leapcast --chrome "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" --fullscreen
Traceback (most recent call last):
File "C:\Python27\scripts\leapcast-script.py", line 9, in <module>
load_entry_point('Leapcast==0.1.3', 'console_scripts', 'leapcast')()
File "C:\Python27\lib\site-packages\pkg_resources.py", line 356, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "C:\Python27\lib\site-packages\pkg_resources.py", line 2431, in load_entry_point
return ep.load()
File "C:\Python27\lib\site-packages\pkg_resources.py", line 2147, in load
['__name__'])
ImportError: No module named leapcast.__main__
Anyone know how to fix this?
Click to expand...
Click to collapse
Did u solved this?? same problem here.. let me know if u solved this
Don't know about your specific error, but Google definitely changed something. Leapcast doesn't work anymore. According to dz0ny on github:
This project no longer works because Google locked down entire API. There are alternatives like cloning device, casting apk from nexus player etc. Thanks for all contibutors and I hope we all learned something from this project. Meanwhile I'am keeping https://github.com/dz0ny/leapcast/issues/130 open if anyone wants to discuss something related to lepacast or 2nd screen paradigm.
I would love to re-implement this as an open source alternative to chromecast someday, but I won't make any promises.
Does anyone know a proper way to uninstall this?

SSh tunnel for lollipop fix or alternative?

Noticed i cannot get ssh tunnel to work for global or specific app proxys on any lollipop devices wondering if there was an ideal app you guys would recommend for nexus 6 that would accomplish this same thing?
Used to work great on my previous devices from last i recall prior to moving to a lollipop device
Looking to specifically proxy some apps via ssh tunnel and rest go through normal unencrypted session via carrier ip
Looked into proxydroid and connectbot but haven't seem to get them to work together must be missing something
seems this is a known issue with iptables and ssh proxying in lollipop on some other similiar apps
https://code.google.com/p/sshtunnel/issues/detail?id=193
Would gladly pay for an add free app that does this on lollipop for any devs out there looking for an app idea or can point me to one i missed which offers this
Thanks in advance
Update:
seen this after more searching looks handy gonna give it a ry but it would be nice to have an all in one app for this
http://forum.xda-developers.com/showthread.php?t=2505710
https://code.google.com/p/sshtunnel/issues/detail?id=193#c12
I have posted a solution and modded apk for now, until the problem will be resolved. Check it out.
Try mine, uses autossh with openssh:
https://github.com/lbdroid/Android_SSH
https://github.com/lbdroid/Android-Binaries/blob/master/Android_SSH.apk
A few points;
1) requires root (at the moment, still in dev...)
2) still in dev (could be instabilities...)
3) no ads, no tracking... seriously.. no nonsense.
themightydeity said:
https://code.google.com/p/sshtunnel/issues/detail?id=193#c12
I have posted a solution and modded apk for now, until the problem will be resolved. Check it out.
Click to expand...
Click to collapse
IT WORKS!!!
thank you very much.
Modded apk not working on Nexus 6 running Android 5.1.1
Using Connect not +ProxyDroid
Hopefully next release of sshtunnel will solve current issues
it´s the first time im using this tool... im happy that i found your solution/fix for lolipop.. it works perfect on any website/host in the web.. but i got still a problem..
the routing seems to route everything through the tunnel.. except things that are adressing other services on the same host as the ssh server host..
for example: if there is a webserver or mailaserver on the same host as the ssh server.. the traffic to those mail or webserver are not going through the tunnel..
is this a common problem with ssh-tunnel app?
using ProxyDroid on-top, fixes this.. with ProxyDroid also the mailserver (etc..) traffic is going through the tunnel.. but i would prefer to use only one tool.. not two tools..
any suggestions?
it's just a binary compatibility problem you can extract iptables and redsocks binary from patched version or from anywhere else and copy them to your data folder it will solve the problem
intika said:
it's just a binary compatibility problem you can extract iptables and redsocks binary from patched version or from anywhere else and copy them to your data folder it will solve the problem
Click to expand...
Click to collapse
Yes you are right.
-1 copy/overwrite iptables, redsocks from proxydroid to:
data/data/org.sshtunnel folder.
-2 chmod these two files for the owner/root!
korsanovix said:
Yes you are right.
-1 copy/overwrite iptables, redsocks from proxydroid to:
data/data/org.sshtunnel folder.
-2 chmod these two files for the owner/root!
Click to expand...
Click to collapse
i'm using Ki4A, works perfectly fine in NON ROOTED Marshmallow.
Google Play LINK.
works without any modifications.

Categories

Resources