Home

Awesome

Leanish

Android CI Docker CI Node.js CI GitHub Pages Docker Pulls GitHub Downloads NPM Downloads Play Store Downloads Lemmy

A lean-ish web client for Lemmy.

screenshot

Usage

Leanish is currently in alpha. The roadmap to beta is in the Beta milestone.

There is a client-side rendered deployment at natoboram.github.io/Leanish. It can be installed as a Progressive Web App.

Android builds are available in the Releases tab. For a more cutting-edge experience, CI builds are available in the Actions tab.

<div style="text-align: center"> <a href="https://github.com/ImranR98/Obtainium"> <img align="center" alt="Get it on Obtainium" height="50" hspace="6" src="https://github.com/NatoBoram/Leanish/assets/10495562/ff726d91-8065-483b-a277-57b3c237f9a9" /> </a> <a href="https://play.google.com/store/apps/details?id=com.natoboram.leanish"> <img align="center" alt="Get it on Google Play" height="50" hspace="6" src="https://github.com/NatoBoram/Leanish/assets/10495562/f2139ad0-397f-4259-86e5-f24f86ea7e63" /> </a> </div>

Deploy

A docker image and a npm package are available for deployment.

docker pull natoboram/leanish
docker run -p 3000:3000 natoboram/leanish
pnpm install -g @natoboram/leanish
leanish

Build from source

Docker

git clone https://github.com/NatoBoram/Leanish.git
cd Leanish
BUILD_BASE= pnpm run docker:build
pnpm run docker:run

Web

git clone https://github.com/NatoBoram/Leanish.git
cd Leanish
pnpm install
BUILD_ADAPTER=node pnpm run build
node ./build/index.js

This gives you access to a local server at http://localhost:3000 that you can access from your mobile device.

Android

You need a signing key to make a release build. You can generate it with keytool:

keytool -alias key -genkey -keyalg RSA -keysize 7680 -keystore keystore.pkcs12 -v -validity 36525

Move the keystore somewhere safe and create a file android/key.properties with the following content:

keyAlias=key
keyPassword=
storeFile=keystore.pkcs12
storePassword=

Don't forget to put the full path and actual passwords in the file. You can find more information about signing keys in https://docs.flutter.dev/deployment/android#signing-the-app.

To make a release build:

(yes || true) | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --install "build-tools;33.0.2" "platforms;android-33"
git clone https://github.com/NatoBoram/Leanish.git
cd Leanish
pnpm install
pnpm run build:apk
pnpm run install:apk

This will create a release build at android/app/build/outputs/apk/release/app-release.apk and install it on your phone.

Signatures

Files in the Releases tab are signed with a SSH key. You can verify the files' signature with the following commands:

ssh-keygen -Y verify -f ./.github/authorized_keys -I '41898282+github-actions[bot]@users.noreply.github.com' -n file -s app-release.apk.sig < app-release.apk
ssh-keygen -Y verify -f ./.github/authorized_keys -I '41898282+github-actions[bot]@users.noreply.github.com' -n file -s natoboram-leanish-*.tgz.sig < natoboram-leanish-*.tgz

These signatures are only there to indicate that the files were built by GitHub Actions.

Legal

Google Play and the Google Play logo are trademarks of Google LLC.