Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/sebkur/lanchat

Lanchat - an insecure (W)LAN messenger
https://github.com/sebkur/lanchat

application chat compose compose-desktop gui gui-application java jetpack-compose kotlin kotlin-multiplatform

Last synced: 19 days ago
JSON representation

Lanchat - an insecure (W)LAN messenger

Lists

README

        

# Lanchat - an insecure (W)LAN messenger

It's like analogue radio, there's a bunch of channels and anybody can tune in.
Just choose your channel (a port in this case) and start sending and receiving
messages. Please keep in mind that this is totally insecure and everybody on
the same local network can read anything you send across the wire.

## Compose UI

There's a UI build with Compose for Desktop. To run it from the command line,
make sure to have a JDK 17 installed on your machine and on your path and
execute this:

./gradlew pinpitRun

![](screenshot.png)

It's possible to build packages for Windows, Ubuntu Focal (and compatible)
and macOS:

Build packages for all operating systems:

./gradlew pinpitPackageDefault

Build an MSI file:

./gradlew pinpitPackageDefaultMsiX64

Build a Debian package:

./gradlew pinpitPackageDefaultDebUbuntuFocalX64

Build macOS packages:

./gradlew pinpitPackageDefaultDistributableZipMacosArm64 pinpitPackageDefaultDistributableZipMacosX64

## Command line tools

There are also a few command line utilities that can be used to participate
in message and file exchange. To see a list of available subcommands, type:

./gradlew pinpitRun --args="--help"

Currently there are the following subcommands available:

send # send message to other clients in the same network
receive # receive messages from other clients
send-file # send file to client at ip
receive-file # receive file sent by other client

Most commands also have additional optional options. To see a help message for
a subcommand type:

./gradlew pinpitRun --args="send --help"

## Android

To build an APK for Android, run this:

./gradlew assembleDebug

Afterwards, install it using adb:

adb install -r android/build/outputs/apk/debug/lanchat-android-debug.apk

## Building releases

For Google Play, build an `aab` package using:

./gradlew bundleRelease

To build a release `apk` instead:

./gradlew assembleRelease

## Technical details

The default port configured to broadcast messages is 5000.
The CLI uses port 5001 to send and receives files.