Voyager

voyager

I co-developed Voyager together with Oliver Wagner who started it in 1995. This is a fully featured browser for AmigaOS supporting plenty of web “standards”. There was also a version for an embedded system (CaOS) and it was also bundled with MorphOS. It runs on 68k, coldfire and PPC.

Here are some of its features:

HTTP

  • HTTP 1.1
  • content negociation
  • persistent connections (keep alive)
  • resume
  • uploads
  • proxies
  • cache control (expirations, if-modified-since, etc..)
  • authentication
  • language tags
  • post
  • cookies
  • useragent spoofing for broken websites

FTP

  • anonymous and normal logins
  • persistent connections
  • resume
  • proxies
  • advanced LIST (aka ls -l) parsing
  • EPLF support

SMTP

  • can send simple mails from webpage links

HTML

  • HTML 3.2, supported tags follows
  • HEAD
  • BODY
  • TITLE
  • STYLE (hidden, searched for JS)
  • SCRIPT (Javascript)
  • ISINDEX
  • BASE
  • META (http-equiv (refresh, pragma (no-cache), content-type) meta values)
  • LINK (ignored, not important)
  • BODY, BGCOLOR, TEXT, LINK, ALINK, VLINK, BACKGROUND
  • H1, H2, H3, H4, H5, H6
  • ADDRESS (no special action)
  • P (left, right, center, middle+)
  • UL, OL, LI
  • DL, DT (not handled)
  • DIR (ignored, useless)
  • MENU (ignored, useless)
  • PRE
  • XMP
  • LISTING (not handled, obsolete)
  • PLAINTEXT (not handled, obsolete)
  • DIV
  • CENTER
  • BLCKQUOTE (ignored, useless)
  • FORM (action, target, method, enctype)
  • HR (width, size, noshade, color)
  • TABLE (bgcolor+, background+, cellpadding, cellspacing, border, width, height+, bordercolordark+, bordercolorlight+, bordercolor+, align)
  • TR (bgcolor+, background+, valign, align)
  • TD/TH (bgcolor+, background+, width, height, rowspan, colspan, valign, align, nowrap)
  • TT
  • I
  • INS+
  • B
  • U
  • STRIKE
  • BIG
  • SMALL
  • SUB (ignored)
  • SUP (ignored)
  • S+
  • EM
  • STRONG
  • DFN
  • CODE
  • SAMP
  • KBD
  • VAR
  • CITE
  • INPUT (type (text, password, checkbox, button+, radio, submit, image, reset, file, hidden), name, value, checked, size, maxlength, src, align)
  • SELECT (size, multiple, disabled)
  • TEXTAREA (disabled, rows, cols, readonly+)
  • A (href, title, target+, accesskey+, rel and rev are useless)
  • IMG (src, alt, align, width, height, hspace, vspace, border, ismap, usemap, lowsrc+)
  • APPLET (not supported, no JVM)
  • FONT (color, size, face+)
  • BASEFONT
  • BR (clear=left/right/all)
  • NOBR+
  • MAP
  • AREA (shape, href, target, coords, accesskey+)
  • NOSCRIPT+
  • NOFRAMES+
  • NOEMBED+
  • EMBED+ (type, src, width, height, hspace, vspace, border, align)
  • FRAMESET+

SSL

  • SSLv2
  • SSLv3
  • TLSv1
  • up to 168-bit keys
  • certificates handling

Javascript 1.3/ECMA-Script

Plugins

  • VFlash: flash player, flash 3 and some flash 4 stuff
  • VPDF: PDF viewer by Emmanuel Lesueur

Cache

  • variable sized memory cache
  • variable sized disk cache
  • automatic cleanup
  • no index, always consistent

Image decoder

  • fast inline decoding of pictures
  • images are cached as long as there’s free memory
  • GIF (with animated and progressive support)
  • JPG
  • PNG (with true alpha channel support)
  • XBM

HTML Editor

  • internal web page editing with HTML tag highlighting

Source

The source is available on GitHub.