You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.6 KiB

NOTE: this project is maintained in @commagray's spare time. It's not well tested nor used, better to fork it.

( ͡° ͜ʖ ͡°)

Lenny is a fork of a link aggregator — Lemmy. Sadly, it only exist because of disrespectful behavior of the original author.

To maintain stability, this fork has a little no changes, but:

  • the main reason, completely removed “slur filter” — the ugliest way to block words;
  • a bit cleaned up UI — removed “sponsors” page (upstreamed!) and useless right-down panel;
  • new default themes — Pleroma, based on themes of the Pleroma project;
  • allowed <sub>text</sub> and <sup>text</sup> HTML tags as ~text~ and ^text^ (upstreamed!);
  • a muffin logo (by MLP Vector Club).

The Lemmy Problem

static ref SLUR_REGEX: Regex = RegexBuilder::new(r"(fag(g|got|tard)?|maricos?|cock\s?sucker(s|ing)?|\bn(i|1)g(\b|g?(a|er)?(s|z)?)\b|dindu(s?)|mudslime?s?|kikes?|mongoloids?|towel\s*heads?|\bspi(c|k)s?\b|\bchinks?|niglets?|beaners?|\bnips?\b|\bcoons?\b|jungle\s*bunn(y|ies?)|jigg?aboo?s?|\bpakis?\b|rag\s*heads?|gooks?|cunts?|bitch(es|ing|y)?|puss(y|ies?)|twats?|feminazis?|whor(es?|ing)|\bslut(s|t?y)?|\btr(a|@)nn?(y|ies?)|ladyboy(s?)|\b(b|re|r)tard(ed)?s?)").case_insensitive(true).build().unwrap();


We are never going to remove the slur filter completely (or add an option to that effect), because we dont want to make it easy for right-wingers to use Lemmy. We can talk about removing or changing specific words, but in general I dont think there is anything wrong with writing “b*tch” or something like that.

I’ll have to think about this. Hard-coding it means I don’t have to do a database migration every time someone comes up with a new slur. And putting it in a DB table means someone could very easily remove it by deleting every row of that table, which isn’t good. I want to make it very difficult for racist trolls to use the most updated version of Lemmy.

This is bullshit.


For development environment you should have installed Rust toolchain and Node.js.


pacman -S rustup nodejs yarn npm
rustup update nightly
git clone && cd lenny
cargo build

To build a production container you could use Podman or Docker.

podman build -t lenny -f ./docker/prod/Dockerfile .


Frontend now is a separated standalone project.

git clone && cd lenny-ui
yarn build

To build a production container you could use Podman or Docker.

podman build -t lenny-ui .


You can use our prebuilt container or build your own. Remember to choose a tag.

podman pull podman pull
podman pull podman pull