LocalSend is an open-source project, and we welcome contributions from anyone who is interested in helping improve the app. Whether you're a developer, a translator, or a documentation writer, there are many ways to get involved.
If you're interested in contributing code to LocalSend, you'll need to follow these steps:
After you have installed Flutter, then you can start this app by typing the following commands:
flutter pub get
flutter pub run build_runner build -d
flutter run
You can help translating this app to other languages!
- Fork this repository
- Choose one
- Add missing translations in existing languages: Only update
_missing_translations_<locale>.json
in assets/i18n - Fix existing translations: Update
strings_<locale>.i18n.json
in assets/i18n - Add new languages: Create a new file, see also: locale codes.
- Add missing translations in existing languages: Only update
- Optional: Re-run this app
- Make sure you have run this app once.
- Update translations via
flutter pub run slang
- Run app via
flutter run
- 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.
Before you submit a pull request to LocalSend, please ensure that you have followed these guidelines:
- Code should be well-documented and formatted according to the Dart Style Guide.
- All changes should be covered by tests.
- Commits should be well-written and descriptive, with a clear summary of the changes made and any relevant context.
- Pull requests should target the
main
branch and include a clear summary of the changes made.
If you encounter a bug in LocalSend or have a feature request, please submit an issue to the issue tracker. Please be sure to provide a clear description of the problem or feature request, along with any relevant context or steps to reproduce the issue.
If you discover a security issue in LocalSend, please do not submit an issue to the public issue tracker. Instead, please email us directly at [email protected] so that we can address the issue as quickly and effectively as possible.
Git based distribution:
Channel | Repository | Maintainer |
---|---|---|
Winget | Winget Repo | @sitiom, @Tienisto, Github Actions |
Scoop | Scoop Repo | @sitiom, @Tienisto, Github Actions |
Chocolatey | Chocolatey Repo | @brogers5 |
Homebrew | Homebrew Repo | @Tienisto, Github Actions |
Flathub | Flathub Repo | @proletarius101, @Tienisto, Github Actions |
AUR | AUR Repo | @Nixuge |
NixOS | NixOS Repo | @sikmir |
F-Droid | F-Droid Repo | @Tienisto, F-Droid CI |
Manual distribution:
Channel | Maintainer |
---|---|
App Store | @Tienisto |
Play Store | @Tienisto |
Amazon | @Tienisto |
Binary distribution:
Type | Maintainer | Credits |
---|---|---|
Windows ZIP | @Tienisto | |
MSIX | @Tienisto | |
APK | @Tienisto | |
TAR | @Tienisto | |
DEB | @Tienisto | |
AppImage | @Tienisto | @TheGB0077 |
DMG | @Tienisto |
TODO:
You can help publishing LocalSend on more platforms. Please create an issue to notify us!
- Traditional Linux distributions (Debian, Fedora, etc.)
- Snap
- (Your idea here)
Useful notes.
You will need the signing keys to generate an APK.
Either generate one or use the debug signing options:
// File: android/app/build.gradle
buildTypes {
release {
signingConfig signingConfigs.debug // using debug signing
}
}
Suppose we want to update flutter to 3.7.8
(see https://github.com/localsend/localsend/commit/7b95a7a5600db2742a9e05b956d0415d871239d5):
- Update flutter from fvm:
fvm use 3.7.8
- Update flutter from submodule:
git submodule update --init
cd submodules/flutter
git fetch
git checkout 3.7.8
cd ../..
git add submodules/flutter
- Update flutter constraints:
- In CI:
.github/workflows/ci.yml
- In pubspec:
pubspec.yaml
- In CI: