Skip to content

Use LocalSend on SteamDeck in Gaming Mode. | 在 Steam Deck 游戏模式下使用 LocalSend.

License

Notifications You must be signed in to change notification settings

MoYoez/Decky-LocalSend

Repository files navigation

Decky Localsend

Decky LocalSend

visitors Release License GitHub Actions Workflow Status

Build With Go

ENGLISH | 简体中文

preview

A Decky Loader plugin that brings LocalSend functionality to Steam Deck gaming mode.

Related Backend Repo: MoYoez/localsend-go


Features

  • Full LocalSend protocol support (except Web LocalSend)
  • "Shared Via Link" for one-way file transfer via link
  • Upload and browse screenshots
  • Some unique LocalSend features (e.g., accepting previous transfer list, PINs, handling HTTP/HTTPS in certain environments)

Demo

preview_en_1 preview_en_2 preview_en_3 preview_en_4

Usage

This plugin requires Decky Loader 3.0 or above.

  1. On your Steam Deck, install the plugin:
    • Get the version from the Decky store (Decky Localsend 0.45)

    • Or, download the latest release from the releases page

    • Or, install using a URL in Decky by entering:

      https://ba.sh/63Vg

Decky not installed?| Refer to Decky-Loader for help | If necessary, search Youtube for help.

  1. Open the plugin from the Quick Access menu
  2. The LocalSend server will start automatically when clicking start Backend
  3. Your Steam Deck will now be discoverable by other LocalSend clients
  4. Send files from any device running LocalSend to your Steam Deck

Configuration

The plugin uses the following default settings:

  • Port: 53317
  • Protocol: HTTPS
  • Upload Directory: ~/homebrew/data/decky-localsend/uploads
  • Config File: ~/homebrew/settings/decky-localsend/localsend.yaml

You can customize these settings through the plugin interface.

Project Structure

.
├── backend/             # Go backend implementation
│   └── localsend/       # LocalSend protocol implementation
├── src/                 # Frontend React components
│   ├── index.tsx        # Main plugin entry
│   └── utils/           # Utility functions
├── main.py              # Python backend bridge
├── plugin.json          # Plugin metadata
└── package.json         # Node.js dependencies

TODO

  • None

Known Issues

  • Sometimes plugin cannot detect other machine ( (30s a time automaticlly , default timeout is 500s, can use Scan Now To Detect other client ) .If not found, consider restarting remote localsend client.)

  • Plugins can only work in same transfer protocol sometimes, although it has detect method to prevent transfer connection failed.

  • When transferring a very large number of files (tested with 3000+ files) to the Deck, the sending side of LocalSend may appear to stutter or become choppy due to multiple running threads. However, this does not affect the actual file transfer.

  • HTTP scanning may cause increased latency. HTTP timeout has been set to 60 seconds and runs every 30 seconds by default. Devices are updated via Notify, so you do not need to manually refresh to see remote devices.

  • please consider not to transfer too much files(selected), which may cause UI crash,folder dont' effect.

Compatibility Table

Communication Method Decky-Localsend Supported Discoverable Remote Localsend Devices Notes
UDP Scan HTTP/HTTPS HTTP, HTTPS UDP can discover devices with any protocol.
HTTP Communication HTTP HTTP Only devices with HTTP protocol are supported.
HTTPS Communication HTTPS HTTPS Only devices with HTTPS protocol are supported.

With UDP communication, Decky-Localsend can discover remote devices regardless of whether their protocol is HTTP or HTTPS.

Development

# Fork YOURSELF REPO, replace {username} as your "username"

git clone --recurse-submodules git@github.com:{username}/Decky-Localsend.git

cd Decky-Localsend/backend/localsend

# require Golang >= 1.25.7

go mod tidy

cd Decky-Localsend/backend/localsend/web

# require NodeJS > 20

npm i

npm build

Build

Please refer to Github Action Build

Acknowledgments

This Plugin is based on Localsend Protocol, so pls give a star to this!

About

Use LocalSend on SteamDeck in Gaming Mode. | 在 Steam Deck 游戏模式下使用 LocalSend.

Topics

Resources

License

Stars

Watchers

Forks

Packages