• This repository has been archived on 17/Apr/2024
  • Stars
    star
    180
  • Rank 208,571 (Top 5 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 1 year ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

🍭 win32.run

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