whatisgithub

What is lsq?

alexdevflow/lsq — explained in plain English

Analysis updated 2026-05-18

11RustAudience · developerComplexity · 2/5LicenseSetup · easy

In one sentence

A command line client for LocalSend that sends and receives files over your local network from a terminal, no GUI needed.

Mindmap

mindmap
  root((lsq))
    What it does
      Sends files over LAN
      Receives files
      Runs in a terminal
    Tech stack
      Rust
      Docker
      UDP multicast
    Use cases
      Headless servers
      SSH file transfer
      Browser share links
    Audience
      Developers
      Sysadmins

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Send a file from your phone to a headless server over SSH.

USE CASE 2

Run an always on file receiver on a home server or Raspberry Pi.

USE CASE 3

Share a file with someone who does not have LocalSend installed, using a browser link.

USE CASE 4

Automate file transfers between devices from a script.

What is it built with?

RustDockerUDP multicast

How does it compare?

alexdevflow/lsq2arons/agent-gitaursen-labs/spume
Stars111111
LanguageRustRustRust
Setup difficultyeasyeasymoderate
Complexity2/53/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Docker mode needs network host access for UDP discovery to work.

Free to use, modify, and distribute, including commercially, as long as you keep the license notice.

So what is it?

lsq is a command line client for LocalSend, the free app that lets people send files between devices on the same network. LocalSend normally needs a graphical window on both ends, so it does not work well on a server, over SSH, or from a script. lsq talks to the same protocol as the regular app, so it can send a file to your phone or receive one from a laptop without needing a screen on the sending or receiving machine. You can install lsq by building it from source with Rust and Cargo, or you can build a Docker image and run it as an always on receiver on a machine that stays powered on. Basic commands let you see which devices are visible on the network, send one or more files to a chosen device, and receive incoming transfers, either confirming each one or accepting everything automatically. There is also a share mode: instead of pushing a file to someone, lsq prints a web address that another device can open in a browser to pull the file down. This means someone without LocalSend installed can still receive a file, as long as they have a browser. Every device running lsq keeps a self signed certificate so other devices can recognize it across sessions, or you can use a throwaway identity for a single run. Transfers can be protected with a PIN, and repeated wrong guesses from the same address are slowed down. The author reports testing the upload path against the official LocalSend desktop app, including sending multiple files and files protected with a PIN. Known gaps: lsq does not support IPv6, and it only implements protocol version 2.1, so any newer LocalSend protocol features are not covered. It ships with an automated test suite that exercises real network transfers, including partial uploads and unusual filenames. The project is released under the Apache 2.0 license.

Copy-paste prompts

Prompt 1
Write a shell script that uses lsq to send a backup folder to my home server every night.
Prompt 2
Show me how to run lsq as an always on receiver inside a Docker container.
Prompt 3
Explain the difference between lsq send, lsq share, and lsq pull.
Prompt 4
Help me set up a PIN protected lsq receiver for a shared office network.

Frequently asked questions

What is lsq?

A command line client for LocalSend that sends and receives files over your local network from a terminal, no GUI needed.

What language is lsq written in?

Mainly Rust. The stack also includes Rust, Docker, UDP multicast.

What license does lsq use?

Free to use, modify, and distribute, including commercially, as long as you keep the license notice.

How hard is lsq to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is lsq for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.