Project roadmap - atauenis/webone GitHub Wiki

Ideas and plans for future versions.

Implementation status shown here may be outdated. See Git commit log in master branch since last tag (stable release) for actual information.

The list is initially made by main project contributor (@atauenis) as a "To Do" list and note storage. However the project accepts interesting ideas through GitHub Discussions, and even any code support (via pull requests or patch discussions). If you want to help development, it is great. :+1:

TODO v0.16 Alpha, Beta 1/2/3

✔️ Released.

TODO v0.16.0

  • ✔️ Released.
  • 🐞 Known that length-less files are not always properly downloading. [#103]

TODO v0.16.1

  • ✔️ Released.
  • 🐞 #103 still present.

TODO v0.16.2

  • ✔️ Released.
  • ✔️ Added ARMv6 builds.
  • ✔️ Fixed SVG converting for Netscape Navigator, MSIE 1-3.
  • ✔️ Security update: allow limit converters to work only via Edit Sets (with /!convert URLs been disabled). EnableManualConverting option.
  • ✔️ Fixed 🐞103.
    • Added chunked transfer support. At least for downloads.
  • ✔️ Few other bugs fixed, see release description.

TODO v0.16.3

  • ✔️Fixed inability to install package on latest Ubuntu and Debian releases. (https://github.com/atauenis/webone/issues/111)
  • ✔️Fixed incorrect Proxy Auto-Configuration script. Now HTTPS and FTP are working as need with PAC too.
  • ✔️Improved version and system info line in proxy's log file.
  • 🕒Fix incorrect cascaded double-load of local content through proxy. Should be a single load.
  • 🕒Fix broken CA file download if proxy is with password protection.
    • Almost same root as of the bug above.
  • 🕒 2nd order. Think about NINA.chat Yahoo Messenger support?
  • 🕒 2nd order. Think about flexbox support for some Mozillas. Even Firefox 2 have support for display: -moz-flex which is a bit similar to modern flexbox (but have some differences). Gecko 1.7 also have some -moz-box-flex CSS options.

TODO v0.16.4 (?)

  • All 2nd-order tasks of v0.16.3 ideas, if they became postponed and v0.17 dev don't start at that time. If dev starts, postpone them next to 0.17, 0.18, etc.

TODO v0.17:

  • Add support for de-SSL-ize traffic via CONNECT.
  • Add support for adding custom status and error HTML pages.
    • /var/webone/html/ & .\html\?
    • Also should support CSS, JS, graphics files.
  • New YouTube player with navigation.
  • Add support for HTML code cleanup (remove CSS, JS for some browsers).
  • ❔ May be new certificate generator. Need to implement pre-SHA2 certificate generating [#93].
    • Maybe BouncyCastle? Or try something else? OpenSSL, NSS, handwritten? - space for discussions.
  • ❔ Add alternate subject names (DNS name) in site certificates.
    • See above.
    • Probably this breaking from work with Firefox 100+ on HSTS-enabled domains.
  • Single and optimized binary files. Not webone.exe+webone.dll[+nearly full .NET]. Will be a small set of light files only
    • .NET SDK is able to do such. And executable files will look like a normal Linux/Windows/macOS application, not a dotnet's crap.
    • <PublishSingleFile>true</PublishSingleFile>, <PublishTrimmed>true</PublishTrimmed>, etc.
    • Need to made changes to code (at 0.16.2 it crashes with PublishSingleFile and produces compile-time warnings with PublishTrimmed) and debug again.
  • New OS detection code, may be (use new .NET-Core API calls and not only legacy .NET 4.x APIs as it now). MacOS will be MacOS, not a strange Unix.
  • Will be last release on .NET 6.0 Runtime.

TODO v0.18:

  • Switch to .NET 8.0 SDK/Runtime.
  • ❓ Add setting code page locales by webone.conf or even by User-Agent string.
  • ❓ Add Microsoft.com/ISAPI link database?
  • ❓ Expand Edit Set work to internal pages too.
  • ❓ Modernize Converter support on analogy with WebVideoConverter.cs.
  • ❓ Windows Update -> LegacyUpdate.net redirect.
    • Added redirect of broken Windows Update v6 web pages to LegacyUpdate.net ones.
    • Add catching WU Agent HTTP requests.
      • 📝 Add to Wiki about proxycfg -p webonehost:8080 (available since WinXP, work in Win2k too).
      • 📝 Don't work with older Windows Update Agents (v5.4 from 2KSP4 at least).

TODO (all):

  • :clock3: Probably fix some bugs from Issues tracker. :)

.NET SDK/Runtime upgrade timeline

According to .NET Release Lifetime, the 6.0 LTS version will be supported until at least November 12, 2024.

The good side of .NET 6 is that it's compatible with Windows 7, Debian 10, Ubuntu 16.04 hosts for both running and developing (as well as with latest Windows 11, Debian 12, Ubuntu 23.10). Short-living .NET 7 introduces partial support of ARMv6 in SDK, but drops support of pre-Win10 systems. And .NET 8 LTS won't work on earlier Linux systems than Ubuntu 20.04 or Debian 11.

Old netbooks with Win7*32 are more widespread than RPi 1A/1B/Zero boards, costs identical, and I'm don't want to lose support for Win7 SP1 machines as long as it will be possible. However, nothing prevents from developing custom tweaked builds of WebOne for ARMv6 devices, based on .NET 7 or 8 SDK.

TODO (v??.??):

  • Bypass CORS for modern browsers
    • Via Access-Control-Allow-Origin?
  • Cache
  • macOS package
  • GUI
  • Android version
  • Other protocol support: POP3, SMTP, IMAP, FTP, GOPHER, etc