- Rust 84.5%
- CSS 7%
- Shell 4.7%
- Just 2.1%
- Nix 1.6%
| .config | ||
| .local/bin | ||
| docs | ||
| LICENSES | ||
| nix | ||
| src | ||
| tests/scripts | ||
| .editorconfig | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| Justfile | ||
| README.md | ||
| REUSE.toml | ||
| rust-toolchain.toml | ||
| TASKS.md | ||
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
.htpasswdfile 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