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: 2 months ago
JSON representation
Lanchat - an insecure (W)LAN messenger
- Host: GitHub
- URL: https://github.com/sebkur/lanchat
- Owner: sebkur
- License: mit
- Created: 2022-09-14T16:47:45.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-10-16T06:24:12.000Z (about 1 year ago)
- Last Synced: 2024-08-01T22:37:44.856Z (6 months ago)
- Topics: application, chat, compose, compose-desktop, gui, gui-application, java, jetpack-compose, kotlin, kotlin-multiplatform
- Language: Kotlin
- Size: 523 KB
- Stars: 7
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
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 clientMost 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.