Closed amgno closed 9 months ago
Hi @heryoff ,
What browser are you referencing here?
If you mean web browser, you already using a web browser to access ArozOS and it make no sense to make a web browser inside another browser. If you mean iframe browser, I guess we can add it in with some web browser like features (e.g. bookmark, history etc). However due to iframe and embedding policy problems, it might have issues opening some sites that do now allow embedding like Youtube and Google.
I’m actually referring to a web browser, the fact is that I would like to navigate privately and without the limits of the current Network that I’m connected to.
Reference: #56
Mmm I see, is it possible to have other apps. Let’s say like Discord?
Yes it is possible, but you might need to write your own app to comply with license requirements. Use Discord as an example, you can use third party Discord embedding library like this one from WidgetBot and a few lines of HTML and JSON configuration to make something like this.
Wow that’s really cool. Last question: are there few apps to install and try?
Most apps developed for ArozOS by third parties are used in commercial or business environment. We do open source a few apps and subservice that you can take a look over here.
Experimental browser added in v2.005 internal preview. Will be closing this issue after release.
Can you extend the browser with the possibility to open (and block) tabs, additional windows and popups. It would also be good to have a simple menu in the browser where you can e.g. change the popup blocklist, the access rights, the start page and set a custom DNS for the browser and maybe the possibility to assign a proxy for the browser if you want to isolate the browser from the network of the environment. A toggle button to turn this feature on and off would be great. That an ad and script blocker will probably not be an option is clear to me but it would be good to have a way to use something like in PiHole or a similar service within the browser.
@Secarian I appreciate your suggestion, but this is currently technically not feasible due to browser's sandbox design. The only solution I came up with is by containerizing a browser and run it at server side which expose a Web VNC connection to a web interface.
So that needs to be a Docker to?
You could do a proxy, like Hypertabs did.
You could do a proxy, like Hypertabs did.
This is not helpful. Can you provide a link to the example you mentioned, or propose an architecture that might help with this request?
You could do a proxy, like Hypertabs did.
This is not helpful. Can you provide a link to the example you mentioned, or propose an architecture that might help with this request?
A serverside proxy, and make the browser connect through it. Hypertabs is, well, a browser in a browser, and it runs on an identical architecture. Your request goes through a proxy on their end. Hope this clarifies what i mean
Edit: oh yeah, and here's the link. It's a little clunky though.
@xtreemtm I think this might be feasible, if you can make it work (The demo link you commented earlier is not working on my side). If you are planning to integrate it with ArozOS, please note that it is AGPLv3 licensed (i.e. You cannot merge it or any part of it into the ArozOS core which GPLv3 licensed). However, I guess you might be able to wrap it into a subservice module which can be licensed by individual contributors or upstream license.
Feel free to let me know if you need any help trying to integrate this. I would be interested to see a working, properly proxy browser in ArozOS as well. Good luck!
@xtreemtm I think this might be feasible, if you can make it work (The demo link you commented earlier is not working on my side). If you are planning to integrate it with ArozOS, please note that it is AGPLv3 licensed (i.e. You cannot merge it or any part of it into the ArozOS core which GPLv3 licensed). However, I guess you might be able to wrap it into a subservice module which can be licensed by individual contributors or upstream license.
Feel free to let me know if you need any help trying to integrate this. I would be interested to see a working, properly proxy browser in ArozOS as well. Good luck!
Already started working on this, the Hypertabs website does not work on my end too, that's a problem on their side. I have actually been trying to implement a browser in a browser without VNC for a very long time, so this is a great opportunity to finally get it done.
Issue comes up when the app does not have an executable. I am not super familiar with arozOS, so I don't have any solutions here except package the whole app into an executable.
@xtreemtm If you can pack it into an executable for different platforms, you can easily integrate it as a subservice for arozos. ArozOS subservice is basically a reverse proxy for web server. So what you need to do is accept the -port and -info startup parameter to do your things. Here are a few examples which ArozOS core will use to start your subservice
./browser_linux_amd64 -info
./browser_linux_amd64 -port=:12510
Port is straight forward, it tells your browser where to listen for client request. For -info, your executable should return a JSON struct so ArozOS knows how to start your binary. Here is an example of which when -info is set, your application should return and exit with code 0
{
"Name": "MyBrowser",
"Desc": "The best browser I ever wrote",
"Group": "Network",
"IconPath": "mybrowser/img/small_icon.png",
"Version": "2.1",
"StartDir": "mybrowser/index.html",
"SupportFW": true,
"LaunchFWDir": "mybrowser/index.html",
"SupportEmb": false,
"LaunchEmb": "",
"InitFWSize": [
1080,
580
],
"InitEmbSize": null,
"SupportedExt": null
}
If you want to implement user isolations (e.g. different user have different browser state or cookies), you can check for the request header with key "aouser". This value will be populated by ArozOS reverse proxy and the requesting user id (or username) will be written in here.
If you have further questions, feel free to contact me at imuslab@gmail.com and ask for Toby.
Wrote a simple web proxy and tried to package it into an executable for arozOS, no luck. I guess i will have to leave this project alone, because I have no other ideas on how to make arozOS run it.
The build-in browser is good enough for basic usage. Closing this issue as completed.
Is it possible to install a web browser into this os?