Frequently asked questions

General

Which rendering engine does Coyote Browser use? Chrome? Webkit?

No, none of those. The point of this project is a fresh&clean implementation of the HTML5 and CSS standards. We do neither use (nor want to use) any of the very complex existing engines that bring a lot of unnecessary feature creep and legacy issues with their "desktop browser" history.

Which Javascript/Ecmascript engine does Coyote Browser use?

We currently use Duktape as Javascript Engine. This engine is compatible to EcmaScript 5/5.1. Like our browser engine, it is highly portable, easy to integrate and does not come with "special opinions" or dependencies on build systems. OS or CPU architectures.

Where can I download the browser?

You can not (so far). A PC build is available and is used on a daily basis for R&D and verification purposes. There are however currently no plans to compete with existing desktop browsers on the PC platform. If you are interested in licensing the engine for your project/device or if you have any other valid business case or "good cause" for our engine, we would like to hear from you.

Technical details

System requirements

Build system:

  • C / C++ (cross-)compiler running on any 32bit or 64bit Windows or Linux
  • C compiler dialect: C99 or later
  • GNU make
    (Build time for a full "make clean, make all" rebuild: ~ 20 seconds on a 12-core CPU)

Target devices:

  • any operating with multithreading support
  • approximately 128MB of RAM available for exclusive use by the engine
    (actual memory requirements are extremely content-dependent)
  • R/W filesystem for persistent caching and/or cookie support
Specifications implemented/covered by our engine
  • HTML5
  • CSS 2.1 (~81% pass rate for the testsuite in 01/2021)
  • HBBTV 1.5 compatible
    •  limited support for several HBBTV 2.0 APIs
    • DSM-CC / AIT handling for HBBTV
  • Javascript/Ecmascript 5.1
    (as implemented by Duktape engine)
  • HTTP 1.1 and SSL/TLS 1.2/1.3 with support for the following ciphersuites;
    • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (with x25519 curve)
    • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (with x25519 curve)
    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (with x25519 curve)
    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (with x25519 curve)
    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (with x25519 curve)
    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (with x25519 curve)
    • TLS_ECDH_anon_WITH_AES_128_CBC_SHA (with x25519 curve)
    • TLS_ECDH_anon_WITH_AES_256_CBC_SHA (with x25519 curve)
    • TLS_RSA_WITH_AES_128_CBC_SHA
    • TLS_RSA_WITH_AES_256_CBC_SHA
    • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
    • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
    • TLS_DH_anon_WITH_AES_128_CBC_SHA256
    • TLS_DH_anon_WITH_AES_256_CBC_SHA256
    • TLS_RSA_WITH_AES_128_GCM_SHA256
    • TLS_RSA_WITH_AES_256_GCM_SHA384
    • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
    • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
    • TLS_DH_anon_WITH_AES_128_GCM_SHA256
    • TLS_DH_anon_WITH_AES_256_GCM_SHA384
  • MPEG DASH
  • MP4 Streaming video