Lanshare is a free, open-source desktop app for sending files and folders between computers on the same Wi-Fi or Ethernet network.
See the codeLanshare is a free, open-source desktop app for sending files and folders between computers on the same Wi-Fi or Ethernet network. Transfers go directly from device to device. No account, server or internet connection is involved.
Two or more computers on the same local network, running the same Lanshare version.
Supported platforms:
Download the installer for your platform from the latest release:
Lanshare Setup <version>.exe. If SmartScreen warns, choose "More info" then "Run anyway". The installer is not code-signed yet.Lanshare-<version>-arm64.dmg. Open the disk image, drag Lanshare into Applications, then right-click and choose Open on first launch. The app is not notarized yet.Lanshare-<version>.AppImage (run chmod +x on it first) or lanshare_<version>_amd64.deb / lanshare_<version>_arm64.deb.| Purpose | Protocol and port | Reachable from |
|---|---|---|
| Device discovery | UDP 43821 | Local network |
| File transfer | TCP 43841 (up to 43850 if busy) | Local network |
| App to its own backend | TCP 43821 (up to 43830 if busy) | This computer only |
Allow Lanshare on Private networks in your firewall. Your network profile on Windows should be Private, not Public. The local backend port needs no firewall rule because it only listens on 127.0.0.1.
If no devices appear:
Lanshare shows a banner when the backend fails to start, with the cause (port in use, blocked by security software, missing binary, or health-check timeout) and a Restart Service button.
Prerequisites:
git clone https://github.com/getawife/lanshare.git
cd lanshare/client
pnpm install
pnpm dev
Produce an installer for your current platform:
pnpm dist:win
pnpm dist:mac
pnpm dist:linux
Environment variables for development:
LANSHARE_HTTP_PORT: local backend port (default 43821).LANSHARE_LAN_HTTP_PORT: transfer port (default 43841).LANSHARE_ADMIN_TOKEN: set by the desktop app when it starts the backend. Without it the local API rejects every request.LANSHARE_LOOPBACK_PEER_HTTP_PORT: the transfer port of a second local instance, so you can test transfers on one machine.Bug fixes, documentation and feature suggestions are welcome. Before opening a pull request, run:
cd backend
gofmt -l .
go vet ./...
go test ./...
cd client
pnpm exec tsc --noEmit
pnpm lint
gofmt -l must print nothing, and the other commands must pass with no errors. Existing warnings on main are fine.
main.Security reports should not go in public issues. See SECURITY.md. Accessibility problems are welcome as regular issues. See ACCESSIBILITY.md.
See LICENSE.
TypeScript
37.8%
Go
28.9%
CSS
23.3%
JavaScript
7.0%
HTML
2.9%
Lanshare is a free, open-source desktop app for sending files and folders between computers on the same Wi-Fi or Ethernet network.
See the codeLanshare is a free, open-source desktop app for sending files and folders between computers on the same Wi-Fi or Ethernet network. Transfers go directly from device to device. No account, server or internet connection is involved.
Two or more computers on the same local network, running the same Lanshare version.
Supported platforms:
Download the installer for your platform from the latest release:
Lanshare Setup <version>.exe. If SmartScreen warns, choose "More info" then "Run anyway". The installer is not code-signed yet.Lanshare-<version>-arm64.dmg. Open the disk image, drag Lanshare into Applications, then right-click and choose Open on first launch. The app is not notarized yet.Lanshare-<version>.AppImage (run chmod +x on it first) or lanshare_<version>_amd64.deb / lanshare_<version>_arm64.deb.| Purpose | Protocol and port | Reachable from |
|---|---|---|
| Device discovery | UDP 43821 | Local network |
| File transfer | TCP 43841 (up to 43850 if busy) | Local network |
| App to its own backend | TCP 43821 (up to 43830 if busy) | This computer only |
Allow Lanshare on Private networks in your firewall. Your network profile on Windows should be Private, not Public. The local backend port needs no firewall rule because it only listens on 127.0.0.1.
If no devices appear:
Lanshare shows a banner when the backend fails to start, with the cause (port in use, blocked by security software, missing binary, or health-check timeout) and a Restart Service button.
Prerequisites:
git clone https://github.com/getawife/lanshare.git
cd lanshare/client
pnpm install
pnpm dev
Produce an installer for your current platform:
pnpm dist:win
pnpm dist:mac
pnpm dist:linux
Environment variables for development:
LANSHARE_HTTP_PORT: local backend port (default 43821).LANSHARE_LAN_HTTP_PORT: transfer port (default 43841).LANSHARE_ADMIN_TOKEN: set by the desktop app when it starts the backend. Without it the local API rejects every request.LANSHARE_LOOPBACK_PEER_HTTP_PORT: the transfer port of a second local instance, so you can test transfers on one machine.Bug fixes, documentation and feature suggestions are welcome. Before opening a pull request, run:
cd backend
gofmt -l .
go vet ./...
go test ./...
cd client
pnpm exec tsc --noEmit
pnpm lint
gofmt -l must print nothing, and the other commands must pass with no errors. Existing warnings on main are fine.
main.Security reports should not go in public issues. See SECURITY.md. Accessibility problems are welcome as regular issues. See ACCESSIBILITY.md.
See LICENSE.
TypeScript
37.8%
Go
28.9%
CSS
23.3%
JavaScript
7.0%
HTML
2.9%