Skip to content
This repository has been archived by the owner on Apr 17, 2024. It is now read-only.
/ win32.run Public archive

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

ducbao414/win32.run

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

48 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

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

This project has been discontinued.

Even though I don't enjoy React syntax and its methodology, NextJS by Vercel offers a better developer experience than SvelteKit in every way imaginable: it has better backward compatibility, improved tooling, comprehensive documentation, stabability, seamless functionality (everything just worked as expected), rich 3rd-party libraries, less memory consumption, etc.

While it has been an enjoyable experience working on win32.run, the numerous breaking changes in SvelteKit have rendered its codebase incomprehensible to other developers. It will take a complete restructure to make it work with new SvelteKit releases.Β  I don't see this project contributing in any meaningful way to either developers utilizing Svelte or those in the process of learning Svelte.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published