Home
Softono
wshare

wshare

Open source MIT C#
11
Stars
0
Forks
0
Issues
0
Watchers
2 weeks
Last Commit

About wshare

HTTP-based file sharing server built with .NET and React that allows direct browser-to-server file and folder transfers over LAN

Platforms

Web Self-hosted Windows

Languages

C#

Links

wshare wshare

A lightweight local network file transfer tool built with .NET that enables browser-based file and folder transfers between devices on the same Wi-Fi network using a streaming HTTP server.


πŸ“‘ Overview

wshare allows devices on the same local network to transfer files directly through a browser.

One device runs the server, and others connect using the displayed LAN address. Transfers are streamed over HTTP and written directly to disk in real time.

The server also exposes files stored inside the wshare-downloads/ directory, allowing connected devices to browse and download files directly from the web interface.


πŸ’‘ Inspiration

This project was built out of a real limitation.

I was brought a laptop where USB access was restricted and software installation required admin privileges, so traditional file transfer tools were not an option. To solve this, I built wshare to move files over a local network using only a browser.


πŸ’‘ Note: Uploaded files are stored inside the wshare-downloads/ directory. Files located there are automatically exposed through the download tab and can be downloaded by other devices connected to the same network.


πŸ“Έ Screenshots

wshare UI wshare Server

πŸ“ Project Structure

wshare/
β”œβ”€β”€ screenshots/
β”œβ”€β”€ wshare.Server/
└── wshare-client/

πŸ’» Running the Project

πŸš€ Primary (Development Mode)

cd wshare-client
npm install
npm run build

cd ../wshare.Server
dotnet run

The server prints LAN access URLs automatically.

Open one from another device connected to the same Wi-Fi network.


πŸ“¦ Alternative (Published Build)

Linux

cd wshare.Server/bin/Release/net9.0/linux-x64/publish
chmod +x wshare.Server
./wshare.Server

Windows

wshare.Server.exe

βš™οΈ How it works

  • Starts a .NET HTTP server on port 5050
  • Detects and prints active LAN IPs
  • Serves React UI from wwwroot
  • Accepts streamed multipart uploads
  • Writes files directly to disk (no full buffering)
  • Preserves folder structure during upload
  • Exposes downloadable files from wshare-downloads/

🧱 Stack

  • .NET
  • React

πŸ“„ License

MIT