How to debug whitelisted Chromecast - chromecast

I have completed Google's form to enable my device to be whitelisted and have been provided with an AppID.
I have followed the procedures outlined here to try and debug the device with no success:
https://developers.google.com/cast/developing_your_receiver#debugging
I am able to ping my device by the IP, but connecting to port 9222 results in failure. Telnet to that port is also unsuccessful.
Does anyone know why this might not be working? I must be missing something simple.

The problem was that my Chromecast device was not sending the serial number to Google.
I was able to get it to work by enabling the sending of the devices serial number in the Windows settings utility (changing this setting in the android app didn't seem to work). After changing the setting I rebooted the device, and now I can connect on port 9222. I am not sure why this isn't in the developer walk through... or maybe I missed it?

I only got this option when I opened "Options" in the Google Cast Extension inside Chrome and then clicked on the blue icon about a dozen times very quickly. Suddenly a new option appeared at the bottom where I could enter the hostname of my whitelisted URL:
I also made sure that "send serial number" was enabled in the Chromecast.app (and make sure to reboot!)
Now, I am able to hit port 9222 in a browser and can see my app at http://{my-chromcast-ip}:9222/. I can use dev tools in Chrome to debug, refresh the page, inspect on-screen elements, etc.

Something else that I haven't seen others mention yet. If you're going to the right IP and getting the link to remote debugging, but you don't see your source, elements, etc. It could be blocked by security settings. This stumped me for a while until I noticed a small shield icon in my url bar. Click on this and allow it to load sources. Once I did that everything populated as expected.

I struggled a bit with this one. I think some things might have changed with the last firmware update on the Chromecast. I could connect to port 9222 after I did the following:
Registered the custom receiver and host it on the outside of my network (on Google Drive:
https://support.google.com/drive/answer/2881970?hl=en)
Launch the receiver. I used the Chromecast example https://github.com/googlecast/CastHelloText-chrome
Make sure the app ID in chromehellotext.html is the one registered on your account.
When After this, I could connect to the debugging port.
The port is only open when your custom receiver is running on the Chromecast.
I also might be useful to enable debugging on the chrome extension. This will show what's going on between the Chromecast and sender:
https://developers.google.com/cast/docs/chrome_sender

I realize that this is an ancient question, however my answer might help people searching in the future.
Simply rebooting the Chromecast after having set up my details in the Cast console helped for me.

You must cast to a custom receiver first (at least once) before trying to access the IP with debug port. Otherwise debugging won't be enabled.

Related

Windows 10 SNMP service not responding

I'm trying to get my head around SNMP for a project I'm working on. After I failed miserably getting it to work in my company's network, I set up a simple 3-device network to test things on, consisting of two Windows 10 PCs and a manageable switch between them.
I installed the optional feature "SNMP" on both PCs, made sure the service is running correctly and configured both services to accept SNMP queries from each other. I made sure to open up UDP port 161 in both PCs firewalls. Then I got the Net-SNMP binaries in order to use SNMPGET and SNMPWALK. As an alternative, I set up the SNMP extension for PHP through xampp (since I want to use PHP in my project once I get SNMP to work). Finally, I installed wireshark to monitor what exactly is going on and this is what I found:
When I try SNMPGET or SNMPWALK either through cmd or as a PHP command, I always get a timeout message. Wireshark is showing the get-next-request leaving one PC and arriving correctly on the other, so the network connection itself is working fine. But the receiving PC never sends a response. As I said, I'm pretty new to SNMP and I'm at a loss as to why this is happening. As I understand it, the optional feature for Windows 10 comes with its own SNMP agent, correct? If so, what could cause it to simply ignore an incoming request from a valid source IP?
The funny thing is that this even happens when I try to send an SNMP query to 127.0.0.1. I have no idea what I'm doing wrong...
Thanks to the comment of Lex Li, I was able to finally figure out which step I made a mistake with:
When setting up the SNMP service, under the security tab, I had to add 'public' as an accepted community name (with READ-ONLY rights). I figured since 'public' is sort of the standard read-only community, it would be accepted by default, which apparently it is not.
Alternatively, I guess I could have added my own communtiy name, but I didn't try that since I only want to read some values through SNMP anyways and read-only access is all I need for that.
Thank you very much Lex Li, I'm off to continue my project now!

Firefox prevent local ip address from redirecting to HTTPS

I am trying to configure some hardware using the ip address: 192.168.1.251. For some insane reason Firefox keeps forcing it to https://192.168.1.251.
The fact is (a) the address is never on the internet; (b) in this case it is the only other machine; and (c) I have no control over how the hardware does its job any way. So what genius decided that they know better and I can’t connect using plain old http?
The question is how can I tell Firefox to just shut up and do as it’s told? I have already tried browser.urlbar.autoFill and network.stricttransportsecurity.preloadlist and neither of them works.
This might be because at some point a server at this address responded with an HSTS header.
Click on the icon to the left of the URL in the address bar, then in the dialog click clear cookies and site data. Then confirm in the dialog that appears.

How does my computer know that it is connected to the Internet?

Sorry for asking such a mundane question, but I'm suddenly curious. If I open the network connections dialog on my Windows machine, it shows me a cute little picture of my computer connecting to a router and then to a globe (labeled Internet). What is Windows trying to connect to in order for it to decide that the computer has Internet connectivity? I assume there is no IP4 address for 'The Internet', so where is it going? Is it just sending a ping to an address back at the Microsoft home office? If that address were to disappear, would my window's machine suddenly decide that it no longer has a route to the Internet? Would Windows boxes that were 'close' to that address incorrectly report that they could get to the Internet when they couldn't.
I'll stop now before this gets too silly. But seriously, what criteria does a Windows box use to determine that it has Internet connectivity? I'm assuming that Linux and iOS systems have an equivalent feature. Do they use the same criteria?
The general IP address that is used for 'the internet' is 8.8.8.8 - or Google.com.
If you can ping it, and get a web page from it, then there's a pretty good chance you can get to at least some of the internet.
But for specifically Windows - Network Connectivity Status Indicator - it uses a different domain: dns.msftncsi.com
It will (unless disabled by GPO):
resolve the name, and verify it has the 'right' IP (131.107.255.255
fd3e:4f5a:5b81::1 )
Perform a HTTP get to this address and check it gets a result. NCSI
Presumably if different responses are retrieved, then it can tell if it has a wi-fi login or similar.
Your intuitions seem correct. I am not on a Windows machine but you could find out by firing netstat and then connecting.
If I was programming this I'd make Ping, TCP and HTTP requests. Some devices are connected through proxies such as firewalls, captive portals and others. the only way to be sure is to send something and receive a reply.
My Android device for example can detect captive portals. It probably does that by trying to HTTP connect somewhere.

Why is whitelisted Chromecast IP for development blocked with err_connection_refused?

I already read this (Can not access Chromecast receiver debug page by http://chromecastIP:9222?) and similar threads. I am not sure if they are outdated from the pre-release SDK but at any rate here is my tale of woe...
Chrome is giving me these details when attempting to browse my Chromecast IP:
Google Chrome's connection attempt to 192.168.2.78 was rejected. The website may be down, or your network may not be properly configured.
NOTE - I did remember to add the :9222 suffix
My Chromecast device appears to be whitelisted.
From the cast.google.com/publish/#/overview console page it lists both my Application ID and my Serial #.
The App ID is fine if that even matters as I have successfully run many github sample apps using it.
The serial # I entered is correct as I was meticulous reading it with a magnifying glass off the device (felt like Sherlock Holmes).
The status for my Serial # lists, "Ready for testing"
I did this all after a factory reset today.
I then unplugged the USB cable from the Chromecast dongle and counted to 30 and reseated it.
This is exactly what the instructions on the cast developer site instructed.
I have seen some posts where people say it could take hours but that seems to be pre-release posts where there were alot of issues.
So basically I ready every stackoverflow post on this, followed all instructions, everything looks good and works right (I can cast no problem) even with my own code for both Android & Web but I just cannot browse, http://:9222
I just get err_connection_refused
I can ping it without the :9222 suffix as well.
Since it says, "Ready for testing" I assume I do not have to wait for Google to process this.
Finally I was triple sure to check, "Send Serial # to Google for updates" in installation app.
Can anyone provide guidance please?
Thanks!!
These are the instructions I followed (meticulously I might add)
https://developers.google.com/cast/docs/registration
To register your Google Cast device:
Sign in to the Google Cast SDK Developer Console.
From either the Overview page or Devices page, click Add New Device.
Enter the serial number of your device. ( I TRIPLE CHECKED THIS)
The serial number on a Chromecast is a 12-digit alphanumeric string, laser-etched (not printed) on the back of the device and begins with a 3, 4 or 5. It may be easier to read if you take a picture of the serial number then enlarge it. The serial number is also printed on the package.
Enter a description, and click OK.
This is just a friendly name for your device (it does not need to match the name you gave to the device during user setup).
Wait fifteen minutes before continuing. (I waited till it says, "Ready for testing")
Once registration is complete, the Status for the device will read "Ready for Testing."
In the Chromecast setup app, select your Chromecast and check the box, Send this Chromecast's serial number when checking for updates.
Restart your Chromecast by disconnecting the USB cable from the device, then reconnecting it.
After restarting the device, check whether you can access http://:9222 from a chrome browser on the same WiFi network.
** AFTER ALL THIS STILL GET ERR CONNECTION REFUSED **
Once you can access the URL, your device is ready for development. If you can't access the URL, check the serial number you entered in step 3, above.
Please read the documentation here (search for Debugging). The Registration page will be updated later today or tomorrow to remove item number 8 at the bottom of the page. In short, you need to have your own application running on the Chromecast device to be able to attach your chrome debugger to it. Also see this post.

Hide SSID from google and youtube?

Seems like google and youtube detect your location via SSID that is attached to every packet sent from your Wi-Fi network.
I tried using VPN but it didnt hide the SSID, then i tried using VPN + SOCKv5 but it didnt hide the SSID.
Then i simply tried let-me-thru.com and it hide my location from google just fine lol.
I am very confused, someone can explain me why is that ?
Also can someone recommend me VPN service that hides your SSID please ?
Thanks in advance.
If you're really paranoid, don't use wireless networking.
But what makes you think that SSID is sent over the internet? And even if it were (which it is not), you could just change it and there would be no way to know its location.
Perhaps you meant 'IP', which can e used to find your rough location? You cannot spoof your source IP. A decent proxy will hide it, however.

Resources