/98

💿 Web-based Windows 98 desktop recreation █████▓█▓▓▒▓▒▒░▒░░░🗕︎🗗︎🗙︎

Primary LanguageJavaScript

A web based Windows 98 desktop remake.

Includes:

Features:

  • Drop files onto the desktop, and they'll be stored in a virtual filesystem
  • Load Windows themes! Many are included in the Themes folder on the desktop.
  • Easter eggs (try a famous cheat code 😉)
  • Meticulous detail in many areas (altho there's obviously lots "missing")
  • Help > Help Topics in Paint, Sound Recorder, Notepad, and Minesweeper
  • You can add the site to your homescreen on mobile

Try it out

ENTER WINDOWS 98 体験へようこそ

License

Not yet licensed. This project is currently source-available / shared source, but not open source.

Related Projects

Apps that it would be nice to integrate:

Other online operating systems / web desktops:

Name & Link Vague Description Repo & License Chat
 Rahul.io another Windows 98 remake repo here - MIT license
 Windows 93 a "fictional version of Windows" (not open source currently) Discord
🏡 ZineOS emojis everywhere repo here - MIT license Discord
 EmuOS emulator-focused Win9X desktop repo here - shared source Discord
 OS.js a more serious web desktop repo here - simplified BSD license Gitter
 Friend another serious one repo here - different licenses for different parts
 CloudDesk another serious one (explicitly not open source)
 AaronOS interesting aesthetic repo here - shared source Discord
 Web Desktop Windows 10 like "startpage"
 System Windows 10 like thing
 WinXP Windows XP repo here - MIT license
Windows 98 - Packard Belle Windows 98 repo here - shared source
X-WebDesktop-Vue Windows 7 repo here - MIT license
 vue win3.1 Windows 3.1 repo here - shared source
 VirtualDesktop Screenshot flows, several OSes
GUIdebook Screenshots, several OSes

Plus many more web desktops on Wikipedia, awesome-web-desktops, and awesome-OS.

Libraries:

Also:

Contributing

See CONTRIBUTING

Development Setup

  • Install Git if you don't already have it.
  • Install Node.js if you don't already have it.
  • Clone the repository.
  • Open up a terminal / command prompt in the project directory, and run npm install to install dependencies.
  • Run npm start to start up a live-reloading development web server.

When pulling changes from git, run npm install again in case there are any new or updated dependencies. (If you know package-lock.json hasn't changed, you shouldn't need to do this.)

Some dependencies are versioned with npm, but pulled into the repo with npm run pull-libs

To update subrepos, or push changes to them, install git-subrepo. You don't need this tool to clone the project and get up and running, as subrepos are just normal subdirectories with a .gitrepo metadata file. Note that the metadata file references specific commit hashes, including between repositories, so it's best to avoid rebasing when subrepo updates are involved, i.e. once you do a subrepo command, it makes a commit, and should leave it (and earlier commits) alone, and you should leave commits in the subrepo alone, before and up to any commits referenced by the containing project. I'd recommend phrasing commit messages to apply to the subrepo, primarily, rather than the containing project. If you so much as edit the commit message for a git subrepo pushed commit, you'd have to update the .gitrepo metadata file manually, OR you could drop the commit you pushed and the git subrepo push commit (which updates the metadata) and do git subrepo pull instead (which btw gives you an option to rename the commit; and I think renaming that commit would be safe after the fact anyways as long as it's the last commit and not pushed).

TODO

See TODO