Page 1 of 1

We are closer to have a web browser now!

Posted: Tue Sep 08, 2020 7:22 am
by doga-1494
Hey guys,
I miss working on visopsys and doing things with it. I'm kind of back but I don't know for how long haha.

I think we are closer to have a web browser now.
We might need to handle ciphers and SSLs and stuff. Otherwise, https sites won't work.
Even though, there aren't many http sites available. I could manage to create a small program that can load any entered hostname through HTTP get request. The http library is a game changer. Woo-hoo.
Thanks to the new libraries added by Andy.

After 4-5 years, I can finally understand C and C++ much better. I think I can contribute more on my free time now haha.
Screen Shot 2020-09-08 at 12.13.57 AM.png
Source attached.
copy internet folder into src/programs
Add ${MAKE} -C internet after fdisk in src/programs/Makefile

all: target-dirs strip
${MAKE} -C fdisk
${MAKE} -C internet

Re: We are closer to have a web browser now!

Posted: Tue Sep 08, 2020 10:33 am
by andymc
Welcome back doga!

That's great -- I sort of started a primitive browser (and a "document canvas" window library thing for rendering) but decided I should focus elsewhere for the time being. Partly because it's hard, time-consuming, etc. Not something you can hack up with a few hours of work here and there :lol:

Implementing some more basic crypto suitable for e.g. SSL is on my agenda.

There's a useful test web server called httpbin. You can find one running at or else it's easy to spin up a local one, perhaps in docker. It's will do things like echo back your requests and whatnot, and of course you can run it without SSL.

Of course there are very capable free libraries and software out there to do all these things like encryption, browsing, compression, etc. etc. already, but I think it's nice to have small, homegrown, simple versions of things, included with Visopsys. I've always thought that dabbling in implementing these things is a great way to learn about how everything works.

If you find any bugs or limitations in the networking, HTTP library (and friends) that you want help with, do let me know (or fix them if you like doing that sort of thing! :D )