Git Product home page Git Product logo

website's Introduction

LocalSend

CI status

HomepageDiscordGitHubCodeberg

中文

LocalSend is a free, open-source app that allows you to securely share files and messages with nearby devices over your local network without needing an internet connection.

About

LocalSend is a cross-platform app that enables secure communication between devices using a REST API and HTTPS encryption. Unlike other messaging apps that rely on external servers, LocalSend doesn't require an internet connection or third-party servers, making it a fast and reliable solution for local communication.

Screenshots

iPhone screenshot PC screenshot

Download

It is recommended to download the app either from an app store or from a package manager because the app does not have an auto-update.

Windows macOS Linux Android iOS Fire OS
Winget App Store Flathub Play Store App Store Amazon
Scoop Homebrew Nixpkgs F-Droid
Chocolatey DMG Installer Snap APK
MSIX Installer AUR
EXE Installer TAR
Portable ZIP DEB
AppImage

Read more about distribution channels.

Setup

In most cases, LocalSend should work out of the box. However, if you are having trouble sending or receiving files, you may need to configure your firewall to allow LocalSend to communicate over your local network.

Traffic Type Protocol Port Action
Incoming TCP, UDP 53317 Allow
Outgoing TCP, UDP Any Allow

Also make sure to disable AP isolation on your router. It should be usually disabled by default but some routers may have it enabled (especially guest networks).

Portable Mode

(Introduced in v1.13.0)

Create a file named settings.json located in the same directory as the executable. This file can be empty. The app will use this file to store settings instead of the default location.

How It Works

LocalSend uses a secure communication protocol that allows devices to communicate with each other using a REST API. All data is sent securely over HTTPS, and the TLS/SSL certificate is generated on the fly on each device, ensuring maximum security.

For more information on the LocalSend Protocol, see the documentation.

Getting Started

To compile LocalSend from the source code, follow these steps:

  1. Install Flutter directly or using fvm (see version required)
  2. Clone the LocalSend repository
  3. Run cd app to enter the app directory
  4. Run flutter pub get to download dependencies
  5. Run flutter run to start the app

Note

LocalSend currently requires an older Flutter version (specified in .fvm/fvm_config.json) and thus build issues may be caused by a mismatch between the required and the (system-wide) installed Flutter version.
To make development more consistent, LocalSend uses fvm to manage the project Flutter version. After installing fvm, run fvm flutter instead of flutter.

Contributing

We welcome contributions from anyone interested in helping improve LocalSend. If you'd like to contribute, there are a few ways to get involved:

Translation

You can help translate this app to other languages!

  1. Fork this repository
  2. Choose one
    • Add missing translations in existing languages: Only update _missing_translations_<locale>.json in app/assets/i18n
    • Fix existing translations: Update strings_<locale>.i18n.json in app/assets/i18n
    • Add new languages: Create a new file; see also: locale codes.
  3. Optional: Re-run this app
    1. Run cd app to enter the app directory.
    2. Make sure you have run this app once.
    3. Update translations via flutter pub run slang
    4. Run the app via flutter run
    5. Open a pull request

Take note: Fields decorated with @ are not meant to be translated; they are not used in the app in any way, being merely informative text about the file or to give context to the translator.

Bug Fixes and Improvements

  • Bug Fixes: If you find a bug, please create a pull request with a clear description of the issue and how to fix it.
  • Improvements: Have an idea for how to improve LocalSend? Please create an issue first to discuss why the improvement is needed.

For more information, see the contributing guide.

Building

These commands are intended for maintainers only.

Android

Traditional APK

flutter build apk

AppBundle for Google Play

flutter build appbundle

iOS

flutter build ipa

macOS

flutter build macos

Windows

Traditional

flutter build windows

Local MSIX App

flutter pub run msix:create

Store ready

flutter pub run msix:create --store

Linux

Traditional

flutter build linux

AppImage

appimage-builder --recipe AppImageBuilder.yml

Snap

Feel free to open a pull request. There is a snap branch to play with.

Contributors

Localsend Contributors

website's People

Contributors

arom1a avatar callmelare avatar cem256 avatar dsabre avatar fjuro avatar francesco146 avatar francescostella avatar graphemecluster avatar hugok79 avatar jayanshkhanna avatar jermanuts avatar kaitul avatar lorypelli avatar nidexingg avatar nixuge avatar noplagiarism avatar notjedi avatar nulkode avatar piyush-linux avatar radk6 avatar rosscondie avatar septs avatar sergd88 avatar shlomocode avatar soya-daizu avatar thegb0077 avatar tienisto avatar tttruong357 avatar watchakorn-18k avatar ydx-2147483647 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

website's Issues

Emphasize preferred package formats on platform download options

Under each of the operating system options, all the download files are sequentially listed seemingly arbitrarily. To less technically-savvy users, this may be a bit intimidating.

One way to alleviate this could be by having one, no more than two, immediately-visible "preferred" download methods, and a hidden drop-down menu for "other download options." If I knew how to use design software, I'd provide a prototype of what I'm thinking about, but I could always provide a pencil-and-paper drawing if need be!

Layout issues are also present in the full version of the website

In the English version of the website, elements are not aligned relative to the images, and the images themselves are also misaligned. However, this is not as noticeable as in the French version of the site and several others languages, where all elements are displaced, the logo is rearranged, and it all looks very bad
2023130123
2023130314

Bug report Elements in the mobile version of the website are not centered at all

Describe the bug

Elements in the mobile version of the website are not centered at all, and the new icons, instead of labels, are too dark, such as TERMS

To reproduce

Open the website on your phone

Expected behavior

All elements are centered

Screenshots

202312122001

Desktop (please complete the following information)

No response

Smartphone (please complete the following information)

iPhone 14 Pro Max

Additional context

No response

Make the logo *spin*

I don't know why it's not the default, since the logo spins in the app itself.

It ruined my experience with the website fr fr 😤

<!-- Home.vue -->

<style scoped>
/** NOTE: Logo should have id="logo" for this to work,
  * otherwise, no funy spin :(
  */
#logo {
  animation: rotating 20s linear infinite;
}

@keyframes rotating {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}
</style>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.