• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Playing Around With Switch's Browser

Thraktor

Member
Note: Before I start, I just want to clarify that what follows isn't a hack or exploit of the Switch in any meaningful way. This works precisely because Switch is behaving exactly as it should, allowing users to connect to wifi networks which use a "captive portal" for logins. I've simply created my own captive portal on my home network, and then set that up to allow me to access the wider internet.

Switch's browser? I thought Switch didn't have a browser!

Well, it does and it doesn't. Switch doesn't have a regular web browser you can access from the home menu. What it does have, however, is an embedded browser used to support captive portals. A captive portal is one of those web pages that pops up when you log onto a wifi network in Starbucks, or a hotel or airport or in many other public places. When you try to log onto any of these networks on Switch, you'll get a message saying "Registration is required to access this network" and up will pop the captive portal page that the wifi provider has set up, in a browser window. Of course this browser window doesn't have an address bar you can type a URL into, so you're pretty much stuck within that captive portal page, but if you are the one who set the captive portal up, then you can use it to provide links to the wider internet, or provide an address bar of your own.

Setting up a captive portal

In order to get a captive portal up and running, I set up a Raspberry Pi to run as a webserver/proxy server, and then I entered the IP address of the Pi into Switch's network settings as a proxy, so that all internet traffic would be routed through it. This acts as a pretty standard proxy server, re-routing all of Switch's network access out to the wider world, except for one particular domain, conntest.nintendowifi.net, which I set up with specific rules.

Switch uses conntest.nintendowifi.net as a test page to see if it can connect to the internet. If it can access the page properly, it gives the "connection successful" dialog, and if it's unable to access it, it will tell you it's failed to connect to the internet. The third possibility, which is most useful to us, is that it gets back a different page than it expected. In that case, Switch will assume that this page is a captive portal, so it will bring up the aforementioned browser window and allow the user to access it.

So, in order to get the Switch to bring up a browser window that will access the internet at large, all I have to do is redirect conntest.nintendowifi.net to some local webpage that I have control over. In my case I set up a very simple page with a few lines of HTML and PHP that gives me a URL bar and a "Go" button, to allow me to type in the address of a website and be sent to it.

What can Switch's browser do?

Well, naturally the first thing I tested was accessing Neogaf*:

switch_browser6.jpg


And yes, you can post to Neogaf on it too.

You can also just pop on over to Google.com and search the net:

switch_browser5.jpg


You can log onto Google and access services like Gmail (and no, I'm not showing a photo of my Gmail account). You can use Google Maps:

switch_browser3.jpg


Which works quite well, by the way, with pinch to zoom support and all the normal features being available (as far as I could tell).

Oh, and you can access YouTube:

switch_browser1.jpg


switch_browser2.jpg


YouTube videos will only run in full-screen mode, but you do get both touch controls and button/stick controls to pause/play and scrub through the video. I suspect most other video sites will work in a similar way.

It's also able to access Facebook, but once again you're not getting a photo of that.

Finally, you can just access general HTML websites of pretty much any kind:

switch_browser7.jpg


What can't Switch's browser do?


  • Netflix - You can log onto Netflix and browse through the catalog, but when you try to play a video it redirects to a page telling you your browser isn't supported. I've tried spoofing the HTTP user-agent header using the proxy server (to pretend to Netflix that it's a different browser), but I haven't had any success thus far.
  • Flash - Anything that still uses Adobe Flash is a no-go, but that's a diminishing selection of sites these days.
  • Tabbed browsing, bookmarks, etc. - Unsurprisingly, the browser doesn't offer many of the features that a modern desktop browser would be expected to have, given that it's not intended to be used as such. This means no history, no saved log-ins to websites (although you will remain logged into a website for as long as the browser is open), no downloads or bookmarks or tabs or anything like that.
Other than the above, Switch seems to have a pretty full-featured browser hidden in there, certainly for something that's only used for captive portal landing pages. It supports HTML5, Javascript, cookies (for the duration of the session, anyway), and most modern websites should run on it without too many issues.

* (Quick note: I'm not intentionally blocking ads on Neogaf here, it just seems to be an issue with the proxy server. I'm well aware of how important ad revenue is to keep sites like Neogaf running, so I don't use ad blockers of any kind).
 

ZeroX03

Banned
You can log onto Google and access services like Gmail (and no, I'm not showing a photo of my Gmail account).

It's also able to access Facebook, but once again you're not getting a photo of that.

What have you got to hide? That you had to point it out twice makes it veeeeeeeeeeeeeery suspicious.
 

Seik

Banned
Quite complicated to enable what should be a basic feature, but thanks for finding a way to do it, OP!

Would you say the browser is snappy? Hopefully Nintendo will unlock it soon enough.
 

Thraktor

Member
Where is the ad? Are they flash based?

I don't think so. I mentioned it at the bottom of the post:

* (Quick note: I'm not intentionally blocking ads on Neogaf here, it just seems to be an issue with the proxy server. I'm well aware of how important ad revenue is to keep sites like Neogaf running, so I don't use ad blockers of any kind).

It may just be an issue with the way I've got the proxy server configured. I can check the logs to try to pin it down, but this is mostly just a proof-of-concept at this point, so I haven't really tried to work through compatibility issues yet.
 

roxaloxa

Member
What does it look like when you hit a form that has a file upload? Like trying to post a photo to Twitter or Facebook manually from those webpages?
 
I tried using a proxy to access twitch.tv the other day to see if it was possible and it works but you can't change to html5 video so unable to watch anything, but I might try it again because I used the joycons only and not touch controls to interact and move the page around.
 

Cleve

Member
I tried using a proxy to access twitch.tv the other day to see if it was possible and it works but you can't change to html5 video so unable to watch anything, but I might try it again because I used the joycons only and not touch controls to interact and move the page around.

Can you not just feed it the url for the html5 version of the stream?

You used to be able to enter https://player.twitch.tv/?channel=CHANNELNAME&html5
 

foxuzamaki

Doesn't read OPs, especially not his own
That's super cool, things like no tabbing and stuff sucks and I'm assumingnwould be part of a proper switch browser, you also made me realize I wouldn't be able to look at comments or be in another tab while watching a, a feature the wii U was amazing at
 
Pretty cool stuff, thanks for posting this OP.

I really hope Nintendo "unlocks" a full browser for us. I realize a lot of people won't use it, but I definitely would.
 

Fbh

Member
That's pretty cool. Good job OP!

How does it feel in terms of performance and loadig times? Would you compare it to a phone browser?



A shame that you have to put it in so much extra work for a basic feature that feels like a nobrainer for a portable multi touch device. But this at least gives some hope that a browser might be comming
 

Thraktor

Member
What have you got to hide? That you had to point it out twice makes it veeeeeeeeeeeeeery suspicious.

Oh, I've got some pretty shocking stuff to hide alright. Shocking, I tell you!

This is great, hopefully it's this good (or better) whenever they decide to unlock it fully.

It should be pretty similar. They've already got a decent bit of the UI done, although there's work to do to implement an address bar, bookmarks, tabbed browsing, etc. This should all be available with the Netfront NX browser they're using, but Nintendo would have to handle the UI side of things.

Quite complicated to enable what should be a basic feature, but thanks for finding a way to do it, OP!

Would you say the browser is snappy? Hopefully Nintendo will unlock it soon enough.

It's not too complicated, to be honest (although I used to work as a web admin, so perhaps I'm not representative of society at large for something like this). Perhaps 10 lines added to the proxy configuration file and then another 10 lines of HTML/PHP code to get the redirect page working.

It seems to be snappy enough when on a page. I can't really judge page load speeds with the current setup, as I have both the Switch and the proxy server running off a fairly crummy 2.4GHz wifi network, so that'll be slowing things down quite a bit.

What does it look like when you hit a form that has a file upload? Like trying to post a photo to Twitter or Facebook manually from those webpages?

I hadn't actually thought of that, I'll give it a try (although I can't say I expect it to work, the browser should be pretty well sandboxed).

Edit: Nope, doesn't work. It just pops up a message saying "The file selection is not supported".
 

DavidDesu

Member
Will be good getting a fully featured browser. The foundation is clearly already built into the OS. It's nice to see and I'm looking forward to Nintendo hopefully opening g up the Switch a little so we can play Spotify, watch Netflix, flick over to a browser from a game and back again and so on.

Nice system and it needs these features to hit it out of the park.
 

roxaloxa

Member
I hadn't actually thought of that, I'll give it a try (although I can't say I expect it to work, the browser should be pretty well sandboxed).

Edit: Nope, doesn't work. It just pops up a message saying "The file selection is not supported".

Ah damn. I was hoping their file select dialog was just hooked up to the screenshots album. Thanks for testing.
 

blu

Wants the largest console games publisher to avoid Nintendo's platforms.
What happens if you try to play a 1080p youtube in docked and hh mode, respectively?
 

Ninja Dom

Member
So ultimately, the Switch browser is connecting to the internet using another device with a browser that is already connected to the internet?
 

Thraktor

Member
Youtube has an HTML5 player, so I would imagine any other site that isn't using a Flash based one would work similarly.

Yeah, I could get Vimeo working on it without any problems. Although like Diablohead I haven't been able to force Twitch to use HTML5 (it defaults to Flash).

What happens if you try to play a 1080p youtube in docked and hh mode, respectively?

Youtube will only give you the option of up to 720p resolution, regardless of whether you're docked or in handheld mode. The web pages render in 720p while docked as well, although this is the case for the entire Switch OS, so isn't too surprising.

So ultimately, the Switch browser is connecting to the internet using another device with a browser that is already connected to the internet?

No, there's no separate browser, just a proxy server, which sits between the Switch and the internet. Mostly it just passes web traffic between Switch and the websites its visiting, but it stops Switch from accessing conntest.nintendowifi.net in order to get a my own web page on to the Switch's browser.

Does it support WebGL?

According to webglreport.com, "This browser supports WebGL 1, but it is disabled or unavailable."

Edit: Although it doesn't have WebGL enabled, it does support HTML5's gamepad functionality, which is properly named as "Nintendo Switch Controller", and supports all inputs.
 

Stinkles

Clothed, sober, cooperative
I'm in a Marriott Hotel, and the Switch just beeps endlessly on trying to connect to the hotel website. Is there some way to force the browser to popup so that I can actually enter my credentials?


EDIT: Patience...

It takes a crazy long time to "figure it out" then it prompts you to hit continue.

Works fine now. Wow. Literally 60 seconds. Which makes me both impatient and a bit baffled.

Also, I had no idea the Splatoon beta was available already.
 
Top Bottom