browsh-org / browsh

A fully-modern text-based browser, rendering to TTY and browsers
https://www.brow.sh
GNU Lesser General Public License v2.1
16.9k stars 411 forks source link

Termux Proot #406

Open Lucas-mother3 opened 2 years ago

Lucas-mother3 commented 2 years ago

So I was tinkering around browsh inside proot and saw this. Screenshot_20220329_033413

Now you might say, it's just your config, well here's the problem. I used Android 9 (generic UI), running Void Linux via Proot. The question is, why do the browser need ps aux?

Also, if that's possible, I would like to ask about the ssh server too.

tombh commented 2 years ago

That's just my lack of sophistication! All that ps aux is doing is trying to see if an existing Firefox process is running. I'm sure there are safer more portable ways of achieving that.

The SSH server is here: https://github.com/browsh-org/baas/tree/master/ssh-server 🤓

Lucas-mother3 commented 2 years ago

That's just my lack of sophistication! All that ps aux is doing is trying to see if an existing Firefox process is running. I'm sure there are safer more portable ways of achieving that.

The SSH server is here: https://github.com/browsh-org/baas/tree/master/ssh-server 🤓

cool but why browsh needs firefox in the processes?

Lucas-mother3 commented 2 years ago

By the way, I could recommend running a debug Android environment, install Termux from F-Droid or GitHub, install distros via proot-distro, and test browsh inside the environment.

On the other hand, Chroot in rooted Androids should run Browsh just fine.

In addition to that, how could I run the ssh server myself?

tombh commented 2 years ago

The docs explain why Firefox is used: https://www.brow.sh/docs/introduction/#design

The idea is that you run Browsh on a remote server with good CPU and internet, then connect to that with a normal SSH client or Mosh, which both already work on Android.

Lucas-mother3 commented 2 years ago

I wanted to try browsh myself within an install. I used Void Linux inside the Proot environment and ps aux doesn't work because of the latest SELinux policies introduced in later versions of Android. Yes I could root my android but I don't have a computer right now and it's pretty complicated.

I tried the ssh server but it's temporarily down. I just wanted to explore text browsers for kicks.

tombh commented 2 years ago

Ah yes, if you don't have a computer (desktop or remote VPS) then using Browsh is going to be hard 😕 Sorry the public SSH service is down, it just got too expensive to maintain.

Lucas-mother3 commented 2 years ago

I wanted some fixes and improvements so it can work on Termux Proot. I think there's an alternative to ps aux somewhere but I'm not sure.

tombh commented 2 years ago

But I'm pretty certain that even if you can make that change there is not Android version of Firefox that is compatible with Browsh. You're trying to use Browsh in a way that it was never designed for 😕

Lucas-mother3 commented 2 years ago

But I'm pretty certain that even if you can make that change there is not Android version of Firefox that is compatible with Browsh. You're trying to use Browsh in a way that it was never designed for 😕

I knew that there's a Firefox browser for Android, I can also run Firefox within Android (with some changes)

I know it's kinda possible, I recommend talking to the Termux guys in their discord server.

Lucas-mother3 commented 2 years ago

I'll add a few statements, but if there's a way to just run a rendering engine without relying on Firefox, then running it on android is certainly possible, for example, using either GTK HTML/Webkit rendering libraries, KDE HTML/Webkit rendering libraries or fork Gecko or something

tombh commented 2 years ago

Sure, it's certainly possible, but it's completely contrary to how Browsh was designed to work. Firefox and Browsh should run on a remote server, then you SSH or Mosh into that server from Android. So I don't ever plan to implement what you're proposing, I'm sorry.

Lucas-mother3 commented 2 years ago

Sure, it's certainly possible, but it's completely contrary to how Browsh was designed to work. Firefox and Browsh should run on a remote server, then you SSH or Mosh into that server from Android. So I don't ever plan to implement what you're proposing, I'm sorry.

Surely tho. How do I host a ssh server then if I could find a viable yet cheap remote VPS or something?

Here's a suggestion, why not use the same technique as tigervnc

You dump which PID is firefox then dump it into a directory (example: /home/user/.browsh/browsh.pid), hopefully knowing the browsh service that firefox is already in the background

Lucas-mother3 commented 2 years ago

How do I contact with you tho

hello-smile6 commented 2 years ago

@Lucas-mother3 For a cheap host, try https://replit.com/ You can use https://npmjs.com/package/ws-tcp-bridge on both the server and client to send data, and Dropbear should work on Replit with minimal configuration.