A web framework for coordinating memberships.
  • Rust 84.5%
  • CSS 7%
  • Shell 4.7%
  • Just 2.1%
  • Nix 1.6%
Find a file
2026-02-08 23:04:13 -06:00
.config feat: implemented the initial bulkwark 2026-02-06 22:39:46 -06:00
.local/bin refactor: switch to __ between configuration groups 2026-02-05 17:32:19 -06:00
docs refactor: working on session SQL 2026-02-06 20:56:53 -06:00
LICENSES chore: adding licenses to various files via reuse 2026-02-05 01:03:12 -06:00
nix chore: adding licenses to various files via reuse 2026-02-05 01:03:12 -06:00
src refactor: getting rid of eyre/anyhow in favor of nested thiserror 2026-02-08 23:04:13 -06:00
tests/scripts refactor: split out account_password_* into separate Rust files 2026-02-08 18:26:57 -06:00
.editorconfig chore: scaffolding the initial project 2025-12-30 20:36:41 -06:00
.envrc refactor: switch to __ between configuration groups 2026-02-05 17:32:19 -06:00
.gitignore chore: adding licenses to various files via reuse 2026-02-05 01:03:12 -06:00
Cargo.lock refactor: working on session SQL 2026-02-06 20:56:53 -06:00
Cargo.toml chore: adding licenses to various files via reuse 2026-02-05 01:03:12 -06:00
flake.lock chore: added a basic version command 2025-12-30 20:58:46 -06:00
flake.nix chore: adding licenses to various files via reuse 2026-02-05 01:03:12 -06:00
Justfile feat: got the basic challenges in 2026-02-08 17:17:16 -06:00
README.md docs: added links to sources 2026-02-07 17:19:21 -06:00
REUSE.toml chore: adding licenses to various files via reuse 2026-02-05 01:03:12 -06:00
rust-toolchain.toml chore: added a basic version command 2025-12-30 20:58:46 -06:00
TASKS.md docs: updated task list 2026-02-08 18:30:12 -06:00

Leicmin

Caution

Leicmin isn't even remotely usable at this point. All we can say is that it probably compiles. It also means that the entire README.md file is basically what this is going to be, not what it is today.

A web service for aggregating site management, providing age and geographic controls, and acting as an identity provider for other services.

Lecmin is a web application that aggregates memberships from various patreonage services and provides a single place to authenticate patrons. It also manages age verification and geographic limitations of the members in situations where those are needed for compliance.

Purpose

Aggregation

The primary function of Leicmin is to gather up patron and subscriber lists from services like Patreon, SubscribeStar, or Ko-Fi and combines them into combined lists. For patronage sites that allow for tiered rewards, it provides the ability to map those tiers into combined tiered groups.

In addition, it allows for manual management of supporters to be integrated into the combined lists. This allows for memberships based on non-subscriber or non-monetary relationships like volunteers or temporary access.

At the moment, there is no patronage site integration.

Identity Provider

Leicmin can use those aggregated lists to provide unified authentication, in effect acting as an identity provider. At the moment, it can:

  • Generate a .htpasswd file using passwords from the members without exposing bare passwords

In the future, it will:

  • Act as an OpenID Connection provider

Age Verification

In situations that require it, Lecimin can coordinate and manage age verification (AV) across the providers, either by using the AV information provided by the patronage sites or a pluggable set of AV services or technologies. If a standard is provided by the browser, this site will adapt to those and provide them.

If set up as a co-op, the cost and results of the AV services can be shared.

Geographic Limitations

Some jurisidctions have enacted laws to limit access to sites of certain content, such as ones that require age verification or limiting access to user-created content. Along with those, they also have additional limitation such as requiring periodic verification of the age. Lecimin manages those, either by allow for geoblocking those regions or controlling the sessions to the limitations of those laws that apply to the user.

Cooperatives

Requiring age verification or performing geographical lookups on visitors can quickly add up in cost. The intent of Leicmin is to allow for small communities to shared the costs and difficulties, or to allow for one member of the community to run an instance for the benefit of others.

Non-Features

While there are a number of intended features with Leicmin, there are also things that will be be implemented. This is to keep the functionality of the site specific, but also avoid some conflicts of interest with other providers.

Subscribers

Leicmin will not connect to payment services to manage subscribers directly.

No Flagship Instance

There will not be a flagship instance for Leicmin. This is for single creators and small communities.

Development

The source code can be found at:

Technology Stack

Leicmin is built on the following:

  • Nix
  • Rust
  • Postgres