Skip to content

Windows XP in the browser, with a File System, programs, XP-style File Picker and Saver dialogs, 3rd-party program, etc. πŸ¦„ πŸš€ πŸ’½

License

Notifications You must be signed in to change notification settings

zumwaltboi/win32.run

Β 
Β 

Repository files navigation

Windows XP in the browser, with a File System, programs, XP-style File Picker and Saver dialogs, 3rd-party program, etc.

License MIT css tailwind js framework svelte

Note: I'm refactoring the whole codebase to implement Switchable UI feature. This new feature will enable win32 to change its UI between Windows XP, Vista, 7, 10, 11, macOS, and Ubuntu on the fly, right in the setting.

Until then, this branch will receive no further commits. I have a paying job (love this part :-)), and win32 is my hobby, so I don't know how much time it'll take for the new feature. In the mean time, win32.run will operate as usual.

Thanks for your support.

Cheers.

win32_2x.mp4

Microsoft and Windows XP trademarks & logos definitely belong to Microsoft Corporation. All the programs' names and logos (Foxit, Word, WinRar, Internet Explorer, etc.) are of their rightful copyright holders. win32.run is purely for the purpose of nostalgia. I have no intent and no right to monetize win32.run, but you may occasionally see ads when playing third-party games.

Introduction

πŸ¦„ It's for nostalgia's sake!

WIN32.RUN runs solely on the client-side (the user's browser). All files are processed right in the user's browser. There is no file uploading, no server-side processing (cause I'm broke, can't afford it). Each user has his own OS session (just like the good old Windows XP)

Files (and Folders) in win32.run are stored locally in IndexedDB. Apps (and 3rd-party apps) can interact with files through win32.run homemade file picker and saver dialog (with Windows XP appearance).

Built with

WIN32.RUN is built with Svelte/SvelteKit and Tailwindcss. If you come from a React or Vue background, Svelte is really easy to work with. It doesn't have much boilerplate.

Writing webapps in Svelte is just like writing vanilla JS, with div tag for UI and script tag for logic. One can pick it up in under an hour.

The downside is surprised breaking changes.

Run, build & deploy

I deploy it on a $5 Vultr instance, there's no special hardware and dependencies requirement here, except Node.js (and NPM).

The project is built with Svelte, which may not be great at backward-compatibity at its current phase. You probably don't want to update Svelte and SvelteKit to newer versions to keep things working.

πŸ“¦ Install dependencies

Clone or download from Github

git clone https://github.com/ducbao414/win32.run.git
cd win32.run-main

Then install dependencies

npm install

Run

npm run dev

The dev server is at http://localhost:3000

Build

npm run build

The build output location is win32.run-main/build To preview the build

npm run preview

Deploy

I shamelessly share my deployment process.

Follow this guide to set up a Ubuntu server with NGINX. I chose Vultr since theirs is cheaper than DigitalOcean's ($5 vs $6).

Put the build folder, package.json, package-lock.json on to the server, cd then npm install

Finally, pm2 start build/index.js to start win32 at localhost:3000

Documentation

If you're interested in expanding or customizing win32.run, please have a look at its documentation.

Please visit docs.win32.run

About

Windows XP in the browser, with a File System, programs, XP-style File Picker and Saver dialogs, 3rd-party program, etc. πŸ¦„ πŸš€ πŸ’½

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 95.0%
  • CSS 2.8%
  • Svelte 1.1%
  • HTML 1.0%
  • Shell 0.1%
  • Python 0.0%