Gaining access to "forbidden" ports on iPhone version of Brave browser

I need to access TCP ports that are “forbidden” (blocked by the browser) to administer embedded systems from an iPhone. Unlike the desktop (Linux, Windows) versions of the Brave browser (which have a command line option, though it doesn’t always work), the iPhone version offers no way to enter a command line option that allows access to those ports. How can it be done? It’s necessary for system administration, so if it currently isn’t possible it should be added as a setting.

@SaltyBanana @Chocoholic @Saoiray help needed here, thanks

@SmartyAadi This likely would be more of a question I’d toss toward @michal and maybe @Mattches.

@BrettGlass Obviously have tagged a couple people who might be able to help. Just keep in mind you posted just around the start of the weekend. So it might be a few days before they get around to this to be able to respond.

Okay, mate… Thanks so much for guiding to the right direction! I’ll remember this

Thank you! As a sysadmin, I’d really like a good browser to use for administration on the iPhone. Safari just doesn’t cut it…

If you’re accessing them through websockets or similar you must be on a secure origin, certain ports are blocked by some browsers unless the site you’re on has HTTPS

What ports are you trying to get access to? Also keep in mind the iPhone version will be more limited as it’s based on WebKit and the Brave developers have limited control over the engine itself.

The devices use arbitrary ports, often between 1 and 1024 (the range originally reserved by IETF, but this is hardly honored nowadays). I do not believe that Webkit restricts TCP ports. Brave’s own code must be doing it.

Did some searching on this but couldn’t find a sufficient answer for this particular situation (but I’m also not a sys admin so not quite my wheelhouse). I’ve reached out to our iOS team for more info on this — appreciate your patience.

Does this work in safari? what’s the sample url are you trying to access, just adding port number to the end of the url?

@BrettGlass,
Also curious whether or not this work w/Shields disabled?

“Shields” make no difference. To access the device, one simply goes to, for example, http[s]://192.168.1.1:7 (or other IP:Port as the device requires). I can make this work on Windows with FireFox via an “about:” setting, and the Windows version of Brave has a command line switch that is supposed to allow it. But I haven’t been able to do it on iOS, and need to.

Bumping this topic because I’m still without an answer. Do I need to abandon Brave for iOS?

@BrettGlass It always helps if you can tag people when you respond. Just simply hitting Reply and responding doesn’t usually send a notification. It’s the #1 way to lose track of topics for any of us who are bouncing around helping others.

That said, @Mattches and @michal I see they responded to you about 3 days ago. Any further thoughts?

OK, I’ll add references to @Mattches and @michal to make sure they see this. In any case, I’ve gotten no useful help so far and have had no success in making the Brave browser for iOS work on embedded systems which use nonstandard ports. If the browser is to be fit for use by network administrators, this does need to be fixed. In the meantime, I guess I’ll have to use others! (DuckDuckGo works pretty well, though it has some issues too.)

@BrettGlass Unfortunately Brave (and other iOS browsers) do not have the ability to load content from restricted ports because Apple requires iOS browsers to use the public APIs built around WebKit to display web content, and WebKit does not provide any API that allows us to bypass restricted ports. The only thing I can recommend is binding your services to an unrestricted port. You can find a list of ports that are restricted in WebKit’s open source repository here.

I believe your example was using port 7, which is part of that list.

1 Like

Not an option. The embedded devices don’t allow it.

I see the code for the function portAllowed() at the location you cite; however, Chrome allows this to be overridden and so does Mozilla. It would be insane for Apple not to allow it as well.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.