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

Comments
  • 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
  • Wishlist:  Simple file download support

    Wishlist: Simple file download support

    This would be wonderful to use with a simple web server to host file downloads.

    On my home network I have a DOS software archive folder and I use

    python -m http.server 8080

    to offer a simple web page to download files from that archive on my WIndows 95/NT machines.

    Downloading them via Microweb would be a much more convenient way to access those files from my MSDOS machines as well.

    opened by keenerb 0
  • wishlist: Crypto Ancienne support

    wishlist: Crypto Ancienne support

    Crypto Ancienne is a HTTP proxy that is meant for old computers that do not have the processing power necessary to do TLS, but unlike most other proxies with the same goal, it only handles https:// urls and does not do rewriting of transferred contents. It is designed to be used with a compatible web browser, which allows forwarding https requests to a plaintext HTTP proxy, something that MicroWeb doesn't seem to support at the moment.

    I think it would be a very clean solution for https support in MicroWeb, and help with pages where FrogFind doesn't correctly identify the contents.

    opened by nortti0 2
  • 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
Releases(v0.52)
Owner
null
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 23 Aug 7, 2022
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 87 Jan 3, 2023
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 7 Aug 24, 2022
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 113 Nov 28, 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++ 6k Jan 4, 2023
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 16 Oct 19, 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 40 Dec 26, 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 9k Jan 1, 2023
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.9k Dec 20, 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 556 Dec 28, 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 15k Dec 30, 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 271 Nov 14, 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 8.5k Jan 5, 2023
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 866 Jan 6, 2023
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