DOS Web browser for 8088 class machines

Overview

MicroWeb

Screenshot

MicroWeb is a web browser for DOS! It is a 16-bit real mode application, designed to run on minimal hardware.

Minimum requirements

To run you will need:

  • Intel 8088 or compatible CPU
  • CGA compatible graphics card (EGA and VGA are backwards compatible)
  • A network interface (it is possible to use your machine's serial port with the EtherSLIP driver)
  • A mouse is desirable but not 100% required

Limitations

  • Text only (this may change in a later release)
  • HTTP only (no HTTPS support)
  • No CSS or Javascript
  • Very long pages may be truncated if there is not enough RAM available

Keyboard shortcuts

  • Escape : Exit
  • F2 : Invert screen (useful for LCD displays)
  • F6 / Ctrl+L : Select address bar
  • Tab / Shift+Tab : Cycle through selectable page elements
  • Backspace : Back in history

The page position can be scrolled with cursor keys, Page up, Page down, Home and End

Network setup

MicroWeb uses Michael Brutman's mTCP networking library for the network stack. You will need a DOS packet driver relevant to your network interface. You can read more about configuring DOS networking here

Build instructions

To build you will need the OpenWatcom 1.9 C++ compiler. Use OpenWatcom's wmake to build the makefile in the project/DOS folder

Issues
  • More packet drivers in boot disk

    More packet drivers in boot disk

    I think it is good to provide more packet drivers (for example, AMD PCNet driver for pcnet/vlance, rtl8029as (ne2k_pci), rtl8139) so people can test microweb on more VMs.

    opened by roytam1 4
  • MicroWeb SRC bug

    MicroWeb SRC bug

    Re: https://www.lazybrowndog.net/freedos/virtualbox/

    MicroWeb, DosLynx and Arachne Chat board: https://tinyurl.com/yacddu53

    Hi, Booted to DOS traps MicroWeb makefile error with this '....\src\dos\dos' problem.

    (ERROR: E059 unable to open '....\src\dos\dos')

    Please rectify this MicroWeb src bug! Thanks

    opened by eltoneo 2
  • Crashes on startup - IBM 5162 (286)

    Crashes on startup - IBM 5162 (286)

    I have an IBM 5162 with DOS 6.22 and an ATI All in wonder EGA+ card. 3com 3c509. The binary crashes on run, doesn't switch to graphics mode, just hangs. Any clues? Would love to check this out!

    opened by ajrossnz 2
  • Add environment variable for enhanced user agent

    Add environment variable for enhanced user agent

    Proposed patch to resolve #11.

    I thought offering the patch might help the discussion, since none was happening on the issue. I've not written any C++ in a long time, but this builds for me locally and seems to work as expected.

    I provided more client details in HTTP_USER_AGENT and then hit http://whatsmyuseragent.org/ and they appeared. Old behavior is preserved if the env variable is unset.

    opened by chabala 1
  • Customizable user agent string

    Customizable user agent string

    It might be nice to allow users to customize/append to the user agent string, perhaps via environment variable, so that tools that track user agents not only see MicroWeb BUILDDATE, but also the platform information that is typically shown in parenthesis, e.g. OS, architecture, hardware, etc. Not that MicroWeb should be trying to detect and set it; it would be up to the user to configure.

    Users that configure the extra info are then silently advertising what they use to surf, and popular proxies like FrogFind are in a better place to see what kinds of hardware are using their service.

    opened by chabala 0
  • XP Boot Flag[s]

    XP Boot Flag[s]

    Failed Build with this DOSNet.ERR: ....\src\DOS\DOSNet.cpp(563): Warning! W014: col(0) no reference to symbol '__static_assert'

    ....\lib\mTCP\TCPINC\dns.h(60): Note! N392: col(39) definition: 'void __static_assert( int * )' Please help . . .

    opened by eltoneo 0
  • DOS Boot Flag

    DOS Boot Flag

    Re: MicroWeb build ERR:


    ....\lib\mtcp\tcplib\trace.cpp: 201 lines, included 2434, no warnings, no errors

    Code size: 270 wlink system dos name microweb.exe file { MicroWeb.obj App.obj Parser.obj Renderer.obj Tags.obj Platform.obj CGA.obj EGA.obj Hercules.obj Font.obj Inter face.obj DOSInput.obj DOSNet.obj Page.obj packet.obj arp.obj eth.obj ip.obj tcp. obj tcpsockm.obj udp.obj utils.obj dns.obj timer.obj ipasm.obj trace.obj } Error (E14): Cannot execute (wlink): Arg list too big Error (E42): Last command making (microweb.exe) returned a bad status Error (E02): Make execution terminated


    opened by eltoneo 2
  • 200LX Visibility Issues

    200LX Visibility Issues

    This is an extraordinary program -- thank you for all your hard work. Running MicroWeb -c on Omnibook 425 makes for easy reading, but MicroWeb on the 200LX is very hard on the eyes, and the MWEB95.EXE only partially fills the 200LX screen.

    Would it be difficult to allow a choice of font size and an option for bold-ing?

    Thanks again for making a browser that drags DOS kicking and screaming into 2022.

    opened by jakfish 0
  • wishlist: support for Web Rendering Proxy.

    wishlist: support for Web Rendering Proxy.

    If you can get this to support html forms, either gif or png images, and 'ismap' (https://www.w3schools.com/tags/att_img_ismap.asp) then you can probably use Web Rendering Proxy (https://github.com/tenox7/wrp) to render modern web pages.

    opened by cogburnd02 0
  • (French) accents and & in URL

    (French) accents and & in URL

    Hi all, I discover this incredible project by the webmaster of a famous French retro informatic forum, Win3x.org. I've installed MicroWeb under PC-DOS V/7.0 (Japanese version of PC-DOS 2000) to have all DOS Web Browsers in the same VM (under 86box, Pentium MMX/166, 32 MB RAM, CL-GD 5480, PC-Net ISA 0x300 IRQ3), and I report some issues I've encounter.

    1° HTML entities like à (à) or others, can't display. I'm sad to not see French accents on my website http://winjoy.sjarb.fr (the same for Greek letters to a lesser extent)

    2° I think, <table> is not supported yet, because the one I use for the header seems not work here. The cells are displayed one below the other. The float CSS can help when implemented

    3° When I try to use JavaScript, MicroWeb don't display anything

    4° WINJOY is a verifed XHTML 4.0 Transitional site, but to do that, I'm foced to use an HTML entity for & instead, because I'm using parameters in URLs, but, as MicroWeb don't support these, it tries to access to the page without replace the entity by a real &. So I've to manually replace it in the search bar

    My site looks pretty well without any major change except JavaScript, that's awesome !

    That's all for today, thanks for your good work (^_^)

    20211112-080257-683 Home page of WINJOY (No French accents, no Greek letters, no table)

    20211112-081322-064 When i'm trying to access WINJOY with JavaScript

    20211112-080307-230 When I'm trying to acces to the Windows section

    opened by sJARB 2
  • Error in wmake

    Error in wmake

    Hello, I decided to try compile MicroWeb in DOSBox 0.74-3, but i getting this error: mw

    How I can fix this error? OpenWatcom 1.9, target: DOS

    Thanks for this project :)

    opened by SuperMaxusa 6
Releases(v0.52)
A webserver hosting a bank system for Minecraft, able to be used from web browser or from CC/OC if you're playing modded.

CCash A webserver hosting a bank system for Minecraft, able to be used from web browser or from CC/OC if you're playing modded. Description the curren

William Katz 24 Dec 10, 2021
A simple web browser written for learning purposes in C++

AWB: Abbix's web browser pls send help AWB is a simple web browser written for learning purposes in C++, it features a custom engine named orca render

null 9 Jul 8, 2021
Abaco: lame web browser for Plan 9

Abaco: lame web browser for Plan 9, eternally a work in progress.

Fazlul Shahriar 7 Mar 7, 2022
QML web browser

Canonic | QML Web Browser Canonic is an experimental QML web browser developed in the Qt framework and licensed under GPL3. A live WebAssembly version

Canonic 66 Jun 24, 2022
Gurf: A Gerbil/Gambit Scheme Surf Web Browser

Gurf, a (G)erbil/Gambit Scheme S(urf) Browser I want a browser with a REPL that I can hack in Meta-Scheme. It has to be useful. It has to be hackable.

Drew Crampsie 1 Nov 30, 2021
bpflock - eBPF driven security for locking and auditing Linux machines

bpflock - Lock Linux machines bpflock - eBPF driven security for locking and auditing Linux machines. This is a Work In Progress: bpflock is currently

The Linux lock machine projects 64 Jun 7, 2022
🌱Light and powerful C++ web framework for highly scalable and resource-efficient web application. It's zero-dependency and easy-portable.

Oat++ News Hey, meet the new oatpp version 1.2.5! See the changelog for details. Check out the new oatpp ORM - read more here. Oat++ is a modern Web F

Oat++ 5.5k Jun 27, 2022
A fork of Endless Sky for playing in a browser: try it at https://play-endless-sky.com/

Endless Web A fork of Endless Sky to make the game playable in a browser. Play at https://play-endless-web.com File issues for anything to do with the

Thomas Ballinger 13 Jun 8, 2022
WPEView wraps the WPE WebKit browser engine in a reusable Android library.

WPEView wraps the WPE WebKit browser engine in a reusable Android library. WPEView serves a similar purpose to Android's built-in WebView and tries to mimick its API aiming to be an easy to use drop-in replacement with extended functionality.

Igalia 28 Jun 20, 2022
The offical repository of the nextbird browser (for the 13th Generation)

The Nextbird Browser Introduction for Nextbird Was ist Nextbird? Nextbird is ein open source Browser der sich zum Ziel gesetzt hat denn Firefox Browse

The Nextbird Project 1 Nov 9, 2021
Some class to help to construct client/server with soket and serilized datas.

cpp-Socket Current build status : Testing Ubuntu 12.04+ x86/64 Windows xp x86 Version : 0.2 Some class to help to construct client/server with soket a

Maxime Barbier 0 Sep 20, 2019
Mongoose Embedded Web Server Library - a multi-protocol embedded networking library with TCP/UDP, HTTP, WebSocket, MQTT built-in protocols, async DNS resolver, and non-blocking API.

Mongoose - Embedded Web Server / Embedded Networking Library Mongoose is a networking library for C/C++. It implements event-driven non-blocking APIs

Cesanta Software 8.5k Jun 29, 2022
C library to create simple HTTP servers and Web Applications.

Onion http server library Travis status Coverity status Onion is a C library to create simple HTTP servers and Web Applications. master the developmen

David Moreno Montero 1.8k Jun 21, 2022
An asynchronous web framework for C++ built on top of Qt

!!! I can no longer maintain this project. If you're interessed, please contact me and I can move the projetct to you !!! Tufão - an asynchronous web

Vinícius dos Santos Oliveira 542 Jun 14, 2022
Simple, secure & standards compliant web server for the most demanding of applications

Simple, secure[1] & standards compliant[2] web server for the most demanding[3] of applications. Read more... ?? Optimized security Being meticulously

uNetworking AB 13.9k Jun 27, 2022
C Hypertext Library - A library for writing web applications in C

CHL C Hypertext Library - A library for writing web applications in C #include <chl/chl.h> int main() { chl_set_default_headers(); chl_print_header

null 272 Jun 20, 2022
Drogon: A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows

English | 简体中文 | 繁體中文 Overview Drogon is a C++14/17-based HTTP application framework. Drogon can be used to easily build various types of web applicat

An Tao 7.4k Jun 19, 2022
When you need a web server in a hurry.

darkhttpd https://unix4lyfe.org/darkhttpd/ When you need a web server in a hurry. Features: Simple to set up: Single binary, no other files, no instal

Emil Mikulic 800 Jun 24, 2022
web server that will print hello world on the screen only for linux users

a simple http server side lib only for linux users Note: This lib is currently under development you can check the source code and even use it but dn'

notaweeb 11 Mar 14, 2021